mirror of
https://github.com/go-gitea/gitea
synced 2024-09-01 12:05:19 +02:00
Compare commits
20 Commits
78971171ce
...
1dc8849ee9
Author | SHA1 | Date | |
---|---|---|---|
|
1dc8849ee9 | ||
|
80fa8d7740 | ||
|
42c54d0396 | ||
|
f3f69085d9 | ||
|
d41dc95f10 | ||
|
1b47d915bc | ||
|
9ca2cdfa39 | ||
|
10c0766a77 | ||
|
3a5911af1d | ||
|
d5a1ce1dfd | ||
|
bc0fca4ff3 | ||
|
7bfa54672f | ||
|
49a1961b03 | ||
|
b2992372a5 | ||
|
0bd9d5bf02 | ||
|
f8ae9f730b | ||
|
5877fabc84 | ||
|
773bd91232 | ||
|
5814b6d590 | ||
|
20fde317b3 |
@ -115,6 +115,20 @@ type EditIssueOption struct {
|
||||
RemoveDeadline *bool `json:"unset_due_date"`
|
||||
}
|
||||
|
||||
// MoveIssuesOption options for moving issues
|
||||
type MovedIssuesOption struct {
|
||||
Issues []struct {
|
||||
IssueID int64 `json:"issueID"`
|
||||
Sorting int64 `json:"sorting"`
|
||||
} `json:"issues"`
|
||||
}
|
||||
|
||||
// UpdateIssuesOption options for updating issues
|
||||
type UpdateIssuesOption struct {
|
||||
ProjectID int64 `json:"project_id"`
|
||||
Issues []int64 `json:"issues"`
|
||||
}
|
||||
|
||||
// EditDeadlineOption options for creating a deadline
|
||||
type EditDeadlineOption struct {
|
||||
// required:true
|
||||
|
46
modules/structs/project.go
Normal file
46
modules/structs/project.go
Normal file
@ -0,0 +1,46 @@
|
||||
// Copyright 2015 The Gogs Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package structs
|
||||
|
||||
// Project represents a project
|
||||
type Project struct {
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
TemplateType uint8 `json:"template_type"`
|
||||
CardType uint8 `json:"card_type"`
|
||||
OwnerID int64 `json:"owner_id"`
|
||||
RepoID int64 `json:"repo_id"`
|
||||
CreatorID int64 `json:"creator_id"`
|
||||
IsClosed bool `json:"is_closed"`
|
||||
Type uint8 `json:"type"`
|
||||
|
||||
CreatedUnix int64 `json:"created_unix"`
|
||||
UpdatedUnix int64 `json:"updated_unix"`
|
||||
ClosedDateUnix int64 `json:"closed_date_unix"`
|
||||
}
|
||||
|
||||
// CreateProjectOption options for creating a project
|
||||
type CreateProjectOption struct {
|
||||
// required:true
|
||||
Title string `json:"title" binding:"Required;MaxSize(100)"`
|
||||
Content string `json:"content"`
|
||||
TemplateType uint8 `json:"template_type"`
|
||||
CardType uint8 `json:"card_type"`
|
||||
}
|
||||
|
||||
// EditProjectOption options for editing a project
|
||||
type EditProjectOption struct {
|
||||
Title string `json:"title" binding:"MaxSize(100)"`
|
||||
Content string `json:"content"`
|
||||
CardType uint8 `json:"card_type"`
|
||||
}
|
||||
|
||||
// MoveColumnsOption options for moving columns
|
||||
type MovedColumnsOption struct {
|
||||
Columns []struct {
|
||||
ColumnID int64 `json:"columnID"`
|
||||
Sorting int64 `json:"sorting"`
|
||||
} `json:"columns"`
|
||||
}
|
26
modules/structs/project_column.go
Normal file
26
modules/structs/project_column.go
Normal file
@ -0,0 +1,26 @@
|
||||
// Copyright 2015 The Gogs Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package structs
|
||||
|
||||
// Column represents a project column
|
||||
type Column struct {
|
||||
ID int64 `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Color string `json:"color"`
|
||||
}
|
||||
|
||||
// EditProjectColumnOption options for editing a project column
|
||||
type EditProjectColumnOption struct {
|
||||
Title string `json:"title" binding:"MaxSize(100)"`
|
||||
Sorting int8 `json:"sorting"`
|
||||
Color string `json:"color" binding:"MaxSize(7)"`
|
||||
}
|
||||
|
||||
// CreateProjectColumnOption options for creating a project column
|
||||
type CreateProjectColumnOption struct {
|
||||
// required:true
|
||||
Title string `json:"title" binding:"Required;MaxSize(100)"`
|
||||
Sorting int8 `json:"sorting"`
|
||||
Color string `json:"color" binding:"MaxSize(7)"`
|
||||
}
|
@ -144,7 +144,7 @@ network_error=Errore di rete
|
||||
app_desc=Un servizio auto-ospitato per Git pronto all'uso
|
||||
install=Facile da installare
|
||||
platform=Multipiattaforma
|
||||
platform_desc=Gitea funziona ovunque <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> possa essere compilato: Windows, macOS, Linux, ARM, etc. Scegli ciò che ami!
|
||||
platform_desc=Gitea funziona ovunque <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go</a> possa essere compilato: Windows, macOS, Linux, ARM, etc. Scegli ciò che ami!
|
||||
lightweight=Leggero
|
||||
lightweight_desc=Gitea ha requisiti minimi bassi e può funzionare su un economico Raspberry Pi. Risparmia l'energia della tua macchina!
|
||||
license=Open Source
|
||||
@ -516,10 +516,8 @@ applications=Applicazioni
|
||||
orgs=Gestisci le organizzazioni
|
||||
repos=Repository
|
||||
delete=Elimina account
|
||||
twofa=Verifica in due passaggi
|
||||
account_link=Account collegati
|
||||
organization=Organizzazioni
|
||||
webauthn=Chiavi Di Sicurezza
|
||||
|
||||
public_profile=Profilo pubblico
|
||||
password_username_disabled=Gli utenti non locali non hanno il permesso di cambiare il proprio nome utente. per maggiori dettagli si prega di contattare l'amministratore del sito.
|
||||
@ -709,21 +707,17 @@ revoke_key=Revoca
|
||||
revoke_oauth2_grant=Revoca accesso
|
||||
revoke_oauth2_grant_description=Revocando l'accesso a questa applicazione di terze parti impedirá l'accesso ai tuoi dati. Sei sicuro?
|
||||
|
||||
twofa_desc=L'autenticazione a due fattori migliora la sicurezza del tuo account.
|
||||
twofa_is_enrolled=La verifica in due passaggi è attualmente <strong>abilitata</strong> sul tuo account.
|
||||
twofa_not_enrolled=La verifica in due passaggi al momento non è abilitata sul tuo account.
|
||||
twofa_disable=Disattiva la verifica in due passaggi
|
||||
twofa_scratch_token_regenerate=Rigenera il token di sicurezza
|
||||
twofa_enroll=Iscriviti alla verifica in due passaggi
|
||||
twofa_disable_note=Se necessario, è possibile disattivare la verifica in due passaggi.
|
||||
twofa_disable_desc=Disattivare la verifica in due passaggi renderà il tuo account meno sicuro. Continuare?
|
||||
regenerate_scratch_token_desc=Se hai smarrito il tuo token di sicurezza o lo hai già utilizzato per effettuare il login è possibile resettarlo qui.
|
||||
twofa_disabled=L'autenticazione a due fattori è stata disattivata.
|
||||
scan_this_image=Scannerizza questa immagine con l'applicazione di autenticazione:
|
||||
or_enter_secret=O immettere il segreto: %s
|
||||
then_enter_passcode=E immetti il codice di accesso indicato nell'applicazione:
|
||||
passcode_invalid=Il codice di accesso non è corretto. Riprova.
|
||||
twofa_enrolled=Il tuo account è stato registrato alla verifica in due passaggi. Conserva il token di sicurezza (%s) in un luogo sicuro in quanto viene visualizzato sono una volta!
|
||||
twofa_failed_get_secret=Impossibile ottenere il segreto.
|
||||
|
||||
webauthn_desc=Le chiavi di sicurezza sono dispositivi hardware contenenti chiavi crittografiche. Possono essere utilizzate per l'autenticazione a due fattori. Le chiavi di sicurezza devono supportare lo standard <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthenticator</a> di WebAuthn.
|
||||
@ -843,9 +837,7 @@ blame_prior=Visualizza la colpa prima di questa modifica
|
||||
|
||||
|
||||
transfer.accept=Accetta trasferimento
|
||||
transfer.accept_desc=`Trasferisci a "%s"`
|
||||
transfer.reject=Rifiuta trasferimento
|
||||
transfer.reject_desc=`Annulla il trasferimento a "%s"`
|
||||
|
||||
desc.private=Privato
|
||||
desc.public=Pubblico
|
||||
@ -963,7 +955,6 @@ release=Rilascio
|
||||
releases=Rilasci
|
||||
tag=Etichetta
|
||||
released_this=ha rilasciato questo
|
||||
file.title=%s a %s
|
||||
file_raw=Originale
|
||||
file_history=Cronologia
|
||||
file_view_source=Visualizza sorgente
|
||||
@ -973,7 +964,6 @@ file_permalink=Permalink
|
||||
file_too_large=Il file è troppo grande per essere visualizzato.
|
||||
invisible_runes_line=`Questa riga ha caratteri unicode invisibili`
|
||||
ambiguous_runes_line=`Questa riga ha caratteri unicode ambigui`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] è confondibile con %[2]c [U+%04[2]X]`
|
||||
|
||||
escape_control_characters=Fuga
|
||||
unescape_control_characters=Unescape
|
||||
@ -1456,9 +1446,7 @@ pulls.rebase_conflict_summary=Messaggio d'Errore
|
||||
pulls.unrelated_histories=Unione fallita: gli Head del ramo da unire e la base non condividono una storia cronologica in comune. Suggerimento: prova una strategia diversa
|
||||
pulls.merge_out_of_date=Unione fallita: Durante la generazione del merge, la base è stata aggiornata. Suggerimento: Riprova.
|
||||
pulls.head_out_of_date=Unione non riuscita: durante la generazione della fusione, la testa è stata aggiornata. Suggerimento: Riprova.
|
||||
pulls.push_rejected=Unisci non riuscito: il push è stato rifiutato. Rivedi gli Hooks Git per questo repository.
|
||||
pulls.push_rejected_summary=Messaggio Di Rifiuto Completo
|
||||
pulls.push_rejected_no_message=Unione non riuscita: il push è stato rifiutato ma non c'è stato un messaggio remoto.<br>Controlla gli Hooks di Git per questo repository
|
||||
pulls.open_unmerged_pull_exists=`Non è possibile riaprire questa pull request perché ne esiste un'altra (#%d) con proprietà identiche.`
|
||||
pulls.status_checking=Alcuni controlli sono in sospeso
|
||||
pulls.status_checks_success=Tutti i controlli sono stati effettuati con successo
|
||||
@ -1498,7 +1486,6 @@ milestones.closed=Chiuso %s
|
||||
milestones.no_due_date=Nessuna data di scadenza
|
||||
milestones.open=Apri
|
||||
milestones.close=Chiudi
|
||||
milestones.completeness=%d%% Completato
|
||||
milestones.create=Crea Milestone
|
||||
milestones.title=Titolo
|
||||
milestones.desc=Descrizione
|
||||
@ -1668,7 +1655,6 @@ settings.pulls.enable_autodetect_manual_merge=Abilita il rilevamento automatico
|
||||
settings.pulls.allow_rebase_update=Abilita l'aggiornamento del ramo pull request per rebase
|
||||
settings.pulls.default_delete_branch_after_merge=Elimina il ramo pull request dopo la fusione per impostazione predefinita
|
||||
settings.packages_desc=Abilita Il Registro Dei Pacchetti Repository
|
||||
settings.projects_desc=Abilita Progetti Repository
|
||||
settings.admin_settings=Impostazioni amministratore
|
||||
settings.admin_enable_health_check=Abilita verifica dell'integrità del repository (git fsck)
|
||||
settings.admin_code_indexer=Indicizzatore del codice
|
||||
@ -1871,8 +1857,6 @@ settings.branches=Branches
|
||||
settings.protected_branch=Protezione branch
|
||||
settings.protected_branch_can_push=Consentire push?
|
||||
settings.protected_branch_can_push_yes=Puoi pushare
|
||||
settings.protected_branch_can_push_no=Non puoi pushare
|
||||
settings.branch_protection=Protezione branch per il branch '<b>%s</b>'
|
||||
settings.protect_this_branch=Attiva protezione branch
|
||||
settings.protect_this_branch_desc=Impedisce l'eliminazione e limita il merge di Git effettuando il push e l'unione verso questo ramo.
|
||||
settings.protect_disable_push=Disabilita push
|
||||
@ -1880,7 +1864,6 @@ settings.protect_disable_push_desc=Nessun push sarà consentito in questo ramo.
|
||||
settings.protect_enable_push=Abilita push
|
||||
settings.protect_enable_push_desc=Chiunque con accesso in scrittura sarà autorizzato a pushare su questo ramo (ma non forzare il push).
|
||||
settings.protect_check_status_contexts=Abilita Controllo Stato
|
||||
settings.protect_check_status_contexts_desc=Richiedi il superamento di controlli di stato prima dell'unione di due rami. Scegliere quali controlli di stato devono passare prima che i rami possano essere uniti in un ramo che corrisponde a questa regola. Se abilitato, i commit devono prima essere inviati a un altro ramo, quindi uniti o pushati direttamente a un ramo che corrisponde a questa regola dopo aver superato i controlli di stato. Se non viene selezionato alcuna regola, l'ultimo commit avrá successo indipendentemente dal contesto.
|
||||
settings.protect_check_status_contexts_list=Controlli di stato trovati nell'ultima settimana per questo repository
|
||||
settings.protect_required_approvals=Approvazioni richieste:
|
||||
settings.protect_required_approvals_desc=Permetti solo di unire la richiesta pull con abbastanza recensioni positive.
|
||||
@ -1890,7 +1873,6 @@ settings.require_signed_commits=Richiede commit firmati
|
||||
settings.require_signed_commits_desc=Rifiuta i push a questo ramo se non sono firmati o verificabili.
|
||||
settings.add_protected_branch=Attiva protezione
|
||||
settings.delete_protected_branch=Disattiva protezione
|
||||
settings.protected_branch_deletion=Disattiva protezione branch
|
||||
settings.protected_branch_deletion_desc=Disattivare la protezione branch permette agli utenti con permesso di scrittura di pushare sul branch. Continuare?
|
||||
settings.block_rejected_reviews=Blocca il merge di revisioni rifiutate
|
||||
settings.block_rejected_reviews_desc=Il merge non sarà possibile quando sono richiesti cambiamenti da revisori, anche se ci sono sufficienti approvazioni.
|
||||
@ -1899,7 +1881,6 @@ settings.block_on_official_review_requests_desc=Il merge non sarà possibile qua
|
||||
settings.block_outdated_branch=Blocca il merge se la pull request è obsoleta
|
||||
settings.block_outdated_branch_desc=Il merging non sarà possibile quando il ramo testa è dietro il ramo base.
|
||||
settings.default_branch_desc=Seleziona un branch del repository predefinito per le pull request ed i commit di codice:
|
||||
settings.default_merge_style_desc=Modalità di merge predefinita per le richieste di pull:
|
||||
settings.choose_branch=Scegli un branch…
|
||||
settings.no_protected_branch=Non ci sono branch protetti.
|
||||
settings.edit_protected_branch=Modifica
|
||||
@ -2072,7 +2053,6 @@ tag.confirm_create_tag=Crea etichetta
|
||||
|
||||
topic.manage_topics=Gestisci argomenti
|
||||
topic.done=Fatto
|
||||
topic.count_prompt=Non puoi selezionare più di 25 argomenti
|
||||
|
||||
find_file.go_to_file=Vai al file
|
||||
find_file.no_matching=Nessun file corrispondente trovato
|
||||
@ -2155,7 +2135,6 @@ teams.leave.detail=Lasciare %s?
|
||||
teams.can_create_org_repo=Crea repository
|
||||
teams.can_create_org_repo_helper=I membri possono creare nuovi repository nell'organizzazione. Il creatore otterrà l'accesso di amministratore alla nuova repository.
|
||||
teams.none_access=Nessun Accesso
|
||||
teams.none_access_helper=I membri non possono visualizzare o fare altre azioni su questa unità.
|
||||
teams.general_access=Accesso Generale
|
||||
teams.general_access_helper=I permessi dei membri saranno decisi dalla seguente tabella dei permessi.
|
||||
teams.read_access=Lettura
|
||||
@ -2622,14 +2601,11 @@ monitor.next=La Prossima Volta
|
||||
monitor.previous=La Scorsa Volta
|
||||
monitor.execute_times=Esecuzioni
|
||||
monitor.process=Processi in Esecuzione
|
||||
monitor.stacktrace=Stacktraces
|
||||
monitor.desc=Descrizione
|
||||
monitor.start=Orario Avvio
|
||||
monitor.execute_time=Tempo di Esecuzione
|
||||
monitor.last_execution_result=Risultato
|
||||
monitor.process.cancel=Annulla processo
|
||||
monitor.process.cancel_desc=L'annullamento di un processo potrebbe causare la perdita di dati
|
||||
monitor.process.cancel_notices=Annulla: <strong>%s</strong>?
|
||||
monitor.process.children=Figli
|
||||
|
||||
monitor.queues=Code
|
||||
@ -2714,7 +2690,6 @@ raw_minutes=minuti
|
||||
|
||||
[dropzone]
|
||||
default_message=Trascina i file o clicca qui per caricare.
|
||||
invalid_input_type=Non è possibile caricare file di questo tipo.
|
||||
file_too_big=La dimensione del file ({{filesize}} MB) supera la dimensione massima ({{maxFilesize}} MB).
|
||||
remove_file=Rimuovi file
|
||||
|
||||
|
@ -926,7 +926,6 @@ oauth2_client_secret_hint=このページから移動したりページを更新
|
||||
oauth2_application_edit=編集
|
||||
oauth2_application_create_description=OAuth2アプリケーションで、サードパーティアプリケーションがこのインスタンス上のユーザーアカウントにアクセスできるようになります。
|
||||
oauth2_application_remove_description=OAuth2アプリケーションを削除すると、このインスタンス上の許可されたユーザーアカウントへのアクセスができなくなります。 続行しますか?
|
||||
oauth2_application_locked=設定で有効にされた場合、Giteaは起動時にいくつかのOAuth2アプリケーションを事前登録します。 想定されていない動作を防ぐため、これらは編集も削除もできません。 詳細についてはOAuth2のドキュメントを参照してください。
|
||||
|
||||
authorized_oauth2_applications=許可済みOAuth2アプリケーション
|
||||
authorized_oauth2_applications_description=これらのサードパーティ アプリケーションに、あなたのGiteaアカウントへのアクセスを許可しています。 不要になったアプリケーションはアクセス権を取り消すようにしてください。
|
||||
@ -1099,9 +1098,7 @@ tree_path_not_found_branch=パス %[1]s はブランチ %[2]s に存在しませ
|
||||
tree_path_not_found_tag=パス %[1]s はタグ %[2]s に存在しません
|
||||
|
||||
transfer.accept=移転を承認
|
||||
transfer.accept_desc=`"%s" に移転`
|
||||
transfer.reject=移転を拒否
|
||||
transfer.reject_desc=`"%s" への移転をキャンセル`
|
||||
transfer.no_permission_to_accept=この移転を承認する権限がありません。
|
||||
transfer.no_permission_to_reject=この移転を拒否する権限がありません。
|
||||
|
||||
@ -1236,7 +1233,6 @@ releases=リリース
|
||||
tag=タグ
|
||||
released_this=がこれをリリース
|
||||
tagged_this=がタグ付け
|
||||
file.title=%s at %s
|
||||
file_raw=Raw
|
||||
file_history=履歴
|
||||
file_view_source=ソースを表示
|
||||
@ -1253,7 +1249,6 @@ ambiguous_runes_header=このファイルには曖昧(ambiguous)なUnicode文字
|
||||
ambiguous_runes_description=このファイルには、他の文字と見間違える可能性があるUnicode文字が含まれています。 それが意図的なものと考えられる場合は、この警告を無視して構いません。 それらの文字を表示するにはエスケープボタンを使用します。
|
||||
invisible_runes_line=`この行には不可視のUnicode文字があります`
|
||||
ambiguous_runes_line=`この行には曖昧(ambiguous)なUnicode文字があります`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] は %[2]c [U+%04[2]X] と混同するおそれがあります`
|
||||
|
||||
escape_control_characters=エスケープ
|
||||
unescape_control_characters=エスケープ解除
|
||||
@ -1866,9 +1861,7 @@ pulls.unrelated_histories=マージ失敗: マージHEADとベースには共通
|
||||
pulls.merge_out_of_date=マージ失敗: マージの生成中にベースが更新されました。 ヒント: もう一度試してみてください
|
||||
pulls.head_out_of_date=マージ失敗: マージの生成中に head が更新されました。 ヒント: もう一度試してみてください
|
||||
pulls.has_merged=失敗: プルリクエストはマージされていました。再度マージしたり、ターゲットブランチを変更することはできません。
|
||||
pulls.push_rejected=マージ失敗: プッシュは拒否されました。 このリポジトリのGitフックを見直してください。
|
||||
pulls.push_rejected_summary=拒否メッセージ全体:
|
||||
pulls.push_rejected_no_message=マージ失敗: プッシュは拒否され、リモートからのメッセージはありません。<br>このリポジトリのGitフックを見直してください
|
||||
pulls.open_unmerged_pull_exists=`同じ条件のプルリクエスト (#%d) が未処理のため、再オープンはできません。`
|
||||
pulls.status_checking=いくつかのステータスチェックが待機中です
|
||||
pulls.status_checks_success=ステータスチェックはすべて成功しました
|
||||
@ -1924,7 +1917,6 @@ milestones.no_due_date=期日なし
|
||||
milestones.open=オープン
|
||||
milestones.close=クローズ
|
||||
milestones.new_subheader=マイルストーンを使うとイシューの整理や進捗確認がしやすくなります。
|
||||
milestones.completeness=%d%%消化
|
||||
milestones.create=マイルストーンを作成
|
||||
milestones.title=タイトル
|
||||
milestones.desc=説明
|
||||
@ -2375,7 +2367,6 @@ settings.protected_branch.save_rule=ルールを保存
|
||||
settings.protected_branch.delete_rule=ルールを削除
|
||||
settings.protected_branch_can_push=プッシュを許可する
|
||||
settings.protected_branch_can_push_yes=プッシュできます
|
||||
settings.protected_branch_can_push_no=プッシュできません
|
||||
settings.branch_protection=ブランチ '<b>%s</b>' の保護ルール
|
||||
settings.protect_this_branch=ブランチの保護を有効にする
|
||||
settings.protect_this_branch_desc=ブランチの削除を防ぎ、ブランチへのプッシュやマージを制限します。
|
||||
@ -2676,7 +2667,6 @@ tag.create_success=タグ "%s" を作成しました。
|
||||
|
||||
topic.manage_topics=トピックの管理
|
||||
topic.done=完了
|
||||
topic.count_prompt=選択できるのは25トピックまでです。
|
||||
topic.format_prompt=トピック名は英字または数字で始め、ダッシュ('-')やドット('.')を含めることができます。最大35文字までです。文字は小文字でなければなりません。
|
||||
|
||||
find_file.go_to_file=ファイルへ移動
|
||||
@ -2774,7 +2764,6 @@ teams.leave.detail=%s から脱退しますか?
|
||||
teams.can_create_org_repo=リポジトリを作成
|
||||
teams.can_create_org_repo_helper=メンバーは組織のリポジトリを新たに作成できます。作成者には新しいリポジトリの管理者権限が与えられます。
|
||||
teams.none_access=アクセスなし
|
||||
teams.none_access_helper=メンバは、このユニットで表示や他の操作を行うことはできません。
|
||||
teams.general_access=一般的なアクセス
|
||||
teams.general_access_helper=メンバーの権限は下記の権限テーブルで決定されます。
|
||||
teams.read_access=読み取り
|
||||
@ -3312,7 +3301,6 @@ monitor.next=次回
|
||||
monitor.previous=前回
|
||||
monitor.execute_times=実行回数
|
||||
monitor.process=実行中のプロセス
|
||||
monitor.stacktrace=スタックトレース
|
||||
monitor.processes_count=%d プロセス
|
||||
monitor.download_diagnosis_report=診断レポートをダウンロード
|
||||
monitor.desc=説明
|
||||
@ -3320,8 +3308,6 @@ monitor.start=開始日時
|
||||
monitor.execute_time=実行時間
|
||||
monitor.last_execution_result=結果
|
||||
monitor.process.cancel=処理をキャンセル
|
||||
monitor.process.cancel_desc=処理をキャンセルするとデータが失われる可能性があります
|
||||
monitor.process.cancel_notices=キャンセル: <strong>%s</strong>?
|
||||
monitor.process.children=子プロセス
|
||||
|
||||
monitor.queues=キュー
|
||||
@ -3423,7 +3409,6 @@ raw_minutes=分
|
||||
|
||||
[dropzone]
|
||||
default_message=ファイルをここにドロップ、またはここをクリックしてアップロード
|
||||
invalid_input_type=この種類のファイルはアップロードできません。
|
||||
file_too_big=アップロードされたファイルのサイズ ({{filesize}} MB) は、最大サイズ ({{maxFilesize}} MB) を超えています。
|
||||
remove_file=ファイル削除
|
||||
|
||||
@ -3571,7 +3556,6 @@ settings.link=このパッケージをリポジトリにリンク
|
||||
settings.link.description=パッケージをリポジトリにリンクすると、リポジトリのパッケージリストに表示されるようになります。
|
||||
settings.link.select=リポジトリを選択
|
||||
settings.link.button=リポジトリのリンクを更新
|
||||
settings.link.success=リポジトリのリンクが正常に更新されました。
|
||||
settings.link.error=リポジトリのリンクの更新に失敗しました。
|
||||
settings.delete=パッケージ削除
|
||||
settings.delete.description=パッケージの削除は恒久的で元に戻すことはできません。
|
||||
|
@ -371,7 +371,6 @@ applications=어플리케이션
|
||||
orgs=조직 관리
|
||||
repos=저장소
|
||||
delete=계정 삭제
|
||||
twofa=2단계 인증
|
||||
account_link=연결된 계정
|
||||
organization=조직
|
||||
|
||||
@ -494,15 +493,12 @@ oauth2_application_edit=수정하기
|
||||
revoke_key=취소
|
||||
revoke_oauth2_grant=접근 권한 제거
|
||||
|
||||
twofa_desc=2단계 인증은 계정의 보안을 향상시킵니다.
|
||||
twofa_is_enrolled=귀하의 계정은 현재 2단계 인증에 <strong>등록</strong>되어 있습니다.
|
||||
twofa_not_enrolled=귀하의 계정은 현재 2단계 인증에 등록되어 있지 않습니다.
|
||||
twofa_disable=2단계 인증 해제
|
||||
twofa_scratch_token_regenerate=스크래치 토큰 재생성
|
||||
twofa_enroll=2단계 인증에 등록하기
|
||||
twofa_disable_note=필요한 경우 2단계 인증을 해제할 수 있습니다.
|
||||
twofa_disable_desc=2단계 인증을 해제하면 귀하의 계정이 보안에 취약해질 것 입니다. 계속하시겠습니까?
|
||||
regenerate_scratch_token_desc=스크래치 토큰을 분실 했거나 이미 로그인에 사용되었다면 여기에서 재설정 할 수 있습니다.
|
||||
twofa_disabled=2단계 인증이 해제되었습니다.
|
||||
scan_this_image=이 이미지를 당신의 인증 애플리케이션에서 스캔하세요:
|
||||
or_enter_secret=또는 이 비밀키를 입력하세요: %s
|
||||
@ -862,7 +858,6 @@ milestones.closed=닫힘 %s
|
||||
milestones.no_due_date=기한 없음
|
||||
milestones.open=열기
|
||||
milestones.close=닫기
|
||||
milestones.completeness=%d%% 완료됨
|
||||
milestones.create=마일스톤 생성
|
||||
milestones.title=타이틀
|
||||
milestones.desc=설명
|
||||
@ -1067,19 +1062,12 @@ settings.key_been_used=동일한 내용의 배포키를 이미 사용중입니
|
||||
settings.key_name_used=같은 이름의 배포키가 이미 있습니다.
|
||||
settings.deploy_key_deletion=배포키 삭제
|
||||
settings.deploy_key_deletion_success=배포키가 삭제되었습니다.
|
||||
settings.branches=브랜치
|
||||
settings.protected_branch=브랜치 보호
|
||||
settings.protected_branch_can_push=푸시를 허용하시겠습니까?
|
||||
settings.protected_branch_can_push_yes=푸시할 수 있습니다.
|
||||
settings.protected_branch_can_push_no=푸시할 수 없습니다.
|
||||
settings.branch_protection='<b>%s</b>' 브랜치 보호
|
||||
settings.protect_this_branch=브랜치 보호 활성화
|
||||
settings.protect_disable_push=푸시 끄기
|
||||
settings.protect_enable_push=푸시 켜기
|
||||
settings.protect_required_approvals=필요한 승인:
|
||||
settings.add_protected_branch=보호 활성화
|
||||
settings.delete_protected_branch=보호 비활성화
|
||||
settings.protected_branch_deletion=브랜치 보호 비활성화
|
||||
settings.choose_branch=브랜치 선택...
|
||||
settings.no_protected_branch=보호된 브랜치가 없습니다.
|
||||
settings.edit_protected_branch=편집
|
||||
@ -1142,7 +1130,6 @@ branch.deleted_by=%s 에 의해 삭제되었습니다.
|
||||
|
||||
topic.manage_topics=토픽 관리
|
||||
topic.done=완료
|
||||
topic.count_prompt=25개 이상의 토픽을 선택하실 수 없습니다.
|
||||
|
||||
|
||||
|
||||
@ -1534,7 +1521,6 @@ raw_seconds=초
|
||||
raw_minutes=분
|
||||
|
||||
[dropzone]
|
||||
invalid_input_type=이 형식의 파일을 업로드할 수 없습니다.
|
||||
file_too_big=파일 크기({{filesize}} MB) 가 최대 크기({{maxFilesize}} MB) 를 초과합니다.
|
||||
remove_file=파일 제거
|
||||
|
||||
@ -1560,7 +1546,6 @@ error.unit_not_allowed=이 저장소 섹션에 접근할 수 없습니다.
|
||||
|
||||
[packages]
|
||||
filter.type=유형
|
||||
alpine.repository.branches=브랜치
|
||||
alpine.repository.repositories=저장소
|
||||
conan.details.repository=저장소
|
||||
owner.settings.cleanuprules.enabled=활성화됨
|
||||
|
@ -195,7 +195,7 @@ app_desc=Viegli uzstādāms Git serviss
|
||||
install=Vienkārši instalējams
|
||||
install_desc=Vienkārši <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-binary">jāpalaiž izpildāmais fails</a> vajadzīgajai platformai, jāizmanto <a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea/tree/master/docker">Docker</a>, vai jāiegūst <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-package">pakotne</a>.
|
||||
platform=Pieejama dažādām platformām
|
||||
platform_desc=Gitea iespējams uzstādīt jebkur, kam <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> var nokompilēt: Windows, macOS, Linux, ARM utt. Izvēlies to, kas tev patīk!
|
||||
platform_desc=Gitea darbojas visur, kur <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go</a> var kompilēt: Windows, macOS, Linux, ARM, utt.. Izvēlies to, kas Tev patīk!
|
||||
lightweight=Viegla
|
||||
lightweight_desc=Gitea ir miminālas prasības un to var darbināt uz nedārga Raspberry Pi datora. Ietaupi savai ierīcei resursus!
|
||||
license=Atvērtā pirmkoda
|
||||
@ -619,11 +619,9 @@ applications=Lietotnes
|
||||
orgs=Pārvaldīt organizācijas
|
||||
repos=Repozitoriji
|
||||
delete=Dzēst kontu
|
||||
twofa=Divfaktoru autentifikācija
|
||||
account_link=Saistītie konti
|
||||
organization=Organizācijas
|
||||
uid=UID
|
||||
webauthn=Drošības atslēgas
|
||||
|
||||
public_profile=Publiskais profils
|
||||
biography_placeholder=Pastāsti mums mazliet par sevi! (Var izmantot Markdown)
|
||||
@ -856,12 +854,10 @@ revoke_oauth2_grant=Atsaukt piekļuvi
|
||||
revoke_oauth2_grant_description=Atsaucot piekļuvi šai trešas puses lietotnei tiks liegta piekļuve Jūsu datiem. Vai turpināt?
|
||||
revoke_oauth2_grant_success=Piekļuve veiksmīgi atsaukta.
|
||||
|
||||
twofa_desc=Divfaktoru autentifikācija uzlabo konta drošību.
|
||||
twofa_recovery_tip=Ja ierīce tiek pazaudēta, iespējams izmantot vienreiz izmantojamo atkopšanas atslēgu, lai atgūtu piekļuvi savam kontam.
|
||||
twofa_is_enrolled=Kontam ir <strong>ieslēgta</strong> divfaktoru autentifikācija.
|
||||
twofa_not_enrolled=Kontam šobrīd nav ieslēgta divfaktoru autentifikācija.
|
||||
twofa_disable=Atslēgt divfaktoru autentifikāciju
|
||||
twofa_scratch_token_regenerate=Ģenerēt jaunu vienreizējo kodu
|
||||
twofa_scratch_token_regenerated=Vienreizējā pilnvara tagad ir %s. Tā ir jāglabā drošā vietā, tā vairs nekad netiks rādīta.
|
||||
twofa_enroll=Ieslēgt divfaktoru autentifikāciju
|
||||
twofa_disable_note=Nepieciešamības gadījumā divfaktoru autentifikāciju ir iespējams atslēgt.
|
||||
@ -872,7 +868,6 @@ scan_this_image=Noskenējiet šo attēlu ar autentifikācijas lietojumprogrammu:
|
||||
or_enter_secret=Vai ievadiet šo noslēpumu: %s
|
||||
then_enter_passcode=Ievadiet piekļuves kodu no lietojumprogrammas:
|
||||
passcode_invalid=Nederīgs piekļuves kods. Mēģiniet ievadīt atkārtoti.
|
||||
twofa_enrolled=Kontam tika ieslēgta divfaktoru autentifikācija. Saglabājiet vienreizējo kodu (%s) drošā vietā, jo to vairāk nebūs iespējams aplūkot!
|
||||
twofa_failed_get_secret=Neizdevās ielādēt noslēpumu.
|
||||
|
||||
webauthn_desc=Drošības atslēgas ir fiziskas ierīces, kas satur kriptogrāfiskas atslēgas. Tās var tikt izmantotas divu faktoru autentifikācijai. Drošības atslēgām ir jāatbalsta <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn autentifikācijas</a> standarts.
|
||||
@ -1014,9 +1009,7 @@ tree_path_not_found_branch=Atzarā %[2]s nepastāv ceļš %[1]s
|
||||
tree_path_not_found_tag=Tagā %[2]s nepastāv ceļš %[1]s
|
||||
|
||||
transfer.accept=Apstiprināt īpašnieka maiņu
|
||||
transfer.accept_desc=`Mainīt īpašnieku uz "%s"`
|
||||
transfer.reject=Noraidīt īpašnieka maiņu
|
||||
transfer.reject_desc=`Atcelt īpašnieka maiņu uz "%s"`
|
||||
transfer.no_permission_to_accept=Nav atļaujas pieņemt šo pārsūtīšanu.
|
||||
transfer.no_permission_to_reject=Nav atļaujas noraidīt šo pārsūtīšanu.
|
||||
|
||||
@ -1150,7 +1143,6 @@ releases=Laidieni
|
||||
tag=Tags
|
||||
released_this=izveidoja šo laidienu
|
||||
tagged_this=izveidoja tagu revīzijai
|
||||
file.title=%s atzarā %s
|
||||
file_raw=Neapstrādāts
|
||||
file_history=Vēsture
|
||||
file_view_source=Skatīt avotu
|
||||
@ -1164,7 +1156,6 @@ ambiguous_runes_header=`Šis fails satur neviennozīmīgus unikoda simbolus`
|
||||
ambiguous_runes_description=`Šis fails satur unikoda simbolus, kas var tikt sajauktas ar citām rakstzīmēm. Ja šķiet, ka tas ir ar nolūku, šo brīdinājumu var droši neņemt vērā. Jāizmanto atsoļa taustiņš (Esc), lai atklātu tās.`
|
||||
invisible_runes_line=`Šī līnija satur neredzamus unikoda simbolus`
|
||||
ambiguous_runes_line=`Šī līnija satur neviennozīmīgus unikoda simbolus`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] var tikt sajaukts ar %[2]c [U+%04[2]X]`
|
||||
|
||||
escape_control_characters=Kodēt
|
||||
unescape_control_characters=Atkodēt
|
||||
@ -1756,9 +1747,7 @@ pulls.unrelated_histories=Sapludināšana neizdevās: mērķa un bāzes atzariem
|
||||
pulls.merge_out_of_date=Sapludināšana neizdevās: sapludināšanas laikā, bāzes atzarā tika iesūtītas izmaiņas. Ieteikums: mēģiniet atkārtoti.
|
||||
pulls.head_out_of_date=Sapludināšana neizdevās: sapludināšanas laikā, bāzes atzarā tika iesūtītas izmaiņas. Ieteikums: mēģiniet atkārtoti.
|
||||
pulls.has_merged=Neizdevās: izmaiņu pieprasījums jau ir sapludināts, nevar to darīt atkārtoti vai mainīt mērķa atzaru.
|
||||
pulls.push_rejected=Sapludināšana neizdevās: iesūtīšana tika noraidīta. Pārbaudiet git āķus šim repozitorijam.
|
||||
pulls.push_rejected_summary=Pilns noraidīšanas ziņojums
|
||||
pulls.push_rejected_no_message=Sapludināšana neizdevās: Izmaiņu iesūtīšana tika noraidīta, bet serveris neatgrieza paziņojumu.<br>Pārbaudiet git āķus šim repozitorijam
|
||||
pulls.open_unmerged_pull_exists=`Jūs nevarat veikt atkārtotas atvēršanas darbību, jo jau eksistē izmaiņu pieprasījums (#%d) ar šādu sapludināšanas informāciju.`
|
||||
pulls.status_checking=Dažas pārbaudes vēl tiek veiktas
|
||||
pulls.status_checks_success=Visas pārbaudes ir veiksmīgas
|
||||
@ -1812,7 +1801,6 @@ milestones.no_due_date=Bez termiņa
|
||||
milestones.open=Atvērta
|
||||
milestones.close=Aizvērt
|
||||
milestones.new_subheader=Atskaites punkti var palīdzēt pārvaldīt problēmas un sekot to virzībai.
|
||||
milestones.completeness=%d%% pabeigti
|
||||
milestones.create=Izveidot atskaites punktu
|
||||
milestones.title=Virsraksts
|
||||
milestones.desc=Apraksts
|
||||
@ -2024,7 +2012,6 @@ settings.pulls.default_delete_branch_after_merge=Pēc noklusējuma dzēst izmai
|
||||
settings.pulls.default_allow_edits_from_maintainers=Atļaut uzturētājiem labot pēc noklusējuma
|
||||
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
|
||||
@ -2239,14 +2226,8 @@ settings.add_key_success=Izvietošanas atslēga "%s" tika pievienota.
|
||||
settings.deploy_key_deletion=Noņemt izvietošanas atslēgu
|
||||
settings.deploy_key_deletion_desc=Noņemot izvietošanas atslēgu, tai tiks liegta piekļuve šim repozitorija. Vai turpināt?
|
||||
settings.deploy_key_deletion_success=Izvietošanas atslēga tika noņemta.
|
||||
settings.branches=Atzari
|
||||
settings.protected_branch=Atzaru aizsargāšana
|
||||
settings.protected_branch.save_rule=Saglabāt noteikumu
|
||||
settings.protected_branch.delete_rule=Dzēst noteikumu
|
||||
settings.protected_branch_can_push=Atļaut izmaiņu nosūtīšanu?
|
||||
settings.protected_branch_can_push_yes=Jūs varat nosūtīt izmaiņas
|
||||
settings.protected_branch_can_push_no=Jūs nevarat nosūtīt izmaiņas
|
||||
settings.branch_protection=Atzara aizsardzība atzaram '<b>%s</b>'
|
||||
settings.protect_this_branch=Iespējot atzara aizsardzību
|
||||
settings.protect_this_branch_desc=Neļauj atzara dzēšanu, kā arī ierobežo izmaiņu iesūtīšanu un sapludināšanu šajā atzarā.
|
||||
settings.protect_disable_push=Neļaut iesūtīt izmaiņas
|
||||
@ -2258,7 +2239,6 @@ settings.protect_enable_merge_desc=Ikviens ar rakstīšanas tiesībām varēst s
|
||||
settings.protect_check_status_contexts=Iespējot statusu pārbaudi
|
||||
settings.protect_status_check_patterns=Statusa pārbaudes šabloni:
|
||||
settings.protect_status_check_patterns_desc=Norādiet šablonus, kurām statusa pārbaudēm ir jāatbilst pirms atzaru iespējams sapludināt šajā atzarā, kas atbilst šim nosacījumam. Katru šablonu norādīt savā rindā, tie nevar būt tukši.
|
||||
settings.protect_check_status_contexts_desc=Nepieciešamas veiksmīgas statusa pārbaudes pirms sapludināšanas. Izvēlieties, kurām statusa pārbaudēm ir jāizpildās pirms ir iespejams tās sapludināt. Ja iespējots, tad revīzijas sākotnēji jānosūta uz atsevišķu atzaru, pēc kā var tikt saplusinātas vai tieši nosūtītas uz atzariem, kas atbildst veiksmīgām norādītajām stautsa pārbaudēm. Ja konteksts nav norādīts, pēdējai revīzijai ir jābūt veiksmīga neatkarīgi no konteksta.
|
||||
settings.protect_check_status_contexts_list=Statusu pārbaudes, kas šim repozitorijam bijušas pēdējās nedēļas laikā
|
||||
settings.protect_status_check_matched=Atbilst
|
||||
settings.protect_invalid_status_check_pattern=Kļūdains statusa pārbaudes šablons: "%s".
|
||||
@ -2276,12 +2256,9 @@ settings.protect_protected_file_patterns=Aizsargāto failu šablons (vairākus v
|
||||
settings.protect_protected_file_patterns_desc=Aizsargātie faili, ko nevar mainīt, pat ja lietotājam ir tiesības veidot jaunus, labot vai dzēst failus šajā atzarā. Vairākus šablons ir iespējams norādīt atdalot tos ar semikolu (';'). Sīkāka informācija par šabloniem pieejama <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> dokumentācijā. Piemēram, <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.protect_unprotected_file_patterns=Neaizsargāto failu šablons (vairākus var norādīt atdalot ar semikolu ';'):
|
||||
settings.protect_unprotected_file_patterns_desc=Neaizsargātie faili, ko iespējams mainīt apejot iesūtīšanas ierobežojumus, ja lietotājam ir tiesības iesūtīt izmaiņas šajā atzarā. Vairākus šablons ir iespējams norādīt atdalot tos ar semikolu (';'). Sīkāka informācija par šabloniem pieejama <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> dokumentācijā. Piemēram, <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.add_protected_branch=Iespējot aizsargāšanu
|
||||
settings.delete_protected_branch=Atspējot aizsargāšanu
|
||||
settings.update_protect_branch_success=Atzara aizsardzības nosacījums "%s" tika saglabāta.
|
||||
settings.remove_protected_branch_success=Atzara aizsardzības nosacījums "%s" tika noņemts.
|
||||
settings.remove_protected_branch_failed=Neizdevās izdzēst atzara aizsardzības nosacījumu "%s".
|
||||
settings.protected_branch_deletion=Atspējot atzara aizsardzību
|
||||
settings.protected_branch_deletion_desc=Atspējojot atzara aizsardzību, ļaus lietotājiem ar rakstīšanas tiesībām nosūtīt izmaiņas uz atzaru. Vai turpināt?
|
||||
settings.block_rejected_reviews=Neļaut sapludināt izmaiņu pieprasījumus, kam ir pieprasītas izmaiņas
|
||||
settings.block_rejected_reviews_desc=Sapludināšana nebūs iespējama, kad ir pieprasītas izmaiņas, pat ja ir nepieciešamais apstiprinājumu skaits.
|
||||
@ -2291,7 +2268,6 @@ settings.block_outdated_branch=Bloķēt sapludināšanau, ja izmaiņu pieprasīj
|
||||
settings.block_outdated_branch_desc=Sapludināšana nebūs pieejama, ja atzars būs atpalicis no bāzes atzara.
|
||||
settings.default_branch_desc=Norādiet noklusēto repozitorija atzaru izmaiņu pieprasījumiem un koda revīzijām:
|
||||
settings.merge_style_desc=Sapludināšanas veidi
|
||||
settings.default_merge_style_desc=Noklusētais sapludināšanas veids izmaiņu pieprasījumiem:
|
||||
settings.choose_branch=Izvēlieties atzaru…
|
||||
settings.no_protected_branch=Nav neviena aizsargātā atzara.
|
||||
settings.edit_protected_branch=Labot
|
||||
@ -2509,7 +2485,6 @@ tag.create_success=Tags "%s" tika izveidots.
|
||||
|
||||
topic.manage_topics=Pārvaldīt tēmas
|
||||
topic.done=Gatavs
|
||||
topic.count_prompt=Nevar pievienot vairāk kā 25 tēmas
|
||||
topic.format_prompt=Tēmai jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un punktus ('.') un var būt līdz 35 rakstzīmēm gara. Burtiem jābūt mazajiem.
|
||||
|
||||
find_file.go_to_file=Iet uz failu
|
||||
@ -2578,7 +2553,6 @@ settings.delete_prompt=Šī darbība pilnībā dzēsīs šo organizāciju, kā a
|
||||
settings.confirm_delete_account=Apstiprināt dzēšanu
|
||||
settings.delete_org_title=Dzēst organizāciju
|
||||
settings.delete_org_desc=Organizācija tiks dzēsta neatgriezeniski. Vai turpināt?
|
||||
settings.hooks_desc=Pievienot tīmekļa āķus, kas nostrādās <strong>visiem repozitorijiem</strong> šajā organizācijā.
|
||||
|
||||
settings.labels_desc=Pievienojiet iezīmes, kas var tikt izmantotas <strong>visos</strong> šīs organizācijas repozitorijos.
|
||||
|
||||
@ -2603,7 +2577,6 @@ teams.leave.detail=Pamest organizāciju %s?
|
||||
teams.can_create_org_repo=Veidot jaunus repozitorijus
|
||||
teams.can_create_org_repo_helper=Komandas biedri varēs veidot jaunus repozitorijus šajā organizācijā. Izveidotājam tiks piešķirtas administratora tiesības uz jauno repozitoriju.
|
||||
teams.none_access=Nav piekļuves
|
||||
teams.none_access_helper=Komandai nebūs tiesību skatīties vai veikt citas darbības ar šo vienumu.
|
||||
teams.general_access=Vispārēja piekļuve
|
||||
teams.general_access_helper=Komandas tiesības tiks noteiktas pēc tabulas zemāk.
|
||||
teams.read_access=Skatīšanās
|
||||
@ -3117,7 +3090,6 @@ monitor.next=Nākošās izpildes laiks
|
||||
monitor.previous=Pēdējās izpildes laiks
|
||||
monitor.execute_times=Izpildes
|
||||
monitor.process=Darbojošies procesi
|
||||
monitor.stacktrace=Steka izsekojamība
|
||||
monitor.processes_count=%d procesi
|
||||
monitor.download_diagnosis_report=Lejupielādēt diagnostikas atskaiti
|
||||
monitor.desc=Apraksts
|
||||
@ -3125,8 +3097,6 @@ monitor.start=Sākuma laiks
|
||||
monitor.execute_time=Izpildes laiks
|
||||
monitor.last_execution_result=Rezultāts
|
||||
monitor.process.cancel=Atcelt procesu
|
||||
monitor.process.cancel_desc=Procesa atcelšana var radīt datu zaudējumus
|
||||
monitor.process.cancel_notices=Atcelt: <strong>%s</strong>?
|
||||
monitor.process.children=Apakšprocesi
|
||||
|
||||
monitor.queues=Rindas
|
||||
@ -3220,7 +3190,6 @@ raw_minutes=minūtes
|
||||
|
||||
[dropzone]
|
||||
default_message=Ievelciet failus vai nospiediet šeit, lai augšupielādētu.
|
||||
invalid_input_type=Šādus failus nav iespējams augšupielādēt.
|
||||
file_too_big=Faila izmērs ({{filesize}} MB) pārsniedz maksimāli atļauto izmēru ({{maxFilesize}} MB).
|
||||
remove_file=Noņemt failu
|
||||
|
||||
@ -3289,7 +3258,6 @@ alpine.registry.key=Lejupielādējiet reģistra publisko RSA atslēgu direktorij
|
||||
alpine.registry.info=Izvēlieties $branch un $repository no saraksta zemāk.
|
||||
alpine.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
|
||||
alpine.repository=Repozitorija informācija
|
||||
alpine.repository.branches=Atzari
|
||||
alpine.repository.repositories=Repozitoriji
|
||||
alpine.repository.architectures=Arhitektūras
|
||||
cargo.registry=Uzstādiet šo reģistru Cargo konfigurācijas failā, piemēram, <code>~/.cargo/config.toml</code>:
|
||||
|
@ -143,7 +143,7 @@ network_error=Netwerk fout
|
||||
app_desc=Een eenvoudige, self-hosted Git service
|
||||
install=Makkelijk te installeren
|
||||
platform=Cross-platform
|
||||
platform_desc=Gitea werkt op alles waar <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> op kan compileren: Windows, macOS, Linux, ARM, etc. Kies het platform dat bij je past!
|
||||
platform_desc=Gitea werkt op alles waar <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go</a> op kan compileren: Windows, macOS, Linux, ARM, etc. Kies het platform dat bij je past!
|
||||
lightweight=Lichtgewicht
|
||||
lightweight_desc=Gitea heeft hele lage systeemeisen, je kunt Gitea al draaien op een goedkope Raspberry Pi.
|
||||
license=Open Source
|
||||
@ -515,10 +515,8 @@ applications=Applicaties
|
||||
orgs=Beheer organisaties
|
||||
repos=Repositories
|
||||
delete=Verwijder account
|
||||
twofa=Twee factor authenticatie
|
||||
account_link=Gekoppelde Accounts
|
||||
organization=Organisaties
|
||||
webauthn=Beveiligingssleutels
|
||||
|
||||
public_profile=Openbaar profiel
|
||||
password_username_disabled=Niet-lokale gebruikers kunnen hun gebruikersnaam niet veranderen. Neem contact op met de sitebeheerder voor meer details.
|
||||
@ -707,21 +705,17 @@ revoke_key=Intrekken
|
||||
revoke_oauth2_grant=Toegang intrekken
|
||||
revoke_oauth2_grant_description=Het intrekken van toegang voor deze derde partij applicatie zal deze applicatie geen toegang tot uw gegevens geven. Weet u het zeker?
|
||||
|
||||
twofa_desc=Tweefactorauthenticatie verbetert de beveiliging van je account.
|
||||
twofa_is_enrolled=Je account is momenteel <strong>ingeschreven</strong> voor two-factor authenticatie.
|
||||
twofa_not_enrolled=Je account is momenteel niet ingeschreven voor two-factor authenticatie.
|
||||
twofa_disable=Schakel tweetrapsauthenticatie uit
|
||||
twofa_scratch_token_regenerate=Genereer een nieuwe herstelcode
|
||||
twofa_enroll=Two-factor authenticatie inschakelen
|
||||
twofa_disable_note=Je kan tweefactorauthenticatie indien nodig uitschakelen.
|
||||
twofa_disable_desc=Het uitschakelen van tweefactorauthenticatie maakt je account minder veilig. Doorgaan?
|
||||
regenerate_scratch_token_desc=Als je je herstelcode bent verloren, of als je deze al hebt gebruikt om in te loggen, kun je deze hier opnieuw instellen.
|
||||
twofa_disabled=Two-factor authenticatie is uitgeschakeld.
|
||||
scan_this_image=Scan deze afbeelding met je authenticatie applicatie:
|
||||
or_enter_secret=Of voer deze geheime code in: %s
|
||||
then_enter_passcode=En vul de toegangscode, die in de applicatie weergegeven wordt, in:
|
||||
passcode_invalid=De code is niet correct. Probeer het nogmaals.
|
||||
twofa_enrolled=Tweefactorsauthenticatie is geactiveerd voor dit account. Bewaar je token (%s) op een veilige plek, omdat hij maar één keer wordt weergegeven!
|
||||
twofa_failed_get_secret=Kon geheim niet ophalen.
|
||||
|
||||
webauthn_desc=Beveiligingssleutels zijn hardware apparaten die cryptografische sleutels bevatten. Ze kunnen worden gebruikt voor tweestapsverificatie. Beveiligingssleutels moeten de <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a> standaard ondersteunen.
|
||||
@ -841,9 +835,7 @@ blame_prior=Bekijk de schuld voorafgaand aan deze verandering
|
||||
|
||||
|
||||
transfer.accept=Accepteer overdracht
|
||||
transfer.accept_desc=`Overmaken naar "%s"`
|
||||
transfer.reject=Overdracht afwijzen
|
||||
transfer.reject_desc=`Annuleer overdracht naar "%s"`
|
||||
|
||||
desc.private=Privé
|
||||
desc.public=Openbaar
|
||||
@ -961,7 +953,6 @@ release=Release
|
||||
releases=Publicaties
|
||||
tag=Label
|
||||
released_this=heeft dit gepubliceerd
|
||||
file.title=%s op %s
|
||||
file_raw=Ruw
|
||||
file_history=Geschiedenis
|
||||
file_view_source=Bron weergeven
|
||||
@ -971,7 +962,6 @@ file_permalink=Permalink
|
||||
file_too_large=Dit bestand is te groot om te tonen.
|
||||
invisible_runes_line=`Deze lijn heeft onzichtbare unicode karakters`
|
||||
ambiguous_runes_line=`Deze lijn heeft dubbelzinnige unicode karakters`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] is verwarrend met %[2]c [U+%04[2]X]`
|
||||
|
||||
escape_control_characters=Escape
|
||||
unescape_control_characters=Onescape
|
||||
@ -1453,9 +1443,7 @@ pulls.rebase_conflict_summary=Foutmelding
|
||||
pulls.unrelated_histories=Samenvoegen mislukt: de HEAD en base delen geen gemeenschappelijke geschiedenis. Tip: Probeer een andere strategie
|
||||
pulls.merge_out_of_date=Samenvoegen mislukt: Tijdens het samenvoegen is de basis bijgewerkt. Tip: Probeer het opnieuw.
|
||||
pulls.head_out_of_date=Samenvoegen mislukt: tijdens het genereren van de samenvoeging is de kop bijgewerkt. Tip: Probeer het opnieuw.
|
||||
pulls.push_rejected=Samenvoegen mislukt: De push is geweigerd. Controleer de Git Hooks voor deze repository.
|
||||
pulls.push_rejected_summary=Volledig afwijzingsbericht
|
||||
pulls.push_rejected_no_message=Samenvoegen mislukt: De push is afgewezen, maar er was geen extern bericht.<br>Controleer de Git Hooks voor deze repository
|
||||
pulls.open_unmerged_pull_exists=`Je kan deze pull-aanvraag niet opnieuw openen omdat er een andere (#%d) met identieke eigenschappen open staat.`
|
||||
pulls.status_checking=Sommige controles zijn in behandeling
|
||||
pulls.status_checks_success=Alle checks waren succesvol
|
||||
@ -1493,7 +1481,6 @@ milestones.closed=%s werd gesloten
|
||||
milestones.no_due_date=Geen vervaldatum
|
||||
milestones.open=Open
|
||||
milestones.close=Sluit
|
||||
milestones.completeness=%d%% Voltooid
|
||||
milestones.create=Mijlpaal maken
|
||||
milestones.title=Titel
|
||||
milestones.desc=Beschrijving
|
||||
@ -1805,12 +1792,7 @@ settings.key_name_used=Een deploy sleutel met dezelfde naam bestaat al.
|
||||
settings.deploy_key_deletion=Verwijder deploy sleutel
|
||||
settings.deploy_key_deletion_desc=Het verwijderen van een deploy sleutel zal de toegang tot deze repository intrekken. Doorgaan?
|
||||
settings.deploy_key_deletion_success=De deploy-sleutel is verwijderd.
|
||||
settings.branches=Branches
|
||||
settings.protected_branch=Branch bescherming
|
||||
settings.protected_branch_can_push=Push toestaan?
|
||||
settings.protected_branch_can_push_yes=U mag pushen
|
||||
settings.protected_branch_can_push_no=U mag niet pushen
|
||||
settings.branch_protection=Branch Bescherming voor branch '<b>%s</b>'
|
||||
settings.protect_this_branch=Branch bescherming inschakelen
|
||||
settings.protect_this_branch_desc=Voorkomt verwijdering en beperkt Git pushing en samenvoegen tot de branch.
|
||||
settings.protect_disable_push=Push uitschakelen
|
||||
@ -1818,7 +1800,6 @@ settings.protect_disable_push_desc=Geen pushes zijn toegestaan in deze branch.
|
||||
settings.protect_enable_push=Push inschakelen
|
||||
settings.protect_enable_push_desc=Iedereen met schrijftoegang heeft toegang om te pushen naar deze branch (maar niet force push).
|
||||
settings.protect_check_status_contexts=Status controle inschakelen
|
||||
settings.protect_check_status_contexts_desc=Statuscontroles zijn vereist om te kunnen samenvoegen. Kies welke statuscontroles moeten slagen voordat branches kunnen worden samengevoegd tot een branch die aan deze regel voldoet. Wanneer ingeschakeld, moeten commits eerst naar een andere branch worden gepusht, vervolgens samengevoegd of gepusht worden naar een branch die overeenkomt met deze regel nadat de statuscontroles zijn uitgevoerd. Als er geen contexten worden geselecteerd, moet de laatste commit succesvol zijn, ongeacht de context.
|
||||
settings.protect_check_status_contexts_list=Status controles gevonden in de afgelopen week voor deze repository
|
||||
settings.protect_required_approvals=Vereiste goedkeuringen:
|
||||
settings.protect_required_approvals_desc=Sta alleen toe om pull request samen te voegen met voldoende positieve beoordelingen.
|
||||
@ -1826,9 +1807,6 @@ settings.dismiss_stale_approvals=Verouderde goedkeuringen afwijzen
|
||||
settings.dismiss_stale_approvals_desc=Wanneer nieuwe commits die de inhoud van het pull-verzoek veranderen, naar de branch worden gepusht, worden oude goedkeuringen verwijderd.
|
||||
settings.require_signed_commits=Ondertekende Commits vereisen
|
||||
settings.require_signed_commits_desc=Weiger pushes naar deze branch als deze niet ondertekend of niet verifieerbaar is.
|
||||
settings.add_protected_branch=Bescherming aanzetten
|
||||
settings.delete_protected_branch=Bescherming uitzetten
|
||||
settings.protected_branch_deletion=Branch bescherming uitschakelen
|
||||
settings.protected_branch_deletion_desc=Branch bescherming uitschakelen zorgt ervoor dat gebruikers met schrijfrechten naar de branch kunnen pushen. Doorgaan?
|
||||
settings.block_rejected_reviews=Samenvoegen van afgewezen beoordelingen blokkeren
|
||||
settings.block_rejected_reviews_desc=Samenvoegen zal niet mogelijk zijn wanneer er wijzigingen worden aangevraagd door officiële beoordelaars, zelfs niet als er genoeg goedkeuringen zijn.
|
||||
@ -1837,7 +1815,6 @@ settings.block_on_official_review_requests_desc=Samenvoegen is niet mogelijk wan
|
||||
settings.block_outdated_branch=Samenvoegen blokkeren als pull request verouderd is
|
||||
settings.block_outdated_branch_desc=Samenvoegen is niet mogelijk als de hoofd branch achter loop op de basis branch.
|
||||
settings.default_branch_desc=Selecteer een standaard repository branch voor pull requests en code commits:
|
||||
settings.default_merge_style_desc=Standaard samenvoegstijl voor pull verzoeken:
|
||||
settings.choose_branch=Kies een branch…
|
||||
settings.no_protected_branch=Er zijn geen beschermde branches.
|
||||
settings.edit_protected_branch=Bewerken
|
||||
@ -1991,7 +1968,6 @@ branch.confirm_rename_branch=Hernoem branch
|
||||
|
||||
topic.manage_topics=Beheer topics
|
||||
topic.done=Klaar
|
||||
topic.count_prompt=Je kunt niet meer dan 25 onderwerpen selecteren
|
||||
|
||||
|
||||
|
||||
@ -2035,7 +2011,6 @@ settings.visibility.private=Privé (alleen zichtbaar voor organisatieleden)
|
||||
settings.visibility.private_shortname=Privé
|
||||
|
||||
settings.update_settings=Instellingen bijwerken
|
||||
settings.update_setting_success=Organisatie instellingen zijn succesvol bijgewerkt.
|
||||
settings.update_avatar_success=De avatar van de organisatie is aangepast.
|
||||
settings.delete=Verwijder organisatie
|
||||
settings.delete_account=Verwijder deze organisatie
|
||||
@ -2467,8 +2442,6 @@ monitor.start=Starttijd
|
||||
monitor.execute_time=Uitvoertijd
|
||||
monitor.last_execution_result=Resultaat
|
||||
monitor.process.cancel=Annuleer proces
|
||||
monitor.process.cancel_desc=Annuleren van een proces kan gegevensverlies veroorzaken
|
||||
monitor.process.cancel_notices=Annuleer: <strong>%s</strong>?
|
||||
|
||||
monitor.queues=Wachtrijen
|
||||
monitor.queue=Wachtrij: %s
|
||||
@ -2531,8 +2504,6 @@ raw_minutes=minuten
|
||||
|
||||
[dropzone]
|
||||
default_message=Sleep bestanden hier heen of klik om te uploaden.
|
||||
invalid_input_type=U kunt geen bestanden van dit type uploaden.
|
||||
file_too_big=Bestandsgrootte ({{filesize}} MB) overschrijdt de maximale grootte ({{maxFilesize}} MB).
|
||||
remove_file=Verwijder bestand
|
||||
|
||||
[notification]
|
||||
@ -2562,7 +2533,6 @@ error.unit_not_allowed=U heeft geen toegang tot deze sectie van de repository.
|
||||
[packages]
|
||||
filter.type=Type
|
||||
assets=Assets
|
||||
alpine.repository.branches=Branches
|
||||
alpine.repository.repositories=Repositories
|
||||
conan.details.repository=Opslagplaats
|
||||
rubygems.required.ruby=Vereist Ruby versie
|
||||
|
@ -140,7 +140,6 @@ network_error=Błąd sieci
|
||||
app_desc=Bezbolesna usługa Git na własnym serwerze
|
||||
install=Łatwa instalacja
|
||||
platform=Wieloplatformowość
|
||||
platform_desc=Gitea ruszy gdziekolwiek <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> jest możliwe do skompilowania: Windows, macOS, Linux, ARM, itd. Wybierz swój ulubiony system!
|
||||
lightweight=Niskie wymagania
|
||||
lightweight_desc=Gitea ma niskie minimalne wymagania i może działać na niedrogim Raspberry Pi. Oszczędzaj energię swojego komputera!
|
||||
license=Otwarte źródło
|
||||
@ -500,10 +499,8 @@ applications=Aplikacje
|
||||
orgs=Zarządzaj organizacjami
|
||||
repos=Repozytoria
|
||||
delete=Usuń konto
|
||||
twofa=Autoryzacja dwuetapowa
|
||||
account_link=Powiązane Konta
|
||||
organization=Organizacje
|
||||
webauthn=Klucze bezpieczeństwa
|
||||
|
||||
public_profile=Profil publiczny
|
||||
password_username_disabled=Użytkownicy nielokalni nie mogą zmieniać swoich nazw. Aby uzyskać więcej informacji, skontaktuj się z administratorem strony.
|
||||
@ -668,21 +665,17 @@ revoke_key=Odwołaj
|
||||
revoke_oauth2_grant=Odwołaj dostęp
|
||||
revoke_oauth2_grant_description=Odwołanie dostępu dla tej aplikacji uniemożliwi jej korzystanie z Twoich danych. Czy jesteś pewny(-a)?
|
||||
|
||||
twofa_desc=Weryfikacja dwuskładnikowa zwiększa bezpieczeństwo Twojego konta.
|
||||
twofa_is_enrolled=Twoje konto ma obecnie <strong>włączoną</strong> autoryzację dwuetapową.
|
||||
twofa_not_enrolled=Twoje konto obecnie nie ma włączonej autoryzacji dwuetapowej.
|
||||
twofa_disable=Wyłącz weryfikację dwuetapową
|
||||
twofa_scratch_token_regenerate=Wygeneruj ponownie kod jednorazowy
|
||||
twofa_enroll=Włącz weryfikację dwuskładnikową
|
||||
twofa_disable_note=W każdej chwili możesz wyłączyć weryfikację dwuskładnikową.
|
||||
twofa_disable_desc=Wyłączenie weryfikacji dwuetapowej sprawi, że Twoje konto będzie mniej bezpieczne. Kontynuować?
|
||||
regenerate_scratch_token_desc=Jeśli zgubiłeś(-aś) lub zużyłeś(-aś) swój kod jednorazowy, możesz go wygenerować ponownie tutaj.
|
||||
twofa_disabled=Dwuetapowa autoryzacja została wyłączona.
|
||||
scan_this_image=Zeskanuj ten obraz za pomocą swojej aplikacji uwierzytelniającej:
|
||||
or_enter_secret=Lub wprowadź sekret: %s
|
||||
then_enter_passcode=Oraz wpisz kod dostępu pokazany w aplikacji:
|
||||
passcode_invalid=Kod dostępu jest nieprawidłowy. Spróbuj ponownie.
|
||||
twofa_enrolled=Na Twoim koncie została uruchomiona weryfikacja dwuetapowa. Przechowuj swój kod jednorazowy (%s) w bezpiecznym miejscu, gdyż jest widoczny tylko raz!
|
||||
twofa_failed_get_secret=Nie udało się uzyskać sekretu.
|
||||
|
||||
webauthn_register_key=Dodaj klucz bezpieczeństwa
|
||||
@ -787,9 +780,7 @@ delete_preexisting_success=Usunięto nieprzyjęte pliki w %s
|
||||
|
||||
|
||||
transfer.accept=Akceptuj transfer
|
||||
transfer.accept_desc=`Przenieś do "%s"`
|
||||
transfer.reject=Odrzuć transfer
|
||||
transfer.reject_desc=`Anuluj transfer do "%s"`
|
||||
|
||||
desc.private=Prywatne
|
||||
desc.public=Publiczne
|
||||
@ -902,7 +893,6 @@ release=Wydanie
|
||||
releases=Wydania
|
||||
tag=Tag
|
||||
released_this=wydał to
|
||||
file.title=%s w %s
|
||||
file_raw=Czysty
|
||||
file_history=Historia
|
||||
file_view_source=Zobacz Źródło
|
||||
@ -1346,7 +1336,6 @@ milestones.closed=Zamknięto %s
|
||||
milestones.no_due_date=Nie ustalono terminu
|
||||
milestones.open=Otwórz
|
||||
milestones.close=Zamknij
|
||||
milestones.completeness=%d%% Ukończono
|
||||
milestones.create=Utwórz kamień milowy
|
||||
milestones.title=Tytuł
|
||||
milestones.desc=Opis
|
||||
@ -1505,7 +1494,6 @@ settings.enable_timetracker=Włącz śledzenie czasu
|
||||
settings.allow_only_contributors_to_track_time=Zezwalaj wyłącznie współpracownikom na śledzenie czasu
|
||||
settings.pulls_desc=Włącz Pull Requesty w repozytorium
|
||||
settings.pulls.ignore_whitespace=Ignoruj znaki białe w konfliktach
|
||||
settings.projects_desc=Włącz projekty w repozytorium
|
||||
settings.admin_settings=Ustawienia administratora
|
||||
settings.admin_enable_health_check=Włącz sprawdzanie stanu zdrowia repozytoriów (git fsck)
|
||||
settings.admin_enable_close_issues_via_commit_in_any_branch=Zamknij zgłoszenie poprzez commit wprowadzony do nie-domyślnej gałęzi
|
||||
@ -1672,12 +1660,6 @@ settings.key_name_used=Klucz wdrożeniowy z identyczną nazwą już istnieje.
|
||||
settings.deploy_key_deletion=Usuń klucz wdrożeniowy
|
||||
settings.deploy_key_deletion_desc=Usunięcie klucza wdrożeniowego wycofa jego dostęp do tego repozytorium. Kontynuować?
|
||||
settings.deploy_key_deletion_success=Klucz wdrożeniowy został usunięty.
|
||||
settings.branches=Gałęzie
|
||||
settings.protected_branch=Ochrona gałęzi
|
||||
settings.protected_branch_can_push=Umożliwić push?
|
||||
settings.protected_branch_can_push_yes=Możesz wysyłać
|
||||
settings.protected_branch_can_push_no=Nie możesz wysyłać
|
||||
settings.branch_protection=`Ochrona gałęzi dla "<b>%s</b>"`
|
||||
settings.protect_this_branch=Włącz ochronę gałęzi
|
||||
settings.protect_this_branch_desc=Zapobiega usunięciu oraz ogranicza wypychanie i scalanie zmian do tej gałęzi.
|
||||
settings.protect_disable_push=Wyłącz wypychanie
|
||||
@ -1685,7 +1667,6 @@ settings.protect_disable_push_desc=Wypychanie do tej gałęzi nie będzie możli
|
||||
settings.protect_enable_push=Włącz wypychanie
|
||||
settings.protect_enable_push_desc=Każdy użytkownik z uprawnieniem zapisu będzie miał możliwość wypychania do tej gałęzi (oprócz wymuszonego wypchnięcia).
|
||||
settings.protect_check_status_contexts=Włącz kontrolę stanu
|
||||
settings.protect_check_status_contexts_desc=Wymagaj powodzenia kontroli stanów przed scalaniem. Wybierz które kontrole stanów muszą zostać ukończone pomyślnie, zanim gałęzie będą mogły zostać scalone z gałęzią, która pokrywa się z tą zasadą. Kiedy włączone, commity muszą być najpierw wypchnięte do innej gałęzi, a następnie scalone lub wypchnięte bezpośrednio do gałęzi, która pokrywa się z tą zasadą po pomyślnej kontroli stanów. Jeżeli nie zostaną wybrane konteksty, ostatni commit musi zakończyć się powodzeniem niezależnie od kontekstu.
|
||||
settings.protect_check_status_contexts_list=Kontrole stanów w poprzednim tygodniu dla tego repozytorium
|
||||
settings.protect_required_approvals=Wymagane zatwierdzenia:
|
||||
settings.protect_required_approvals_desc=Zezwól na scalanie Pull Requestów tylko z wystarczającą ilością pozytywnych recenzji.
|
||||
@ -1693,9 +1674,6 @@ settings.dismiss_stale_approvals=Unieważnij przestarzałe zatwierdzenia
|
||||
settings.dismiss_stale_approvals_desc=Kiedy nowe commity zmieniające zawartość Pull Requesta są wypychane do gałęzi, wcześniejsze zatwierdzenia zostaną unieważnione.
|
||||
settings.require_signed_commits=Wymagaj podpisanych commitów
|
||||
settings.require_signed_commits_desc=Odrzucaj zmiany wypychane do tej gałęzi, jeśli nie są podpisane, lub są niemożliwe do zweryfikowania.
|
||||
settings.add_protected_branch=Włącz ochronę
|
||||
settings.delete_protected_branch=Wyłącz ochronę
|
||||
settings.protected_branch_deletion=Wyłącz ochronę gałęzi
|
||||
settings.protected_branch_deletion_desc=Wyłączenie ochrony gałęzi pozwoli użytkownikom z uprawnieniami zapisu do przekazywania zmian do gałęzi. Kontynuować?
|
||||
settings.block_rejected_reviews=Zablokuj scalanie przy odrzuconych recenzjach
|
||||
settings.block_rejected_reviews_desc=Scalanie nie będzie możliwe, jeżeli zostały zażądane zmiany przez oficjalnych recenzentów nawet, jeśli jest wystarczająca ilość zatwierdzeń.
|
||||
@ -1703,7 +1681,6 @@ settings.block_on_official_review_requests_desc=Połączenie nie będzie możliw
|
||||
settings.block_outdated_branch=Zablokuj scalanie, jeśli pull request jest nieaktualny
|
||||
settings.block_outdated_branch_desc=Scalanie nie będzie możliwe, gdy gałąź główna jest za gałęzią bazową.
|
||||
settings.default_branch_desc=Wybierz domyślną gałąź repozytorium dla Pull Requestów i commitów kodu:
|
||||
settings.default_merge_style_desc=Domyślny styl scalania dla pull requestów:
|
||||
settings.choose_branch=Wybierz gałąź…
|
||||
settings.no_protected_branch=Nie ma chronionych gałęzi.
|
||||
settings.edit_protected_branch=Zmień
|
||||
@ -1858,7 +1835,6 @@ tag.create_tag=Utwóz tag <strong>%s</strong>
|
||||
|
||||
topic.manage_topics=Zarządzaj tematami
|
||||
topic.done=Gotowe
|
||||
topic.count_prompt=Nie możesz wybrać więcej, niż 25 tematów
|
||||
|
||||
|
||||
error.csv.too_large=Nie można wyświetlić tego pliku, ponieważ jest on zbyt duży.
|
||||
@ -2420,7 +2396,6 @@ raw_minutes=minut
|
||||
|
||||
[dropzone]
|
||||
default_message=Upuść pliki tutaj lub kliknij, aby przesłać.
|
||||
invalid_input_type=Nie można przesłać plików tego typu.
|
||||
file_too_big=Rozmiar pliku ({{filesize}} MB) przekracza maksymalny rozmiar ({{maxFilesize}} MB).
|
||||
remove_file=Usuń plik
|
||||
|
||||
@ -2452,7 +2427,6 @@ error.unit_not_allowed=Nie masz uprawnień do tej sekcji repozytorium.
|
||||
|
||||
[packages]
|
||||
filter.type=Typ
|
||||
alpine.repository.branches=Gałęzie
|
||||
alpine.repository.repositories=Repozytoria
|
||||
conan.details.repository=Repozytorium
|
||||
owner.settings.cleanuprules.enabled=Włączone
|
||||
|
@ -194,7 +194,6 @@ network_error=Erro de rede
|
||||
app_desc=Um serviço de hospedagem Git amigável
|
||||
install=Fácil de instalar
|
||||
platform=Multi-plataforma
|
||||
platform_desc=Gitea roda em qualquer sistema operacional em que <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> consegue compilar: Windows, macOS, Linux, ARM, etc. Escolha qual você gosta mais!
|
||||
lightweight=Leve e rápido
|
||||
lightweight_desc=Gitea utiliza poucos recursos e consegue mesmo rodar no barato Raspberry Pi. Economize energia elétrica da sua máquina!
|
||||
license=Código aberto
|
||||
@ -620,11 +619,9 @@ applications=Aplicativos
|
||||
orgs=Gerenciar organizações
|
||||
repos=Repositórios
|
||||
delete=Excluir conta
|
||||
twofa=Autenticação de dois fatores
|
||||
account_link=Contas vinculadas
|
||||
organization=Organizações
|
||||
uid=UID
|
||||
webauthn=Chaves de segurança
|
||||
|
||||
public_profile=Perfil público
|
||||
biography_placeholder=Conte-nos um pouco sobre você! (Você pode usar Markdown)
|
||||
@ -855,23 +852,18 @@ revoke_oauth2_grant=Revogar acesso
|
||||
revoke_oauth2_grant_description=Revogando o acesso para este aplicativo de terceiros impedirá este aplicativo de acessar seus dados. Tem certeza?
|
||||
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
|
||||
twofa_scratch_token_regenerate=Gerar novamente o token de backup
|
||||
twofa_scratch_token_regenerated=Seu token agora é %s. Guarde-a em um local seguro, pois ela nunca mais será exibido.
|
||||
twofa_enroll=Inscrever para a autenticação de dois fatores
|
||||
twofa_disable_note=Você pode desabilitar a autenticação de dois fatores se necessário.
|
||||
twofa_disable_desc=Desabilitar a autenticação de dois fatores tornará sua conta menos segura. Tem certeza que deseja continuar?
|
||||
regenerate_scratch_token_desc=Se você perdeu o seu token de backup, ou teve que usá-lo para realizar um acesso, você pode redefini-lo.
|
||||
twofa_disabled=A autenticação de dois fatores foi desabilitada.
|
||||
scan_this_image=Escaneie esta imagem com o seu aplicativo de autenticação:
|
||||
or_enter_secret=Ou digite esse código: %s
|
||||
then_enter_passcode=E insira a senha mostrada no aplicativo:
|
||||
passcode_invalid=Esse código de acesso é inválido. Tente novamente.
|
||||
twofa_enrolled=Sua conta foi inscrita na autenticação de dois fatores. Armazene seu token de backup (%s) em um local seguro, pois ele é exibido apenas uma vez!
|
||||
twofa_failed_get_secret=Falha ao obter o segredo.
|
||||
|
||||
webauthn_desc=Chaves de segurança são dispositivos de hardware que contém chaves de criptografia. Elas podem ser usadas para autenticação de dois fatores. A chave de segurança deve suportar o padrão <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthnn Authenticator</a>.
|
||||
@ -1009,9 +1001,7 @@ author_search_tooltip=Mostra um máximo de 30 usuários
|
||||
|
||||
|
||||
transfer.accept=Aceitar transferência
|
||||
transfer.accept_desc=`Transferir para "%s"`
|
||||
transfer.reject=Rejeitar transferência
|
||||
transfer.reject_desc=`Cancelar a transferência para "%s"`
|
||||
transfer.no_permission_to_accept=Você não tem permissão para aceitar essa transferência.
|
||||
transfer.no_permission_to_reject=Você não tem permissão para rejeitar essa transferência.
|
||||
|
||||
@ -1145,7 +1135,6 @@ releases=Versões
|
||||
tag=Tag
|
||||
released_this=lançou isto
|
||||
tagged_this=criou essa tag
|
||||
file.title=%s em %s
|
||||
file_raw=Original
|
||||
file_history=Histórico
|
||||
file_view_source=Exibir código-fonte
|
||||
@ -1159,7 +1148,6 @@ ambiguous_runes_header=`Este arquivo contém caracteres Unicode ambíguos`
|
||||
ambiguous_runes_description=`Este arquivo contém caracteres Unicode que podem ser confundidos com outros caracteres. Se você acha que isso é intencional, pode ignorar esse aviso com segurança. Use o botão Escapar para revelá-los
|
||||
invisible_runes_line=`Esta linha tem caracteres unicode invisíveis`
|
||||
ambiguous_runes_line=`Esta linha tem caracteres unicode ambíguos`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] é confundível com o %[2]c [U+%04[2]X]`
|
||||
|
||||
escape_control_characters=Escapar
|
||||
unescape_control_characters=Desescapar
|
||||
@ -1750,9 +1738,7 @@ pulls.rebase_conflict_summary=Mensagem de Erro
|
||||
pulls.unrelated_histories=Merge falhou: O merge do principal e da base não compartilham uma história comum. Dica: Tente uma estratégia diferente
|
||||
pulls.merge_out_of_date=Merge falhou: durante a geração do merge, a base não foi atualizada. Dica: Tente novamente.
|
||||
pulls.head_out_of_date=O merge falhou: Enquanto gerava o merge, a head foi atualizada. Dica: Tente novamente.
|
||||
pulls.push_rejected=O merge falhou: O push foi rejeitado. Revise os Git Hooks para este repositório.
|
||||
pulls.push_rejected_summary=Mensagem completa da rejeição
|
||||
pulls.push_rejected_no_message=O merge falhou: O push foi rejeitado mas não houve mensagem remota.<br>Revise os Git Hooks para este repositório
|
||||
pulls.open_unmerged_pull_exists=`Não é possível executar uma operação de reabertura pois há um pull request pendente (#%d) com propriedades idênticas.`
|
||||
pulls.status_checking=Algumas verificações estão pendentes
|
||||
pulls.status_checks_success=Todas as verificações foram bem sucedidas
|
||||
@ -1804,7 +1790,6 @@ milestones.no_due_date=Sem data limite
|
||||
milestones.open=Reabrir
|
||||
milestones.close=Fechar
|
||||
milestones.new_subheader=Os marcos podem ajudá-lo a organizar os problemas e acompanhar seu progresso.
|
||||
milestones.completeness=%d%% concluído
|
||||
milestones.create=Criar marco
|
||||
milestones.title=Título
|
||||
milestones.desc=Descrição
|
||||
@ -2010,7 +1995,6 @@ settings.pulls.default_delete_branch_after_merge=Excluir o branch de pull reques
|
||||
settings.pulls.default_allow_edits_from_maintainers=Permitir edições de mantenedores por padrão
|
||||
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
|
||||
@ -2215,14 +2199,8 @@ settings.key_name_used=Uma chave de deploy já existe com esse mesmo nome.
|
||||
settings.deploy_key_deletion=Remover chave de deploy
|
||||
settings.deploy_key_deletion_desc=A exclusão de uma chave de deploy irá revogar o seu acesso a este repositório. Continuar?
|
||||
settings.deploy_key_deletion_success=A chave de deploy foi removida.
|
||||
settings.branches=Branches
|
||||
settings.protected_branch=Proteção de Branch
|
||||
settings.protected_branch.save_rule=Salvar Regra
|
||||
settings.protected_branch.delete_rule=Excluir Regra
|
||||
settings.protected_branch_can_push=Permitir push?
|
||||
settings.protected_branch_can_push_yes=Você pode fazer push
|
||||
settings.protected_branch_can_push_no=Você não pode fazer push
|
||||
settings.branch_protection=Proteção de Branch para '<b>%s</b>'
|
||||
settings.protect_this_branch=Habilitar Proteção de Branch
|
||||
settings.protect_this_branch_desc=Previne a exclusão e restringe o merge e push para o branch.
|
||||
settings.protect_disable_push=Desabilitar push
|
||||
@ -2231,7 +2209,6 @@ settings.protect_enable_push=Habilitar push
|
||||
settings.protect_enable_push_desc=Qualquer pessoa com acesso de escrita terá permissão para realizar push neste branch (mas não forçar o push).
|
||||
settings.protect_enable_merge=Permitir merge
|
||||
settings.protect_check_status_contexts=Habilitar verificação de status
|
||||
settings.protect_check_status_contexts_desc=Exigir que as verificações de status passem antes de fazer merge. Escolha quais verificações de status devem passar antes que os branches possam ter o merge aplicado em um branch que corresponda a esta regra. Quando habilitado, os commits devem primeiro ser enviados para outro branch, então faça merge ou push diretamente para um branch que corresponde a esta regra após a verificação de status ter passado. Se nenhum contexto for selecionado, o último commit deve ser bem sucedido, independentemente do contexto.
|
||||
settings.protect_check_status_contexts_list=Verificações de status encontradas na última semana para este repositório
|
||||
settings.protect_required_approvals=Aprovações necessárias:
|
||||
settings.protect_required_approvals_desc=Permite apenas realizar merge do pull request com avaliações positivas suficientes.
|
||||
@ -2245,12 +2222,9 @@ settings.protect_protected_file_patterns=Padrões de arquivos protegidos (separa
|
||||
settings.protect_protected_file_patterns_desc=Arquivos protegidos não podem ser alterados diretamente, mesmo que o usuário tenha direitos para adicionar, editar ou excluir arquivos neste branch. Vários padrões podem ser separados usando ponto e vírgula (';'). Consulte a documentação <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> para a sintaxe padrão. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.protect_unprotected_file_patterns=Padrões de arquivos desprotegidos (separados usando ponto e vírgula ';'):
|
||||
settings.protect_unprotected_file_patterns_desc=Arquivos não protegidos que podem ser alterados diretamente se o usuário tiver acesso de gravação, ignorando as restrições de push. Vários padrões podem ser separados usando ponto e vírgula (\;'). Veja <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> documentação para sintaxe de padrões. Exemplos: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.add_protected_branch=Habilitar proteção
|
||||
settings.delete_protected_branch=Desabilitar proteção
|
||||
settings.update_protect_branch_success=Proteção do branch "%s" foi atualizada.
|
||||
settings.remove_protected_branch_success=Proteção do branch "%s" foi desabilitada.
|
||||
settings.remove_protected_branch_failed=Removendo regra de proteção de branch "%s" falhou.
|
||||
settings.protected_branch_deletion=Desabilitar proteção de branch
|
||||
settings.protected_branch_deletion_desc=Desabilitar a proteção de branch permite que os usuários com permissão de escrita realizem push. Continuar?
|
||||
settings.block_rejected_reviews=Bloquear merge em revisões rejeitadas
|
||||
settings.block_rejected_reviews_desc=O merge não será possível quando são solicitadas alterações pelos revisores oficiais, mesmo que haja aprovação suficiente.
|
||||
@ -2260,7 +2234,6 @@ settings.block_outdated_branch=Bloquear o merge se o pull request estiver desatu
|
||||
settings.block_outdated_branch_desc=O merge não será possível quando o branch de topo estiver atrás do branch base.
|
||||
settings.default_branch_desc=Selecione um branch padrão para pull requests e commits de código:
|
||||
settings.merge_style_desc=Estilos de Merge
|
||||
settings.default_merge_style_desc=Estilo de merge padrão para pull requests:
|
||||
settings.choose_branch=Escolha um branch...
|
||||
settings.no_protected_branch=Não há branches protegidos.
|
||||
settings.edit_protected_branch=Editar
|
||||
@ -2469,7 +2442,6 @@ tag.create_success=Tag "%s" criada.
|
||||
|
||||
topic.manage_topics=Gerenciar Tópicos
|
||||
topic.done=Feito
|
||||
topic.count_prompt=Você não pode selecionar mais de 25 tópicos
|
||||
|
||||
find_file.go_to_file=Ir para arquivo
|
||||
find_file.no_matching=Nenhum arquivo correspondente encontrado
|
||||
@ -2559,7 +2531,6 @@ teams.leave.detail=Sair de %s?
|
||||
teams.can_create_org_repo=Criar repositórios
|
||||
teams.can_create_org_repo_helper=Membros podem criar novos repositórios na organização. O criador terá acesso administrativo ao novo repositório.
|
||||
teams.none_access=Sem Acesso
|
||||
teams.none_access_helper=Os membros não podem ver ou fazer qualquer outra ação nesta unidade.
|
||||
teams.general_access=Acesso Geral
|
||||
teams.general_access_helper=As permissões dos membros serão decididas pela tabela de permissões abaixo.
|
||||
teams.read_access=Leitura
|
||||
@ -2979,7 +2950,6 @@ config.default_enable_timetracking=Habilitar o Cronômetro por Padrão
|
||||
config.default_allow_only_contributors_to_track_time=Permitir que apenas os colaboradores acompanhem o contador de tempo
|
||||
config.no_reply_address=Ocultar domínio de e-mail
|
||||
config.default_visibility_organization=Visibilidade padrão para novas organizações
|
||||
config.default_enable_dependencies=Habilitar dependências de issue por padrão
|
||||
|
||||
config.webhook_config=Configuração de Hook da Web
|
||||
config.queue_length=Tamanho da fila
|
||||
@ -3058,7 +3028,6 @@ monitor.next=Próxima vez
|
||||
monitor.previous=Vez anterior
|
||||
monitor.execute_times=Execuções
|
||||
monitor.process=Processos em execução
|
||||
monitor.stacktrace=Stacktraces
|
||||
monitor.processes_count=%d processos
|
||||
monitor.download_diagnosis_report=Baixar relatório de diagnóstico
|
||||
monitor.desc=Descrição
|
||||
@ -3066,8 +3035,6 @@ monitor.start=Hora de início
|
||||
monitor.execute_time=Tempo de execução
|
||||
monitor.last_execution_result=Resultado
|
||||
monitor.process.cancel=Cancelar processo
|
||||
monitor.process.cancel_desc=Cancelar um processo pode causar perda de dados
|
||||
monitor.process.cancel_notices=Cancelar: <strong>%s</strong>?
|
||||
monitor.process.children=Descendentes
|
||||
|
||||
monitor.queues=Filas
|
||||
@ -3157,7 +3124,6 @@ raw_minutes=minutos
|
||||
|
||||
[dropzone]
|
||||
default_message=Arraste e solte arquivos aqui, ou clique para selecioná-los.
|
||||
invalid_input_type=Você não pode enviar arquivos deste tipo.
|
||||
file_too_big=Tamanho de arquivo ({{filesize}} MB) excede o máximo de ({{maxFilesize}} MB).
|
||||
remove_file=Remover arquivo
|
||||
|
||||
@ -3225,7 +3191,6 @@ alpine.registry.key=Baixe a chave RSA pública do registro para a pasta <code>/e
|
||||
alpine.registry.info=Escolha o $branch e $repository da lista abaixo.
|
||||
alpine.install=Para instalar o pacote, execute o seguinte comando:
|
||||
alpine.repository=Informações do repositório
|
||||
alpine.repository.branches=Branches
|
||||
alpine.repository.repositories=Repositórios
|
||||
alpine.repository.architectures=Arquiteturas
|
||||
cargo.registry=Configurar este registro no arquivo de configuração de Cargo (por exemplo <code>~/.cargo/config.toml</code>):
|
||||
@ -3301,7 +3266,6 @@ settings.link=Vincular este pacote a um repositório
|
||||
settings.link.description=Se você vincular um pacote a um repositório, o pacote será listado na lista de pacotes do repositório.
|
||||
settings.link.select=Selecionar Repositório
|
||||
settings.link.button=Atualizar Link do Repositório
|
||||
settings.link.success=Link do repositório foi atualizado com sucesso.
|
||||
settings.link.error=Falha ao atualizar o link do repositório.
|
||||
settings.delete=Excluir o pacote
|
||||
settings.delete.description=A exclusão de um pacote é permanente e não pode ser desfeita.
|
||||
|
@ -229,7 +229,6 @@ app_desc=Um serviço Git auto-hospedado e fácil de usar
|
||||
install=Fácil de instalar
|
||||
install_desc=Corra, simplesmente, <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-binary">o ficheiro binário executável</a> para a sua plataforma, despache-o com o <a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea/tree/master/docker">Docker</a>, ou obtenha-o sob a forma de <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-package">pacote</a>.
|
||||
platform=Multiplataforma
|
||||
platform_desc=Gitea corre em qualquer plataforma onde possa compilar em linguagem <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM, etc. Escolha a sua preferida!
|
||||
lightweight=Leve
|
||||
lightweight_desc=Gitea requer poucos recursos e pode correr num simples Raspberry Pi. Economize a energia da sua máquina!
|
||||
license=Código aberto
|
||||
@ -406,7 +405,6 @@ reset_password_mail_sent_prompt=Foi enviado um email de confirmação para <b>%s
|
||||
active_your_account=Ponha a sua conta em funcionamento
|
||||
account_activated=A conta foi posta em funcionamento
|
||||
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.
|
||||
@ -418,7 +416,6 @@ invalid_code=O seu código de confirmação é inválido ou expirou.
|
||||
invalid_code_forgot_password=O seu código de confirmação é inválido ou já expirou. Clique <a href="%s">aqui</a> para iniciar uma nova sessão.
|
||||
invalid_password=A sua senha não corresponde à senha que foi usada para criar a conta.
|
||||
reset_password_helper=Recuperar conta
|
||||
reset_password_wrong_user=Tem conta iniciada como %s, mas a ligação de recuperação de conta é para %s
|
||||
password_too_short=O tamanho da senha não pode ser inferior a %d caracteres.
|
||||
non_local_account=Os utilizadores não-locais não podem alterar a sua senha através da interface web do Gitea.
|
||||
verify=Validar
|
||||
@ -454,7 +451,6 @@ authorize_application_created_by=Esta aplicação foi criada por %s.
|
||||
authorize_application_description=Se conceder acesso, a aplicação terá privilégios para alterar toda a informação da conta, incluindo repositórios e organizações privados.
|
||||
authorize_title=Autorizar o acesso de "%s" à sua conta?
|
||||
authorization_failed=A autorização falhou
|
||||
authorization_failed_desc=A autorização falhou porque encontrámos um pedido inválido. Entre em contacto com o responsável pela aplicação que tentou autorizar.
|
||||
sspi_auth_failed=Falhou a autenticação SSPI
|
||||
password_pwned=A senha utilizada está numa <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">lista de senhas roubadas</a> anteriormente expostas em fugas de dados públicas. Tente novamente com uma senha diferente e considere também mudar esta senha nos outros sítios.
|
||||
password_pwned_err=Não foi possível completar o pedido ao HaveIBeenPwned
|
||||
@ -474,7 +470,6 @@ activate_account.text_1=Olá <b>%[1]s</b>, obrigado por se registar em %[2]s!
|
||||
activate_account.text_2=Clique, por favor, na ligação seguinte para activar a sua conta dentro de <b>%s</b>:
|
||||
|
||||
activate_email=Valide o seu endereço de email
|
||||
activate_email.title=%s, por favor valide o seu endereço de email
|
||||
activate_email.text=Por favor clique na seguinte ligação para validar o seu endereço de email dentro de <b>%s</b>:
|
||||
|
||||
register_notify=Bem-vindo(a) a %s
|
||||
@ -694,11 +689,9 @@ applications=Aplicações
|
||||
orgs=Gerir organizações
|
||||
repos=Repositórios
|
||||
delete=Eliminar a conta
|
||||
twofa=Autenticação em dois passos
|
||||
account_link=Contas vinculadas
|
||||
organization=Organizações
|
||||
uid=UID
|
||||
webauthn=Chaves de segurança
|
||||
|
||||
public_profile=Perfil público
|
||||
biography_placeholder=Conte-nos um pouco sobre si! (Pode usar Markdown)
|
||||
@ -716,7 +709,6 @@ update_language_success=O idioma foi modificado.
|
||||
update_profile_success=O seu perfil foi modificado.
|
||||
change_username=O seu nome de utilizador foi modificado.
|
||||
change_username_prompt=Note: Mudar o seu nome de utilizador também muda o URL da sua conta.
|
||||
change_username_redirect_prompt=O antigo nome de utilizador, enquanto não for reivindicado, irá reencaminhar para o novo.
|
||||
continue=Continuar
|
||||
cancel=Cancelar
|
||||
language=Idioma
|
||||
@ -796,7 +788,6 @@ add_email_success=O novo endereço de email foi adicionado.
|
||||
email_preference_set_success=As preferências relativas ao email foram definidas com sucesso.
|
||||
add_openid_success=O novo endereço OpenID foi adicionado.
|
||||
keep_email_private=Ocultar endereço de email
|
||||
keep_email_private_popup=Isto irá ocultar o seu endereço de email no seu perfil, assim como quando fizer um pedido de integração ou editar um ficheiro usando a interface web. Cometimentos enviados não serão modificados.
|
||||
openid_desc=O OpenID permite delegar a autenticação num fornecedor externo.
|
||||
|
||||
manage_ssh_keys=Gerir chaves SSH
|
||||
@ -911,8 +902,6 @@ remove_oauth2_application_desc=Remover uma aplicação OAuth2 irá revogar o ace
|
||||
remove_oauth2_application_success=A aplicação foi eliminada.
|
||||
create_oauth2_application=Criar uma nova aplicação OAuth2
|
||||
create_oauth2_application_button=Criar aplicação
|
||||
create_oauth2_application_success=Criou com sucesso uma nova aplicação OAuth2.
|
||||
update_oauth2_application_success=Modificou com sucesso a aplicação OAuth2.
|
||||
oauth2_application_name=Nome da aplicação
|
||||
oauth2_confidential_client=Cliente confidencial. Escolha esta opção para aplicações que mantêm o segredo confidencial, tais como aplicações web. Não escolha esta opção para aplicações nativas, incluindo aplicações para computador e aplicações móveis.
|
||||
oauth2_skip_secondary_authorization=Saltar a autorização para clientes públicos depois de lhes ceder acesso uma vez. <strong>Pode representar um risco de segurança.</strong>
|
||||
@ -925,8 +914,6 @@ oauth2_regenerate_secret_hint=Perdeu o seu segredo?
|
||||
oauth2_client_secret_hint=O segredo não voltará a ser mostrado depois de sair ou refrescar esta página. Certifique-se de que o guardou.
|
||||
oauth2_application_edit=Editar
|
||||
oauth2_application_create_description=As aplicações OAuth2 dão à sua aplicação de terceiros acesso a contas de utilizador nesta instância.
|
||||
oauth2_application_remove_description=A remoção de uma aplicação OAuth2 impedi-la-á de aceder a contas de utilizador autorizadas nesta instância. Quer continuar?
|
||||
oauth2_application_locked=O Gitea pré-regista algumas aplicações OAuth2 no arranque, se for habilitado na configuração. Para evitar comportamentos inesperados, estas não podem ser editadas nem removidas. Consulte a documentação sobre o OAuth2, para obter mais informações.
|
||||
|
||||
authorized_oauth2_applications=Aplicações OAuth2 autorizadas
|
||||
authorized_oauth2_applications_description=Concedeu acesso à sua conta pessoal do Gitea a estas aplicações de terceiros. Por favor, revogue o acesso às aplicações que já não precisa.
|
||||
@ -935,23 +922,18 @@ revoke_oauth2_grant=Revogar acesso
|
||||
revoke_oauth2_grant_description=Revogar o acesso desta aplicação de terceiros impedi-la-á de aceder aos seus dados. Tem a certeza?
|
||||
revoke_oauth2_grant_success=Acesso revogado com sucesso.
|
||||
|
||||
twofa_desc=Autenticação em dois passos melhora a segurança da sua conta.
|
||||
twofa_recovery_tip=Se perder o seu dispositivo, poderá usar uma chave de recuperação de utilização única para voltar a ter acesso à sua conta.
|
||||
twofa_is_enrolled=A autenticação em dois passos <strong>está neste momento habilitada</strong> na sua conta.
|
||||
twofa_not_enrolled=A autenticação em dois passos não está neste momento habilitada na sua conta.
|
||||
twofa_disable=Desabilitar autenticação em dois passos
|
||||
twofa_scratch_token_regenerate=Voltar a gerar o código de recuperação
|
||||
twofa_scratch_token_regenerated=O seu código de recuperação agora é %s. Guarde-o num lugar seguro, não será mostrado novamente.
|
||||
twofa_enroll=Habilitar autenticação em dois passos
|
||||
twofa_disable_note=Pode desabilitar a autenticação em dois passos, se for necessário.
|
||||
twofa_disable_desc=Desabilitar a autenticação em dois passos tornará a sua conta menos segura. Quer continuar?
|
||||
regenerate_scratch_token_desc=Se perdeu o seu código de recuperação ou já o usou para iniciar uma sessão, pode restaurá-lo aqui.
|
||||
twofa_disabled=A autenticação em dois passos foi desabilitada.
|
||||
scan_this_image=Digitalize esta imagem com a sua aplicação de autenticação:
|
||||
or_enter_secret=Ou insira o segredo: %s
|
||||
then_enter_passcode=E insira o código apresentado na aplicação:
|
||||
passcode_invalid=O código está errado. Tente de novo.
|
||||
twofa_enrolled=A sua conta usa autenticação em dois passos. Guarde o seu código de recuperação (%s) num lugar seguro porque é mostrado somente uma vez!
|
||||
twofa_failed_get_secret=Falhou a obtenção do segredo.
|
||||
|
||||
webauthn_desc=Chaves de segurança são dispositivos de hardware contendo chaves criptográficas. Podem ser usadas para autenticação em dois passos. As chaves de segurança têm de suportar o standard <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">Autenticador WebAuthn</a>.
|
||||
@ -992,12 +974,10 @@ visibility=Visibilidade do utilizador
|
||||
visibility.public=Pública
|
||||
visibility.public_tooltip=Visível para todos
|
||||
visibility.limited=Limitada
|
||||
visibility.limited_tooltip=Visível apenas para utilizadores autenticados
|
||||
visibility.private=Privada
|
||||
visibility.private_tooltip=Visível apenas para membros das organizações a que se associou
|
||||
|
||||
[repo]
|
||||
new_repo_helper=Um repositório contém todos os ficheiros do trabalho, incluindo o histórico das revisões. Já tem um hospedado noutro sítio? <a href="%s">Migre o repositório</a>.
|
||||
owner=Proprietário(a)
|
||||
owner_helper=Algumas organizações podem não aparecer na lista suspensa devido a um limite máximo de contagem de repositórios.
|
||||
repo_name=Nome do repositório
|
||||
@ -1009,7 +989,6 @@ template_helper=Fazer do repositório um modelo
|
||||
template_description=Repositórios modelo permitem que os utilizadores gerem novos repositórios com a mesma estrutura de pastas, ficheiros e configurações opcionais.
|
||||
visibility=Visibilidade
|
||||
visibility_description=Somente o proprietário ou os membros da organização, se tiverem direitos, poderão vê-lo.
|
||||
visibility_helper=Tornar o repositório privado
|
||||
visibility_helper_forced=O administrador obriga a que os repositórios novos sejam privados.
|
||||
visibility_fork_helper=(alterar este parâmetro irá alterar também todas as derivações)
|
||||
clone_helper=Precisa de ajuda para clonar? Visite a <a target="_blank" rel="noopener noreferrer" href="%s">Ajuda</a>.
|
||||
@ -1062,8 +1041,6 @@ mirror_sync=sincronizado
|
||||
mirror_sync_on_commit=Sincronizar quando forem enviados cometimentos
|
||||
mirror_address=Clonar a partir do URL
|
||||
mirror_address_desc=Coloque, na secção de autorização, as credenciais que, eventualmente, sejam necessárias.
|
||||
mirror_address_url_invalid=O URL fornecido é inválido. Tem que codificar adequadamente todos os componentes do URL.
|
||||
mirror_address_protocol_invalid=O URL fornecido é inválido. Só se pode replicar a partir de endereços http(s):// ou git://.
|
||||
mirror_lfs=Armazenamento de Ficheiros Grandes (LFS)
|
||||
mirror_lfs_desc=Habilitar a réplica de dados LFS.
|
||||
mirror_lfs_endpoint=Destino LFS
|
||||
@ -1099,9 +1076,7 @@ tree_path_not_found_branch=A localização %[1]s não existe no ramo %[2]s
|
||||
tree_path_not_found_tag=A localização %[1]s não existe na etiqueta %[2]s
|
||||
|
||||
transfer.accept=Aceitar transferência
|
||||
transfer.accept_desc=`Transferir para "%s"`
|
||||
transfer.reject=Rejeitar transferência
|
||||
transfer.reject_desc=`Cancelar transferência para "%s"`
|
||||
transfer.no_permission_to_accept=Você não tem permissão para aceitar esta transferência.
|
||||
transfer.no_permission_to_reject=Você não tem permissão para rejeitar esta transferência.
|
||||
|
||||
@ -1123,8 +1098,6 @@ template.issue_labels=Rótulos das questões
|
||||
template.one_item=Tem que escolher pelo menos um item do modelo
|
||||
template.invalid=Tem que escolher um repositório modelo
|
||||
|
||||
archive.title=Este repositório está arquivado. Pode ver os seus ficheiros e cloná-lo, mas não pode fazer envios para o repositório nem lançar questões ou fazer pedidos de integração.
|
||||
archive.title_date=Este repositório foi arquivado em %s. Pode ver os ficheiros e cloná-lo, mas não pode fazer envios ou abrir questões/pedidos de integração.
|
||||
archive.issue.nocomment=Este repositório está arquivado. Não pode comentar nas questões.
|
||||
archive.pull.nocomment=Este repositório está arquivado. Não pode comentar nos pedidos de integração.
|
||||
|
||||
@ -1236,7 +1209,6 @@ releases=Lançamentos
|
||||
tag=Etiqueta
|
||||
released_this=lançou isto
|
||||
tagged_this=etiquetou isto
|
||||
file.title=%s em %s
|
||||
file_raw=Em bruto
|
||||
file_history=Histórico
|
||||
file_view_source=Ver código-fonte
|
||||
@ -1253,7 +1225,6 @@ ambiguous_runes_header=`Este ficheiro contém caracteres Unicode ambíguos`
|
||||
ambiguous_runes_description=`Este ficheiro contém caracteres Unicode que podem ser confundidos com outros caracteres. Se acha que é intencional, pode ignorar este aviso com segurança. Use o botão Revelar para os mostrar.`
|
||||
invisible_runes_line=`Esta linha tem caracteres unicode invisíveis`
|
||||
ambiguous_runes_line=`Esta linha tem caracteres unicode ambíguos`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] pode confundir-se com %[2]c [U+%04[2]X]`
|
||||
|
||||
escape_control_characters=Revelar
|
||||
unescape_control_characters=Esconder
|
||||
@ -1414,7 +1385,6 @@ 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.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
|
||||
projects.open=Abrir
|
||||
projects.close=Fechar
|
||||
@ -1496,7 +1466,6 @@ issues.delete_branch_at=`eliminou o ramo <b>%s</b> %s`
|
||||
issues.filter_label=Rótulo
|
||||
issues.filter_label_exclude=`Use <code>alt</code> + <code>clique/enter</code> para excluir rótulos`
|
||||
issues.filter_label_no_select=Todos os rótulos
|
||||
issues.filter_label_select_no_label=Sem rótulo
|
||||
issues.filter_milestone=Etapa
|
||||
issues.filter_milestone_all=Todas as etapas
|
||||
issues.filter_milestone_none=Sem etapas
|
||||
@ -1661,7 +1630,6 @@ issues.tracking_already_started=`Você já iniciou a contagem de tempo <a href="
|
||||
issues.stop_tracking=Parar cronómetro
|
||||
issues.stop_tracking_history=`parou de trabalhar %s`
|
||||
issues.cancel_tracking=Descartar
|
||||
issues.cancel_tracking_history=`cancelou a contagem de tempo %s`
|
||||
issues.add_time=Adicionar tempo manualmente
|
||||
issues.del_time=Eliminar este registo de tempo
|
||||
issues.add_time_short=Adicionar tempo
|
||||
@ -1824,12 +1792,6 @@ pulls.is_empty=As modificações feitas neste ramo já existem no ramo de destin
|
||||
pulls.required_status_check_failed=Algumas das verificações obrigatórias não foram bem sucedidas.
|
||||
pulls.required_status_check_missing=Estão faltando algumas verificações necessárias.
|
||||
pulls.required_status_check_administrator=Uma vez que é administrador, ainda pode realizar a integração deste pedido.
|
||||
pulls.blocked_by_approvals=Este pedido de integração ainda não tem aprovações suficientes. Já foram concedidas %d de um total de %d aprovações.
|
||||
pulls.blocked_by_rejection=Este pedido de integração tem modificações solicitadas por um revisor oficial.
|
||||
pulls.blocked_by_official_review_requests=Este pedido de integração tem pedidos de revisão oficiais.
|
||||
pulls.blocked_by_outdated_branch=Este pedido de integração foi bloqueado por ser obsoleto.
|
||||
pulls.blocked_by_changed_protected_files_1=Este pedido de integração está bloqueado porque modifica um ficheiro protegido:
|
||||
pulls.blocked_by_changed_protected_files_n=Este pedido de integração está bloqueado porque modifica ficheiros protegidos:
|
||||
pulls.can_auto_merge_desc=A integração constante neste pedido pode ser executada automaticamente.
|
||||
pulls.cannot_auto_merge_desc=A integração constante neste pedido não pode ser executada automaticamente porque existem conflitos.
|
||||
pulls.cannot_auto_merge_helper=Faça a integração manualmente para resolver os conflitos.
|
||||
@ -1866,9 +1828,7 @@ pulls.unrelated_histories=A integração falhou: O topo da integração e a base
|
||||
pulls.merge_out_of_date=Falhou a integração: Enquanto estava a gerar a integração, a base foi modificada. Dica: Tente de novo.
|
||||
pulls.head_out_of_date=Falhou a integração: Enquanto estava a gerar a integração, o topo foi modificado. Dica: Tente de novo.
|
||||
pulls.has_merged=Falhou: A integração constante do pedido foi executada, não pode integrar novamente nem modificar o ramo alvo.
|
||||
pulls.push_rejected=A integração falhou: O envio foi rejeitado. Reveja os Automatismos do Git neste repositório.
|
||||
pulls.push_rejected_summary=Mensagem completa de rejeição
|
||||
pulls.push_rejected_no_message=A integração falhou: O envio foi rejeitado mas não houve qualquer mensagem remota.<br>Reveja os Automatismos do Git para este repositório
|
||||
pulls.open_unmerged_pull_exists=`Não pode executar uma operação de reabertura porque há um pedido de integração pendente (#%d) com propriedades idênticas.`
|
||||
pulls.status_checking=Algumas verificações estão pendentes
|
||||
pulls.status_checks_success=Todas as verificações foram bem sucedidas
|
||||
@ -1924,7 +1884,6 @@ milestones.no_due_date=Sem data de vencimento
|
||||
milestones.open=Abrir
|
||||
milestones.close=Fechar
|
||||
milestones.new_subheader=As etapas podem ajudar organizar as questões e a acompanhar o seu progresso.
|
||||
milestones.completeness=%d%% concluído
|
||||
milestones.create=Criar etapa
|
||||
milestones.title=Título
|
||||
milestones.desc=Descrição
|
||||
@ -1995,7 +1954,6 @@ 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
|
||||
@ -2147,7 +2105,6 @@ settings.pulls.default_delete_branch_after_merge=Eliminar, por norma, o ramo do
|
||||
settings.pulls.default_allow_edits_from_maintainers=Permitir, por norma, que os responsáveis editem
|
||||
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
|
||||
@ -2180,7 +2137,6 @@ 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.
|
||||
settings.transfer_desc=Transferir este repositório para um utilizador ou para uma organização na qual você tenha direitos de administrador.
|
||||
settings.transfer_form_title=Insira o nome do repositório para confirmar:
|
||||
settings.transfer_in_progress=Está a ser feita uma transferência. Cancele-a, por favor, se quiser transferir este repositório para outro utilizador.
|
||||
@ -2375,7 +2331,6 @@ settings.protected_branch.save_rule=Guardar regra
|
||||
settings.protected_branch.delete_rule=Eliminar regra
|
||||
settings.protected_branch_can_push=Permitir envios?
|
||||
settings.protected_branch_can_push_yes=Pode enviar
|
||||
settings.protected_branch_can_push_no=Não pode enviar
|
||||
settings.branch_protection=Regras de salvaguarda do ramo '<b>%s</b>'
|
||||
settings.protect_this_branch=Habilitar salvaguarda do ramo
|
||||
settings.protect_this_branch_desc=Impede a eliminação e restringe envios e integrações do Git no ramo.
|
||||
@ -2406,7 +2361,6 @@ settings.protect_merge_whitelist_teams=Equipas com permissão para executar inte
|
||||
settings.protect_check_status_contexts=Habilitar verificação de estado
|
||||
settings.protect_status_check_patterns=Padrões de verificação de estado:
|
||||
settings.protect_status_check_patterns_desc=Insira padrões para especificar que verificações de estado têm de passar antes que os ramos possam ser integrados num ramo correspondente a esta regra. Cada linha especifíca um padrão. Os padrões não podem estar em branco.
|
||||
settings.protect_check_status_contexts_desc=Exigir que as verificações de estado passem antes de ser aplicada a integração. Escolha quais as verificações de estado que têm de passar para que os ramos possam ser integrados num ramo que corresponda a esta regra. Quando habilitado, os cometimentos primeiro têm de ser enviados para outro ramo e depois integrados, ou então enviados imediatamente para um ramo que corresponda a esta regra, após terem passado as verificações de estado. Se não forem escolhidos quaisquer contextos, o último cometimento tem que ser bem sucedido, independentemente do contexto.
|
||||
settings.protect_check_status_contexts_list=Verificações de estado encontradas na última semana para este repositório
|
||||
settings.protect_status_check_matched=Correspondido
|
||||
settings.protect_invalid_status_check_pattern=Padrão de verificação de estado inválido: "%s".
|
||||
@ -2435,7 +2389,6 @@ settings.delete_protected_branch=Desabilitar salvaguarda
|
||||
settings.update_protect_branch_success=A salvaguarda do ramo "%s" foi modificada.
|
||||
settings.remove_protected_branch_success=A salvaguarda do ramo "%s" foi removida.
|
||||
settings.remove_protected_branch_failed=A remoção da regra "%s" de salvaguarda do ramo falhou.
|
||||
settings.protected_branch_deletion=Desabilitar salvaguarda do ramo
|
||||
settings.protected_branch_deletion_desc=Desabilitar a salvaguarda do ramo irá permitir que os utilizadores que tenham permissão de escrita enviem para o ramo. Quer continuar?
|
||||
settings.block_rejected_reviews=Bloquear a integração quando há revisões rejeitadas
|
||||
settings.block_rejected_reviews_desc=A integração não será possível quando as modificações forem pedidas pelos revisores oficiais, mesmo que haja aprovações suficientes.
|
||||
@ -2489,11 +2442,6 @@ settings.archive.error_ismirror=Não pode arquivar um repositório que tenha sid
|
||||
settings.archive.branchsettings_unavailable=As configurações dos ramos não estão disponíveis quando o repositório está arquivado.
|
||||
settings.archive.tagsettings_unavailable=As configurações sobre etiquetas não estão disponíveis quando o repositório está arquivado.
|
||||
settings.archive.mirrors_unavailable=As réplicas não estão disponíveis se o repositório estiver arquivado.
|
||||
settings.unarchive.button=Desarquivar repositório
|
||||
settings.unarchive.header=Desarquivar este repositório
|
||||
settings.unarchive.text=Desarquivar o repositório irá restaurar a capacidade de receber cometimentos e envios, assim como novas questões e pedidos de integração.
|
||||
settings.unarchive.success=O repositório foi desarquivado com sucesso.
|
||||
settings.unarchive.error=Ocorreu um erro enquanto decorria o processo de desarquivar o repositório. Veja os registos para obter mais detalhes.
|
||||
settings.update_avatar_success=O avatar do repositório foi modificado.
|
||||
settings.lfs=LFS
|
||||
settings.lfs_filelist=Ficheiros LFS armazenados neste repositório
|
||||
@ -2555,7 +2503,6 @@ diff.file_image_height=Altura
|
||||
diff.file_byte_size=Tamanho
|
||||
diff.file_suppressed=A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
|
||||
diff.file_suppressed_line_too_long=A apresentação das diferenças entre ficheiros foi suprimida porque há linhas demasiado longas
|
||||
diff.too_many_files=Alguns ficheiros não foram mostrados porque foram modificados demasiados ficheiros neste diff
|
||||
diff.show_more=Mostrar mais
|
||||
diff.load=Carregar diff
|
||||
diff.generated=gerado
|
||||
@ -2676,7 +2623,6 @@ tag.create_success=A etiqueta "%s" foi criada.
|
||||
|
||||
topic.manage_topics=Gerir tópicos
|
||||
topic.done=Concluído
|
||||
topic.count_prompt=Não pode escolher mais do que 25 tópicos
|
||||
topic.format_prompt=Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') ou pontos ('.') e podem ter até 35 caracteres. As letras têm que ser minúsculas.
|
||||
|
||||
find_file.go_to_file=Ir para o ficheiro
|
||||
@ -2816,7 +2762,6 @@ teams.all_repositories_helper=A equipa tem acesso a todos os repositórios. Esco
|
||||
teams.all_repositories_read_permission_desc=Esta equipa atribui o acesso de <strong>leitura</strong> a <strong>todos os repositórios</strong>: os seus membros podem ver e clonar os repositórios.
|
||||
teams.all_repositories_write_permission_desc=Esta equipa atribui o acesso de <strong>escrita</strong> a <strong>todos os repositórios</strong>: os seus membros podem ler de, e enviar para os repositórios.
|
||||
teams.all_repositories_admin_permission_desc=Esta equipa atribui o acesso de <strong>administração</strong> a <strong>todos os repositórios</strong>: os seus membros podem ler de, enviar para, e adicionar colaboradores aos repositórios.
|
||||
teams.invite.title=Foi-lhe feito um convite para se juntar à equipa <strong>%s</strong> na organização<strong>%s</strong>.
|
||||
teams.invite.by=Convidado(a) por %s
|
||||
teams.invite.description=Clique no botão abaixo para se juntar à equipa.
|
||||
|
||||
@ -2854,7 +2799,6 @@ dashboard.clean_unbind_oauth=Limpar conexões OAuth não vinculadas
|
||||
dashboard.clean_unbind_oauth_success=Todas as conexões OAuth não vinculadas foram eliminadas.
|
||||
dashboard.task.started=Tarefa iniciada: %[1]s
|
||||
dashboard.task.process=Tarefa: %[1]s
|
||||
dashboard.task.cancelled=Tarefa: %[1]s cancelada: %[3]s
|
||||
dashboard.task.error=Erro na tarefa: %[1]s: %[3]s
|
||||
dashboard.task.finished=Tarefa: %[1]s iniciada por %[2]s foi concluída
|
||||
dashboard.task.unknown=Tarefa desconhecida: %[1]s
|
||||
@ -2998,7 +2942,6 @@ emails.updated=Email modificado
|
||||
emails.not_updated=Falhou a modificação do endereço de email solicitado: %v
|
||||
emails.duplicate_active=Este endereço de email já está a ser usado por outro utilizador.
|
||||
emails.change_email_header=Modificar propriedades do email
|
||||
emails.change_email_text=Tem a certeza que quer modificar este endereço de email?
|
||||
emails.delete=Eliminar email
|
||||
emails.delete_desc=Tem a certeza que quer eliminar este endereço de email?
|
||||
emails.deletion_success=O endereço de email foi eliminado.
|
||||
@ -3312,7 +3255,6 @@ monitor.next=Próxima execução
|
||||
monitor.previous=Execução anterior
|
||||
monitor.execute_times=Execuções
|
||||
monitor.process=Processos em execução
|
||||
monitor.stacktrace=Vestígios da pilha
|
||||
monitor.processes_count=%d processos
|
||||
monitor.download_diagnosis_report=Descarregar relatório de diagnóstico
|
||||
monitor.desc=Descrição
|
||||
@ -3320,8 +3262,6 @@ monitor.start=Início
|
||||
monitor.execute_time=Tempo de execução
|
||||
monitor.last_execution_result=Resultado
|
||||
monitor.process.cancel=Cancelar processo
|
||||
monitor.process.cancel_desc=Cancelar um processo pode resultar na perda de dados
|
||||
monitor.process.cancel_notices=Cancelar: <strong>%s</strong>?
|
||||
monitor.process.children=Descendentes
|
||||
|
||||
monitor.queues=Filas
|
||||
@ -3423,7 +3363,6 @@ raw_minutes=minutos
|
||||
|
||||
[dropzone]
|
||||
default_message=Largue os ficheiros aqui ou clique aqui para os carregar.
|
||||
invalid_input_type=Não pode carregar ficheiros deste tipo.
|
||||
file_too_big=O tamanho do ficheiro ({{filesize}} MB) excede o tamanho máximo de ({{maxFilesize}} MB).
|
||||
remove_file=Remover ficheiro
|
||||
|
||||
@ -3571,7 +3510,6 @@ settings.link=Vincular este pacote a um repositório
|
||||
settings.link.description=Se você vincular um pacote a um repositório, o pacote será listado na lista de pacotes do repositório.
|
||||
settings.link.select=Escolha o repositório
|
||||
settings.link.button=Modificar vínculo ao repositório
|
||||
settings.link.success=O vínculo ao repositório foi modificado com sucesso.
|
||||
settings.link.error=Falhou a modificação do vínculo ao repositório.
|
||||
settings.delete=Eliminar pacote
|
||||
settings.delete.description=Eliminar o pacote é permanente e não pode ser desfeito.
|
||||
|
@ -193,7 +193,6 @@ app_desc=Удобный сервис собственного хостинга
|
||||
install=Простой в установке
|
||||
install_desc=Просто <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-binary">запустите исполняемый файл</a> для вашей платформы, разверните через <a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea/tree/master/docker">Docker</a>, или установите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-package">с помощью менеджера пакетов</a>.
|
||||
platform=Кроссплатформенный
|
||||
platform_desc=Gitea работает на любой платформе, поддерживаемой <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM и т. д. Выбирайте, что вам больше нравится!
|
||||
lightweight=Легковесный
|
||||
lightweight_desc=Gitea имеет низкие системные требования и может работать на недорогом Raspberry Pi. Экономьте энергию вашей машины!
|
||||
license=Открытый исходный код
|
||||
@ -617,11 +616,9 @@ applications=Приложения
|
||||
orgs=Управление организациями
|
||||
repos=Репозитории
|
||||
delete=Удалить аккаунт
|
||||
twofa=Двухфакторная аутентификация
|
||||
account_link=Привязанные аккаунты
|
||||
organization=Организации
|
||||
uid=UID
|
||||
webauthn=Ключи безопасности
|
||||
|
||||
public_profile=Открытый профиль
|
||||
biography_placeholder=Расскажите немного о себе! (Можно использовать Markdown)
|
||||
@ -850,22 +847,18 @@ revoke_oauth2_grant=Отозвать доступ
|
||||
revoke_oauth2_grant_description=Отзыв доступа у этого стороннего приложения не позволит ему получать доступ к вашим данным. Вы уверены?
|
||||
revoke_oauth2_grant_success=Доступ был успешно отозван.
|
||||
|
||||
twofa_desc=Двухфакторная аутентификация повышает уровень безопасности вашей учётной записи.
|
||||
twofa_recovery_tip=В случае утраты устройства можно использовать одноразовый ключ восстановления для получения доступа к учётной записи.
|
||||
twofa_is_enrolled=Ваша учётная запись в настоящее время <strong>использует</strong> двухфакторную аутентификацию.
|
||||
twofa_not_enrolled=Ваша учётная запись в настоящее время не использует двухфакторную аутентификацию.
|
||||
twofa_disable=Отключить двухфакторную аутентификацию
|
||||
twofa_scratch_token_regenerate=Пересоздать scratch-токен
|
||||
twofa_enroll=Включить двухфакторную аутентификацию
|
||||
twofa_disable_note=При необходимости можно отключить двухфакторную аутентификацию.
|
||||
twofa_disable_desc=Отключение двухфакторной аутентификации сделает ваш аккаунт менее безопасным. Продолжить?
|
||||
regenerate_scratch_token_desc=Если вы потеряли свой scratch-токен или уже использовали его для входа, вы можете сбросить его здесь.
|
||||
twofa_disabled=Двухфакторная аутентификация выключена.
|
||||
scan_this_image=Отсканируйте это изображение вашим приложением для двухфакторной аутентификации:
|
||||
or_enter_secret=Или введите кодовое слово: %s
|
||||
then_enter_passcode=И введите пароль, показанный в приложении:
|
||||
passcode_invalid=Неверный пароль. попробуйте снова.
|
||||
twofa_enrolled=Для вашего аккаунта была включена двухфакторная аутентификация. Сохраните ваш scratch-токен (%s), он будет показан только один раз!
|
||||
twofa_failed_get_secret=Не удалось получить ключ.
|
||||
|
||||
webauthn_desc=Ключи безопасности - это аппаратные устройства, содержащие криптографические ключи. Они могут использоваться для двухфакторной аутентификации. Ключи безопасности должны поддерживать стандарт <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a>.
|
||||
@ -998,9 +991,7 @@ tree_path_not_found_commit=Путь %[1]s не существует в комм
|
||||
tree_path_not_found_branch=Путь %[1]s не существует в ветке %[2]s
|
||||
|
||||
transfer.accept=Принять трансфер
|
||||
transfer.accept_desc=Переместить в «%s»
|
||||
transfer.reject=Отказаться от перемещения
|
||||
transfer.reject_desc=Отменить перемещение в «%s»
|
||||
|
||||
desc.private=Приватный
|
||||
desc.public=Публичный
|
||||
@ -1128,7 +1119,6 @@ releases=Релизы
|
||||
tag=Тег
|
||||
released_this=выпустил(-а) это
|
||||
tagged_this=добавил(а) тег
|
||||
file.title=%s в %s
|
||||
file_raw=Исходник
|
||||
file_history=История
|
||||
file_view_source=Просмотреть исходный код
|
||||
@ -1140,7 +1130,6 @@ invisible_runes_header=`Этот файл содержит невидимые с
|
||||
ambiguous_runes_header=`Этот файл содержит неоднозначные символы Юникода`
|
||||
invisible_runes_line=`В этой строке есть невидимые символы Юникода`
|
||||
ambiguous_runes_line=`В этой строке есть неоднозначные символы Юникода`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] можно спутать с %[2]c [U+%04[2]X]`
|
||||
|
||||
escape_control_characters=Экранировать
|
||||
unescape_control_characters=Убрать экранирование
|
||||
@ -1721,9 +1710,7 @@ pulls.rebase_conflict_summary=Сообщение об ошибке
|
||||
pulls.unrelated_histories=Слияние не удалось: У источника и цели слияния нет общей истории. Совет: попробуйте другую стратегию
|
||||
pulls.merge_out_of_date=Ошибка слияния: при создании слияния база данных была обновлена. Подсказка: попробуйте ещё раз.
|
||||
pulls.head_out_of_date=Ошибка слияния: во время слияния головной коммит был обновлён. Попробуйте ещё раз.
|
||||
pulls.push_rejected=Слияние не удалось: отправка была отклонена. Проверьте Git-хуки для этого репозитория.
|
||||
pulls.push_rejected_summary=Полная ошибка отклонения
|
||||
pulls.push_rejected_no_message=Слияние не удалось: отправка была отклонена, но сервер не указал причину.<br>Проверьте Git-хуки для этого репозитория
|
||||
pulls.open_unmerged_pull_exists=`Вы не можете снова открыть, поскольку уже существует запрос на слияние (#%d) из того же репозитория с той же информацией о слиянии и ожидающий слияния.`
|
||||
pulls.status_checking=Выполняются некоторые проверки
|
||||
pulls.status_checks_success=Все проверки выполнены успешно
|
||||
@ -1773,7 +1760,6 @@ milestones.update_ago=Обновлено %s
|
||||
milestones.no_due_date=Срок не указан
|
||||
milestones.open=Открыть
|
||||
milestones.close=Закрыть
|
||||
milestones.completeness=%d%% выполнено
|
||||
milestones.create=Создать этап
|
||||
milestones.title=Заголовок
|
||||
milestones.desc=Описание
|
||||
@ -1980,7 +1966,6 @@ settings.pulls.default_delete_branch_after_merge=Удалить ветку за
|
||||
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=Настройки администратора
|
||||
@ -2193,14 +2178,11 @@ settings.add_key_success=Ключ развёртывания «%s» добавл
|
||||
settings.deploy_key_deletion=Удалить ключ развёртывания
|
||||
settings.deploy_key_deletion_desc=Удаление ключа развёртывания сделает невозможным доступ к репозиторию с его помощью. Вы уверены?
|
||||
settings.deploy_key_deletion_success=Ключ развёртывания удалён.
|
||||
settings.branches=Ветки
|
||||
settings.protected_branch=Защита веток
|
||||
settings.protected_branch.save_rule=Сохранить правило
|
||||
settings.protected_branch.delete_rule=Удалить правило
|
||||
settings.protected_branch_can_push=Разрешить отправку?
|
||||
settings.protected_branch_can_push_yes=Вы можете выполнять отправку
|
||||
settings.protected_branch_can_push_no=Вы не можете выполнять отправку
|
||||
settings.branch_protection=Защита ветки <b>%s</b>
|
||||
settings.protect_this_branch=Защитить эту ветку
|
||||
settings.protect_this_branch_desc=Предотвращает удаление, ограничивает Push и слияние Git в ветку.
|
||||
settings.protect_disable_push=Отключить отправку
|
||||
@ -2212,7 +2194,6 @@ settings.protect_enable_merge_desc=Все, у кого есть доступ н
|
||||
settings.protect_check_status_contexts=Включить проверку статуса
|
||||
settings.protect_status_check_patterns=Шаблоны проверки состояния:
|
||||
settings.protect_status_check_patterns_desc=Добавьте шаблоны, чтобы указать, какие проверки состояния должны быть пройдены, прежде чем ветви могут быть объединены в ветвь, соответствующую этому правилу. В каждой строке указывается шаблон. Шаблоны не могут быть пустыми.
|
||||
settings.protect_check_status_contexts_desc=Требуется пройти проверку состояния перед слиянием. Выберите, какие проверки состояния должны быть пройдены, прежде чем ветви можно будет объединить в ветвь, соответствующую этому правилу. Если этот параметр включен, коммиты сначала должны быть перемещены в другую ветвь, а затем объединены или перемещены непосредственно в ветвь, соответствующую этому правилу, после прохождения проверки состояния. Если контексты не выбраны, то последняя фиксация должна быть успешной независимо от контекста.
|
||||
settings.protect_check_status_contexts_list=Проверки состояния за последнюю неделю для этого репозитория
|
||||
settings.protect_status_check_matched=Совпало
|
||||
settings.protect_invalid_status_check_pattern=Неверный шаблон проверки состояния: «%s».
|
||||
@ -2230,12 +2211,9 @@ settings.protect_protected_file_patterns=Шаблоны защищённых ф
|
||||
settings.protect_protected_file_patterns_desc=Защищенные файлы нельзя изменить напрямую, даже если пользователь имеет право добавлять, редактировать или удалять файлы в этой ветке. Можно указать несколько шаблонов, разделяя их точкой с запятой (';'). О синтаксисе шаблонов читайте в документации <a href='https://godoc.org/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a>. Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.protect_unprotected_file_patterns=Шаблоны незащищённых файлов (разделённые точкой с запятой ';'):
|
||||
settings.protect_unprotected_file_patterns_desc=Незащищенные файлы, которые допускается изменять напрямую, если пользователь имеет право на запись, несмотря на ограничение отправки изменений. Можно указать несколько шаблонов, разделяя их точкой с запятой (';'). О синтаксисе шаблонов читайте в документации <a href='https://godoc.org/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a>. Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.add_protected_branch=Включить защиту
|
||||
settings.delete_protected_branch=Отключить защиту
|
||||
settings.update_protect_branch_success=Защита веток по правилу «%s» изменена.
|
||||
settings.remove_protected_branch_success=Защита веток по правилу «%s» удалена.
|
||||
settings.remove_protected_branch_failed=Не удалось удалить правило защиты веток «%s».
|
||||
settings.protected_branch_deletion=Отключение защиты ветки
|
||||
settings.protected_branch_deletion_desc=Любой пользователь с разрешениями на запись сможет выполнять push в эту ветку. Вы уверены?
|
||||
settings.block_rejected_reviews=Блокировка слияния по отклоненным отзывам
|
||||
settings.block_rejected_reviews_desc=Слияние будет невозможно, если официальными рецензентами будут запрошены изменения, даже если имеется достаточное количество одобрений.
|
||||
@ -2245,7 +2223,6 @@ settings.block_outdated_branch=Блокировать слияние, если
|
||||
settings.block_outdated_branch_desc=Слияние будет невозможно, если головная ветвь находится позади базовой ветви.
|
||||
settings.default_branch_desc=Главная ветка является "базовой" для вашего репозитория, на которую по умолчанию направлены все запросы на слияние и которая является лицом вашего репозитория. Первое, что увидит посетитель — это содержимое главной ветки. Выберите её из уже существующих:
|
||||
settings.merge_style_desc=Стили слияния
|
||||
settings.default_merge_style_desc=Стиль слияния по умолчанию:
|
||||
settings.choose_branch=Выберите ветку…
|
||||
settings.no_protected_branch=Нет защищённых веток.
|
||||
settings.edit_protected_branch=Редактировать
|
||||
@ -3049,7 +3026,6 @@ monitor.next=Следующий раз
|
||||
monitor.previous=Предыдущий раз
|
||||
monitor.execute_times=Количество выполнений
|
||||
monitor.process=Запущенные процессы
|
||||
monitor.stacktrace=Трассировки стека
|
||||
monitor.processes_count=%d процессов
|
||||
monitor.download_diagnosis_report=Скачать диагностический отчёт
|
||||
monitor.desc=Описание
|
||||
@ -3057,8 +3033,6 @@ monitor.start=Время начала
|
||||
monitor.execute_time=Время выполнения
|
||||
monitor.last_execution_result=Результат
|
||||
monitor.process.cancel=Отменить процесс
|
||||
monitor.process.cancel_desc=Отмена процесса может привести к потере данных
|
||||
monitor.process.cancel_notices=Отменить: <strong>%s</strong>?
|
||||
monitor.process.children=Потомки
|
||||
|
||||
monitor.queues=Очереди
|
||||
@ -3150,8 +3124,6 @@ raw_minutes=минут
|
||||
|
||||
[dropzone]
|
||||
default_message=Перетащите файл или кликните сюда для загрузки.
|
||||
invalid_input_type=Вы не можете загружать файлы этого типа.
|
||||
file_too_big=Размер файла ({{filesize}} МБ) больше чем максимальный размер ({{maxFilesize}} МБ).
|
||||
remove_file=Удалить файл
|
||||
|
||||
[notification]
|
||||
@ -3219,7 +3191,6 @@ alpine.registry.key=Загрузите публичный ключ RSA реес
|
||||
alpine.registry.info=Выберите $branch и $repository из списка ниже.
|
||||
alpine.install=Чтобы установить пакет, выполните следующую команду:
|
||||
alpine.repository=О репозитории
|
||||
alpine.repository.branches=Ветки
|
||||
alpine.repository.repositories=Репозитории
|
||||
alpine.repository.architectures=Архитектуры
|
||||
cargo.registry=Настройте этот реестр в файле конфигурации Cargo (например, <code>~/.cargo/config.toml</code>):
|
||||
|
@ -124,7 +124,6 @@ missing_csrf=නරක ඉල්ලීම: CSRF ටෝකන් නොමැත
|
||||
app_desc=වේදනාකාරී, ස්වයං-සත්කාරක Git සේවාවක්
|
||||
install=ස්ථාපනයට පහසුය
|
||||
platform=හරස් වේදිකාව
|
||||
platform_desc=Gitea ඕනෑම තැනක ධාවනය <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> සඳහා සම්පාදනය කළ හැකිය: වින්ඩෝස්, මැකෝස්, ලිනක්ස්, ARM, ආදිය ඔබ ආදරය කරන එකක් තෝරන්න!
|
||||
lightweight=සැහැල්ලු
|
||||
lightweight_desc=Gitea අඩු අවම අවශ්යතා ඇති අතර මිල අඩු Raspberry Pi මත ධාවනය කළ හැකිය. ඔබේ යන්ත්ර ශක්තිය සුරකින්න!
|
||||
license=විවෘත මූලාශ්ර
|
||||
@ -478,7 +477,6 @@ applications=යෙදුම්
|
||||
orgs=සංවිධාන කළමනාකරණය
|
||||
repos=කෝෂ්ඨ
|
||||
delete=ගිණුම මකන්න
|
||||
twofa=ද්වි-සාධක සත්යාපනය
|
||||
account_link=සම්බන්ධිත ගිණුම්
|
||||
organization=සංවිධාන
|
||||
|
||||
@ -649,21 +647,17 @@ revoke_key=අවලංගු
|
||||
revoke_oauth2_grant=ප්රවේශ අවලංගු
|
||||
revoke_oauth2_grant_description=මෙම තෙවන පාර්ශවීය යෙදුම සඳහා ප්රවේශය අවලංගු කිරීමෙන් මෙම යෙදුම ඔබගේ දත්ත වෙත ප්රවේශ වීම වළක්වනු ඇත. ඔබට විශ්වාසද?
|
||||
|
||||
twofa_desc=ද්වි-සාධක සත්යාපනය ඔබගේ ගිණුමේ ආරක්ෂාව වැඩි කරයි.
|
||||
twofa_is_enrolled=ඔබගේ ගිණුම දැනට <strong>සාධක දෙකක සත්යාපනය තුළ</strong> ලියාපදිංචි කර ඇත.
|
||||
twofa_not_enrolled=ඔබගේ ගිණුම දැනට සාධක දෙකක සත්යාපනය තුළ ලියාපදිංචි වී නොමැත.
|
||||
twofa_disable=ද්වි-සාධක සත්යාපනය අක්රීය කරන්න
|
||||
twofa_scratch_token_regenerate=ළමය ටෝකනය ප්රතිජනනය
|
||||
twofa_enroll=ද්වි-සාධක සත්යාපන බවට ඇතුල්
|
||||
twofa_disable_note=අවශ්ය නම් ඔබට ද්වි-සාධක සත්යාපනය අක්රිය කළ හැකිය.
|
||||
twofa_disable_desc=ද්වි-සාධක සත්යාපනය අක්රීය කිරීමෙන් ඔබගේ ගිණුම අඩු ආරක්ෂිත වනු ඇත. දිගටම?
|
||||
regenerate_scratch_token_desc=ඔබ ඔබේ සීරීම් ටෝකනය අස්ථානගත කර ඇත්නම් හෝ දැනටමත් ලියාපදිංචි වීමට එය භාවිතා කර ඇත්නම් ඔබට එය මෙහි නැවත සකස් කළ හැකිය.
|
||||
twofa_disabled=ද්වි-සාධක සත්යාපනය අක්රීය කර ඇත.
|
||||
scan_this_image=ඔබගේ සත්යාපන යෙදුම සමඟ මෙම රූපය පරිලෝකනය කරන්න:
|
||||
or_enter_secret=නැතහොත් රහස ඇතුල් කරන්න: %s
|
||||
then_enter_passcode=යෙදුමේ දැක්වෙන මුරකේතය ඇතුළත් කරන්න:
|
||||
passcode_invalid=මුරකේතය වැරදිය. නැවත උත්සාහ කරන්න.
|
||||
twofa_enrolled=ඔබගේ ගිණුම සාධක දෙකක සත්යාපනය බවට පත් කර ඇත. එක් වරක් පමණක් පෙන්වන පරිදි ඔබේ සීරීම් ටෝකනය (%s) ආරක්ෂිත ස්ථානයක ගබඩා කරන්න!
|
||||
twofa_failed_get_secret=රහස්ය වීමට අසමත් විය.
|
||||
|
||||
|
||||
@ -773,7 +767,6 @@ blame_prior=මෙම වෙනසට පෙර දොස් බලන්න
|
||||
|
||||
|
||||
transfer.accept=මාරු කිරීම පිළිගන්න
|
||||
transfer.accept_desc=`"%s" වෙත මාරු කරන්න`
|
||||
|
||||
desc.private=පෞද්ගලික
|
||||
desc.public=ප්රසිද්ධ
|
||||
@ -871,7 +864,6 @@ release=නිකුතුව
|
||||
releases=නිකුතු
|
||||
tag=ටැග
|
||||
released_this=මෙය නිකුත් කරන ලදි
|
||||
file.title=%s දී %s
|
||||
file_raw=අමු
|
||||
file_history=ඉතිහාසය
|
||||
file_view_source=මූලාශ්රය දකින්න
|
||||
@ -1338,7 +1330,6 @@ milestones.closed=%s වසා ඇත
|
||||
milestones.no_due_date=නියමිත දිනයක් නැත
|
||||
milestones.open=විවෘත
|
||||
milestones.close=වසන්න
|
||||
milestones.completeness=%d% සම්පූර්ණ කරන ලදි
|
||||
milestones.create=සන්ධිස්ථානයක් සාදන්න
|
||||
milestones.title=සිරැසිය
|
||||
milestones.desc=සවිස්තරය
|
||||
@ -1501,7 +1492,6 @@ settings.pulls_desc=ගබඩාවක් අදින්න ඉල්ලීම
|
||||
settings.pulls.ignore_whitespace=ගැටුම් සඳහා වයිට්ස්පේස් නොසලකා හරින්න
|
||||
settings.pulls.enable_autodetect_manual_merge=ස්වයංක්රීය හඳුනාගැනීමේ අත්පොත ඒකාබද්ධ කිරීම සක්රීය කරන්න (සටහන: සමහර විශේෂ අවස්ථා වලදී වැරදි විනිශ්චයන් සිදුවිය හැක)
|
||||
settings.pulls.default_delete_branch_after_merge=පෙරනිමියෙන් ඒකාබද්ධ කිරීමෙන් පසු අදින්න ඉල්ලීම ශාඛාව මකන්න
|
||||
settings.projects_desc=ගබඩාවන ව්යාපෘති සක්රීය කරන්න
|
||||
settings.admin_settings=පරිපාලක සැකසුම්
|
||||
settings.admin_enable_health_check=ගබඩාවක් සෞඛ්ය චෙක්පත් සක්රීය කරන්න (git fsck)
|
||||
settings.admin_enable_close_issues_via_commit_in_any_branch=පෙරනිමි නොවන ශාඛාවකින් සිදු කරන ලද කැපවීමක් හරහා ගැටළුවක් වසන්න
|
||||
@ -1676,8 +1666,6 @@ settings.branches=ශාඛා
|
||||
settings.protected_branch=ශාඛා ආරක්ෂාව
|
||||
settings.protected_branch_can_push=තල්ලුව ඉඩ?
|
||||
settings.protected_branch_can_push_yes=ඔබට තල්ලු කළ හැකිය
|
||||
settings.protected_branch_can_push_no=ඔබට තල්ලු කළ නොහැක
|
||||
settings.branch_protection=ශාඛාව සඳහා ශාඛා ආරක්ෂාව -<b>%s</b>
|
||||
settings.protect_this_branch=ශාඛා ආරක්ෂාව සක්රීය කරන්න
|
||||
settings.protect_this_branch_desc=මකාදැමීම වැළැක්වීම සහ ශාඛා වෙත තල්ලු කිරීම සහ ඒකාබද්ධ කිරීම සීමා කරයි.
|
||||
settings.protect_disable_push=තල්ලුව අක්රීය
|
||||
@ -1685,7 +1673,6 @@ settings.protect_disable_push_desc=මෙම ශාඛාවට තල්ලු
|
||||
settings.protect_enable_push=තල්ලුව සක්රීය කරන්න
|
||||
settings.protect_enable_push_desc=ලිවීමේ ප්රවේශය ඇති ඕනෑම කෙනෙකුට මෙම ශාඛාවට තල්ලු කිරීමට ඉඩ දෙනු ඇත (නමුත් බල තල්ලුව නොවේ).
|
||||
settings.protect_check_status_contexts=තත්වය පරීක්ෂාව සබල කරන්න
|
||||
settings.protect_check_status_contexts_desc=ඒකාබද්ධ කිරීමට පෙර සම්මත කිරීම සඳහා තත්ව චෙක්පත් අවශ්ය වේ. මෙම රීතියට ගැලපෙන ශාඛාවකට ශාඛා ඒකාබද්ධ කිරීමට පෙර කුමන තත්ත්ව චෙක්පත් සමත් විය යුතුද යන්න තෝරන්න. සක්රීය කරන විට, සංක්රමණ පළමුව වෙනත් ශාඛාවකට තල්ලු කළ යුතුය, පසුව තත්ව පරීක්ෂාවන් සම්මත වූ පසු මෙම රීතියට ගැලපෙන ශාඛාවකට කෙලින්ම තල්ලු කළ යුතුය. සන්දර්භයන් තෝරා නොගන්නේ නම්, සන්දර්භය නොසලකා අවසාන කැප කිරීම සාර්ථක විය යුතුය.
|
||||
settings.protect_check_status_contexts_list=මෙම ගබඩාව සඳහා පසුගිය සතියේ හමු වූ තත්ව පරීක්ෂාවන්
|
||||
settings.protect_required_approvals=අවශ්ය අනුමැතිය:
|
||||
settings.protect_required_approvals_desc=ප්රමාණවත් ධනාත්මක සමාලෝචන සමඟ අදින්න ඉල්ලීම ඒකාබද්ධ කිරීමට පමණක් ඉඩ දෙන්න.
|
||||
@ -1695,7 +1682,6 @@ settings.require_signed_commits=අත්සන් කළ යුතු
|
||||
settings.require_signed_commits_desc=අත්සන් නොකළ හෝ සත්යාපනය කළ නොහැකි නම් මෙම ශාඛාවට තල්ලු කිරීම ප්රතික්ෂේප කරන්න.
|
||||
settings.add_protected_branch=ආරක්ෂාව සක්රීය කරන්න
|
||||
settings.delete_protected_branch=ආරක්ෂාව අක්රීය කරන්න
|
||||
settings.protected_branch_deletion=ශාඛා ආරක්ෂණය අක්රීය කරන්න
|
||||
settings.protected_branch_deletion_desc=ශාඛා ආරක්ෂාව අක්රිය කිරීමෙන් පරිශීලකයින්ට ශාඛාවට තල්ලු කිරීමට ලිඛිත අවසරයක් ඇත. දිගටම?
|
||||
settings.block_rejected_reviews=ප්රතික්ෂේප කරන ලද සමාලෝචන මත ඒකාබද්ධ කිරීම
|
||||
settings.block_rejected_reviews_desc=නිල විචාරකයින් විසින් වෙනස්කම් ඉල්ලා සිටින විට, ප්රමාණවත් අනුමැතීන් තිබුණත් ඒකාබද්ධ කිරීම කළ නොහැකි වනු ඇත.
|
||||
@ -1704,7 +1690,6 @@ settings.block_on_official_review_requests_desc=නිල සමාලෝචන
|
||||
settings.block_outdated_branch=අදින්න ඉල්ලීම යල් පැන ගිය නම් වාරණ ඒකාබද්ධ
|
||||
settings.block_outdated_branch_desc=ප්රධාන ශාඛාව මූලික ශාඛාව පිටුපස ඇති විට ඒකාබද්ධ කිරීම කළ නොහැකි වනු ඇත.
|
||||
settings.default_branch_desc=අදින්න ඉල්ලීම් සහ කේත විවරණය සඳහා පෙරනිමි ගබඩාවේ ශාඛාවක් තෝරන්න:
|
||||
settings.default_merge_style_desc=අදින්න ඉල්ලීම් සඳහා පෙරනිමි ඒකාබද්ධ ශෛලිය:
|
||||
settings.choose_branch=ශාඛාවක් තෝරන්න…
|
||||
settings.no_protected_branch=ආරක්ෂිත ශාඛා නොමැත.
|
||||
settings.edit_protected_branch=සංස්කරණය
|
||||
@ -1870,7 +1855,6 @@ tag.create_tag=ටැගය නිර්මාණය <strong>%s</strong>
|
||||
|
||||
topic.manage_topics=මාතෘකා කළමනාකරණය
|
||||
topic.done=සිදු
|
||||
topic.count_prompt=ඔබට 25 මාතෘකා වලට වඩා තෝරා ගත නොහැක
|
||||
|
||||
|
||||
error.csv.too_large=එය ඉතා විශාල නිසා මෙම ගොනුව විදැහුම්කරණය කළ නොහැක.
|
||||
@ -2387,8 +2371,6 @@ monitor.desc=සවිස්තරය
|
||||
monitor.start=ආරම්භක වේලාව
|
||||
monitor.execute_time=ක්රියාත්මක කිරීමේ වේලාව
|
||||
monitor.process.cancel=ක්රියාවලිය අවලංගු කරන්න
|
||||
monitor.process.cancel_desc=ක්රියාවලියක් අවලංගු කිරීම දත්ත අහිමි වීමට හේතු විය හැක
|
||||
monitor.process.cancel_notices=<strong>%s</strong>: අවලංගු කරන්නද?
|
||||
|
||||
monitor.queues=පෝලිම්
|
||||
monitor.queue=පෝලිම: %s
|
||||
|
@ -192,7 +192,6 @@ app_desc=Jednoducho prístupný vlastný Git
|
||||
install=Jednoduchá inštalácia
|
||||
install_desc=Jednoducho <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-binary">spustite binárku</a> pre vašu platformu, pošlite ju ako <a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea/tree/master/docker">Docker</a>, alebo ju získajte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-package">ako balíček</a>.
|
||||
platform=Multiplatformový
|
||||
platform_desc=Gitea beží všade kde je možné preložiť <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM, a podobne. Vyberte si!
|
||||
lightweight=Ľahká
|
||||
lightweight_desc=Gitea má minimálne požiadavky a môže bežať na Raspberry Pi. Šetrite energiou vášho stroja!
|
||||
license=Otvorený zdrojový kód
|
||||
@ -585,10 +584,8 @@ applications=Aplikácie
|
||||
orgs=Spravovať organizácie
|
||||
repos=Repozitáre
|
||||
delete=Zmazať účet
|
||||
twofa=Dvojfaktorové overenie
|
||||
account_link=Prepojené účty
|
||||
organization=Organizácie
|
||||
webauthn=Bezpečnostné kľúče
|
||||
|
||||
public_profile=Verejný profil
|
||||
password_username_disabled=Externí používatelia nemôžu meniť svoje používateľské meno. Kontaktujte, prosím, svojho administrátora kvôli detailom.
|
||||
@ -775,21 +772,17 @@ revoke_key=Odvolať
|
||||
revoke_oauth2_grant=Odstrániť prístup
|
||||
revoke_oauth2_grant_description=Zrušenie prístupu tejto aplikáciu tretej strany zabráni tejto aplikácii v prístupe k vašim údajom. Ste si istý?
|
||||
|
||||
twofa_desc=Dvojstupňové overenie pridá ďalšiu vrstvu bezpečnosti k vášmu účtu.
|
||||
twofa_is_enrolled=Váš účet je momentálne <strong>používa</strong> dvojfaktorovú autentifikáciu.
|
||||
twofa_not_enrolled=Váš účet momentálne nepoužíva dvojfaktorovú autentifikáciu.
|
||||
twofa_disable=Vypnúť dvojfaktorovú autentifikáciu
|
||||
twofa_scratch_token_regenerate=Obnoviť token
|
||||
twofa_enroll=Povoliť dvojfaktorové overovanie
|
||||
twofa_disable_note=V prípade potreby môžete zakázať dvojfaktorové overenie.
|
||||
twofa_disable_desc=Vypnutím dvojfaktorovej autentifikácie bude váš účet menej bezpečný. Ďalej?
|
||||
regenerate_scratch_token_desc=Ak ste svoj token nesprávne umiestnili alebo ste ho už použili na prihlásenie, môžete ho resetovať tu.
|
||||
twofa_disabled=Dvojfaktorové overovanie bolo vypnuté.
|
||||
scan_this_image=Naskenujte tento obrázok pomocou overovacej aplikácie:
|
||||
or_enter_secret=Alebo zadajte tajný kód: %s
|
||||
then_enter_passcode=A zadajte prístupový kód zobrazený v aplikácii:
|
||||
passcode_invalid=Prístupový kód je nesprávny. Skúste to znova.
|
||||
twofa_enrolled=Váš účet bol zaregistrovaný do dvojfaktorovej autentifikácie. Uložte si token (%s) na bezpečnom mieste, pretože sa zobrazuje iba raz!
|
||||
twofa_failed_get_secret=Nepodarilo sa získať tajomstvo.
|
||||
|
||||
webauthn_desc=Bezpečnostné kľúče sú hardvérové zariadenia obsahujúce kryptografické kľúče. Môžu byť použité na dvojfaktorovú autentifikáciu. Bezpečnostné kľúče musia podporovať štandard <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a>.
|
||||
@ -894,9 +887,7 @@ delete_preexisting_success=Vymazané neprijaté súbory v %s
|
||||
|
||||
|
||||
transfer.accept=Prijať prevod
|
||||
transfer.accept_desc=`Previesť do "%s"`
|
||||
transfer.reject=Odmietnuť prevod
|
||||
transfer.reject_desc=`Zrušiť prevod do "%s"`
|
||||
|
||||
desc.private=Súkromný
|
||||
desc.public=Verejný
|
||||
|
@ -113,7 +113,6 @@ filter.private=Privat
|
||||
app_desc=En smidig, självhostad Git-tjänst
|
||||
install=Lätt att installera
|
||||
platform=Plattformsoberoende
|
||||
platform_desc=Gitea kan köra överallt där <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> kan kompileras: Windows, macOS, Linux, ARM, etc. Välj den du gillar!
|
||||
lightweight=Lättviktig
|
||||
lightweight_desc=Gitea har låga minimum-krav och kan köras på en billig Rasperry Pi. Spara på din maskins kraft!
|
||||
license=Öppen källkod
|
||||
@ -416,7 +415,6 @@ applications=Applikationer
|
||||
orgs=Hantera Organisationer
|
||||
repos=Utvecklingskataloger
|
||||
delete=Radera konto
|
||||
twofa=Tvåfaktorsautentisering
|
||||
account_link=Länkade Konton
|
||||
organization=Organisationer
|
||||
|
||||
@ -560,21 +558,17 @@ revoke_key=Upphäv
|
||||
revoke_oauth2_grant=Upphäv åtkomst
|
||||
revoke_oauth2_grant_description=Återkallning av åtkomst för detta tredjepartsprogram kommer att hindra programmet från att komma åt dina data. Är du säker?
|
||||
|
||||
twofa_desc=Tvåfaktorsautentisering förbättrar säkerheten på ditt konto.
|
||||
twofa_is_enrolled=Ditt konto är för närvarande <strong>uppsäkrad</strong> med tvåfaktorsautentisering.
|
||||
twofa_not_enrolled=Ditt konto är för närvarande inte uppsäkrad med tvåfaktorsautentisering.
|
||||
twofa_disable=Inaktivera tvåfaktorsautentisering
|
||||
twofa_scratch_token_regenerate=Generera ny skrapkod
|
||||
twofa_enroll=Aktivera tvåfaktorsautentisering
|
||||
twofa_disable_note=Du kan inaktivera tvåfaktorsautentisering om det behövs.
|
||||
twofa_disable_desc=Avaktivering av tvåfaktorsautentisering kommer göra ditt konto mindre säkert. Vill du fortsätta?
|
||||
regenerate_scratch_token_desc=Om du tappat bort din skrapkod, eller redan använt den för att logga in, så kan du återställa den här.
|
||||
twofa_disabled=Tvåfaktorsautentisering har blivit avaktiverat.
|
||||
scan_this_image=Skanna denna bild med ditt autentiseringsprogram:
|
||||
or_enter_secret=Eller skriv in följande sträng: %s
|
||||
then_enter_passcode=Och ange den lösenkod som visas i programmet:
|
||||
passcode_invalid=Koden är ogiltig. Försök igen.
|
||||
twofa_enrolled=Tvåfaktorsautentisering har aktiverats för ditt konto. Förvara din skrapkod (%s) på en säker plats eftersom den bara visas en gång!
|
||||
|
||||
|
||||
manage_account_links=Hantera Länkade Konton
|
||||
@ -1118,7 +1112,6 @@ milestones.closed=Stängt %s
|
||||
milestones.no_due_date=Inget förfallodatum
|
||||
milestones.open=Öppna
|
||||
milestones.close=Stäng
|
||||
milestones.completeness=%d%% Slutförd
|
||||
milestones.create=Skapa Milstolpe
|
||||
milestones.title=Titel
|
||||
milestones.desc=Beskrivning
|
||||
@ -1383,22 +1376,18 @@ settings.branches=Brancher
|
||||
settings.protected_branch=Branchskydd
|
||||
settings.protected_branch_can_push=Tillåt push?
|
||||
settings.protected_branch_can_push_yes=Du kan pusha
|
||||
settings.protected_branch_can_push_no=Du kan inte pusha
|
||||
settings.branch_protection=Branchskydd för '<b>%s</b>'
|
||||
settings.protect_this_branch=Aktivera branchskydd
|
||||
settings.protect_disable_push=Inaktivera Push
|
||||
settings.protect_disable_push_desc=Inga push-förfrågningar kommer att tillåtas till denna branch.
|
||||
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_check_status_contexts=Aktivera statuskontroller
|
||||
settings.protect_check_status_contexts_desc=Kräv godkända statuskontroller innan merge. Välj vilka statuskontroller som godkännas innan grenar kan slås samman till en gren som matchar denna regel. När aktiverad, måste committer först pushas till en annan gren, sedan mergas eller pushas direkt till en gren som matchar denna regel efter statuskontroll har har godkännts. Om inga context väljs måste den sista committen vara framgångsrik oavsett context.
|
||||
settings.protect_check_status_contexts_list=Statuskontroller funna under senaste veckan för denna utvecklingskatalog
|
||||
settings.protect_required_approvals=Godkännanden som krävs:
|
||||
settings.require_signed_commits=Kräv signerade commits
|
||||
settings.require_signed_commits_desc=Avvisa pushar till den här grenen om dom är osignerade eller inte verifierbara.
|
||||
settings.add_protected_branch=Aktivera skydd
|
||||
settings.delete_protected_branch=Inaktivera skydd
|
||||
settings.protected_branch_deletion=Inaktivera skydd för branch
|
||||
settings.protected_branch_deletion_desc=Genom att inaktivera branchskyddet tillåts användare med skrivrättigheter att pusha till branchen. Vill du fortsätta?
|
||||
settings.default_branch_desc=Välj en standard branch för Pull Requests och Code Commits:
|
||||
settings.choose_branch=Välj en branch…
|
||||
@ -1508,7 +1497,6 @@ branch.deleted_by=Raderad av %s
|
||||
|
||||
topic.manage_topics=Hantera ämnen
|
||||
topic.done=Klar
|
||||
topic.count_prompt=Du kan inte välja fler än 25 ämnen
|
||||
|
||||
|
||||
|
||||
@ -1551,7 +1539,6 @@ settings.visibility.private=Privat (synlig endast för organisationens medlemmar
|
||||
settings.visibility.private_shortname=Privat
|
||||
|
||||
settings.update_settings=Uppdatera inställningar
|
||||
settings.update_setting_success=Organisationsinställningarna har uppdaterats.
|
||||
settings.update_avatar_success=Organisationens avatar har uppdateras.
|
||||
settings.delete=Tag bort organisation
|
||||
settings.delete_account=Tag bort denna organisation
|
||||
@ -1978,7 +1965,6 @@ raw_minutes=minuter
|
||||
|
||||
[dropzone]
|
||||
default_message=Släpp filer här eller klicka för att ladda upp.
|
||||
invalid_input_type=Du kan inte ladda upp filer av denna typen.
|
||||
file_too_big=Filstorleken ({{filesize}} MB) överskrider maxstorleken ({{maxFilesize}} MB).
|
||||
remove_file=Ta bort fil
|
||||
|
||||
|
@ -229,7 +229,6 @@ app_desc=Zahmetsiz, kendi sunucunuzda barındırabileceğiniz Git servisi
|
||||
install=Kurulumu kolay
|
||||
install_desc=Platformunuz için <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-binary">ikili dosyayı çalıştırın</a>, <a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea/tree/master/docker">Docker</a> ile yükleyin veya <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-package">paket</a> olarak edinin.
|
||||
platform=Farklı platformlarda çalışablir
|
||||
platform_desc=Gitea <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> ile derleme yapılabilecek her yerde çalışmaktadır: Windows, macOS, Linux, ARM, vb. Hangisini seviyorsanız onu seçin!
|
||||
lightweight=Hafif
|
||||
lightweight_desc=Gitea'nın minimal gereksinimleri çok düşüktür ve ucuz bir Raspberry Pi üzerinde çalışabilmektedir. Makine enerjinizden tasarruf edin!
|
||||
license=Açık Kaynak
|
||||
@ -693,11 +692,9 @@ applications=Uygulamalar
|
||||
orgs=Organizasyonları Yönet
|
||||
repos=Depolar
|
||||
delete=Hesabı Sil
|
||||
twofa=İki Aşamalı Doğrulama
|
||||
account_link=Bağlı Hesaplar
|
||||
organization=Organizasyonlar
|
||||
uid=UID
|
||||
webauthn=Güvenlik Anahtarları
|
||||
|
||||
public_profile=Herkese Açık Profil
|
||||
biography_placeholder=Bize kendiniz hakkında birşeyler söyleyin! (Markdown kullanabilirsiniz)
|
||||
@ -795,7 +792,6 @@ add_email_success=Yeni e-posta adresi eklendi.
|
||||
email_preference_set_success=E-posta tercihi başarıyla ayarlandı.
|
||||
add_openid_success=Yeni OpenID adresi eklendi.
|
||||
keep_email_private=E-posta Adresini Gizle
|
||||
keep_email_private_popup=Bu, e-posta adresinizi profilde, değişiklik isteği yaptığınızda veya web arayüzünde dosya düzenlediğinizde gizleyecektir. İtilen işlemeler değişmeyecektir.
|
||||
openid_desc=OpenID, kimlik doğrulama işlemini harici bir sağlayıcıya devretmenize olanak sağlar.
|
||||
|
||||
manage_ssh_keys=SSH Anahtarlarını Yönet
|
||||
@ -925,7 +921,6 @@ oauth2_client_secret_hint=Bu sayfadan ayrıldıktan veya yeniledikten sonra gizl
|
||||
oauth2_application_edit=Düzenle
|
||||
oauth2_application_create_description=OAuth2 uygulamaları, üçüncü taraf uygulamanıza bu durumda kullanıcı hesaplarına erişim sağlar.
|
||||
oauth2_application_remove_description=Bir OAuth2 uygulamasının kaldırılması, bu sunucudaki yetkili kullanıcı hesaplarına erişmesini önler. Devam edilsin mi?
|
||||
oauth2_application_locked=Gitea kimi OAuth2 uygulamalarının başlangıçta ön kaydını, yapılandırmada etkinleştirilmişse yapabilir. Beklenmeyen davranışı önlemek için bunlar ne düzenlenmeli ne de kaldırılmalı. Daha fazla bilgi için OAuth2 belgesine bakın.
|
||||
|
||||
authorized_oauth2_applications=Yetkili OAuth2 Uygulamaları
|
||||
authorized_oauth2_applications_description=Kişisel Gitea hesabınıza bu üçüncü parti uygulamalara erişim izni verdiniz. Lütfen artık ihtiyaç duyulmayan uygulamalara erişimi iptal edin.
|
||||
@ -934,23 +929,18 @@ revoke_oauth2_grant=Erişimi İptal Et
|
||||
revoke_oauth2_grant_description=Bu üçüncü taraf uygulamasına erişimin iptal edilmesi bu uygulamanın verilerinize erişmesini önleyecektir. Emin misiniz?
|
||||
revoke_oauth2_grant_success=Erişim başarıyla kaldırıldı.
|
||||
|
||||
twofa_desc=İki faktörlü kimlik doğrulama, hesabınızın güvenliğini artırır.
|
||||
twofa_recovery_tip=Aygıtınızı kaybetmeniz durumunda, hesabınıza tekrar erişmek için tek kullanımlık kurtarma anahtarını kullanabileceksiniz.
|
||||
twofa_is_enrolled=Hesabınız şu anda iki faktörlü kimlik doğrulaması içinde <strong>kaydedilmiş</strong>.
|
||||
twofa_not_enrolled=Hesabınız şu anda iki faktörlü kimlik doğrulaması içinde kaydedilmemiş.
|
||||
twofa_disable=İki Aşamalı Doğrulamayı Devre Dışı Bırak
|
||||
twofa_scratch_token_regenerate=Geçici Kodu Yeniden Üret
|
||||
twofa_scratch_token_regenerated=Geçici kodunuz şimdi %s. Güvenli bir yerde saklayın, tekrar gösterilmeyecektir.
|
||||
twofa_enroll=İki Faktörlü Kimlik Doğrulamaya Kaydolun
|
||||
twofa_disable_note=Gerekirse iki faktörlü kimlik doğrulamayı devre dışı bırakabilirsiniz.
|
||||
twofa_disable_desc=İki faktörlü kimlik doğrulamayı devre dışı bırakmak hesabınızı daha az güvenli hale getirir. Devam edilsin mi?
|
||||
regenerate_scratch_token_desc=Geçici kodunuzu kaybettiyseniz veya oturum açmak için kullandıysanız, buradan sıfırlayabilirsiniz.
|
||||
twofa_disabled=İki faktörlü kimlik doğrulama devre dışı bırakıldı.
|
||||
scan_this_image=Kim doğrulama uygulamanızla bu görüntüyü tarayın:
|
||||
or_enter_secret=Veya gizli şeyi girin: %s
|
||||
then_enter_passcode=Ve uygulamada gösterilen şifreyi girin:
|
||||
passcode_invalid=Şifre geçersiz. Tekrar deneyin.
|
||||
twofa_enrolled=Hesabınız iki faktörlü kimlik doğrulamasına kaydedildi. Kazıma belirtecini (%s) yalnızca bir kez gösterdiği gibi güvenli bir yerde saklayın!
|
||||
twofa_failed_get_secret=Gizlilik elde edilemedi.
|
||||
|
||||
webauthn_desc=Güvenlik anahtarları, şifreleme anahtarlarını içeren donanım aygıtlarıdır. İki aşamalı kimlik doğrulama için kullanılabilirler. Güvenlik anahtarları <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a> standardını desteklemelidir.
|
||||
@ -1098,9 +1088,7 @@ tree_path_not_found_branch=%[1] yolu, %[2]s dalında mevcut değil
|
||||
tree_path_not_found_tag=%[1] yolu, %[2]s etiketinde mevcut değil
|
||||
|
||||
transfer.accept=Aktarımı Kabul Et
|
||||
transfer.accept_desc=`"%s" tarafına aktar`
|
||||
transfer.reject=Aktarımı Reddet
|
||||
transfer.reject_desc=`"%s" tarafına aktarımı iptal et`
|
||||
transfer.no_permission_to_accept=Bu aktarımı kabul etme izniniz yok.
|
||||
transfer.no_permission_to_reject=Bu aktarımı reddetme izniniz yok.
|
||||
|
||||
@ -1235,7 +1223,6 @@ releases=Sürüm
|
||||
tag=Etiket
|
||||
released_this=bu sürümü yayınladı
|
||||
tagged_this=şunu etiketledi
|
||||
file.title=%s dalındaki/etiketindeki %s
|
||||
file_raw=Ham
|
||||
file_history=Geçmiş
|
||||
file_view_source=Kaynağı Görüntüle
|
||||
@ -1252,7 +1239,6 @@ ambiguous_runes_header=`Bu dosya muğlak Evrensel Kodlu karakter içeriyor`
|
||||
ambiguous_runes_description=`Bu dosya, başka karakterlerle karıştırılabilecek evrensel kodlu karakter içeriyor. Eğer bunu kasıtlı olarak yaptıysanız bu uyarıyı yok sayabilirsiniz. Gizli karakterleri göstermek için Kaçış Karakterli düğmesine tıklayın.`
|
||||
invisible_runes_line=`Bu satırda görünmez evrensel kodlu karakter var`
|
||||
ambiguous_runes_line=`Bu satırda muğlak evrensel kodlu karakter var`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X], %[2]c [U+%04[2]X] ile karıştırılabilir`
|
||||
|
||||
escape_control_characters=Kaçış Karakterli
|
||||
unescape_control_characters=Kaçış Karaktersiz
|
||||
@ -1863,9 +1849,7 @@ pulls.unrelated_histories=Birleştirme Başarısız: Birleştirme başlığı ve
|
||||
pulls.merge_out_of_date=Birleştirme Başarısız: Birleştirme oluşturulurken, taban güncellendi. İpucu: Tekrar deneyin.
|
||||
pulls.head_out_of_date=Birleştirme Başarısız: Birleştirme oluşturulurken, ana güncellendi. İpucu: Tekrar deneyin.
|
||||
pulls.has_merged=Başarısız: Değişiklik isteği birleştirildi, yeniden birleştiremez veya hedef dalı değiştiremezsiniz.
|
||||
pulls.push_rejected=Birleştirme Başarısız Oldu: Gönderme reddedildi. Bu depo için Git İstemcilerini inceleyin.
|
||||
pulls.push_rejected_summary=Tam Red Mesajı
|
||||
pulls.push_rejected_no_message=Birleştirme başarısız oldu: Gönderme reddedildi, ancak uzak bir mesaj yoktu.<br>Bu depo için Git İstemcilerini inceleyin
|
||||
pulls.open_unmerged_pull_exists=`Aynı özelliklere sahip bekleyen bir değişiklik isteği (#%d) olduğundan yeniden açma işlemini gerçekleştiremezsiniz.`
|
||||
pulls.status_checking=Bazı denetlemeler beklemede
|
||||
pulls.status_checks_success=Tüm denetlemeler başarılı oldu
|
||||
@ -1920,7 +1904,6 @@ milestones.no_due_date=Bitiş tarihi yok
|
||||
milestones.open=Aç
|
||||
milestones.close=Kapat
|
||||
milestones.new_subheader=Kilometre taşları konuları yönetmenize ve gelişmelerini takip etmenize yardımcı olur.
|
||||
milestones.completeness=%d%% Tamamlandı
|
||||
milestones.create=Kilometre Taşı Oluştur
|
||||
milestones.title=Başlık
|
||||
milestones.desc=Açıklama
|
||||
@ -2143,7 +2126,6 @@ settings.pulls.default_delete_branch_after_merge=Varsayılan olarak birleştirme
|
||||
settings.pulls.default_allow_edits_from_maintainers=Bakımcıların düzenlemelerine izin ver
|
||||
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_desc=Proje Modu (ne tür projeler görüntülensin)
|
||||
settings.projects_mode_repo=Sadece depo projeleri
|
||||
settings.projects_mode_owner=Sadece kullanıcı veya organizasyon projeleri
|
||||
@ -2368,10 +2350,6 @@ settings.branches=Dallar
|
||||
settings.protected_branch=Dal Koruması
|
||||
settings.protected_branch.save_rule=Kuralı Kaydet
|
||||
settings.protected_branch.delete_rule=Kural sil
|
||||
settings.protected_branch_can_push=İtmeye izin verilsin mi?
|
||||
settings.protected_branch_can_push_yes=İtebilirsiniz
|
||||
settings.protected_branch_can_push_no=İtemezsiniz
|
||||
settings.branch_protection=<b>%s</b> dalı için Dal Koruması
|
||||
settings.protect_this_branch=Dal Korumayı Etkinleştir
|
||||
settings.protect_this_branch_desc=Silmeyi önler ve dala Git gönderimini ve birleştirmesini kısıtlar.
|
||||
settings.protect_disable_push=İtmeyi Devre Dışı Bırak
|
||||
@ -2401,7 +2379,6 @@ settings.protect_merge_whitelist_teams=Birleştirme için izin listesindeki tak
|
||||
settings.protect_check_status_contexts=Durum Denetimini Etkinleştir
|
||||
settings.protect_status_check_patterns=Durum denetleme desenleri:
|
||||
settings.protect_status_check_patterns_desc=Bu kurala uyan dala diğer dallar birleştirilmeden önce başarılı olması gereken durum denetlemelerini belirten desenleri girin. Her bir satır bir desen tanımlıyor. Desenler boş olamaz.
|
||||
settings.protect_check_status_contexts_desc=Birleştirmeden önce durum denetimlerinin geçmesini zorunlu kılın. Dalların bu kurala uyan bir dalda birleştirilebilmesi için hangi durum denetimlerinin geçmesi gerektiğini seçin. Etkinleştirildiğinde, işlemeler önce başka bir dala gönderilmeli, ardından durum denetimleri geçtikten sonra bu kuralla eşleşen bir dala birleştirilmeli veya doğrudan gönderilmelidir. Hiçbir bağlam seçilmezse, bağlamdan bağımsız olarak son işleme başarılı olmalıdır.
|
||||
settings.protect_check_status_contexts_list=Bu depo için geçen haftadaki durum denetimleri
|
||||
settings.protect_status_check_matched=Eşleşen
|
||||
settings.protect_invalid_status_check_pattern=Hatalı durum denetleme deseni: "%s".
|
||||
@ -2425,12 +2402,9 @@ settings.protect_protected_file_patterns=Korumalı dosya kalıpları (noktalı v
|
||||
settings.protect_protected_file_patterns_desc=Kullanıcının bu dalda dosya ekleme, düzenleme veya silme hakları olsa bile doğrudan değiştirilmesine izin verilmeyen korumalı dosyalar. Birden çok desen noktalı virgül (';') kullanılarak ayrılabilir. Desen sözdizimi için <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> belgelerine bakın. Örnekler: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.protect_unprotected_file_patterns=Korunmasız dosya desenleri (noktalı virgülle ayrılmış ';'):
|
||||
settings.protect_unprotected_file_patterns_desc=Kullanıcının yazma erişimi, itme kısıtlamasını atlama hakkı olduğunda doğrudan değiştirmesine izin verilen korunmasız dosyalar. Birden çok desen noktalı virgül (';') kullanılarak ayrılabilir. Desen söz dizimi için <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> belgelerine bakın. Örnekler: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
settings.add_protected_branch=Korumayı etkinleştir
|
||||
settings.delete_protected_branch=Korumayı devre dışı bırak
|
||||
settings.update_protect_branch_success=Dal koruma kuralı "%s" güncellendi.
|
||||
settings.remove_protected_branch_success=Dal koruma kuralı "%s" kaldırıldı.
|
||||
settings.remove_protected_branch_failed=Dal koruma kuralı "%s" kaldırılamadı.
|
||||
settings.protected_branch_deletion=Dal Korumasını Devre Dışı Bırak
|
||||
settings.protected_branch_deletion_desc=Dal korumasını devre dışı bırakmak, kullanıcıların dalı itmek için yazma izni olmasını sağlar. Devam edilsin mi?
|
||||
settings.block_rejected_reviews=Reddedilen incelemelerde birleştirmeyi engelle
|
||||
settings.block_rejected_reviews_desc=Yeterli onay olsa bile resmi gözden geçirenler tarafından değişiklik istendiğinde birleşme mümkün olmayacaktır.
|
||||
@ -2440,7 +2414,6 @@ settings.block_outdated_branch=Değişiklik isteği güncel değilse birleştirm
|
||||
settings.block_outdated_branch_desc=Baş dal taban dalın arkasındayken birleştirme mümkün olmayacaktır.
|
||||
settings.default_branch_desc=Değişiklik istekleri ve kod işlemeleri için varsayılan bir depo dalı seçin:
|
||||
settings.merge_style_desc=Biçimleri Birleştir
|
||||
settings.default_merge_style_desc=Değişiklik istekleri için varsayılan birleştirme tarzı:
|
||||
settings.choose_branch=Bir dal seç…
|
||||
settings.no_protected_branch=Korumalı dal yok.
|
||||
settings.edit_protected_branch=Düzenle
|
||||
@ -2659,7 +2632,6 @@ tag.create_success=`"%s" etiketi oluşturuldu.`
|
||||
|
||||
topic.manage_topics=Konuları Yönet
|
||||
topic.done=Bitti
|
||||
topic.count_prompt=25'ten fazla konu seçemezsiniz
|
||||
topic.format_prompt=Konular bir harf veya rakamla başlamalı, kısa çizgi ('-') ve nokta ('.') içerebilir ve en fazla 35 karakter uzunluğunda olabilir. Harfler küçük harf olmalıdır.
|
||||
|
||||
find_file.go_to_file=Dosyaya git
|
||||
@ -2757,7 +2729,6 @@ teams.leave.detail=%s bırakılsın mı?
|
||||
teams.can_create_org_repo=Depoları oluştur
|
||||
teams.can_create_org_repo_helper=Üyeler organizasyonda yeni depolar oluşturabilirler. Oluşturan yeni depoya yönetici erişimi sağlayacak.
|
||||
teams.none_access=Erişim Yok
|
||||
teams.none_access_helper=Üyeler bu birimi görüntüleyemez veya üzerinde başka bir işlem yapamaz.
|
||||
teams.general_access=Genel Erişim
|
||||
teams.general_access_helper=Üyelerin izinleri aşağıdaki izin tablosuna göre kararlaştırılacaktır.
|
||||
teams.read_access=Okuma
|
||||
@ -3295,7 +3266,6 @@ monitor.next=Sonraki Zaman
|
||||
monitor.previous=Önceki Zaman
|
||||
monitor.execute_times=Çalıştırma
|
||||
monitor.process=Çalışan Süreçler
|
||||
monitor.stacktrace=Yığın izleme
|
||||
monitor.processes_count=%d İşlem
|
||||
monitor.download_diagnosis_report=Tanı raporunu indir
|
||||
monitor.desc=Açıklama
|
||||
@ -3303,8 +3273,6 @@ monitor.start=Başlangıç Zamanı
|
||||
monitor.execute_time=Çalıştırma Zamanı
|
||||
monitor.last_execution_result=Sonuç
|
||||
monitor.process.cancel=İşlemi iptal et
|
||||
monitor.process.cancel_desc=Bir işlemi iptal etmek veri kaybına neden olabilir
|
||||
monitor.process.cancel_notices=İptal et: <strong>%s</strong>?
|
||||
monitor.process.children=Çocuklar
|
||||
|
||||
monitor.queues=Kuyruklar
|
||||
@ -3406,7 +3374,6 @@ raw_minutes=dakikalar
|
||||
|
||||
[dropzone]
|
||||
default_message=Dosyaları buraya bırakın veya yüklemek için tıklayın.
|
||||
invalid_input_type=Bu tür dosyaları yükleyemezsiniz.
|
||||
file_too_big=Dosya boyutu ({{filesize}} MB) maksimum boyutu ({{maxFilesize}} MB) aşıyor.
|
||||
remove_file=Dosya Kaldır
|
||||
|
||||
|
@ -127,7 +127,6 @@ network_error=Помилка мережі
|
||||
app_desc=Зручний власний сервіс хостингу репозиторіїв Git
|
||||
install=Легко встановити
|
||||
platform=Платформонезалежність
|
||||
platform_desc=Gitea виконується на платформі, для якої можливо скомпілювати <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM, та інших. Оберіть ту, яка вам до вподоби!
|
||||
lightweight=Невибагливість
|
||||
lightweight_desc=Gitea має низькі вимоги до ресурсів та може працювати на недорогому Raspberry Pi. Збережіть свою машину енергію!
|
||||
license=Відкритий вихідний код
|
||||
@ -493,7 +492,6 @@ applications=Додатки
|
||||
orgs=Керування організаціями
|
||||
repos=Репозиторії
|
||||
delete=Видалити обліковий запис
|
||||
twofa=Двофакторна авторизація
|
||||
account_link=Прив'язані облікові записи
|
||||
organization=Організації
|
||||
|
||||
@ -669,21 +667,17 @@ revoke_key=Відкликати
|
||||
revoke_oauth2_grant=Скасувати доступ
|
||||
revoke_oauth2_grant_description=Скасування доступу для цієї програми третьої сторони не дозволить їй отримувати доступ до ваших даних. Ви впевнені?
|
||||
|
||||
twofa_desc=Двофакторна автентифікація підвищує безпеку вашого облікового запису.
|
||||
twofa_is_enrolled=Ваш обліковий запис на даний час <strong>використовує</strong> двофакторну автентифікацію.
|
||||
twofa_not_enrolled=Ваш обліковий запис наразі не використовує двофакторну автентифікаціїю.
|
||||
twofa_disable=Вимкнути двофакторну автентифікацію
|
||||
twofa_scratch_token_regenerate=Перестворити токен одноразового пароля
|
||||
twofa_enroll=Увімкнути двофакторну автентифікацію
|
||||
twofa_disable_note=При необхідності можна відключити двофакторну автентифікацію.
|
||||
twofa_disable_desc=Вимкнення двофакторної автентифікації зробить ваш обліковий запис менш безпечним. Продовжити?
|
||||
regenerate_scratch_token_desc=Якщо ви втратили свій токен одноразового пароля або вже використовували його для входу, ви можете скинути його тут.
|
||||
twofa_disabled=Двофакторна автентифікація вимкнена.
|
||||
scan_this_image=Проскануйте це зображення вашим додатком для двуфакторної автентифікації:
|
||||
or_enter_secret=Або введіть секрет: %s
|
||||
then_enter_passcode=І введіть пароль, який відображається в додатку:
|
||||
passcode_invalid=Некоректний пароль. Спробуй ще раз.
|
||||
twofa_enrolled=Для вашого облікового запису було включена двофакторна автентифікація. Зберігайте свій scratch-токен (%s) у безпечному місці, оскільки він показується лише один раз!
|
||||
twofa_failed_get_secret=Не вдалося отримати секрет.
|
||||
|
||||
|
||||
@ -793,9 +787,7 @@ blame_prior=Переглянути анотацію, що передує цій
|
||||
|
||||
|
||||
transfer.accept=Дозволити трансфер
|
||||
transfer.accept_desc=`Перемістити до "%s"`
|
||||
transfer.reject=Відхилити трансфер
|
||||
transfer.reject_desc=`Скасувати переміщення до "%s"`
|
||||
|
||||
desc.private=Приватний
|
||||
desc.public=Публічний
|
||||
@ -907,7 +899,6 @@ release=Реліз
|
||||
releases=Релізи
|
||||
tag=Тег
|
||||
released_this=випущені релізи
|
||||
file.title=%s в %s
|
||||
file_raw=Неформатований
|
||||
file_history=Історія
|
||||
file_view_source=Переглянути вихідний код
|
||||
@ -1385,7 +1376,6 @@ milestones.closed=Закрито %s
|
||||
milestones.no_due_date=Немає дати завершення
|
||||
milestones.open=Відкрити
|
||||
milestones.close=Закрити
|
||||
milestones.completeness=%d%% завершено
|
||||
milestones.create=Створити етап
|
||||
milestones.title=Заголовок
|
||||
milestones.desc=Опис
|
||||
@ -1549,7 +1539,6 @@ settings.pulls_desc=Увімкнути запити на злиття в реп
|
||||
settings.pulls.ignore_whitespace=Ігнорувати пробіл у конфліктах
|
||||
settings.pulls.enable_autodetect_manual_merge=Увімкнути автовизначення ручного злиття (Примітка: у деяких особливий випадках можуть виникнуть помилки)
|
||||
settings.pulls.default_delete_branch_after_merge=Видаляти гілку запиту злиття, коли його прийнято
|
||||
settings.projects_desc=Увімкнути проєкти у репозиторії
|
||||
settings.admin_settings=Налаштування адміністратора
|
||||
settings.admin_enable_health_check=Включити перевірки працездатності репозиторію (git fsck)
|
||||
settings.admin_enable_close_issues_via_commit_in_any_branch=Закрити задачу за допомогою коміта, зробленого не в головній гілці
|
||||
@ -1724,8 +1713,6 @@ settings.branches=Гілки
|
||||
settings.protected_branch=Захист гілки
|
||||
settings.protected_branch_can_push=Дозволити push?
|
||||
settings.protected_branch_can_push_yes=Ви можете виконувати push
|
||||
settings.protected_branch_can_push_no=Ви не можете виконувати push
|
||||
settings.branch_protection=Захист гілки <b>%s</b>
|
||||
settings.protect_this_branch=Захистити цю гілку
|
||||
settings.protect_this_branch_desc=Запобігає видаленню гілки та обмежує виконання в ній push та злиття.
|
||||
settings.protect_disable_push=Заборонити Push
|
||||
@ -1733,7 +1720,6 @@ settings.protect_disable_push_desc=Для цієї гілки буде забо
|
||||
settings.protect_enable_push=Дозволити Push
|
||||
settings.protect_enable_push_desc=Будь-хто із правом запису зможе виконувати push для цієї гілки (за виключенням force push).
|
||||
settings.protect_check_status_contexts=Увімкнути перевірку стану
|
||||
settings.protect_check_status_contexts_desc=Вимагати успішного проходження перевірок стану перед злиттям. Оберіть перевірки стану, які слід провести для гілок, перед їх об'єднанням з гілкою, що відповідає цьому правилу. Коли цей пункт увімкнено, коміти спершу надсилаються до іншої гілки, а потім зливаються або надсилаються безпосередньо до гілки, яка відповідає цьому правилу після успішного проходження перевірок стану. Якщо не вибрано контекст, останній коміт має успішно проходити перевірки, незалежно від контексту.
|
||||
settings.protect_check_status_contexts_list=Перевірки статусу знайдено для репозитарію за минулий тиждень
|
||||
settings.protect_required_approvals=Необхідно схвалення:
|
||||
settings.protect_required_approvals_desc=Дозволити об'єднання запитів на злиття лише із достатньою кількістю позитивних рецензій.
|
||||
@ -1743,7 +1729,6 @@ settings.require_signed_commits=Потрібно підписані коміти
|
||||
settings.require_signed_commits_desc=Відхиляти push до цієї гілки, якщо вони не підписані або підпис неможливо перевірити.
|
||||
settings.add_protected_branch=Увімкнути захист
|
||||
settings.delete_protected_branch=Вимкнути захист
|
||||
settings.protected_branch_deletion=Відключити захист гілки
|
||||
settings.protected_branch_deletion_desc=Будь-який користувач з дозволами на запис зможе виконувати push в цю гілку. Ви впевнені?
|
||||
settings.block_rejected_reviews=Блокувати злиття при відкидаючих рецензіях
|
||||
settings.block_rejected_reviews_desc=Злиття буде недоступним, якщо є запит змін від офіційних рецензентів, навіть за наявності достатньої кількості схвалень.
|
||||
@ -1752,7 +1737,6 @@ settings.block_on_official_review_requests_desc=Об’єднання немож
|
||||
settings.block_outdated_branch=Блокувати злиття, якщо запит на злиття застарів
|
||||
settings.block_outdated_branch_desc=Злиття буде неможливим, коли головна гілка позаду основної.
|
||||
settings.default_branch_desc=Головна гілка є 'базовою' для вашого репозиторія, на яку за замовчуванням спрямовані всі запити на злиття і яка є обличчям вашого репозиторія. Перше, що побачить відвідувач - це зміст головної гілки. Виберіть її з уже існуючих:
|
||||
settings.default_merge_style_desc=Стиль злиття за замовчуванням:
|
||||
settings.choose_branch=Оберіть гілку…
|
||||
settings.no_protected_branch=Немає захищених гілок.
|
||||
settings.edit_protected_branch=Редагувати
|
||||
@ -1920,7 +1904,6 @@ tag.create_tag=Створити тег <strong>%s</strong>
|
||||
|
||||
topic.manage_topics=Керувати тематичними мітками
|
||||
topic.done=Готово
|
||||
topic.count_prompt=Ви не можете вибрати більше 25 тем
|
||||
|
||||
|
||||
error.csv.too_large=Не вдається відобразити цей файл, тому що він завеликий.
|
||||
@ -2438,8 +2421,6 @@ monitor.desc=Опис
|
||||
monitor.start=Час початку
|
||||
monitor.execute_time=Час виконання
|
||||
monitor.process.cancel=Зупинити процес
|
||||
monitor.process.cancel_desc=Зупинка процесу може призвести до втрати даних
|
||||
monitor.process.cancel_notices=Зупинити: <strong>%s</strong>?
|
||||
monitor.process.children=Дочірні процеси
|
||||
|
||||
monitor.queues=Черги
|
||||
@ -2524,7 +2505,6 @@ raw_minutes=хвилини
|
||||
|
||||
[dropzone]
|
||||
default_message=Перетягніть файли або натисніть тут, щоб завантажити.
|
||||
invalid_input_type=Ви не можете завантажувати файли цього типу.
|
||||
file_too_big=Розмір файлу ({{filesize}} MB), що більше ніж максимальний розмір: ({{maxFilesize}} MB).
|
||||
remove_file=Видалити файл
|
||||
|
||||
|
@ -228,7 +228,6 @@ app_desc=一款极易搭建的自助 Git 服务
|
||||
install=易安装
|
||||
install_desc=通过 <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-binary">二进制</a> 来运行;或者通过 <a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea/tree/master/docker">docker</a> 来运行;或者通过 <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.com/installation/install-from-package">安装包</a> 来运行
|
||||
platform=跨平台
|
||||
platform_desc=任何 <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go 语言</a> 支持的平台都可以运行 Gitea,包括 Windows、Mac、Linux 以及 ARM。挑一个您喜欢的就行!
|
||||
lightweight=轻量级
|
||||
lightweight_desc=一个廉价的树莓派的配置足以满足 Gitea 的最低系统硬件要求。最大程度上节省您的服务器资源!
|
||||
license=开源化
|
||||
@ -685,11 +684,9 @@ applications=应用
|
||||
orgs=管理组织
|
||||
repos=仓库列表
|
||||
delete=删除帐户
|
||||
twofa=两步验证
|
||||
account_link=已绑定帐户
|
||||
organization=组织
|
||||
uid=UID
|
||||
webauthn=安全密钥
|
||||
|
||||
public_profile=公开信息
|
||||
biography_placeholder=告诉我们一点您自己! (您可以使用Markdown)
|
||||
@ -787,7 +784,6 @@ add_email_success=新的电子邮件地址已添加。
|
||||
email_preference_set_success=电子邮件首选项已成功设置。
|
||||
add_openid_success=新的 OpenID 地址已添加。
|
||||
keep_email_private=隐藏电子邮件地址
|
||||
keep_email_private_popup=这将会隐藏您的电子邮件地址,不仅在您的个人资料中,还在您使用Web界面创建拉取请求或编辑文件时。已推送的提交将不会被修改。
|
||||
openid_desc=OpenID 让你可以将认证转发到外部服务。
|
||||
|
||||
manage_ssh_keys=管理 SSH 密钥
|
||||
@ -916,7 +912,6 @@ oauth2_client_secret_hint=您离开或刷新此页面后将不会再显示此密
|
||||
oauth2_application_edit=编辑
|
||||
oauth2_application_create_description=OAuth2 应用允许您的第三方应用程序访问此实例的用户帐户。
|
||||
oauth2_application_remove_description=移除一个OAuth2应用将会阻止它访问此实例上的已授权用户账户。是否继续?
|
||||
oauth2_application_locked=如果配置启用,Gitea预注册一些OAuth2应用程序。 为了防止意外的行为, 这些应用既不能编辑也不能删除。请参阅OAuth2文档以获取更多信息。
|
||||
|
||||
authorized_oauth2_applications=已授权的 OAuth2 应用
|
||||
authorized_oauth2_applications_description=您已授予这些第三方应用程序访问您的个人 Gitea 账户的权限。请撤销那些您不再需要的应用程序的访问权限。
|
||||
@ -925,23 +920,18 @@ revoke_oauth2_grant=撤回权限
|
||||
revoke_oauth2_grant_description=确定撤销此三方应用程序的授权,并阻止此应用程序访问您的数据?
|
||||
revoke_oauth2_grant_success=成功撤销了访问权限。
|
||||
|
||||
twofa_desc=两步验证可以加强你的账号安全性。
|
||||
twofa_recovery_tip=如果您丢失了您的设备,您将能够使用一次性恢复密钥来重新获得对您账户的访问。
|
||||
twofa_is_enrolled=你的账号<strong>已启用</strong>了两步验证。
|
||||
twofa_not_enrolled=你的账号未开启两步验证。
|
||||
twofa_disable=禁用两步认证
|
||||
twofa_scratch_token_regenerate=重新生成初始令牌
|
||||
twofa_scratch_token_regenerated=您的临时令牌现在是 %s。将其存放在安全的地方,它将不会再次显示。
|
||||
twofa_enroll=启用两步验证
|
||||
twofa_disable_note=如果需要, 可以禁用双因素身份验证。
|
||||
twofa_disable_desc=关掉两步验证会使得您的账号不安全,继续执行?
|
||||
regenerate_scratch_token_desc=如果您丢失了您的验证口令或已经使用它登录, 您可以在这里重置它。
|
||||
twofa_disabled=两步验证已被禁用。
|
||||
scan_this_image=使用您的授权应用扫描这张图片:
|
||||
or_enter_secret=或者输入密钥:%s
|
||||
then_enter_passcode=并输入应用程序中显示的密码:
|
||||
passcode_invalid=密码不正确。再试一次。
|
||||
twofa_enrolled=你的账号已经启用了两步验证。请保存初始令牌(%s)到一个安全的地方,此令牌仅当前显示一次。
|
||||
twofa_failed_get_secret=获取 secret 失败。
|
||||
|
||||
webauthn_desc=安全密钥是包含加密密钥的硬件设备。它们可以用于双因素身份验证。安全密钥必须支持 <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn 身份验证器</a> 标准。
|
||||
@ -1089,9 +1079,7 @@ tree_path_not_found_branch=路径 %[1]s 不存在于分支 %[2]s 中。
|
||||
tree_path_not_found_tag=路径 %[1]s 不存在于标签 %[2]s 中
|
||||
|
||||
transfer.accept=接受转移
|
||||
transfer.accept_desc=`转移到 "%s"`
|
||||
transfer.reject=拒绝转移
|
||||
transfer.reject_desc=`取消转移到 "%s"`
|
||||
transfer.no_permission_to_accept=您没有权限接受此转让。
|
||||
transfer.no_permission_to_reject=您没有权限拒绝此转让。
|
||||
|
||||
@ -1226,7 +1214,6 @@ releases=版本发布
|
||||
tag=Git标签
|
||||
released_this=发布
|
||||
tagged_this=已标记
|
||||
file.title=%s 位于 %s
|
||||
file_raw=原始文件
|
||||
file_history=文件历史
|
||||
file_view_source=源码模式
|
||||
@ -1242,7 +1229,6 @@ ambiguous_runes_header=`此文件含有模棱两可的 Unicode 字符`
|
||||
ambiguous_runes_description=`此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。`
|
||||
invisible_runes_line=`此行含有不可见的 unicode 字符`
|
||||
ambiguous_runes_line=`此行有模棱两可的 unicode 字符`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] 容易和 %[2]c [U+%04[2]X] 混淆`
|
||||
|
||||
escape_control_characters=Escape
|
||||
unescape_control_characters=Unescape
|
||||
@ -1851,9 +1837,7 @@ pulls.unrelated_histories=合并失败:两个分支没有共同历史。提示
|
||||
pulls.merge_out_of_date=合并失败:在生成合并时,主分支已更新。提示:再试一次。
|
||||
pulls.head_out_of_date=合并失败:在生成合并时,head 已更新。提示:再试一次。
|
||||
pulls.has_merged=失败:合并请求已经被合并,您不能再次合并或更改目标分支。
|
||||
pulls.push_rejected=合并失败:推送被拒绝。审查此仓库的 Git 钩子。
|
||||
pulls.push_rejected_summary=详细拒绝信息
|
||||
pulls.push_rejected_no_message=合并失败:此推送被拒绝但未提供其他信息。<br>请检查此仓库的 Git Hook。
|
||||
pulls.open_unmerged_pull_exists=`您不能执行重新打开操作, 因为已经存在相同的合并请求 (#%d)。`
|
||||
pulls.status_checking=一些检测仍在等待运行
|
||||
pulls.status_checks_success=所有检测均成功
|
||||
@ -1909,7 +1893,6 @@ milestones.no_due_date=暂无截止日期
|
||||
milestones.open=开启中
|
||||
milestones.close=关闭
|
||||
milestones.new_subheader=里程碑可以帮助您组织工单并跟踪其进度。
|
||||
milestones.completeness=%d%% 完成
|
||||
milestones.create=创建里程碑
|
||||
milestones.title=标题
|
||||
milestones.desc=描述
|
||||
@ -1980,7 +1963,6 @@ wiki.original_git_entry_tooltip=查看原始的 Git 文件而不是使用友好
|
||||
activity=动态
|
||||
activity.navbar.pulse=活动
|
||||
activity.navbar.code_frequency=代码频率
|
||||
activity.navbar.contributors=贡献者
|
||||
activity.navbar.recent_commits=最近的提交
|
||||
activity.period.filter_label=周期:
|
||||
activity.period.daily=1 天
|
||||
@ -2132,7 +2114,6 @@ settings.pulls.default_delete_branch_after_merge=默认合并后删除合并请
|
||||
settings.pulls.default_allow_edits_from_maintainers=默认开启允许维护者编辑
|
||||
settings.releases_desc=启用发布
|
||||
settings.packages_desc=启用仓库软件包注册中心
|
||||
settings.projects_desc=启用仓库项目
|
||||
settings.projects_mode_desc=项目模式 (要显示的项目类型)
|
||||
settings.projects_mode_repo=仅仓库项目
|
||||
settings.projects_mode_owner=仅限用户或组织项目
|
||||
@ -2353,13 +2334,9 @@ settings.deploy_key_deletion=删除部署密钥
|
||||
settings.deploy_key_deletion_desc=删除部署密钥将取消此密钥对此仓库的访问权限。继续?
|
||||
settings.deploy_key_deletion_success=部署密钥已删除。
|
||||
settings.branches=分支
|
||||
settings.protected_branch=分支保护
|
||||
settings.protected_branch.save_rule=保存规则
|
||||
settings.protected_branch.delete_rule=删除规则
|
||||
settings.protected_branch_can_push=允许推吗?
|
||||
settings.protected_branch_can_push_yes=你可以推
|
||||
settings.protected_branch_can_push_no=你不能推
|
||||
settings.branch_protection=分支 '<b>%s</b>' 的分支保护
|
||||
settings.protect_this_branch=启用分支保护
|
||||
settings.protect_this_branch_desc=阻止删除并限制Git推送和合并到分支。
|
||||
settings.protect_disable_push=禁用推送
|
||||
@ -2371,7 +2348,6 @@ settings.protect_enable_merge_desc=任何具有写入权限的人都可以将合
|
||||
settings.protect_check_status_contexts=启用状态检查
|
||||
settings.protect_status_check_patterns=状态检查模式:
|
||||
settings.protect_status_check_patterns_desc=输入模式,指定哪些状态检查必须通过,才能将分支合并到符合此规则的分支中去。每一行指定一个模式,模式不能为空。
|
||||
settings.protect_check_status_contexts_desc=要求状态检查通过才能合并,选择必须先通过哪些状态检查才能合并。如果启用,推送的合并请求必须先通过状态检查才能够合并到对应的分支。如果没有选择具体的状态检查上下文,则所有的状态检查都通过才能合并。
|
||||
settings.protect_check_status_contexts_list=此仓库上周进行过的状态检查
|
||||
settings.protect_status_check_matched=匹配
|
||||
settings.protect_invalid_status_check_pattern=无效的状态检查规则:“%s”。
|
||||
@ -2391,12 +2367,9 @@ settings.protect_protected_file_patterns=受保护的文件模式(使用分号 '
|
||||
settings.protect_protected_file_patterns_desc=即使用户有权添加、编辑或删除此分支中的文件,也不允许直接更改受保护的文件。 可以使用分号 (';') 分隔多个模式。 见<a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a>文档了解模式语法。例如: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>
|
||||
settings.protect_unprotected_file_patterns=不受保护的文件模式(使用分号 ';' 分隔):
|
||||
settings.protect_unprotected_file_patterns_desc=如果用户有写权限,则允许直接更改的不受保护的文件,以绕过推送限制。可以使用分号分隔多个模式 (';')。 见 <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> 文档了解模式语法。例如: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>
|
||||
settings.add_protected_branch=启用保护
|
||||
settings.delete_protected_branch=禁用保护
|
||||
settings.update_protect_branch_success=分支保护规则 %s 更新成功。
|
||||
settings.remove_protected_branch_success=移除分支保护规则"%s"成功。
|
||||
settings.remove_protected_branch_failed=移除分支保护规则"%s"失败。
|
||||
settings.protected_branch_deletion=禁用分支保护
|
||||
settings.protected_branch_deletion_desc=禁用分支保护允许具有写入权限的用户推送提交到此分支。继续?
|
||||
settings.block_rejected_reviews=拒绝审核阻止了此合并
|
||||
settings.block_rejected_reviews_desc=如果官方审查人员要求作出改动,即使有足够的批准,合并也不允许。
|
||||
@ -2406,7 +2379,6 @@ settings.block_outdated_branch=如果合并请求已经过时,阻止合并
|
||||
settings.block_outdated_branch_desc=当头部分支落后基础分支时,不能合并。
|
||||
settings.default_branch_desc=请选择一个默认的分支用于合并请求和提交:
|
||||
settings.merge_style_desc=合并方式
|
||||
settings.default_merge_style_desc=合并请求的默认合并样式:
|
||||
settings.choose_branch=选择一个分支...
|
||||
settings.no_protected_branch=没有受保护的分支
|
||||
settings.edit_protected_branch=编辑
|
||||
@ -2625,7 +2597,6 @@ tag.create_success=标签"%s"已存在
|
||||
|
||||
topic.manage_topics=管理主题
|
||||
topic.done=保存
|
||||
topic.count_prompt=您最多选择25个主题
|
||||
topic.format_prompt=主题必须以字母或数字开头,可以包含连字符 ('-') 和句点 ('.'),长度不得超过35个字符。字符必须为小写。
|
||||
|
||||
find_file.go_to_file=转到文件
|
||||
@ -2698,7 +2669,6 @@ settings.delete_prompt=删除操作会永久清除该组织的信息,并且 <s
|
||||
settings.confirm_delete_account=确认删除组织
|
||||
settings.delete_org_title=删除组织
|
||||
settings.delete_org_desc=此组织将会被永久删除,确认继续吗?
|
||||
settings.hooks_desc=在此处添加的 Web 钩子将会应用到该组织下的 <strong>所有仓库</strong>。
|
||||
|
||||
settings.labels_desc=添加能够被该组织下的 <strong>所有仓库</strong> 的工单使用的标签。
|
||||
|
||||
@ -2723,7 +2693,6 @@ teams.leave.detail=离开 %s?
|
||||
teams.can_create_org_repo=创建仓库
|
||||
teams.can_create_org_repo_helper=成员可以在组织中创建仓库。创建者将自动获得创建的仓库的管理员权限。
|
||||
teams.none_access=无访问权限
|
||||
teams.none_access_helper=成员无法查看此单元或对其执行任何其他操作。
|
||||
teams.general_access=常规访问
|
||||
teams.general_access_helper=成员权限将由以下权限表决定。
|
||||
teams.read_access=可读
|
||||
@ -3246,7 +3215,6 @@ monitor.next=下次执行时间
|
||||
monitor.previous=上次执行时间
|
||||
monitor.execute_times=执行次数
|
||||
monitor.process=运行中进程
|
||||
monitor.stacktrace=调用栈踪迹
|
||||
monitor.processes_count=%d 个进程
|
||||
monitor.download_diagnosis_report=下载诊断报告
|
||||
monitor.desc=进程描述
|
||||
@ -3254,8 +3222,6 @@ monitor.start=开始时间
|
||||
monitor.execute_time=执行时长
|
||||
monitor.last_execution_result=结果
|
||||
monitor.process.cancel=中止进程
|
||||
monitor.process.cancel_desc=中止一个进程可能导致数据丢失
|
||||
monitor.process.cancel_notices=中止:<strong>%s</strong> ?
|
||||
monitor.process.children=子进程
|
||||
|
||||
monitor.queues=队列
|
||||
@ -3357,8 +3323,6 @@ raw_minutes=分钟
|
||||
|
||||
[dropzone]
|
||||
default_message=拖动文件或者点击此处上传。
|
||||
invalid_input_type=您不能上传该类型的文件
|
||||
file_too_big=文件体积({{filesize}} MB)超过了最大允许体积({{maxFilesize}} MB)
|
||||
remove_file=移除文件
|
||||
|
||||
[notification]
|
||||
@ -3505,7 +3469,6 @@ settings.link=将此软件包链接到仓库
|
||||
settings.link.description=如果您将一个软件包与一个代码库链接起来,软件包将显示在代码库的软件包列表中。
|
||||
settings.link.select=选择仓库
|
||||
settings.link.button=更新仓库链接
|
||||
settings.link.success=仓库链接已成功更新。
|
||||
settings.link.error=更新仓库链接失败。
|
||||
settings.delete=删除软件包
|
||||
settings.delete.description=删除软件包是永久性的,无法撤消。
|
||||
|
@ -217,7 +217,6 @@ social=社交帳號綁定
|
||||
orgs=管理組織
|
||||
repos=儲存庫管理
|
||||
delete=刪除帳戶
|
||||
twofa=兩步驟驗證
|
||||
organization=組織管理
|
||||
|
||||
public_profile=公開訊息
|
||||
@ -600,13 +599,6 @@ settings.deploy_keys=管理部署金鑰
|
||||
settings.add_deploy_key=新增部署金鑰
|
||||
settings.title=標題
|
||||
settings.deploy_key_content=金鑰文本
|
||||
settings.branches=分支列表
|
||||
settings.protected_branch=分支保護
|
||||
settings.protected_branch_can_push=允許推送?
|
||||
settings.protected_branch_can_push_yes=你可以推送
|
||||
settings.protected_branch_can_push_no=你不能推送
|
||||
settings.add_protected_branch=啟用保護
|
||||
settings.delete_protected_branch=停用保護
|
||||
settings.edit_protected_branch=編輯
|
||||
|
||||
diff.browse_source=瀏覽代碼
|
||||
@ -966,7 +958,6 @@ error.not_signed_commit=未簽名的提交
|
||||
|
||||
[packages]
|
||||
filter.type=認證類型
|
||||
alpine.repository.branches=分支列表
|
||||
alpine.repository.repositories=儲存庫管理
|
||||
conan.details.repository=儲存庫
|
||||
owner.settings.cleanuprules.enabled=已啟用
|
||||
|
@ -176,7 +176,6 @@ network_error=網路錯誤
|
||||
app_desc=一套極易架設的 Git 服務
|
||||
install=安裝容易
|
||||
platform=跨平台
|
||||
platform_desc=Gitea 可以在所有能編譯 <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go 語言</a>的平台上執行: Windows, macOS, Linux, ARM 等等。挑一個您喜歡的吧!
|
||||
lightweight=輕量級
|
||||
lightweight_desc=一片便宜的 Raspberry Pi 就可以滿足 Gitea 的最低需求。節省您的機器資源!
|
||||
license=開放原始碼
|
||||
@ -583,10 +582,8 @@ applications=應用程式
|
||||
orgs=管理組織
|
||||
repos=儲存庫
|
||||
delete=刪除帳戶
|
||||
twofa=兩步驟驗證
|
||||
account_link=已連結帳號
|
||||
organization=組織
|
||||
webauthn=安全金鑰
|
||||
|
||||
public_profile=公開的個人資料
|
||||
password_username_disabled=非本地使用者不允許更改他們的帳號。詳細資訊請聯絡您的系統管理員。
|
||||
@ -784,21 +781,17 @@ revoke_key=撤銷
|
||||
revoke_oauth2_grant=撤銷存取權
|
||||
revoke_oauth2_grant_description=撤銷此第三方應用程式的存取權,此應用程式就無法再存取您的資料?您確定嗎?
|
||||
|
||||
twofa_desc=兩步驟驗證可以增強您的帳戶安全性。
|
||||
twofa_is_enrolled=您的帳戶已經<strong>啟用</strong>兩步驟驗證。
|
||||
twofa_not_enrolled=您的帳戶目前尚未啟用兩步驟驗證。
|
||||
twofa_disable=停用兩步驟驗證
|
||||
twofa_scratch_token_regenerate=重新產生備用驗證碼
|
||||
twofa_enroll=啟用兩步驟驗證
|
||||
twofa_disable_note=如有需要,您可以停用兩步驟驗證。
|
||||
twofa_disable_desc=關閉兩步驟驗證會使您的帳戶安全性降低,是否繼續?
|
||||
regenerate_scratch_token_desc=如果您遺失了備用驗證碼或已經使用它登入,您可以在此重新設定。
|
||||
twofa_disabled=兩步驟驗證已經被關閉。
|
||||
scan_this_image=使用您的授權應用程式來掃瞄圖片:
|
||||
or_enter_secret=或者輸入密碼: %s
|
||||
then_enter_passcode=然後輸入應用程式中顯示的驗證碼:
|
||||
passcode_invalid=無效的驗證碼,請重試。
|
||||
twofa_enrolled=您的帳戶已經啟用了兩步驟驗證。請將備用驗證碼 (%s) 保存到安全的地方,它只會顯示這麼一次!
|
||||
twofa_failed_get_secret=取得密鑰 (Secret) 失敗。
|
||||
|
||||
webauthn_desc=安全金鑰是包含加密密鑰的硬體設備,它們可以用於兩步驟驗證。安全金鑰必須支援 <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a> 標準。
|
||||
@ -920,9 +913,7 @@ author_search_tooltip=最多顯示 30 位使用者
|
||||
|
||||
|
||||
transfer.accept=同意轉移
|
||||
transfer.accept_desc=轉移到「%s」
|
||||
transfer.reject=拒絕轉移
|
||||
transfer.reject_desc=取消轉移到「%s」
|
||||
|
||||
desc.private=私有
|
||||
desc.public=公開
|
||||
@ -1046,7 +1037,6 @@ releases=版本發布
|
||||
tag=標籤
|
||||
released_this=發布了此版本
|
||||
tagged_this=標記了此標籤
|
||||
file.title=%s 於 %s
|
||||
file_raw=原始文件
|
||||
file_history=歷史記錄
|
||||
file_view_source=檢視原始碼
|
||||
@ -1056,7 +1046,6 @@ file_permalink=永久連結
|
||||
file_too_large=檔案太大,無法顯示。
|
||||
invisible_runes_line=`這一行有看不見的 Unicode 字元`
|
||||
ambiguous_runes_line=`這一行有易混淆的 Unicode 字元`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] 容易與 %[2]c [U+%04[2]X] 混淆`
|
||||
|
||||
escape_control_characters=Escape
|
||||
unescape_control_characters=Unescape
|
||||
@ -1594,9 +1583,7 @@ pulls.rebase_conflict_summary=錯誤訊息
|
||||
pulls.unrelated_histories=合併失敗:要合併的 HEAD 和基底分支沒有共同的歷史。 提示:請嘗試不同的策略
|
||||
pulls.merge_out_of_date=合併失敗:產生合併時,基底已被更新。提示:再試一次。
|
||||
pulls.head_out_of_date=合併失敗:產生合併時,head 已被更新。提示:再試一次。
|
||||
pulls.push_rejected=合併失敗:此推送被拒絕。請檢查此儲存庫的 Git Hook。
|
||||
pulls.push_rejected_summary=完整的拒絕訊息
|
||||
pulls.push_rejected_no_message=合併失敗:此推送被拒絕但未提供其他資訊。<br>請檢查此儲存庫的 Git Hook。
|
||||
pulls.open_unmerged_pull_exists=`您不能重新開放,因為目前有相同的合併請求 (#%d) 正在進行中。`
|
||||
pulls.status_checking=還在進行一些檢查
|
||||
pulls.status_checks_success=已通過所有檢查
|
||||
@ -1640,7 +1627,6 @@ milestones.update_ago=已更新 %s
|
||||
milestones.no_due_date=暫無截止日期
|
||||
milestones.open=開啟
|
||||
milestones.close=關閉
|
||||
milestones.completeness=%d%% 完成
|
||||
milestones.create=建立里程碑
|
||||
milestones.title=標題
|
||||
milestones.desc=描述
|
||||
@ -1819,7 +1805,6 @@ settings.pulls.default_delete_branch_after_merge=預設在合併後刪除合併
|
||||
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=管理員設定
|
||||
@ -2027,13 +2012,8 @@ settings.deploy_key_deletion=刪除部署金鑰
|
||||
settings.deploy_key_deletion_desc=移除部署金鑰將拒絕它存取此儲存庫。是否繼續?
|
||||
settings.deploy_key_deletion_success=部署金鑰已移除。
|
||||
settings.branches=分支
|
||||
settings.protected_branch=分支保護
|
||||
settings.protected_branch.save_rule=儲存規則
|
||||
settings.protected_branch.delete_rule=刪除規則
|
||||
settings.protected_branch_can_push=允許推送?
|
||||
settings.protected_branch_can_push_yes=你可以推送
|
||||
settings.protected_branch_can_push_no=你不能推送
|
||||
settings.branch_protection=<b>%s</b> 的分支保護
|
||||
settings.protect_this_branch=啟用分支保護
|
||||
settings.protect_this_branch_desc=防止刪除分支,並限制 Git 推送與合併到分支。
|
||||
settings.protect_disable_push=停用推送
|
||||
@ -2043,7 +2023,6 @@ settings.protect_enable_push_desc=任何擁有寫入權限的使用者將可推
|
||||
settings.protect_enable_merge=啟用合併
|
||||
settings.protect_enable_merge_desc=任何有寫入權限的人都可將合併請求合併到此分支
|
||||
settings.protect_check_status_contexts=啟用狀態檢查
|
||||
settings.protect_check_status_contexts_desc=合併前必須先通過狀態檢查。選擇合併前必須通過的檢查。啟用時,必須先將提交推送到另一個分支,通過狀態檢查後再合併或直接推送到符合規則的分支。如果未選擇任何項目,最一個提交必將成功通過狀態檢查。
|
||||
settings.protect_check_status_contexts_list=此儲存庫一週內曾進行過狀態檢查
|
||||
settings.protect_required_approvals=需要的核可數量:
|
||||
settings.protect_required_approvals_desc=只有在獲得足夠數量的核可後才能進行合併。
|
||||
@ -2056,9 +2035,6 @@ settings.protect_protected_file_patterns=受保護的檔案模式 (以分號區
|
||||
settings.protect_protected_file_patterns_desc=即便使用者有權限新增、修改、刪除此分支的檔案,仍不允許直接修改受保護的檔案。可以用半形分號「;」分隔多個模式。請於 <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> 文件查看模式格式。範例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
|
||||
settings.protect_unprotected_file_patterns=未受保護的檔案模式 (以分號區隔「;」):
|
||||
settings.protect_unprotected_file_patterns_desc=當使用者有寫入權限時,可繞過推送限制,直接修改未受保護的檔案。可以用半形分號「;」分隔多個模式。請於 <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> 文件查看模式格式。範例: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>。
|
||||
settings.add_protected_branch=啟用保護
|
||||
settings.delete_protected_branch=停用保護
|
||||
settings.protected_branch_deletion=停用分支保護
|
||||
settings.protected_branch_deletion_desc=停用分支保護將允許有寫入權限的使用者推送至該分支,是否繼續?
|
||||
settings.block_rejected_reviews=有退回的審核時阻擋合併
|
||||
settings.block_rejected_reviews_desc=如果官方審核人員提出變更請求,即使有足夠的核可也不允許進行合併。
|
||||
@ -2269,7 +2245,6 @@ tag.create_success=已建立標籤「%s」。
|
||||
|
||||
topic.manage_topics=管理主題
|
||||
topic.done=完成
|
||||
topic.count_prompt=您最多能選擇 25 個主題
|
||||
|
||||
find_file.go_to_file=移至檔案
|
||||
find_file.no_matching=找不到符合的檔案
|
||||
@ -2841,14 +2816,11 @@ monitor.next=下次執行時間
|
||||
monitor.previous=上次執行時間
|
||||
monitor.execute_times=執行次數
|
||||
monitor.process=執行中的處理程序
|
||||
monitor.stacktrace=堆疊追蹤
|
||||
monitor.desc=描述
|
||||
monitor.start=開始時間
|
||||
monitor.execute_time=已執行時間
|
||||
monitor.last_execution_result=結果
|
||||
monitor.process.cancel=結束處理程序
|
||||
monitor.process.cancel_desc=結束處理程序可能造成資料遺失
|
||||
monitor.process.cancel_notices=結束: <strong>%s</strong>?
|
||||
monitor.process.children=子程序
|
||||
|
||||
monitor.queues=佇列
|
||||
@ -2936,7 +2908,6 @@ raw_minutes=分鐘
|
||||
|
||||
[dropzone]
|
||||
default_message=拖放檔案或是點擊此處上傳。
|
||||
invalid_input_type=您無法上傳此類型的檔案
|
||||
file_too_big=檔案大小({{filesize}} MB) 超過了最大允許大小({{maxFilesize}} MB)
|
||||
remove_file=移除文件
|
||||
|
||||
|
@ -76,6 +76,7 @@ import (
|
||||
"code.gitea.io/gitea/models/organization"
|
||||
"code.gitea.io/gitea/models/perm"
|
||||
access_model "code.gitea.io/gitea/models/perm/access"
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
"code.gitea.io/gitea/models/unit"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
@ -89,6 +90,7 @@ import (
|
||||
"code.gitea.io/gitea/routers/api/v1/notify"
|
||||
"code.gitea.io/gitea/routers/api/v1/org"
|
||||
"code.gitea.io/gitea/routers/api/v1/packages"
|
||||
"code.gitea.io/gitea/routers/api/v1/project"
|
||||
"code.gitea.io/gitea/routers/api/v1/repo"
|
||||
"code.gitea.io/gitea/routers/api/v1/settings"
|
||||
"code.gitea.io/gitea/routers/api/v1/user"
|
||||
@ -134,6 +136,114 @@ func sudo() func(ctx *context.APIContext) {
|
||||
}
|
||||
}
|
||||
|
||||
func projectIDAssignmentAPI() func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
if ctx.PathParam(":project_id") == "" {
|
||||
return
|
||||
}
|
||||
|
||||
projectAssignment(ctx, ctx.PathParamInt64(":project_id"))
|
||||
}
|
||||
}
|
||||
|
||||
func projectAssignment(ctx *context.APIContext, projectID int64) {
|
||||
var (
|
||||
owner *user_model.User
|
||||
err error
|
||||
)
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, projectID)
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusNotFound, "GetProjectByID", err)
|
||||
return
|
||||
}
|
||||
|
||||
if project.Type == project_model.TypeIndividual || project.Type == project_model.TypeOrganization {
|
||||
if err := project.LoadOwner(ctx); err != nil {
|
||||
ctx.Error(http.StatusNotFound, "LoadOwner", err)
|
||||
return
|
||||
}
|
||||
|
||||
if ctx.IsSigned && ctx.Doer.LowerName == strings.ToLower(project.Owner.Name) {
|
||||
owner = ctx.Doer
|
||||
} else {
|
||||
owner = project.Owner
|
||||
}
|
||||
|
||||
if project.Type == project_model.TypeOrganization {
|
||||
ctx.Org.Organization = (*organization.Organization)(owner)
|
||||
}
|
||||
} else {
|
||||
if err := project.LoadRepo(ctx); err != nil {
|
||||
ctx.Error(http.StatusNotFound, "LoadRepo", err)
|
||||
}
|
||||
|
||||
repo := project.Repo
|
||||
|
||||
if err := repo.LoadOwner(ctx); err != nil {
|
||||
ctx.Error(http.StatusNotFound, "LoadOwner", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Repo.Repository = repo
|
||||
owner = repo.Owner
|
||||
|
||||
if ctx.Doer != nil && ctx.Doer.ID == user_model.ActionsUserID {
|
||||
taskID := ctx.Data["ActionsTaskID"].(int64)
|
||||
task, err := actions_model.GetTaskByID(ctx, taskID)
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "actions_model.GetTaskByID", err)
|
||||
return
|
||||
}
|
||||
if task.RepoID != repo.ID {
|
||||
ctx.NotFound()
|
||||
return
|
||||
}
|
||||
|
||||
if task.IsForkPullRequest {
|
||||
ctx.Repo.Permission.AccessMode = perm.AccessModeRead
|
||||
} else {
|
||||
ctx.Repo.Permission.AccessMode = perm.AccessModeWrite
|
||||
}
|
||||
|
||||
if err := ctx.Repo.Repository.LoadUnits(ctx); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "LoadUnits", err)
|
||||
return
|
||||
}
|
||||
ctx.Repo.Permission.SetUnitsWithDefaultAccessMode(ctx.Repo.Repository.Units, ctx.Repo.Permission.AccessMode)
|
||||
} else {
|
||||
ctx.Repo.Permission, err = access_model.GetUserRepoPermission(ctx, repo, ctx.Doer)
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "GetUserRepoPermission", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if !ctx.Repo.Permission.HasAnyUnitAccess() {
|
||||
ctx.NotFound()
|
||||
return
|
||||
}
|
||||
}
|
||||
ctx.ContextUser = owner
|
||||
}
|
||||
|
||||
func columnAssignment() func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
if ctx.PathParam("column_id") == "" {
|
||||
return
|
||||
}
|
||||
|
||||
column, err := project_model.GetColumn(ctx, ctx.PathParamInt64(":column_id"))
|
||||
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusNotFound, "GetColumn", err)
|
||||
}
|
||||
|
||||
projectAssignment(ctx, column.ProjectID)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func repoAssignment() func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
userName := ctx.PathParam("username")
|
||||
@ -164,9 +274,14 @@ func repoAssignment() func(ctx *context.APIContext) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
ctx.Repo.Owner = owner
|
||||
ctx.ContextUser = owner
|
||||
|
||||
if owner.IsOrganization() {
|
||||
ctx.Org.Organization = (*organization.Organization)(owner)
|
||||
}
|
||||
|
||||
// Get repository.
|
||||
repo, err := repo_model.GetRepositoryByName(ctx, owner.ID, repoName)
|
||||
if err != nil {
|
||||
@ -368,6 +483,7 @@ func reqSelfOrAdmin() func(ctx *context.APIContext) {
|
||||
ctx.Error(http.StatusForbidden, "reqSelfOrAdmin", "doer should be the site admin or be same as the contextUser")
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -384,6 +500,9 @@ func reqAdmin() func(ctx *context.APIContext) {
|
||||
// reqRepoWriter user should have a permission to write to a repo, or be a site admin
|
||||
func reqRepoWriter(unitTypes ...unit.Type) func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
if ctx.Repo.Repository == nil {
|
||||
return
|
||||
}
|
||||
if !ctx.IsUserRepoWriter(unitTypes) && !ctx.IsUserRepoAdmin() && !ctx.IsUserSiteAdmin() {
|
||||
ctx.Error(http.StatusForbidden, "reqRepoWriter", "user should have a permission to write to a repo")
|
||||
return
|
||||
@ -403,6 +522,10 @@ func reqRepoBranchWriter(ctx *context.APIContext) {
|
||||
// reqRepoReader user should have specific read permission or be a repo admin or a site admin
|
||||
func reqRepoReader(unitType unit.Type) func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
if ctx.Repo.Repository == nil {
|
||||
return
|
||||
}
|
||||
|
||||
if !ctx.Repo.CanRead(unitType) && !ctx.IsUserRepoAdmin() && !ctx.IsUserSiteAdmin() {
|
||||
ctx.Error(http.StatusForbidden, "reqRepoReader", "user should have specific read permission or be a repo admin or a site admin")
|
||||
return
|
||||
@ -539,6 +662,15 @@ func reqWebhooksEnabled() func(ctx *context.APIContext) {
|
||||
}
|
||||
}
|
||||
|
||||
func reqProjectOwner() func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
if ctx.Repo.Repository == nil && ctx.ContextUser.IsIndividual() && ctx.ContextUser != ctx.Doer {
|
||||
ctx.Error(http.StatusForbidden, "", "must be the project owner")
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func orgAssignment(args ...bool) func(ctx *context.APIContext) {
|
||||
var (
|
||||
assignOrg bool
|
||||
@ -555,22 +687,7 @@ func orgAssignment(args ...bool) func(ctx *context.APIContext) {
|
||||
|
||||
var err error
|
||||
if assignOrg {
|
||||
ctx.Org.Organization, err = organization.GetOrgByName(ctx, ctx.PathParam(":org"))
|
||||
if err != nil {
|
||||
if organization.IsErrOrgNotExist(err) {
|
||||
redirectUserID, err := user_model.LookupUserRedirect(ctx, ctx.PathParam(":org"))
|
||||
if err == nil {
|
||||
context.RedirectToUser(ctx.Base, ctx.PathParam(":org"), redirectUserID)
|
||||
} else if user_model.IsErrUserRedirectNotExist(err) {
|
||||
ctx.NotFound("GetOrgByName", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "LookupUserRedirect", err)
|
||||
}
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "GetOrgByName", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
getOrganizationByParams(ctx)
|
||||
ctx.ContextUser = ctx.Org.Organization.AsUser()
|
||||
}
|
||||
|
||||
@ -588,6 +705,50 @@ func orgAssignment(args ...bool) func(ctx *context.APIContext) {
|
||||
}
|
||||
}
|
||||
|
||||
func getOrganizationByParams(ctx *context.APIContext) {
|
||||
orgName := ctx.PathParam(":org")
|
||||
|
||||
var err error
|
||||
|
||||
ctx.Org.Organization, err = organization.GetOrgByName(ctx, orgName)
|
||||
if err != nil {
|
||||
if organization.IsErrOrgNotExist(err) {
|
||||
redirectUserID, err := user_model.LookupUserRedirect(ctx, ctx.PathParam(":org"))
|
||||
if err == nil {
|
||||
context.RedirectToUser(ctx.Base, ctx.PathParam(":org"), redirectUserID)
|
||||
} else if user_model.IsErrUserRedirectNotExist(err) {
|
||||
ctx.NotFound("GetOrgByName", err)
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "LookupUserRedirect", err)
|
||||
}
|
||||
} else {
|
||||
ctx.Error(http.StatusInternalServerError, "GetOrgByName", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func mustEnableRepoProjects(ctx *context.APIContext) {
|
||||
if unit.TypeProjects.UnitGlobalDisabled() {
|
||||
ctx.NotFound("EnableRepoProjects", nil)
|
||||
return
|
||||
}
|
||||
|
||||
if ctx.Repo.Repository != nil {
|
||||
projectsUnit := ctx.Repo.Repository.MustGetUnit(ctx, unit.TypeProjects)
|
||||
if !ctx.Repo.CanRead(unit.TypeProjects) || !projectsUnit.ProjectsConfig().IsProjectsAllowed(repo_model.ProjectsModeRepo) {
|
||||
ctx.NotFound("MustEnableRepoProjects", nil)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func getAuthenticatedUser(ctx *context.APIContext) {
|
||||
if ctx.IsSigned {
|
||||
ctx.ContextUser = ctx.Doer
|
||||
}
|
||||
}
|
||||
|
||||
func mustEnableIssues(ctx *context.APIContext) {
|
||||
if !ctx.Repo.CanRead(unit.TypeIssues) {
|
||||
if log.IsTrace() {
|
||||
@ -668,6 +829,10 @@ func mustEnableWiki(ctx *context.APIContext) {
|
||||
}
|
||||
|
||||
func mustNotBeArchived(ctx *context.APIContext) {
|
||||
if ctx.Repo.Repository == nil {
|
||||
return
|
||||
}
|
||||
|
||||
if ctx.Repo.Repository.IsArchived {
|
||||
ctx.Error(http.StatusLocked, "RepoArchived", fmt.Errorf("%s is archived", ctx.Repo.Repository.LogString()))
|
||||
return
|
||||
@ -811,6 +976,28 @@ func checkDeprecatedAuthMethods(ctx *context.APIContext) {
|
||||
}
|
||||
}
|
||||
|
||||
func reqUnitAccess(unitType unit.Type, accessMode perm.AccessMode, ignoreGlobal bool) func(ctx *context.APIContext) {
|
||||
return func(ctx *context.APIContext) {
|
||||
// only check global disabled units when ignoreGlobal is false
|
||||
if !ignoreGlobal && unitType.UnitGlobalDisabled() {
|
||||
ctx.NotFound("Repo unit is is disabled: "+unitType.LogString(), nil)
|
||||
return
|
||||
}
|
||||
|
||||
if ctx.ContextUser == nil {
|
||||
ctx.NotFound("ContextUser is nil", nil)
|
||||
return
|
||||
}
|
||||
|
||||
if ctx.ContextUser.IsOrganization() {
|
||||
if ctx.Org.Organization.UnitPermission(ctx, ctx.Doer, unitType) < accessMode {
|
||||
ctx.NotFound("ContextUser is org but doer has no access to unit", nil)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Routes registers all v1 APIs routes to web application.
|
||||
func Routes() *web.Router {
|
||||
m := web.NewRouter()
|
||||
@ -942,6 +1129,52 @@ func Routes() *web.Router {
|
||||
}, context.UserAssignmentAPI(), individualPermsChecker)
|
||||
}, tokenRequiresScopes(auth_model.AccessTokenScopeCategoryUser))
|
||||
|
||||
// Projects
|
||||
m.Group("/orgs/{org}/projects", func() {
|
||||
m.Get("", reqUnitAccess(unit.TypeProjects, perm.AccessModeRead, true), org.GetProjects)
|
||||
m.Post("", reqUnitAccess(unit.TypeProjects, perm.AccessModeWrite, true), bind(api.CreateProjectOption{}), org.CreateProject)
|
||||
}, tokenRequiresScopes(auth_model.AccessTokenScopeCategoryOrganization), orgAssignment(true))
|
||||
|
||||
m.Group("/projects", func() {
|
||||
m.Group("/{project_id}", func() {
|
||||
m.Get("", project.GetProject)
|
||||
m.Get("/columns", project.GetProjectColumns)
|
||||
|
||||
m.Group("", func() {
|
||||
m.Patch("", bind(api.EditProjectOption{}), project.EditProject)
|
||||
m.Delete("", project.DeleteProject)
|
||||
m.Post("/{action:open|close}", project.ChangeProjectStatus)
|
||||
m.Group("/columns", func() {
|
||||
m.Post("", bind(api.CreateProjectColumnOption{}), project.AddColumnToProject)
|
||||
m.Patch("/move", project.MoveColumns)
|
||||
m.Patch("/{column_id}/move", project.MoveIssues)
|
||||
})
|
||||
}, reqRepoWriter(unit.TypeProjects), mustNotBeArchived, reqUnitAccess(unit.TypeProjects, perm.AccessModeWrite, true), reqProjectOwner())
|
||||
})
|
||||
|
||||
m.Group("/columns/{column_id}", func() {
|
||||
m.Get("", project.GetProjectColumn)
|
||||
|
||||
m.Group("", func() {
|
||||
m.Patch("", bind(api.EditProjectColumnOption{}), project.EditProjectColumn)
|
||||
m.Delete("", project.DeleteProjectColumn)
|
||||
m.Put("/default", project.SetDefaultProjectColumn)
|
||||
}, reqRepoWriter(unit.TypeProjects), mustNotBeArchived, reqUnitAccess(unit.TypeProjects, perm.AccessModeWrite, true), reqProjectOwner())
|
||||
})
|
||||
}, tokenRequiresScopes(auth_model.AccessTokenScopeCategoryOrganization, auth_model.AccessTokenScopeCategoryRepository), reqToken(), projectIDAssignmentAPI(), columnAssignment(), individualPermsChecker, reqRepoReader(unit.TypeProjects), mustEnableRepoProjects, reqUnitAccess(unit.TypeProjects, perm.AccessModeRead, true))
|
||||
|
||||
m.Group("/repos/{username}/{reponame}/projects", func() {
|
||||
m.Get("", repo.GetProjects)
|
||||
m.Group("", func() {
|
||||
m.Post("", bind(api.CreateProjectOption{}), repo.CreateProject)
|
||||
m.Put("/{type:issues|pulls}", reqRepoWriter(unit.TypeIssues, unit.TypePullRequests), repo.UpdateIssueProject)
|
||||
}, reqRepoWriter(unit.TypeProjects), mustNotBeArchived)
|
||||
}, tokenRequiresScopes(auth_model.AccessTokenScopeCategoryRepository), reqToken(), repoAssignment(), individualPermsChecker, reqRepoReader(unit.TypeProjects), mustEnableRepoProjects)
|
||||
|
||||
m.Post("/user/projects", tokenRequiresScopes(auth_model.AccessTokenScopeCategoryUser), reqToken(), getAuthenticatedUser, reqSelfOrAdmin(), bind(api.CreateProjectOption{}), user.CreateProject)
|
||||
|
||||
m.Get("/users/{username}/projects", tokenRequiresScopes(auth_model.AccessTokenScopeCategoryUser), reqToken(), context.UserAssignmentAPI(), individualPermsChecker, user.GetProjects)
|
||||
|
||||
// Users (requires user scope)
|
||||
m.Group("/users", func() {
|
||||
m.Group("/{username}", func() {
|
||||
@ -1476,6 +1709,7 @@ func Routes() *web.Router {
|
||||
m.Post("/orgs", tokenRequiresScopes(auth_model.AccessTokenScopeCategoryOrganization), reqToken(), bind(api.CreateOrgOption{}), org.Create)
|
||||
m.Get("/orgs", org.GetAll, tokenRequiresScopes(auth_model.AccessTokenScopeCategoryOrganization))
|
||||
m.Group("/orgs/{org}", func() {
|
||||
|
||||
m.Combo("").Get(org.Get).
|
||||
Patch(reqToken(), reqOrgOwnership(), bind(api.EditOrgOption{}), org.Edit).
|
||||
Delete(reqToken(), reqOrgOwnership(), org.Delete)
|
||||
|
127
routers/api/v1/org/project.go
Normal file
127
routers/api/v1/org/project.go
Normal file
@ -0,0 +1,127 @@
|
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package org
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
"code.gitea.io/gitea/modules/optional"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/convert"
|
||||
)
|
||||
|
||||
// CreateProject creates a new project for organization
|
||||
func CreateProject(ctx *context.APIContext) {
|
||||
// swagger:operation POST /orgs/{org}/projects project orgCreateProject
|
||||
// ---
|
||||
// summary: Create a new project
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: organization name that the project belongs to
|
||||
// required: true
|
||||
// type: string
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: Project data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/CreateProjectOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// "$ref": "#/responses/Project"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "412":
|
||||
// "$ref": "#/responses/error"
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := web.GetForm(ctx).(*api.CreateProjectOption)
|
||||
|
||||
project := &project_model.Project{
|
||||
Title: form.Title,
|
||||
Description: form.Content,
|
||||
CreatorID: ctx.Doer.ID,
|
||||
TemplateType: project_model.TemplateType(form.TemplateType),
|
||||
CardType: project_model.CardType(form.CardType),
|
||||
Type: project_model.TypeOrganization,
|
||||
OwnerID: ctx.ContextUser.ID,
|
||||
}
|
||||
|
||||
if err := project_model.NewProject(ctx, project); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "NewProject", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusCreated, convert.ToProject(ctx, project))
|
||||
}
|
||||
|
||||
// GetProjects returns a list of projects that belong to an organization
|
||||
func GetProjects(ctx *context.APIContext) {
|
||||
// swagger:operation GET /orgs/{org}/projects project orgGetProjects
|
||||
// ---
|
||||
// summary: Get a list of projects
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: org
|
||||
// in: path
|
||||
// description: organization name that the project belongs to
|
||||
// required: true
|
||||
// type: string
|
||||
// - 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/ProjectList"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
listOptions := utils.GetListOptions(ctx)
|
||||
sortType := ctx.FormTrim("sort")
|
||||
|
||||
isShowClosed := strings.ToLower(ctx.FormTrim("state")) == "closed"
|
||||
|
||||
searchOptions := project_model.SearchOptions{
|
||||
ListOptions: listOptions,
|
||||
IsClosed: optional.Some(isShowClosed),
|
||||
OrderBy: project_model.GetSearchOrderByBySortType(sortType),
|
||||
OwnerID: ctx.ContextUser.ID,
|
||||
Type: project_model.TypeOrganization,
|
||||
}
|
||||
|
||||
projects, maxResults, err := db.FindAndCount[project_model.Project](ctx, &searchOptions)
|
||||
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "db.FindAndCount[project_model.Project]", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
|
||||
ctx.SetTotalCountHeader(maxResults)
|
||||
ctx.JSON(http.StatusOK, convert.ToProjects(ctx, projects))
|
||||
}
|
208
routers/api/v1/project/project.go
Normal file
208
routers/api/v1/project/project.go
Normal file
@ -0,0 +1,208 @@
|
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package project
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/convert"
|
||||
)
|
||||
|
||||
// GetProject returns a project
|
||||
func GetProject(ctx *context.APIContext) {
|
||||
// swagger:operation GET /projects/{project_id} project projectGetProject
|
||||
// ---
|
||||
// summary: Get a project
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/Project"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, ctx.PathParamInt64(":project_id"))
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
columns, err := project.GetColumns(ctx)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetProjectColumns", err)
|
||||
return
|
||||
}
|
||||
|
||||
issuesMap, err := issues_model.LoadIssuesFromColumnList(ctx, columns)
|
||||
if err != nil {
|
||||
ctx.ServerError("LoadIssuesOfColumns", err)
|
||||
return
|
||||
}
|
||||
|
||||
issues := issues_model.IssueList{}
|
||||
|
||||
for _, column := range columns {
|
||||
if empty := issuesMap[column.ID]; len(empty) == 0 {
|
||||
continue
|
||||
}
|
||||
issues = append(issues, issuesMap[column.ID]...)
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, map[string]any{
|
||||
"project": convert.ToProject(ctx, project),
|
||||
"columns": convert.ToColumns(ctx, columns),
|
||||
"issues": convert.ToAPIIssueList(ctx, ctx.Doer, issues),
|
||||
})
|
||||
}
|
||||
|
||||
// EditProject edits a project
|
||||
func EditProject(ctx *context.APIContext) {
|
||||
// swagger:operation PATCH /projects/{project_id} project projectEditProject
|
||||
// ---
|
||||
// summary: Edit a project
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/Project"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "412":
|
||||
// "$ref": "#/responses/error"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := web.GetForm(ctx).(*api.EditProjectOption)
|
||||
projectID := ctx.PathParamInt64(":project_id")
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, projectID)
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
project.Title = form.Title
|
||||
project.Description = form.Content
|
||||
project.CardType = project_model.CardType(form.CardType)
|
||||
|
||||
if err = project_model.UpdateProject(ctx, project); err != nil {
|
||||
ctx.ServerError("UpdateProjects", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToProject(ctx, project))
|
||||
}
|
||||
|
||||
// DeleteProject deletes a project
|
||||
func DeleteProject(ctx *context.APIContext) {
|
||||
// swagger:operation DELETE /projects/{project_id} project projectDeleteProject
|
||||
// ---
|
||||
// summary: Delete a project
|
||||
// description: Deletes a specific project for a given user and repository.
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "204":
|
||||
// "$ref": "#/responses/empty"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
err := project_model.DeleteProjectByID(ctx, ctx.PathParamInt64(":project_id"))
|
||||
|
||||
if err != nil {
|
||||
ctx.ServerError("DeleteProjectByID", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// ChangeProjectStatus updates the status of a project between "open" and "close"
|
||||
func ChangeProjectStatus(ctx *context.APIContext) {
|
||||
// swagger:operation PATCH /projects/{project_id}/{action} project projectProjectChangeProjectStatus
|
||||
// ---
|
||||
// summary: Change the status of a project
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// - name: action
|
||||
// in: path
|
||||
// description: action to perform (open or close)
|
||||
// required: true
|
||||
// type: string
|
||||
// enum:
|
||||
// - open
|
||||
// - close
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/Project"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
var toClose bool
|
||||
switch ctx.PathParam(":action") {
|
||||
case "open":
|
||||
toClose = false
|
||||
case "close":
|
||||
toClose = true
|
||||
default:
|
||||
ctx.NotFound("ChangeProjectStatus", nil)
|
||||
return
|
||||
}
|
||||
id := ctx.PathParamInt64(":project_id")
|
||||
|
||||
if err := project_model.ChangeProjectStatusByRepoIDAndID(ctx, 0, id, toClose); err != nil {
|
||||
ctx.NotFoundOrServerError("ChangeProjectStatusByRepoIDAndID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, id)
|
||||
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToProject(ctx, project))
|
||||
}
|
425
routers/api/v1/project/project_column.go
Normal file
425
routers/api/v1/project/project_column.go
Normal file
@ -0,0 +1,425 @@
|
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package project
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/convert"
|
||||
)
|
||||
|
||||
// GetProjectColumn returns a project column
|
||||
func GetProjectColumn(ctx *context.APIContext) {
|
||||
// swagger:operation GET /projects/columns/{column_id} project projectGetProjectColumn
|
||||
// ---
|
||||
// summary: Get a project column
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: column_id
|
||||
// in: path
|
||||
// description: column ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/Column"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
column, err := project_model.GetColumn(ctx, ctx.PathParamInt64(":column_id"))
|
||||
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectColumn", project_model.IsErrProjectColumnNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToColumn(ctx, column))
|
||||
}
|
||||
|
||||
// GetProjectColumns returns a list of project columns
|
||||
func GetProjectColumns(ctx *context.APIContext) {
|
||||
// swagger:operation GET /projects/{project_id}/columns project projectGetProjectColumns
|
||||
// ---
|
||||
// summary: Get a list of project columns
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/ColumnList"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, ctx.PathParamInt64(":project_id"))
|
||||
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
columns, err := project.GetColumns(ctx)
|
||||
|
||||
if err != nil {
|
||||
ctx.ServerError("GetColumnsByProjectID", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToColumns(ctx, columns))
|
||||
}
|
||||
|
||||
// AddColumnToProject adds a new column to a project
|
||||
func AddColumnToProject(ctx *context.APIContext) {
|
||||
// swagger:operation POST /projects/{project_id}/columns project projectAddColumnToProject
|
||||
// ---
|
||||
// summary: Add a column to a project
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: column data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/CreateProjectColumnOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// "$ref": "#/responses/Column"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "412":
|
||||
// "$ref": "#/responses/error"
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
var project *project_model.Project
|
||||
|
||||
projectID := ctx.PathParamInt64(":project_id")
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, projectID)
|
||||
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
form := web.GetForm(ctx).(*api.CreateProjectColumnOption)
|
||||
column := &project_model.Column{
|
||||
ProjectID: project.ID,
|
||||
Title: form.Title,
|
||||
Sorting: form.Sorting,
|
||||
Color: form.Color,
|
||||
CreatorID: ctx.Doer.ID,
|
||||
}
|
||||
if err := project_model.NewColumn(ctx, column); err != nil {
|
||||
ctx.ServerError("NewProjectColumn", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusCreated, convert.ToColumn(ctx, column))
|
||||
}
|
||||
|
||||
// EditProjectColumn edits a project column
|
||||
func EditProjectColumn(ctx *context.APIContext) {
|
||||
// swagger:operation PATCH /projects/columns/{column_id} project projectEditProjectColumn
|
||||
// ---
|
||||
// summary: Edit a project column
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: column_id
|
||||
// in: path
|
||||
// description: column ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: column data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/EditProjectColumnOption"
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/Column"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "412":
|
||||
// "$ref": "#/responses/error"
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := web.GetForm(ctx).(*api.EditProjectColumnOption)
|
||||
column, err := project_model.GetColumn(ctx, ctx.PathParamInt64(":column_id"))
|
||||
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectColumn", project_model.IsErrProjectColumnNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
if form.Title != "" {
|
||||
column.Title = form.Title
|
||||
}
|
||||
column.Color = form.Color
|
||||
if form.Sorting != 0 {
|
||||
column.Sorting = form.Sorting
|
||||
}
|
||||
|
||||
if err := project_model.UpdateColumn(ctx, column); err != nil {
|
||||
ctx.ServerError("UpdateProjectColumn", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToColumn(ctx, column))
|
||||
}
|
||||
|
||||
// DeleteProjectColumn deletes a project column
|
||||
func DeleteProjectColumn(ctx *context.APIContext) {
|
||||
// swagger:operation DELETE /projects/columns/{column_id} project projectDeleteProjectColumn
|
||||
// ---
|
||||
// summary: Delete a project column
|
||||
// parameters:
|
||||
// - name: column_id
|
||||
// in: path
|
||||
// description: column ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "204":
|
||||
// "$ref": "#/responses/empty"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
if err := project_model.DeleteColumnByID(ctx, ctx.PathParamInt64(":column_id")); err != nil {
|
||||
ctx.ServerError("DeleteProjectColumnByID", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// SetDefaultProjectColumn set default column for issues/pulls
|
||||
func SetDefaultProjectColumn(ctx *context.APIContext) {
|
||||
// swagger:operation PUT /projects/columns/{column_id}/default project projectSetDefaultProjectColumn
|
||||
// ---
|
||||
// summary: Set default column for issues/pulls
|
||||
// parameters:
|
||||
// - name: column_id
|
||||
// in: path
|
||||
// description: column ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// responses:
|
||||
// "204":
|
||||
// "$ref": "#/responses/empty"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
column, err := project_model.GetColumn(ctx, ctx.PathParamInt64(":column_id"))
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectColumn", project_model.IsErrProjectColumnNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := project_model.SetDefaultColumn(ctx, column.ProjectID, column.ID); err != nil {
|
||||
ctx.ServerError("SetDefaultColumn", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
// MoveColumns moves or keeps columns in a project and sorts them inside that project
|
||||
func MoveColumns(ctx *context.APIContext) {
|
||||
// swagger:operation PATCH /projects/{project_id}/columns/move project projectMoveColumns
|
||||
// ---
|
||||
// summary: Move columns in a project
|
||||
// consumes:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: columns data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/MovedColumnsOption"
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/ColumnList"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, ctx.PathParamInt64(":project_id"))
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
form := &api.MovedColumnsOption{}
|
||||
if err = json.NewDecoder(ctx.Req.Body).Decode(&form); err != nil {
|
||||
ctx.ServerError("DecodeMovedColumnsForm", err)
|
||||
return
|
||||
}
|
||||
|
||||
sortedColumnIDs := make(map[int64]int64)
|
||||
for _, column := range form.Columns {
|
||||
sortedColumnIDs[column.Sorting] = column.ColumnID
|
||||
}
|
||||
|
||||
if err = project_model.MoveColumnsOnProject(ctx, project, sortedColumnIDs); err != nil {
|
||||
ctx.ServerError("MoveColumnsOnProject", err)
|
||||
return
|
||||
}
|
||||
|
||||
columns, err := project.GetColumns(ctx)
|
||||
|
||||
if err != nil {
|
||||
ctx.ServerError("GetColumns", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToColumns(ctx, columns))
|
||||
}
|
||||
|
||||
// MoveIssues moves or keeps issues in a column and sorts them inside that column
|
||||
func MoveIssues(ctx *context.APIContext) {
|
||||
// swagger:operation PATCH /projects/{project_id}/columns/{column_id}/move project projectMoveIssues
|
||||
// ---
|
||||
// summary: Move issues in a column
|
||||
// consumes:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: project_id
|
||||
// in: path
|
||||
// description: project ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// - name: column_id
|
||||
// in: path
|
||||
// description: column ID
|
||||
// required: true
|
||||
// type: integer
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: issues data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/MovedIssuesOption"
|
||||
// responses:
|
||||
// "200":
|
||||
// "$ref": "#/responses/IssueList"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
project, err := project_model.GetProjectByID(ctx, ctx.PathParamInt64(":project_id"))
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
column, err := project_model.GetColumn(ctx, ctx.PathParamInt64(":column_id"))
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetProjectColumn", project_model.IsErrProjectColumnNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
form := &api.MovedIssuesOption{}
|
||||
if err = json.NewDecoder(ctx.Req.Body).Decode(&form); err != nil {
|
||||
ctx.ServerError("DecodeMovedIssuesForm", err)
|
||||
return
|
||||
}
|
||||
|
||||
issueIDs := make([]int64, 0, len(form.Issues))
|
||||
sortedIssueIDs := make(map[int64]int64)
|
||||
for _, issue := range form.Issues {
|
||||
issueIDs = append(issueIDs, issue.IssueID)
|
||||
sortedIssueIDs[issue.Sorting] = issue.IssueID
|
||||
}
|
||||
movedIssues, err := issues_model.GetIssuesByIDs(ctx, issueIDs)
|
||||
if err != nil {
|
||||
ctx.NotFoundOrServerError("GetIssueByID", issues_model.IsErrIssueNotExist, err)
|
||||
return
|
||||
}
|
||||
|
||||
if len(movedIssues) != len(form.Issues) {
|
||||
ctx.ServerError("some issues do not exist", errors.New("some issues do not exist"))
|
||||
return
|
||||
}
|
||||
|
||||
if _, err = movedIssues.LoadRepositories(ctx); err != nil {
|
||||
ctx.ServerError("LoadRepositories", err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, issue := range movedIssues {
|
||||
if issue.RepoID != project.RepoID && issue.Repo.OwnerID != project.OwnerID {
|
||||
ctx.ServerError("Some issue's repoID is not equal to project's repoID", errors.New("some issue's repoID is not equal to project's repoID"))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if err = project_model.MoveIssuesOnProjectColumn(ctx, column, sortedIssueIDs); err != nil {
|
||||
ctx.ServerError("MoveIssuesOnProjectColumn", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusOK, convert.ToAPIIssueList(ctx, ctx.Doer, movedIssues))
|
||||
}
|
255
routers/api/v1/repo/project.go
Normal file
255
routers/api/v1/repo/project.go
Normal file
@ -0,0 +1,255 @@
|
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package repo
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
"code.gitea.io/gitea/models/unit"
|
||||
"code.gitea.io/gitea/modules/optional"
|
||||
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"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/convert"
|
||||
)
|
||||
|
||||
// GetProjects returns a list of projects for a given user and repository.
|
||||
func GetProjects(ctx *context.APIContext) {
|
||||
// swagger:operation GET /repos/{owner}/{reponame}/projects project repoGetProjects
|
||||
// ---
|
||||
// summary: Get a list of projects
|
||||
// description: Returns a list of projects for a given user and repository.
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: owner of the project
|
||||
// required: true
|
||||
// type: string
|
||||
// - name: reponame
|
||||
// in: path
|
||||
// description: repository name.
|
||||
// required: true
|
||||
// type: string
|
||||
// - 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/ProjectList"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
listOptions := utils.GetListOptions(ctx)
|
||||
sortType := ctx.FormTrim("sort")
|
||||
|
||||
isShowClosed := strings.ToLower(ctx.FormTrim("state")) == "closed"
|
||||
|
||||
searchOptions := project_model.SearchOptions{
|
||||
ListOptions: listOptions,
|
||||
IsClosed: optional.Some(isShowClosed),
|
||||
OrderBy: project_model.GetSearchOrderByBySortType(sortType),
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
Type: project_model.TypeRepository,
|
||||
}
|
||||
|
||||
projects, maxResults, err := db.FindAndCount[project_model.Project](ctx, &searchOptions)
|
||||
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "db.FindAndCount[project_model.Project]", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
|
||||
ctx.SetTotalCountHeader(maxResults)
|
||||
ctx.JSON(http.StatusOK, convert.ToProjects(ctx, projects))
|
||||
}
|
||||
|
||||
// CreateProject creates a new project
|
||||
func CreateProject(ctx *context.APIContext) {
|
||||
// swagger:operation POST /repos/{owner}/{reponame}/projects project repoCreateProject
|
||||
// ---
|
||||
// summary: Create a new project
|
||||
// description: Creates a new project for a given user and repository.
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: owner of the project
|
||||
// required: true
|
||||
// type: string
|
||||
// - name: reponame
|
||||
// in: path
|
||||
// description: repository name.
|
||||
// required: true
|
||||
// type: string
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: Project data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/CreateProjectOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// "$ref": "#/responses/Project"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "412":
|
||||
// "$ref": "#/responses/error"
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := web.GetForm(ctx).(*api.CreateProjectOption)
|
||||
|
||||
project := &project_model.Project{
|
||||
Title: form.Title,
|
||||
Description: form.Content,
|
||||
CreatorID: ctx.Doer.ID,
|
||||
TemplateType: project_model.TemplateType(form.TemplateType),
|
||||
CardType: project_model.CardType(form.CardType),
|
||||
Type: project_model.TypeRepository,
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
}
|
||||
|
||||
if err := project_model.NewProject(ctx, project); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "NewProject", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusCreated, convert.ToProject(ctx, project))
|
||||
}
|
||||
|
||||
// UpdateIssueProject change an issue's project to another project in a repository
|
||||
func UpdateIssueProject(ctx *context.APIContext) {
|
||||
// swagger:operation PUT /repos/{owner}/{reponame}/projects/{type} project repoUpdateIssueProject
|
||||
// ---
|
||||
// summary: Change an issue's project
|
||||
// consumes:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: owner
|
||||
// in: path
|
||||
// description: owner of the project
|
||||
// required: true
|
||||
// type: string
|
||||
// - name: reponame
|
||||
// in: path
|
||||
// description: repository name.
|
||||
// required: true
|
||||
// type: string
|
||||
// - name: type
|
||||
// in: path
|
||||
// description: issue type (issues or pulls)
|
||||
// required: true
|
||||
// type: string
|
||||
// enum:
|
||||
// - issues
|
||||
// - pulls
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: issues data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/UpdateIssuesOption"
|
||||
// responses:
|
||||
// "204":
|
||||
// "$ref": "#/responses/empty"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := &api.UpdateIssuesOption{}
|
||||
|
||||
if err := json.NewDecoder(ctx.Req.Body).Decode(&form); err != nil {
|
||||
ctx.ServerError("DecodeMovedIssuesForm", err)
|
||||
return
|
||||
}
|
||||
|
||||
issues := getActionIssues(ctx, form.Issues)
|
||||
if ctx.Written() {
|
||||
return
|
||||
}
|
||||
|
||||
if err := issues.LoadProjects(ctx); err != nil {
|
||||
ctx.ServerError("LoadProjects", err)
|
||||
return
|
||||
}
|
||||
if _, err := issues.LoadRepositories(ctx); err != nil {
|
||||
ctx.ServerError("LoadProjects", err)
|
||||
return
|
||||
}
|
||||
|
||||
projectID := form.ProjectID
|
||||
for _, issue := range issues {
|
||||
if issue.Project != nil && issue.Project.ID == projectID {
|
||||
continue
|
||||
}
|
||||
if err := issues_model.IssueAssignOrRemoveProject(ctx, issue, ctx.Doer, projectID, 0); err != nil {
|
||||
if errors.Is(err, util.ErrPermissionDenied) {
|
||||
continue
|
||||
}
|
||||
ctx.ServerError("IssueAssignOrRemoveProject", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
ctx.Status(http.StatusNoContent)
|
||||
}
|
||||
|
||||
func getActionIssues(ctx *context.APIContext, issuesIDs []int64) issues_model.IssueList {
|
||||
|
||||
if len(issuesIDs) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
issues, err := issues_model.GetIssuesByIDs(ctx, issuesIDs)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetIssuesByIDs", err)
|
||||
return nil
|
||||
}
|
||||
|
||||
issueUnitEnabled := ctx.Repo.CanRead(unit.TypeIssues)
|
||||
prUnitEnabled := ctx.Repo.CanRead(unit.TypePullRequests)
|
||||
for _, issue := range issues {
|
||||
if issue.RepoID != ctx.Repo.Repository.ID {
|
||||
ctx.NotFound("some issue's RepoID is incorrect", errors.New("some issue's RepoID is incorrect"))
|
||||
return nil
|
||||
}
|
||||
if issue.IsPull && !prUnitEnabled || !issue.IsPull && !issueUnitEnabled {
|
||||
ctx.NotFound("IssueOrPullRequestUnitNotAllowed", nil)
|
||||
return nil
|
||||
}
|
||||
if err = issue.LoadAttributes(ctx); err != nil {
|
||||
ctx.ServerError("LoadAttributes", err)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return issues
|
||||
}
|
@ -205,4 +205,22 @@ type swaggerParameterBodies struct {
|
||||
|
||||
// in:body
|
||||
UpdateVariableOption api.UpdateVariableOption
|
||||
|
||||
// in:body
|
||||
CreateProjectOption api.CreateProjectOption
|
||||
|
||||
// in:body
|
||||
CreateProjectColumnOption api.CreateProjectColumnOption
|
||||
|
||||
// in:body
|
||||
EditProjectColumnOption api.EditProjectColumnOption
|
||||
|
||||
// in:body
|
||||
MovedColumnsOption api.MovedColumnsOption
|
||||
|
||||
// in:body
|
||||
MovedIssuesOption api.MovedIssuesOption
|
||||
|
||||
// in:body
|
||||
UpdateIssuesOption api.UpdateIssuesOption
|
||||
}
|
||||
|
36
routers/api/v1/swagger/project.go
Normal file
36
routers/api/v1/swagger/project.go
Normal file
@ -0,0 +1,36 @@
|
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package swagger
|
||||
|
||||
import (
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
)
|
||||
|
||||
// Project
|
||||
// swagger:response Project
|
||||
type swaggerResponseProject struct {
|
||||
// in:body
|
||||
Body api.Project `json:"body"`
|
||||
}
|
||||
|
||||
// ProjectList
|
||||
// swagger:response ProjectList
|
||||
type swaggerResponseProjectList struct {
|
||||
// in:body
|
||||
Body []api.Project `json:"body"`
|
||||
}
|
||||
|
||||
// Column
|
||||
// swagger:response Column
|
||||
type swaggerResponseColumn struct {
|
||||
// in:body
|
||||
Body api.Column `json:"body"`
|
||||
}
|
||||
|
||||
// ColumnList
|
||||
// swagger:response ColumnList
|
||||
type swaggerResponseColumnList struct {
|
||||
// in:body
|
||||
Body []api.Column `json:"body"`
|
||||
}
|
122
routers/api/v1/user/project.go
Normal file
122
routers/api/v1/user/project.go
Normal file
@ -0,0 +1,122 @@
|
||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package user
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
"code.gitea.io/gitea/modules/optional"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
"code.gitea.io/gitea/modules/web"
|
||||
"code.gitea.io/gitea/routers/api/v1/utils"
|
||||
"code.gitea.io/gitea/services/context"
|
||||
"code.gitea.io/gitea/services/convert"
|
||||
)
|
||||
|
||||
// CreateProject creates a new project for a user
|
||||
func CreateProject(ctx *context.APIContext) {
|
||||
// swagger:operation POST /user/projects project userCreateProject
|
||||
// ---
|
||||
// summary: Create a new project for user
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: body
|
||||
// in: body
|
||||
// description: Project data
|
||||
// required: true
|
||||
// schema:
|
||||
// "$ref": "#/definitions/CreateProjectOption"
|
||||
// responses:
|
||||
// "201":
|
||||
// "$ref": "#/responses/Project"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "412":
|
||||
// "$ref": "#/responses/error"
|
||||
// "422":
|
||||
// "$ref": "#/responses/validationError"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
form := web.GetForm(ctx).(*api.CreateProjectOption)
|
||||
|
||||
project := &project_model.Project{
|
||||
Title: form.Title,
|
||||
Description: form.Content,
|
||||
CreatorID: ctx.Doer.ID,
|
||||
TemplateType: project_model.TemplateType(form.TemplateType),
|
||||
CardType: project_model.CardType(form.CardType),
|
||||
Type: project_model.TypeIndividual,
|
||||
OwnerID: ctx.ContextUser.ID,
|
||||
}
|
||||
|
||||
if err := project_model.NewProject(ctx, project); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "NewProject", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.JSON(http.StatusCreated, convert.ToProject(ctx, project))
|
||||
}
|
||||
|
||||
// GetProjects returns a list of projects that belong to a user
|
||||
func GetProjects(ctx *context.APIContext) {
|
||||
// swagger:operation GET /users/{username}/projects project userGetProjects
|
||||
// ---
|
||||
// summary: Get a list of projects
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: username
|
||||
// in: path
|
||||
// description: owner of the project
|
||||
// required: true
|
||||
// type: string
|
||||
// - 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/ProjectList"
|
||||
// "403":
|
||||
// "$ref": "#/responses/forbidden"
|
||||
// "404":
|
||||
// "$ref": "#/responses/notFound"
|
||||
// "423":
|
||||
// "$ref": "#/responses/repoArchivedError"
|
||||
|
||||
listOptions := utils.GetListOptions(ctx)
|
||||
sortType := ctx.FormTrim("sort")
|
||||
|
||||
isShowClosed := strings.ToLower(ctx.FormTrim("state")) == "closed"
|
||||
|
||||
searchOptions := project_model.SearchOptions{
|
||||
ListOptions: listOptions,
|
||||
IsClosed: optional.Some(isShowClosed),
|
||||
OrderBy: project_model.GetSearchOrderByBySortType(sortType),
|
||||
OwnerID: ctx.ContextUser.ID,
|
||||
Type: project_model.TypeIndividual,
|
||||
}
|
||||
|
||||
projects, maxResults, err := db.FindAndCount[project_model.Project](ctx, &searchOptions)
|
||||
|
||||
if err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "db.FindAndCount[project_model.Project]", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.SetLinkHeader(int(maxResults), listOptions.PageSize)
|
||||
ctx.SetTotalCountHeader(maxResults)
|
||||
ctx.JSON(http.StatusOK, convert.ToProjects(ctx, projects))
|
||||
}
|
39
services/convert/project.go
Normal file
39
services/convert/project.go
Normal file
@ -0,0 +1,39 @@
|
||||
// Copyright 2020 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package convert
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
project_model "code.gitea.io/gitea/models/project"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
)
|
||||
|
||||
// ToProject converts a models.Project to api.Project
|
||||
func ToProject(ctx context.Context, project *project_model.Project) *api.Project {
|
||||
return &api.Project{
|
||||
ID: project.ID,
|
||||
Title: project.Title,
|
||||
Description: project.Description,
|
||||
TemplateType: uint8(project.TemplateType),
|
||||
CardType: uint8(project.CardType),
|
||||
OwnerID: project.OwnerID,
|
||||
RepoID: project.RepoID,
|
||||
CreatorID: project.CreatorID,
|
||||
IsClosed: project.IsClosed,
|
||||
Type: uint8(project.Type),
|
||||
CreatedUnix: int64(project.CreatedUnix),
|
||||
UpdatedUnix: int64(project.UpdatedUnix),
|
||||
ClosedDateUnix: int64(project.ClosedDateUnix),
|
||||
}
|
||||
}
|
||||
|
||||
// ToProjects converts a slice of models.Project to a slice of api.Project
|
||||
func ToProjects(ctx context.Context, projects []*project_model.Project) []*api.Project {
|
||||
result := make([]*api.Project, len(projects))
|
||||
for i, project := range projects {
|
||||
result[i] = ToProject(ctx, project)
|
||||
}
|
||||
return result
|
||||
}
|
36
services/convert/project_column.go
Normal file
36
services/convert/project_column.go
Normal file
@ -0,0 +1,36 @@
|
||||
// Copyright 2020 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package convert
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
column_model "code.gitea.io/gitea/models/project"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
)
|
||||
|
||||
// ToProject converts a models.Project to api.Project
|
||||
func ToColumn(ctx context.Context, column *column_model.Column) *api.Column {
|
||||
if column == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &api.Column{
|
||||
ID: column.ID,
|
||||
Title: column.Title,
|
||||
Color: column.Color,
|
||||
}
|
||||
}
|
||||
|
||||
func ToColumns(ctx context.Context, columns column_model.ColumnList) []*api.Column {
|
||||
if columns == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
var apiColumns []*api.Column
|
||||
for _, column := range columns {
|
||||
apiColumns = append(apiColumns, ToColumn(ctx, column))
|
||||
}
|
||||
return apiColumns
|
||||
}
|
1099
templates/swagger/v1_json.tmpl
generated
1099
templates/swagger/v1_json.tmpl
generated
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user