feat: harden localization against malicious HTML (#5703)

- Add a new script that proccess the localization files and verify that
they only contain HTML according to our strictly defined rules.
- This should make adding malicious HTML near-impossible.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5703
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
This commit is contained in:
Gusted 2024-10-30 15:59:48 +00:00 committed by 0ko
parent 031451e740
commit dfe3ffc581
43 changed files with 361 additions and 151 deletions

View file

@ -418,7 +418,7 @@ lint-frontend: lint-js lint-css
lint-frontend-fix: lint-js-fix lint-css-fix
.PHONY: lint-backend
lint-backend: lint-go lint-go-vet lint-editorconfig lint-renovate
lint-backend: lint-go lint-go-vet lint-editorconfig lint-renovate lint-locale
.PHONY: lint-backend-fix
lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig
@ -461,6 +461,10 @@ lint-renovate: node_modules
@if grep --quiet --extended-regexp -e '^( WARN:|ERROR:)' .lint-renovate ; then cat .lint-renovate ; rm .lint-renovate ; exit 1 ; fi
@rm .lint-renovate
.PHONY: lint-locale
lint-locale:
$(GO) run build/lint-locale.go
.PHONY: lint-md
lint-md: node_modules
npx markdownlint docs *.md

156
build/lint-locale.go Normal file
View file

@ -0,0 +1,156 @@
// Copyright 2024 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
//nolint:forbidigo
package main
import (
"fmt"
"html"
"io/fs"
"os"
"path/filepath"
"regexp"
"slices"
"strings"
"github.com/microcosm-cc/bluemonday"
"github.com/sergi/go-diff/diffmatchpatch"
"gopkg.in/ini.v1" //nolint:depguard
)
var (
policy *bluemonday.Policy
tagRemover *strings.Replacer
safeURL = "https://TO-BE-REPLACED.COM"
// Matches href="", href="#", href="%s", href="#%s", href="%[1]s" and href="#%[1]s".
placeHolderRegex = regexp.MustCompile(`href="#?(%s|%\[\d\]s)?"`)
)
func initBlueMondayPolicy() {
policy = bluemonday.NewPolicy()
policy.RequireParseableURLs(true)
policy.AllowURLSchemes("https")
// Only allow safe URL on href.
// Only allow target="_blank".
// Only allow rel="nopener noreferrer", rel="noopener" and rel="noreferrer".
// Only allow placeholder on id and class.
policy.AllowAttrs("href").Matching(regexp.MustCompile("^" + regexp.QuoteMeta(safeURL) + "$")).OnElements("a")
policy.AllowAttrs("target").Matching(regexp.MustCompile("^_blank$")).OnElements("a")
policy.AllowAttrs("rel").Matching(regexp.MustCompile("^(noopener|noreferrer|noopener noreferrer)$")).OnElements("a")
policy.AllowAttrs("id", "class").Matching(regexp.MustCompile(`^%s|%\[\d\]s$`)).OnElements("a")
// Only allow positional placeholder as class.
positionalPlaceholderRe := regexp.MustCompile(`^%\[\d\]s$`)
policy.AllowAttrs("class").Matching(positionalPlaceholderRe).OnElements("strong")
policy.AllowAttrs("id").Matching(positionalPlaceholderRe).OnElements("code")
// Allowed elements with no attributes. Must be a recognized tagname.
policy.AllowElements("strong", "br", "b", "strike", "code", "i")
// TODO: Remove <c> in `actions.workflow.dispatch.trigger_found`.
policy.AllowNoAttrs().OnElements("c")
}
func initRemoveTags() {
oldnew := []string{}
for _, el := range []string{
"email@example.com", "correu@example.com", "epasts@domens.lv", "email@exemplo.com", "eposta@ornek.com", "email@példa.hu", "email@esempio.it",
"user", "utente", "lietotājs", "gebruiker", "usuário", "Benutzer", "Bruker",
"server", "servidor", "kiszolgáló", "serveris",
"label", "etichetta", "etiķete", "rótulo", "Label", "utilizador",
"filename", "bestandsnaam", "dosyaadi", "fails", "nome do arquivo",
} {
oldnew = append(oldnew, "<"+el+">", "REPLACED-TAG")
}
tagRemover = strings.NewReplacer(oldnew...)
}
func preprocessTranslationValue(value string) string {
// href should be a parsable URL, replace placeholder strings with a safe url.
value = placeHolderRegex.ReplaceAllString(value, `href="`+safeURL+`"`)
// Remove tags that aren't tags but will be parsed as tags. We already know they are safe and sound.
value = tagRemover.Replace(value)
return value
}
func checkLocaleContent(localeContent []byte) []string {
// Same configuration as Forgejo uses.
cfg := ini.Empty(ini.LoadOptions{
IgnoreContinuation: true,
})
cfg.NameMapper = ini.SnackCase
if err := cfg.Append(localeContent); err != nil {
panic(err)
}
dmp := diffmatchpatch.New()
errors := []string{}
for _, section := range cfg.Sections() {
for _, key := range section.Keys() {
var trKey string
if section.Name() == "" || section.Name() == "DEFAULT" || section.Name() == "common" {
trKey = key.Name()
} else {
trKey = section.Name() + "." + key.Name()
}
keyValue := preprocessTranslationValue(key.Value())
if html.UnescapeString(policy.Sanitize(keyValue)) != keyValue {
// Create a nice diff of the difference.
diffs := dmp.DiffMain(keyValue, html.UnescapeString(policy.Sanitize(keyValue)), false)
diffs = dmp.DiffCleanupSemantic(diffs)
diffs = dmp.DiffCleanupEfficiency(diffs)
errors = append(errors, trKey+": "+dmp.DiffPrettyText(diffs))
}
}
}
return errors
}
func main() {
initBlueMondayPolicy()
initRemoveTags()
localeDir := filepath.Join("options", "locale")
localeFiles, err := os.ReadDir(localeDir)
if err != nil {
panic(err)
}
if !slices.ContainsFunc(localeFiles, func(e fs.DirEntry) bool { return strings.HasSuffix(e.Name(), ".ini") }) {
fmt.Println("No locale files found")
os.Exit(1)
}
exitCode := 0
for _, localeFile := range localeFiles {
if !strings.HasSuffix(localeFile.Name(), ".ini") {
continue
}
localeContent, err := os.ReadFile(filepath.Join(localeDir, localeFile.Name()))
if err != nil {
panic(err)
}
if err := checkLocaleContent(localeContent); len(err) > 0 {
fmt.Println(localeFile.Name())
fmt.Println(strings.Join(err, "\n"))
fmt.Println()
exitCode = 1
}
}
os.Exit(exitCode)
}

65
build/lint-locale_test.go Normal file
View file

@ -0,0 +1,65 @@
// Copyright 2024 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package main
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestLocalizationPolicy(t *testing.T) {
initBlueMondayPolicy()
initRemoveTags()
t.Run("Remove tags", func(t *testing.T) {
assert.Empty(t, checkLocaleContent([]byte(`hidden_comment_types_description = Comment types checked here will not be shown inside issue pages. Checking "Label" for example removes all "<user> added/removed <label>" comments.`)))
assert.EqualValues(t, []string{"key: \x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<not-an-allowed-key> <label>"`)))
assert.EqualValues(t, []string{"key: \x1b[31m<user@example.com>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<user@example.com> <email@example.com>"`)))
assert.EqualValues(t, []string{"key: \x1b[31m<tag>\x1b[0m REPLACED-TAG \x1b[31m</tag>\x1b[0m"}, checkLocaleContent([]byte(`key = "<tag> <email@example.com> </tag>"`)))
})
t.Run("Specific exception", func(t *testing.T) {
assert.Empty(t, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <c>workflow_dispatch</c> event trigger.`)))
assert.Empty(t, checkLocaleContent([]byte(`pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code>`)))
assert.Empty(t, checkLocaleContent([]byte(`editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch.`)))
assert.EqualValues(t, []string{"workflow.dispatch.trigger_found: This workflow has a \x1b[31m<d>\x1b[0mworkflow_dispatch\x1b[31m</d>\x1b[0m event trigger."}, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <d>workflow_dispatch</d> event trigger.`)))
assert.EqualValues(t, []string{"key: <code\x1b[31m id=\"branch_targe\"\x1b[0m>%[3]s</code>"}, checkLocaleContent([]byte(`key = <code id="branch_targe">%[3]s</code>`)))
assert.EqualValues(t, []string{"key: <a\x1b[31m class=\"ui sh\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="ui sh" href="%[3]s">`)))
assert.EqualValues(t, []string{"key: <a\x1b[31m class=\"js-click-me\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="js-click-me" href="%[3]s">`)))
assert.EqualValues(t, []string{"key: <strong\x1b[31m class=\"branch-target\"\x1b[0m>%[1]s</strong>"}, checkLocaleContent([]byte(`key = <strong class="branch-target">%[1]s</strong>`)))
})
t.Run("General safe tags", func(t *testing.T) {
assert.Empty(t, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong>does not exist</strong> or <strong>you are not authorized</strong> to view it.")))
assert.Empty(t, checkLocaleContent([]byte("teams.specific_repositories_helper = Members will only have access to repositories explicitly added to the team. Selecting this <strong>will not</strong> automatically remove repositories already added with <i>All repositories</i>.")))
assert.Empty(t, checkLocaleContent([]byte("sqlite_helper = File path for the SQLite3 database.<br>Enter an absolute path if you run Forgejo as a service.")))
assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,")))
assert.EqualValues(t, []string{"error404: The page you are trying to reach either <strong\x1b[31m title='aaa'\x1b[0m>does not exist</strong> or <strong>you are not authorized</strong> to view it."}, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong title='aaa'>does not exist</strong> or <strong>you are not authorized</strong> to view it.")))
})
t.Run("<a>", func(t *testing.T) {
assert.Empty(t, checkLocaleContent([]byte(`admin.new_user.text = Please <a href="%s">click here</a> to manage this user from the admin panel.`)))
assert.Empty(t, checkLocaleContent([]byte(`access_token_desc = Selected token permissions limit authorization only to the corresponding <a href="%[1]s" target="_blank">API</a> routes. Read the <a href="%[2]s" target="_blank">documentation</a> for more information.`)))
assert.Empty(t, checkLocaleContent([]byte(`webauthn_desc = Security keys are hardware devices containing cryptographic keys. They can be used for two-factor authentication. Security keys must support the <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> standard.`)))
assert.Empty(t, checkLocaleContent([]byte("issues.closed_at = `closed this issue <a id=\"%[1]s\" href=\"#%[1]s\">%[2]s</a>`")))
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com">`)))
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"javascript:alert('1')\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="javascript:alert('1')">`)))
assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m download\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" download>`)))
assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m target=\"_self\"\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" target="_self">`)))
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/%s">`)))
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/?q=%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/?q=%s">`)))
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s/open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s/open-redirect">`)))
assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s?q=open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s?q=open-redirect">`)))
})
t.Run("Escaped HTML characters", func(t *testing.T) {
assert.Empty(t, checkLocaleContent([]byte("activity.git_stats_push_to_branch = `إلى %s و\"`")))
assert.EqualValues(t, []string{"key: و\x1b[31m&nbsp\x1b[0m\x1b[32m\u00a0\x1b[0m"}, checkLocaleContent([]byte(`key = و&nbsp;`)))
})
}

View file

@ -960,7 +960,7 @@ settings.recent_deliveries = التوصيل الأخيرة
projects.new = مشروع جديد
file_history = تاريخ
editor.directory_is_a_file = اسم المجلد "%s" مستخدم فعلا لاسم ملف في هذا المستودع.
editor.commit_directly_to_this_branch = أودع مباشرةً إلى فرع <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch = أودع مباشرةً إلى فرع <strong class="%[2]s">%[1]s</strong>.
editor.unable_to_upload_files = تعذر رفع الملفات إلى "%s" برسالة الخطأ: %v
settings.webhook.payload = المحتوى
invisible_runes_header = `يحتوي هذا الملف على محارف يونيكود غير مرئية`
@ -1105,7 +1105,7 @@ activity.git_stats_pushed_1 = دفع
activity.git_stats_pushed_n = دفعوا
activity.git_stats_commit_1 = %d إيداع
activity.git_stats_commit_n = %d إيداعا
activity.git_stats_push_to_branch = إلى %s و&nbsp;
activity.git_stats_push_to_branch = `إلى %s و"`
activity.git_stats_push_to_all_branches = إلى كل الفروع.
activity.git_stats_on_default_branch = في %s،
activity.git_stats_file_1 = %d ملف
@ -1115,7 +1115,7 @@ activity.git_stats_files_changed_n = تغيّروا
activity.git_stats_additions = وحدثت
activity.git_stats_addition_1 = %d إضافة
activity.git_stats_addition_n = %d إضافة
activity.git_stats_and_deletions = و&nbsp;
activity.git_stats_and_deletions = `و"`
activity.git_stats_deletion_1 = %d إزالة
activity.git_stats_deletion_n = %d إزالة
settings.mirror_settings.direction = الاتجاه

View file

@ -846,7 +846,7 @@ editor.propose_file_change = Предлагане на промяна на фа
editor.create_new_branch = Създаване на <strong>нов клон</strong> за това подаване и започване на заявка за сливане.
editor.create_new_branch_np = Създаване на <strong>нов клон</strong> за това подаване.
editor.filename_is_invalid = Името на файла е невалидно: „%s“.
editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="%[2]s">%[1]s</strong>.
editor.branch_already_exists = Клонът „%s“ вече съществува в това хранилище.
editor.file_already_exists = Файл с име „%s“ вече съществува в това хранилище.
editor.commit_empty_file_header = Подаване на празен файл
@ -997,7 +997,7 @@ pulls.cmd_instruction_hint = Вижте инструкциите за коман
pulls.showing_only_single_commit = Показани са само промените в подаване %[1]s
issues.lock_no_reason = заключи и ограничи обсъждането до сътрудници %s
pulls.expand_files = Разгъване на всички файлове
pulls.title_desc_few = иска да слее %[1]d подавания от <code>%[2]s</code> в <code id="branch_target">%[3]s</code>
pulls.title_desc_few = иска да слее %[1]d подавания от <code>%[2]s</code> в <code id="%[4]s">%[3]s</code>
issues.content_history.deleted = изтрито
activity.git_stats_exclude_merges = С изключение на сливанията,
activity.navbar.pulse = Последна дейност
@ -1017,7 +1017,7 @@ pulls.collapse_files = Свиване на всички файлове
pulls.show_all_commits = Показване на всички подавания
diff.whitespace_button = Празни знаци
issues.content_history.edited = редактирано
pulls.title_desc_one = иска да слее %[1]d подаване от <code>%[2]s</code> в <code id="branch_target">%[3]s</code>
pulls.title_desc_one = иска да слее %[1]d подаване от <code>%[2]s</code> в <code id="%[4]s">%[3]s</code>
pulls.showing_specified_commit_range = Показани са само промените между %[1]s..%[2]s
pulls.merged_title_desc_one = сля %[1]d подаване от <code>%[2]s</code> в <code>%[3]s</code> %[4]s
pulls.no_merge_access = Не сте упълномощени за сливане на тази заявка за сливане.

View file

@ -1036,7 +1036,7 @@ blocked_users = Zablokovaní uživatelé
change_password = Změnit heslo
user_block_success = Uživatel byl úspěšně zablokován.
user_unblock_success = Uživatel byl úspěšně odblokován.
access_token_desc = Oprávnění vybraného tokenu omezují autorizaci pouze na příslušné cesty <a %s>API</a>. Pro více informací si přečtěte <a %s>dokumentaci</a>.
access_token_desc = Oprávnění vybraného tokenu omezují autorizaci pouze na příslušné cesty <a href="%[1]s" target="_blank">API</a>. Pro více informací si přečtěte <a href="%[2]s" target="_blank">dokumentaci</a>.
blocked_users_none = Nemáte žádné zablokované uživatele.
blocked_since = Zablokován od %s
hints = Nápovědy
@ -1360,7 +1360,7 @@ editor.fail_to_apply_patch=Nelze použít záplatu „%s“
editor.new_patch=Nová záplata
editor.commit_message_desc=Přidat volitelný rozšířený popis…
editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu.
editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a vytvořit žádost o sloučení.
editor.create_new_branch_np=Vytvořte <strong>novou větev</strong> z tohoto commitu.
editor.propose_file_change=Navrhnout změnu souboru
@ -1725,7 +1725,7 @@ issues.error_modifying_due_date=Změna termínu dokončení selhala.
issues.error_removing_due_date=Odstranění termínu dokončení selhalo.
issues.push_commit_1=přidal/a %d commit %s
issues.push_commits_n=přidal/a %d commity %s
issues.force_push_codes=`vynucené nahrání %[1]s od <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> do <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`vynucené nahrání %[1]s od <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> do <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Porovnat
issues.due_date_form=rrrr-mm-dd
issues.due_date_form_add=Přidat termín dokončení
@ -1841,7 +1841,7 @@ pulls.nothing_to_compare_have_tag=Vybraná větev/značka je stejná.
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tato žádost o sloučení bude prázdná.
pulls.has_pull_request=`Žádost o sloučení mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Vytvořit žádost o sloučení
pulls.title_desc_few=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="branch_target">%[3]s</code>
pulls.title_desc_few=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=sloučil %[1]d commity z větve <code>%[2]s</code> do větve <code>%[3]s</code> před %[4]s
pulls.change_target_branch_at=`změnil/a cílovou větev z <b>%s</b> na <b>%s</b> %s`
pulls.tab_conversation=Konverzace
@ -2765,7 +2765,7 @@ settings.protect_enable_merge_desc = Kdokoli s přístupem k zápisu bude moci s
settings.archive.text = Archivováním repozitáře jej celý převedete do stavu pouze pro čtení. Bude skryt z nástěnky. Nikdo (ani vy!) nebude moci vytvářet nové commity ani otevírat problémy a žádosti o sloučení.
settings.event_pull_request_review_request_desc = Bylo požádáno o posouzení žádosti o sloučení nebo bylo toto požádání odstraněno.
error.broken_git_hook = Zdá se, že u tohoto repozitáře jsou rozbité Git hooks. Pro jejich opravení se prosím řiďte pokyny v <a target="_blank" rel="noreferrer" href="%s">dokumentaci</a> a poté odešlete několik commitů pro obnovení stavu.
pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> do <code id="branch_target">%[3]s</code>
pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> do <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_one = sloučil %[1]d commit z <code>%[2]s</code> do <code>%[3]s</code> %[4]s
open_with_editor = Otevřít pomocí %s
commits.search_branch = Tato větev

View file

@ -936,7 +936,7 @@ select_permissions=Berechtigungen auswählen
permission_no_access=Kein Zugriff
permission_read=Lesen
permission_write=Lesen und Schreiben
access_token_desc=Ausgewählte Token-Berechtigungen beschränken die Authentifizierung auf die entsprechenden <a %s>API</a>-Routen. Lies die <a %s>Dokumentation</a> für mehr Informationen.
access_token_desc=Ausgewählte Token-Berechtigungen beschränken die Authentifizierung auf die entsprechenden <a href="%[1]s" target="_blank">API</a>-Routen. Lies die <a href="%[2]s" target="_blank">Dokumentation</a> für mehr Informationen.
at_least_one_permission=Du musst mindestens eine Berechtigung auswählen, um ein Token zu erstellen
permissions_list=Berechtigungen:
@ -1353,7 +1353,7 @@ editor.fail_to_apply_patch=Patch „%s“ nicht anwendbar
editor.new_patch=Neuer Patch
editor.commit_message_desc=Eine ausführlichere (optionale) Beschreibung hinzufügen …
editor.signoff_desc=Am Ende der Commit-Nachricht einen „Signed-off-by“-Anhang vom Committer hinzufügen.
editor.commit_directly_to_this_branch=Direkt in den Branch „<strong class="branch-name">%s</strong>“ einchecken.
editor.commit_directly_to_this_branch=Direkt in den Branch „<strong class="%[2]s">%[1]s</strong>“ einchecken.
editor.create_new_branch=Einen <strong>neuen Branch</strong> für diesen Commit erstellen und einen Pull-Request starten.
editor.create_new_branch_np=Erstelle einen <strong>neuen Branch</strong> für diesen Commit.
editor.propose_file_change=Dateiänderung vorschlagen
@ -1719,7 +1719,7 @@ issues.error_modifying_due_date=Fehler beim Ändern des Fälligkeitsdatums.
issues.error_removing_due_date=Fehler beim Entfernen des Fälligkeitsdatums.
issues.push_commit_1=hat %d Commit %s hinzugefügt
issues.push_commits_n=hat %d Commits %s hinzugefügt
issues.force_push_codes=`hat %[6]s %[1]s von <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> zu <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> force-gepusht`
issues.force_push_codes=`hat %[6]s %[1]s von <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> zu <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> force-gepusht`
issues.force_push_compare=Vergleichen
issues.due_date_form=JJJJ-MM-TT
issues.due_date_form_add=Fälligkeitsdatum hinzufügen
@ -1834,7 +1834,7 @@ pulls.nothing_to_compare=Diese Branches sind identisch. Es muss kein Pull-Reques
pulls.nothing_to_compare_and_allow_empty_pr=Diese Branches sind gleich. Der Pull-Request wird leer sein.
pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Branches: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Pull-Request erstellen
pulls.title_desc_few=möchte %[1]d Commits von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen
pulls.title_desc_few=möchte %[1]d Commits von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen
pulls.merged_title_desc_few=hat %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt
pulls.change_target_branch_at=`hat den Zielbranch von <b>%s</b> nach <b>%s</b> %s geändert`
pulls.tab_conversation=Diskussion
@ -2751,7 +2751,7 @@ activity.navbar.code_frequency = Code-Frequenz
file_follow = Symlink folgen
error.broken_git_hook = Die Git-Hooks des Repositorys scheinen kaputt zu sein. Bitte folge der <a target="_blank" rel="noreferrer" href="%s">Dokumentation</a> um sie zu reparieren, dann pushe einige Commits um den Status zu aktualisieren.
pulls.merged_title_desc_one = hat %[1]d Commit von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt
pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen
pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen
open_with_editor = Öffnen mit %s
commits.search_branch = Dieser Branch
pulls.ready_for_review = Bereit zum Review?

View file

@ -932,7 +932,7 @@ select_permissions=Επιλογή δικαιωμάτων
permission_no_access=Καμία πρόσβαση
permission_read=Αναγνωσμένες
permission_write=Ανάγνωση και εγγραφή
access_token_desc=Τα επιλεγμένα δικαιώματα διακριτικών περιορίζουν την άδεια μόνο στις αντίστοιχες διαδρομές <a %s>API</a>. Διαβάστε το εγχειρίδιο <a %s></a> για περισσότερες πληροφορίες.
access_token_desc=Τα επιλεγμένα δικαιώματα διακριτικών περιορίζουν την άδεια μόνο στις αντίστοιχες διαδρομές <a href="%[1]s" target="_blank">API</a>. Διαβάστε το εγχειρίδιο <a href="%[2]s" target="_blank"></a> για περισσότερες πληροφορίες.
at_least_one_permission=Πρέπει να επιλέξετε τουλάχιστον ένα δικαίωμα για να δημιουργήσετε ένα διακριτικό
permissions_list=Δικαιώματα:
@ -1350,7 +1350,7 @@ editor.fail_to_apply_patch=`Αδυναμία εφαρμογής της επιδ
editor.new_patch=Νέο patch
editor.commit_message_desc=Προσθήκη προαιρετικής εκτενούς περιγραφής…
editor.signoff_desc=Προσθέστε ένα πρόσθετο Signed-off-by στο τέλος του μηνύματος καταγραφής της υποβολής.
editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Δημιουργήστε έναν <strong>νέο κλάδο</strong> για αυτή την υποβολή και ξεκινήστε ένα pull request.
editor.create_new_branch_np=Δημιουργήστε έναν <strong>νέο κλάδο</strong> για αυτή την υποβολή.
editor.propose_file_change=Πρόταση αλλαγής αρχείου
@ -1716,7 +1716,7 @@ issues.error_modifying_due_date=Προέκυψε σφάλμα κατά την α
issues.error_removing_due_date=Προέκυψε σφάλμα κατά την κατάργηση ημερομηνίας παράδοσης.
issues.push_commit_1=πρόσθεσε %d υποβολή %s
issues.push_commits_n=πρόσθεσε %d υποβολές %s
issues.force_push_codes=`έκανε force-push %[1]s από το <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> στο <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`έκανε force-push %[1]s από το <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> στο <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Σύγκριση
issues.due_date_form=εεεε-μμ-ηη
issues.due_date_form_add=Προσθήκη ημερομηνίας παράδοσης
@ -1831,7 +1831,7 @@ pulls.nothing_to_compare=Αυτοί οι κλάδοι είναι ίδιοι. Δ
pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίδιοι. Αυτό το PR θα είναι κενό.
pulls.has_pull_request=`Υπάρχει ήδη pull request μεταξύ αυτών των κλάδων: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Δημιουργία pull request
pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="branch_target">%[3]s</code>
pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=συγχώνευσε %[1]d υποβολές από <code>%[2]s</code> σε <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`άλλαξε τον κλάδο προορισμού από <b>%s</b> σε <b>%s</b> %s`
pulls.tab_conversation=Συζήτηση
@ -2744,7 +2744,7 @@ n_commit_one = %s υποβολή
stars = Αστέρια
n_branch_one = %s κλάδος
commits.search_branch = Αυτός ο κλάδος
pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="branch_target">%[3]s</code>
pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_one = συγχώνευσε %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code>%[3]s</code> %[4]s
n_commit_few = %s υποβολές
settings.sourcehut_builds.secrets = Μυστικά

View file

@ -935,7 +935,7 @@ select_permissions = Select permissions
permission_no_access = No access
permission_read = Read
permission_write = Read and write
access_token_desc = Selected token permissions limit authorization only to the corresponding <a %s>API</a> routes. Read the <a %s>documentation</a> for more information.
access_token_desc = Selected token permissions limit authorization only to the corresponding <a href="%[1]s" target="_blank">API</a> routes. Read the <a href="%[2]s" target="_blank">documentation</a> for more information.
at_least_one_permission = You must select at least one permission to create a token
permissions_list = Permissions:
@ -1372,7 +1372,7 @@ editor.fail_to_apply_patch = Unable to apply patch "%s"
editor.new_patch = New patch
editor.commit_message_desc = Add an optional extended description…
editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message.
editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch.
editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch.
editor.create_new_branch = Create a <strong>new branch</strong> for this commit and start a pull request.
editor.create_new_branch_np = Create a <strong>new branch</strong> for this commit.
editor.propose_file_change = Propose file change
@ -1740,7 +1740,7 @@ issues.time_spent_from_all_authors = `Total time spent: %s`
issues.due_date = Due date
issues.push_commit_1 = added %d commit %s
issues.push_commits_n = added %d commits %s
issues.force_push_codes = `force-pushed %[1]s from <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> to <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes = `force-pushed %[1]s from <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> to <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare = Compare
issues.due_date_form = yyyy-mm-dd
issues.due_date_form_edit = Edit
@ -1859,8 +1859,8 @@ pulls.nothing_to_compare_have_tag = The selected branch/tag are equal.
pulls.nothing_to_compare_and_allow_empty_pr = These branches are equal. This PR will be empty.
pulls.has_pull_request = `A pull request between these branches already exists: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create = Create pull request
pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="branch_target">%[3]s</code>
pulls.title_desc_few = wants to merge %[1]d commits from <code>%[2]s</code> into <code id="branch_target">%[3]s</code>
pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code>
pulls.title_desc_few = wants to merge %[1]d commits from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_one = merged %[1]d commit from <code>%[2]s</code> into <code>%[3]s</code> %[4]s
pulls.merged_title_desc_few = merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s
pulls.change_target_branch_at = `changed target branch from <b>%s</b> to <b>%s</b> %s`

View file

@ -202,7 +202,6 @@ app_desc = Senpena kaj memgastigebla Git-servo
install = Facile instalebla
lightweight = Malpeza
license = Libera fontkodo
platform_desc = Forgejo ruleblas ĉie ajn <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> bittradukeblas: Windows, macOS, Linux, ARM, etc. Elektu laŭplaĉe!
install_desc = Simple aŭ <a target="_blank" rel="noopener noreferrer" href="%[1]s">prenu la ruldosieron</a> por via operaciumo, aŭ instalu enuje per <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, aŭ instalu <a target="_blank" rel="noopener noreferrer" href="%[3]s">pakaĵe</a>.
lightweight_desc = Forgejo ne penigos vian servilon, kaj eĉ ruleblas je Raspberry Pi. Konservu vian komputpotencon!
platform = Plursistema

View file

@ -932,7 +932,7 @@ select_permissions=Seleccionar permisos
permission_no_access=Sin acceso
permission_read=Leídas
permission_write=Lectura y escritura
access_token_desc=Los permisos de los tokens seleccionados limitan la autorización sólo a las rutas <a %s>API</a> correspondientes. Lea la <a %s>documentación</a> para más información.
access_token_desc=Los permisos de los tokens seleccionados limitan la autorización sólo a las rutas <a href="%[1]s" target="_blank">>API</a> correspondientes. Lea la <a href="%[2]s" target="_blank">>documentación</a> para más información.
at_least_one_permission=Debe seleccionar al menos un permiso para crear un token
permissions_list=Permisos:
@ -1349,7 +1349,7 @@ editor.fail_to_apply_patch=`No se puede aplicar el parche "%s"`
editor.new_patch=Nuevo parche
editor.commit_message_desc=Añadir una descripción extendida opcional…
editor.signoff_desc=Añadir un trailer firmado por el committer al final del mensaje de registro de confirmación.
editor.commit_directly_to_this_branch=Hacer commit directamente en la rama <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Hacer commit directamente en la rama <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Crear una <strong>nueva rama</strong> para este commit y hacer un pull request.
editor.create_new_branch_np=Crear una <strong>nueva rama</strong> para este commit.
editor.propose_file_change=Proponer cambio de archivo
@ -1715,7 +1715,7 @@ issues.error_modifying_due_date=Fallo al modificar la fecha de vencimiento.
issues.error_removing_due_date=Fallo al eliminar la fecha de vencimiento.
issues.push_commit_1=añadió %d commit %s
issues.push_commits_n=añadió %d commits %s
issues.force_push_codes=`hizo push forzado %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> a <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`hizo push forzado %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> a <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Comparar
issues.due_date_form=aaaa-mm-dd
issues.due_date_form_add=Añadir fecha de vencimiento
@ -1830,7 +1830,7 @@ pulls.nothing_to_compare=Estas ramas son iguales. No hay necesidad para crear un
pulls.nothing_to_compare_and_allow_empty_pr=Estas ramas son iguales. Este PR estará vacío.
pulls.has_pull_request=`Ya existe un pull request entre estas ramas: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Crear pull request
pulls.title_desc_few=quiere fusionar %[1]d commits de <code>%[2]s</code> en <code id="branch_target">%[3]s</code>
pulls.title_desc_few=quiere fusionar %[1]d commits de <code>%[2]s</code> en <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=fusionó %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`cambió la rama objetivo de <b>%s</b> a <b>%s</b> %s`
pulls.tab_conversation=Conversación
@ -2735,7 +2735,7 @@ pulls.blocked_by_user = No puedes crear una pull request en este repositorio por
issues.comment.blocked_by_user = No puedes crear un comentario en esta incidencia porque estás bloqueado por el propietario del repositorio o el autor de la incidencia.
comments.edit.already_changed = No fue posible guardar los cambios al comentario. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios
pulls.edit.already_changed = No fue posible guardar los cambios al pull request. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios
pulls.title_desc_one = quiere fusionar %[1]d commit de <code>%[2]s</code> en <code id="branch_target">%[3]s</code>
pulls.title_desc_one = quiere fusionar %[1]d commit de <code>%[2]s</code> en <code id="%[4]s">%[3]s</code>
pulls.ready_for_review = Listo para revisar?
activity.navbar.contributors = Contribuidores
pulls.cmd_instruction_hint = Ver instrucciones para la línea de comandos

View file

@ -149,7 +149,6 @@ missing_csrf=درخواست بد: بلیط CSRF ندارد
app_desc=یک سرویس گیت بی‌درد سر و راحت
install=راه‌اندازی ساده
platform=مستقل از سکو
platform_desc=گیت همه جا اجرا می‌شود <a target="_blank" rel="noopener noreferrer" href="http://golang.org/"> بریم!</a> می‌توانید Windows, macOS, Linux, ARM و ... هر کدام را دوست داشتید انتخاب کنید!
lightweight=ابزارک سبک
lightweight_desc=گیتی با حداقل منابع میتوانید برای روی دستگاه Raspberry Pi اجرا شود و مصرف انرژی شما را کاهش دهد!
license=متن باز
@ -985,7 +984,7 @@ editor.commit_changes=تغییرات کامیت
editor.add_tmpl=افزودن '<filename>'
editor.commit_message_desc=توضیحی تخصصی به دلخواه اضافه نمایید…
editor.signoff_desc=یک تریلر Signed-off-by توسط committer در انتهای پیام گزارش commit اضافه کنید.
editor.commit_directly_to_this_branch=ثبت کامیت به صورت مستقیم در انشعاب <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=ثبت کامیت به صورت مستقیم در انشعاب <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=یک <strong> شاخه جدید</strong> برای این commit ایجاد کنید و تقاضای واکشی را شروع کنید.
editor.create_new_branch_np=یک <strong> شاخه جدید </strong> برای کامیت بسازید.
editor.propose_file_change=پیشنهاد تغییر پرونده
@ -1254,7 +1253,7 @@ issues.error_modifying_due_date=تغییر موعد مقرر با شکست مو
issues.error_removing_due_date=حذف موعد مقرر با شکست مواجه شد.
issues.push_commit_1=%d اعمال تغییر اضافه شده است %s
issues.push_commits_n=%d اعمال تغییرات اضافه شده است %s
issues.force_push_codes=`پوش شده اجباری %[1]s از <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> به <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`پوش شده اجباری %[1]s از <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> به <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=مقایسه
issues.due_date_form=yyyy-mm-dd
issues.due_date_form_add=افزودن موعد مقرر
@ -1340,7 +1339,7 @@ pulls.nothing_to_compare=این شاخه‎ها یکی هستند. نیازی ب
pulls.nothing_to_compare_and_allow_empty_pr=این شاخه ها برابر هستند. این PR خالی خواهد بود.
pulls.has_pull_request=`A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=ایجاد تقاضای واکشی
pulls.title_desc_few=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="branch_target">%[3]s</code> دارد
pulls.title_desc_few=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="%[4]s">%[3]s</code> دارد
pulls.merged_title_desc_few=%[1]d کامیت ادغام شده از <code>%[2]s</code> به <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`هدف شاخه از <b>%s</b> به <b>%s</b> %s تغییر کرد`
pulls.tab_conversation=گفتگو

View file

@ -928,7 +928,7 @@ editor.cancel_lower=Peru
editor.commit_signed_changes=Commitoi vahvistetut muutokset
editor.commit_changes=Kommitoi muutokset
editor.add_tmpl=Lisää "<filename>"
editor.commit_directly_to_this_branch=Commitoi suoraan <strong class="branch-name">%s</strong> haaraan.
editor.commit_directly_to_this_branch=Commitoi suoraan <strong class="%[2]s">%[1]s</strong> haaraan.
editor.create_new_branch=Luo <strong>uusi haara</strong> tälle commitille ja aloita vetopyyntö.
editor.create_new_branch_np=Luo <strong>uusi haara</strong> tälle commitille.
editor.cancel=Peruuta
@ -1148,7 +1148,7 @@ pulls.nothing_to_compare=Nämä haarat vastaavat toisiaan. Ei ole tarvetta luoda
pulls.nothing_to_compare_and_allow_empty_pr=Nämä haarat vastaavat toisiaan. Vetopyyntö tulee olemaan tyhjä.
pulls.has_pull_request=`Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Luo vetopyyntö
pulls.title_desc_few=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="branch_target">%[3]s</code>
pulls.title_desc_few=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=yhdistetty %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s
pulls.tab_conversation=Keskustelu
pulls.tab_commits=Commitit
@ -2447,7 +2447,7 @@ runners.runner_manage_panel = Hallinnoi testinajajia
variables = Muuttujat
variables.management = Hallinnoi muuttujia
variables.creation = Lisää muuttuja
runs.no_workflows.quick_start = Etkö tiedä kuinka Forgejo Actions toimii? Katso <a target="_blank" rel="noopener noreferrer" href="%s" >aloitusohje</a>.
runs.no_workflows.quick_start = Etkö tiedä kuinka Forgejo Actions toimii? Katso <a target="_blank" rel="noopener noreferrer" href="%s">aloitusohje</a>.
runners.new = Luo uusi testinajaja
runners.version = Versio
runs.expire_log_message = Lokitiedostot on tyhjätty vanhenemisen vuoksi.

View file

@ -766,7 +766,7 @@ ssh_principal_deletion_success = Tinanggal na ang principal.
principal_state_desc = Ginamit ang principal na ito sa huling 7 araw
tokens_desc = Ang mga token na ito ay nagbibigay ng pag-access sa iyong account gamit ang Forgejo API.
generate_token_name_duplicate = Ginamit na ang <strong>%s</strong> bilang isang pangalan ng application. Gumamit ng bago.
access_token_desc = Ang mga piniling pahintulot sa token ay nililimitahan ang awtorisasyon sa mga kakulang na <a %s>API</a> route. Basahin ang <a %s>dokumentasyon</a> para sa higit pang impormasyon.
access_token_desc = Ang mga piniling pahintulot sa token ay nililimitahan ang awtorisasyon sa mga kakulang na <a href="%[1]s" target="_blank">API</a> route. Basahin ang <a href="%[2]s" target="_blank">dokumentasyon</a> para sa higit pang impormasyon.
uploaded_avatar_is_too_big = Ang laki ng na-upload na file (%d KiB) ay lumalagpas sa pinakamalaking laki (%d KiB).
update_avatar_success = Nabago na ang iyong avatar.
update_user_avatar_success = Nabago na ang avatar ng user.
@ -1482,7 +1482,7 @@ milestones.title = Pamagat
milestones.desc = paglalarawan
pulls.blocked_by_user = Hindi ka makakagawa ng hiling sa paghila sa repositoryo na ito dahil na-block ka ng may-ari ng repositoryo.
pulls.no_merge_access = Hindi ka pinapayagang isali ang [pull request] na ito.
editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na <strong class="%[2]s">%[1]s</strong>.
editor.branch_already_exists = Umiiral na ang branch na "%s" sa repositoryo na ito.
editor.file_editing_no_longer_exists = Ang file na ine-edit, "%s", ay hindi na umiiral sa repositoryo na ito.
editor.filename_is_a_directory = Ang pangalan ng file "%s" ay ginagamit na bilang pangalan ng direktoryo sa repositoryo na ito.
@ -1584,12 +1584,12 @@ projects.column.new_title = Pangalan
projects.card_type.desc = Mga preview ng card
commits.desc = I-browse ang history ng pagbabago ng source code.
commits.search.tooltip = Maari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> sa <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> sa <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.push_commit_1 = idinagdag ang %d commit %s
issues.push_commits_n = idinagdag ang %d mga [commit] %s
issues.new.no_reviewers = Walang mga tagasuri
pulls.title_desc_one = hinihiling na isama ang %[1]d commit mula <code>%[2]s</code> patungong <code id="branch_target">%[3]s</code>
pulls.title_desc_few = hiniling na isama ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code id="branch_target">%[3]s</code>
pulls.title_desc_one = hinihiling na isama ang %[1]d commit mula <code>%[2]s</code> patungong <code id="%[4]s">%[3]s</code>
pulls.title_desc_few = hiniling na isama ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code id="%[4]s">%[3]s</code>
issues.review.add_review_request = hiniling ang pagsuri mula kay %s %s
pulls.status_checks_details = Mga detalye
activity.git_stats_author_n = %d mga may-akda

View file

@ -223,7 +223,7 @@ platform_desc=Forgejo est confirmé fonctionner sur des systèmes d'exploitation
lightweight=Léger
lightweight_desc=Forgejo utilise peu de ressources. Il peut même tourner sur un Raspberry Pi très bon marché. Économisez l'énergie de vos serveurs !
license=Open Source
license_desc=Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Rejoignez-nous et <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">contribuez</a> à rendre ce projet encore meilleur. Ne craignez pas de devenir un·e contributeur·trice !
license_desc=Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Rejoignez-nous et <a target="_blank" rel="noopener noreferrer" href="%[2]s">contribuez</a> à rendre ce projet encore meilleur. Ne craignez pas de devenir un·e contributeur·trice !
[install]
install=Installation
@ -938,7 +938,7 @@ select_permissions=Sélectionner les autorisations
permission_no_access=Aucun accès
permission_read=Lecture
permission_write=Lecture et écriture
access_token_desc=Les autorisations des jetons sélectionnées se limitent aux <a %s>routes API</a> correspondantes. Lisez la <a %s>documentation</a> pour plus dinformations.
access_token_desc=Les autorisations des jetons sélectionnées se limitent aux <a href="%[1]s" target="_blank">routes API</a> correspondantes. Lisez la <a href="%[2]s" target="_blank">documentation</a> pour plus dinformations.
at_least_one_permission=Vous devez sélectionner au moins une permission pour créer un jeton
permissions_list=Autorisations :
@ -1360,7 +1360,7 @@ editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"`
editor.new_patch=Nouveau correctif
editor.commit_message_desc=Ajouter une description détaillée facultative…
editor.signoff_desc=Créditer l'auteur "Signed-off-by:" en pied de révision.
editor.commit_directly_to_this_branch=Réviser directement dans la branche <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Réviser directement dans la branche <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Créer une <strong>nouvelle branche</strong> pour cette révision et initier une demande d'ajout.
editor.create_new_branch_np=Créer une <strong>nouvelle branche</strong> pour cette révision.
editor.propose_file_change=Proposer une modification du fichier
@ -1726,7 +1726,7 @@ issues.error_modifying_due_date=Impossible de modifier l'échéance.
issues.error_removing_due_date=Impossible de supprimer l'échéance.
issues.push_commit_1=a ajouté %d révision %s
issues.push_commits_n=a ajouté %d révisions %s
issues.force_push_codes=`a forcé %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> à <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s.`
issues.force_push_codes=`a forcé %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> à <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s.`
issues.force_push_compare=Comparer
issues.due_date_form=aaaa-mm-jj
issues.due_date_form_add=Ajouter une échéance
@ -1841,7 +1841,7 @@ pulls.nothing_to_compare=Ces branches sont identiques. Il ny a pas besoin de
pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide.
pulls.has_pull_request='Il existe déjà une demande d'ajout entre ces deux branches : <a href="%[1]s">%[2]s#%[3]d</a>'
pulls.create=Créer une demande d'ajout
pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`a remplacée la branche cible <b>%s</b> par <b>%s</b> %s`
pulls.tab_conversation=Discussion
@ -2765,7 +2765,7 @@ error.broken_git_hook = Les hooks Git de ce dépôt semblent cassés. Référez
settings.confirmation_string = Chaine de confirmation
pulls.agit_explanation = Créé par le workflow AGit. AGit permet aux contributeurs de proposer des modifications en utilisant "git push" sans créer une bifurcation ou une nouvelle branche.
pulls.merged_title_desc_one = fusionné %[1]d commit depuis <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="%[4]s">%[3]s</code>
stars = Étoiles
n_tag_few = %s étiquettes
editor.commit_id_not_matching = Le fichier a été modifié pendant que vous l'éditiez. Appliquez les modifications à une nouvelle branche puis procédez à la fusion.

View file

@ -181,8 +181,7 @@ user_kind = Buscar usuarios...
platform = Multiplataforma
app_desc = Um servizo Git autoxestionado e fácil de usar
install = Fácil de instalar
platform_desc = Forgejo execútase en calquera lugar onde <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> poida compilar para: Windows, MacOS, Linux, ARM, etc. Escolla seu preferido!
install_desc = Simplemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">executa o binario</a> para a túa plataforma, envíao con < un target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a> ou consígueo <a target="_blank" rel=" noopener noreferrer" href="%[3]s">empaquetado</a>.
install_desc = Simplemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">executa o binario</a> para a túa plataforma, envíao con <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a> ou consígueo <a target="_blank" rel="noopener noreferrer" href="%[3]s">empaquetado</a>.
[error]
occurred = Ocorreu un erro

View file

@ -203,7 +203,6 @@ not_found = A cél nem található.
app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás
install=Könnyen telepíthető
platform=Keresztplatformos
platform_desc=A Forgejo minden platformon fut, ahol a <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> fordíthat: Windows, macOS, Linux, ARM, stb. Válassza azt, amelyet szereti!
lightweight=Könnyűsúlyú
license=Nyílt forráskódú
@ -812,7 +811,7 @@ editor.cancel_lower=Mégse
editor.commit_changes=Változások Véglegesítése
editor.add_tmpl='<filename>' hozzáadása
editor.commit_message_desc=Opcionális hosszabb leírás hozzáadása…
editor.commit_directly_to_this_branch=Mentés egyenesen a(z) <strong class="branch-name">%s</strong> ágba.
editor.commit_directly_to_this_branch=Mentés egyenesen a(z) <strong class="%[2]s">%[1]s</strong> ágba.
editor.create_new_branch=Hozzon létre egy <strong>új ágat</strong> ennek a commit-nak és indíts egy egyesítési kérést.
editor.propose_file_change=Változtatás ajánlása
editor.new_branch_name_desc=Új ág neve…
@ -1033,7 +1032,7 @@ pulls.filter_branch=Ágra szűrés
pulls.no_results=Nincs találat.
pulls.nothing_to_compare=Ezek az ágak egyenlőek. Nincs szükség egyesítési kérésre.
pulls.create=Egyesítési kérés létrehozása
pulls.title_desc_few=egyesíteni szeretné %[1]d változás(oka)t a(z) <code>%[2]s</code>-ból <code id="branch_target">%[3]s</code>-ba
pulls.title_desc_few=egyesíteni szeretné %[1]d változás(oka)t a(z) <code>%[2]s</code>-ból <code id="%[4]s">%[3]s</code>-ba
pulls.merged_title_desc_few=egyesítve %[1]d változás(ok) a <code>%[2]s</code>-ból <code>%[3]s</code>-ba %[4]s
pulls.tab_conversation=Beszélgetés
pulls.tab_commits=Commit-ok

View file

@ -98,7 +98,6 @@ name=Nama
app_desc=Sebuah layanan hosting Git sendiri yang tanpa kesulitan
install=Mudah dipasang
platform=Lintas platform
platform_desc=Forgejo bisa digunakan di mana <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> bisa dijalankan: Windows, macOS, Linux, ARM, dll. Silahkan pilih yang Anda suka!
lightweight=Ringan
lightweight_desc=Forgejo hanya membutuhkan persyaratan minimal dan bisa berjalan pada Raspberry Pi yang murah. Bisa menghemat listrik!
license=Sumber Terbuka
@ -623,7 +622,7 @@ editor.cancel_lower=Batalkan
editor.commit_changes=Perubahan komitmen
editor.add_tmpl=Tambahkan '<filename>'
editor.commit_message_desc=Tambahkan deskripsi opsional yang panjang…
editor.commit_directly_to_this_branch=Komitmen langsung ke <strong class="branch-name">%s</strong> cabang.
editor.commit_directly_to_this_branch=Komitmen langsung ke <strong class="%[2]s">%[1]s</strong> cabang.
editor.create_new_branch=Membuat <strong>new branch</strong> untuk tarik komit ini mulai permintaan.
editor.create_new_branch_np=Buat <strong>cabang baru</strong> untuk komit ini.
editor.propose_file_change=Usul perubahan berkas
@ -752,7 +751,7 @@ pulls.compare_changes=Permintaan Tarik Baru
pulls.filter_branch=Penyaringan cabang
pulls.no_results=Hasil tidak ditemukan.
pulls.create=Buat Permintaan Tarik
pulls.title_desc_few=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="branch_target">%[3]s</code>
pulls.title_desc_few=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=commit %[1]d telah digabungkan dari <code>%[2]s</code> menjadi <code>%[3]s</code> %[4]s
pulls.tab_conversation=Percakapan
pulls.tab_commits=Melakukan

View file

@ -133,7 +133,6 @@ network_error=Netkerfisvilla
app_desc=Þrautalaus og sjálfhýst Git þjónusta
install=Einföld uppsetning
platform=Fjölvettvangur
platform_desc=Forgejo virkar hvar sem að <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> gerir: Linux, macOS, Windows, ARM o. s. frv. Veldu það sem þú vilt!
lightweight=Létt
lightweight_desc=Forgejo hefur lágar lágmarkskröfur og getur keyrt á ódýrum Raspberry Pi. Sparaðu orku!
license=Frjáls Hugbúnaður
@ -891,7 +890,7 @@ pulls.new=Ný Sameiningarbeiðni
pulls.view=Skoða Sameiningarbeiðni
pulls.compare_changes=Ný Sameiningarbeiðni
pulls.create=Skapa Sameiningarbeiðni
pulls.title_desc_few=vill sameina %[1]d framlög frá <code>%[2]s</code> í <code id="branch_target">%[3]s</code>
pulls.title_desc_few=vill sameina %[1]d framlög frá <code>%[2]s</code> í <code id="%[4]s">%[3]s</code>
pulls.tab_conversation=Umræða
pulls.tab_commits=Framlög
pulls.tab_files=Skráum Breytt

View file

@ -217,7 +217,6 @@ server_internal = Errore interno del server
app_desc=Un servizio auto-ospitato per Git pronto all'uso
install=Facile da installare
platform=Multipiattaforma
platform_desc=Forgejo funziona ovunque <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> possa essere compilato: Windows, macOS, Linux, ARM, etc. Scegli ciò che ami!
lightweight=Leggero
lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un economico Raspberry Pi. Risparmia l'energia della tua macchina!
license=Open Source
@ -1000,7 +999,7 @@ valid_until_date = Valido fino a %s
ssh_signonly = SSH è attualmente disabilitato quindi queste chiavi sono usate solo per la firma di verifica dei commit.
social_desc = Questi profili social possono essere usati per accedere al tuo profilo. Assicurati di riconoscerli tutti.
permission_write = Leggi e scrivi
access_token_desc = I permessi token selezionati limitano l'autorizzazione solo alle corrispondenti vie <a %s>API</a>. Leggi la <a %s>documentazione</a> per ulteriori informazioni.
access_token_desc = I permessi token selezionati limitano l'autorizzazione solo alle corrispondenti vie <a href="%[1]s" target="_blank">API</a>. Leggi la <a href="%[2]s" target="_blank">documentazione</a> per ulteriori informazioni.
create_oauth2_application_success = Hai correttamente creato una nuova applicazione OAuth2.
update_oauth2_application_success = Hai correttamente aggiornato l'applicazione OAuth2.
oauth2_redirect_uris = URI per la reindirizzazione. Usa una nuova riga per ogni URI.
@ -1305,7 +1304,7 @@ editor.patching=Patching:
editor.new_patch=Nuova Patch
editor.commit_message_desc=Aggiungi una descrizione estesa facoltativa…
editor.signoff_desc=Aggiungi "firmato da" dal committer alla fine del messaggio di log di commit.
editor.commit_directly_to_this_branch=Fai un commit direttamente sul ramo <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Fai un commit direttamente sul ramo <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Crea un <strong> nuovo ramo</strong> per questo commit e avvia una richiesta di modifica.
editor.create_new_branch_np=Crea un <strong>nuovo ramo</strong> per questo commit.
editor.propose_file_change=Proponi la modifica del file
@ -1596,7 +1595,7 @@ issues.error_modifying_due_date=Impossibile modificare la scadenza.
issues.error_removing_due_date=Impossibile rimuovere la scadenza.
issues.push_commit_1=ha aggiunto %d commit %s
issues.push_commits_n=ha aggiunto %d commit %s
issues.force_push_codes=`ha forzato l'immissione %[1]s da <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> a <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`ha forzato l'immissione %[1]s da <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> a <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Confronta
issues.due_date_form=aaaa-mm-dd
issues.due_date_form_add=Aggiungi scadenza
@ -1693,7 +1692,7 @@ pulls.nothing_to_compare=Questi rami sono uguali. Non c'è bisogno di creare una
pulls.nothing_to_compare_and_allow_empty_pr=Questi rami sono uguali. Questa richiesta sarà vuota.
pulls.has_pull_request=`Una richiesta di modifica fra questi rami esiste già: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Crea richiesta di modifica
pulls.title_desc_few=vuole unire %[1]d commit da <code>%[2]s</code> a <code id="branch_target">%[3]s</code>
pulls.title_desc_few=vuole unire %[1]d commit da <code>%[2]s</code> a <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=ha unito %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`cambiato il ramo di destinazione da <b>%s</b> a <b>%s</b> %s`
pulls.tab_conversation=Conversazione
@ -2740,7 +2739,7 @@ settings.ignore_stale_approvals = Ignora approvazioni stantie
settings.protected_branch_required_rule_name = Nome regola richiesta
settings.protect_status_check_patterns_desc = Inserisci sequenze per specificare quali controlli dello stato devono passare prima che i rami possano essere fusi con i rami che soddisfano questa regola. Ogni riga specifica una sequenza. Le sequenze non possono essere vuote.
settings.authorization_header_desc = Verrà inclusa come intestazione dell'autorizzazione per le richieste quando presente. Esempi: %s.
pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="branch_target">%[3]s</code>
pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="%[4]s">%[3]s</code>
settings.protect_unprotected_file_patterns_desc = File non protetti dei quali è consentita la modifica direttamente se l'utente ha permesso di scrittura, saltandole restrizioni di immissione. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%[1]s">%[2]s</a> per la sintassi delle sequenze glob. Esempi <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc = I file non protetti non possono essere modificati direttamente neanche se l'utente ha il permesso di aggiungere, modificare o eliminare file in questo ramo. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%s">%s</a> per la sintassi della sequenze. Esempi: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_no_valid_status_check_patterns = Nessuna sequenza valida per il controllo dello stato.

View file

@ -218,7 +218,6 @@ app_desc=自分で立てる、超簡単 Git サービス
install=簡単インストール
install_desc=シンプルに、プラットフォームに応じて<a target="_blank" rel="noopener noreferrer" href="%[1]s">バイナリを実行</a>したり、<a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>で動かしたり、<a target="_blank" rel="noopener noreferrer" href="%[3]s">パッケージ</a>を使うだけ。
platform=クロスプラットフォーム
platform_desc=Forgejoは<a target="_blank" rel="noopener noreferrer" href="%s">Go</a>でコンパイルできる環境ならどこでも動きます: Windows、macOS、Linux、ARM等々、好きなものを選んでください!
lightweight=軽量
lightweight_desc=Forgejo の最小動作要件は小さくて、安価な Raspberry Pi でも動きます。エネルギー消費を節約しましょう!
license=オープンソース
@ -934,7 +933,7 @@ select_permissions=許可の選択
permission_no_access=アクセス不可
permission_read=読み取り
permission_write=読み取りと書き込み
access_token_desc=選択したトークン権限に応じて、関連する<a %s>API</a>ルートのみに許可が制限されます。 詳細は<a %s>ドキュメント</a>を参照してください。
access_token_desc=選択したトークン権限に応じて、関連する<a href="%[1]s" target="_blank">API</a>ルートのみに許可が制限されます。 詳細は<a href="%[2]s" target="_blank">ドキュメント</a>を参照してください。
at_least_one_permission=トークンを作成するには、少なくともひとつの許可を選択する必要があります
permissions_list=許可:
@ -1355,7 +1354,7 @@ editor.fail_to_apply_patch=`パッチを適用できません "%s"`
editor.new_patch=新しいパッチ
editor.commit_message_desc=詳細な説明を追加…
editor.signoff_desc=コミットログメッセージの最後にコミッターの Signed-off-by 行を追加
editor.commit_directly_to_this_branch=ブランチ<strong class="branch-name">%s</strong>へ直接コミットする。
editor.commit_directly_to_this_branch=ブランチ<strong class="%[2]s">%[1]s</strong>へ直接コミットする。
editor.create_new_branch=<strong>新しいブランチ</strong>にコミットしてプルリクエストを作成する。
editor.create_new_branch_np=<strong>新しいブランチ</strong>にコミットする。
editor.propose_file_change=ファイル修正を提案
@ -1721,7 +1720,7 @@ issues.error_modifying_due_date=期日を変更できませんでした。
issues.error_removing_due_date=期日を削除できませんでした。
issues.push_commit_1=が %d コミット追加 %s
issues.push_commits_n=が %d コミット追加 %s
issues.force_push_codes=`が %[1]s を強制プッシュ ( <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> から <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> へ ) %[6]s`
issues.force_push_codes=`が %[1]s を強制プッシュ ( <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> から <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> へ ) %[6]s`
issues.force_push_compare=比較
issues.due_date_form=yyyy-mm-dd
issues.due_date_form_add=期日の追加
@ -1836,7 +1835,7 @@ pulls.nothing_to_compare=同じブランチ同士のため、 プルリクエス
pulls.nothing_to_compare_and_allow_empty_pr=これらのブランチは内容が同じです。 空のプルリクエストになります。
pulls.has_pull_request=`同じブランチのプルリクエストはすでに存在します: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=プルリクエストを作成
pulls.title_desc_few=が <code>%[2]s</code> から <code id="branch_target">%[3]s</code> への %[1]d コミットのマージを希望しています
pulls.title_desc_few=が <code>%[2]s</code> から <code id="%[4]s">%[3]s</code> への %[1]d コミットのマージを希望しています
pulls.merged_title_desc_few=が %[1]d 個のコミットを <code>%[2]s</code> から <code>%[3]s</code> へマージ %[4]s
pulls.change_target_branch_at=`がターゲットブランチを <b>%s</b> から <b>%s</b> に変更 %s`
pulls.tab_conversation=会話
@ -2779,7 +2778,7 @@ issues.archived_label_description = (アーカイブ済) %s
settings.web_hook_name_sourcehut_builds = SourceHut Builds
settings.matrix.room_id_helper = ルームIDは、Element web clientのRoom Settings > Advanced > Internal room IDから取得できます。例%s。
pulls.merged_title_desc_one = %[4]s の <code>%[2]s</code> から %[1]d 件のコミットを <code>%[3]s</code> へマージした
pulls.title_desc_one = <code id="branch_target">%[3]s</code> から %[1]d 件のコミットを <code>%[2]s</code> へマージしたい
pulls.title_desc_one = <code id="%[4]s">%[3]s</code> から %[1]d 件のコミットを <code>%[2]s</code> へマージしたい
pulls.ready_for_review = レビューの準備ができていますか?
settings.transfer.button = 所有権を移送する
settings.transfer.modal.title = 所有権を移送

View file

@ -778,7 +778,7 @@ editor.or=혹은
editor.cancel_lower=취소
editor.commit_changes=변경 내용을 커밋
editor.commit_message_desc=선택적 확장 설명 추가…
editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> 브랜치에서 직접 커밋해주세요.
editor.commit_directly_to_this_branch=<strong class="%[2]s">%[1]s</strong> 브랜치에서 직접 커밋해주세요.
editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다.
editor.new_branch_name_desc=새로운 브랜치 이름…
editor.cancel=취소
@ -973,7 +973,7 @@ pulls.compare_compare=다음으로부터 풀
pulls.filter_branch=Filter Branch
pulls.no_results=결과를 찾을 수 없습니다.
pulls.create=풀 리퀘스트 생성
pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함
pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="%[4]s">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함
pulls.merged_title_desc_few=님이 <code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d 커밋을 %[4]s 병합함
pulls.tab_conversation=대화
pulls.tab_commits=커밋
@ -1081,7 +1081,6 @@ contributors.contribution_type.commits=커밋
search=검색
search.search_repo=저장소 검색
search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과"
search.code_no_results=검색어와 일치하는 소스코드가 없습니다.
settings=설정

View file

@ -187,7 +187,6 @@ 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="%[1]s">jāpalaiž izpildāmais fails</a> vajadzīgajai platformai, jāizmanto <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, vai jāiegūst <a target="_blank" rel="noopener noreferrer" href="%[3]s">pakotne</a>.
platform=Pieejama dažādām platformām
platform_desc=Forgejo 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!
lightweight=Viegla
lightweight_desc=Forgejo 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
@ -830,7 +829,7 @@ select_permissions=Norādiet tiesības
permission_no_access=Nav piekļuves
permission_read=Skatīšanās
permission_write=Skatīšanās un raksīšanas
access_token_desc=Atzīmētie pilnvaras apgabali ierobežo autentifikāciju tikai atbilstošiem <a %s>API</a> izsaukumiem. Sīkāka informācija pieejama <a %s>dokumentācijā</a>.
access_token_desc=Atzīmētie pilnvaras apgabali ierobežo autentifikāciju tikai atbilstošiem <a href="%[1]s" target="_blank">>API</a> izsaukumiem. Sīkāka informācija pieejama <a href="%[2]s" target="_blank">>dokumentācijā</a>.
at_least_one_permission=Nepieciešams norādīt vismaz vienu tiesību, lai izveidotu pilnvaru
permissions_list=Tiesības:
@ -1231,7 +1230,7 @@ editor.fail_to_apply_patch=`Neizdevās pielietot ielāpu "%s"`
editor.new_patch=Jauns ielāps
editor.commit_message_desc=Pievienot neobligātu paplašinātu aprakstu…
editor.signoff_desc=Pievienot revīzijas žurnāla ziņojuma beigās Signed-off-by ar revīzijas autoru.
editor.commit_directly_to_this_branch=Apstiprināt revīzijas izmaiņas atzarā <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Apstiprināt revīzijas izmaiņas atzarā <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Izveidot <strong>jaunu atzaru</strong> un izmaiņu pieprasījumu šai revīzijai.
editor.create_new_branch_np=Izveidot <strong>jaunu atzaru</strong> šai revīzijai.
editor.propose_file_change=Ieteikt faila izmaiņas
@ -1597,7 +1596,7 @@ issues.error_modifying_due_date=Neizdevās izmainīt izpildes termiņu.
issues.error_removing_due_date=Neizdevās noņemt izpildes termiņu.
issues.push_commit_1=iesūtīja %d revīziju %s
issues.push_commits_n=iesūtīja %d revīzijas %s
issues.force_push_codes=`veica piespiedu izmaiņu iesūtīšanu atzarā %[1]s no revīzijas <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> uz <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`veica piespiedu izmaiņu iesūtīšanu atzarā %[1]s no revīzijas <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> uz <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Salīdzināt
issues.due_date_form=dd.mm.yyyy
issues.due_date_form_add=Pievienot izpildes termiņu
@ -1712,7 +1711,7 @@ pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari
pulls.nothing_to_compare_and_allow_empty_pr=Šie atzari ir vienādi. Izveidotais izmaiņu pieprasījums būs tukšs.
pulls.has_pull_request=`Izmaiņu pieprasījums starp šiem atzariem jau eksistē: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Izveidot izmaiņu pieprasījumu
pulls.title_desc_few=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code id="branch_target">%[3]s</code>
pulls.title_desc_few=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=sapludināja %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`nomainīja mērķa atzaru no <b>%s</b> uz <b>%s</b> %s`
pulls.tab_conversation=Saruna

View file

@ -839,7 +839,7 @@ add_email_confirmation_sent = Eene Utwiesens-E-Mail is an »%s« schickt worden.
ssh_desc = Deese publiken SSH-Slötels sünd mit dienem Konto verbunnen. De tohörig privaate Slötel gifft kumpleten Togriep up diene Repositoriums. SSH-Slötels, wat utwiest worden sünd, könen bruukt worden, um SSH-unnerschreven Git-Kommitterens uttowiesen.
keep_email_private_popup = Dat word diene E-Mail-Adress vun dienem Profil verburgen. Dann is dat nich mehr de Normaalweert för Kommitterens, wat du över de Internett-Schnittstee maakst, so as Datei-Upladens un Bewarkens, un word nich in Tosamenföhrens-Kommitterens bruukt. In Stee daarvun kann eene besünnere Adress %s bruukt worden, um Kommitterens mit dienem Konto to verbinnen. Wees wiss, dat dat Ännern vun deeser Instellen bestahn Kommitterens nich ännert.
ssh_helper = <strong>Bruukst du Hülp?</strong> Kiek de Inföhren an, wo du <a href="%s">diene eegenen SSH-Slötels maakst</a> of hülp <a href="%s">gewohnten Probleemen</a> of, över wat man mit SSH mennigmaal strukelt.
access_token_desc = Utköört Teken-Verlöövnissen begrenzen dat Anmellen blots up de tohörig <a %s>API</a>-Padden. Lees de <a %s>Dokumenteren</a> för mehr Informatioonen.
access_token_desc = Utköört Teken-Verlöövnissen begrenzen dat Anmellen blots up de tohörig <a href="%[1]s" target="_blank">API</a>-Padden. Lees de <a href="%[2]s" target="_blank">Dokumenteren</a> för mehr Informatioonen.
oauth2_confidential_client = Diskreeter Klient. Köör dat för Programmen ut, wat dat Geheimnis diskreet behanneln, as Internett-Sieden. Köör dat nich för stedenwies Programmen ut, as Schrievdisk- un Telefoon-Programmens.
gpg_helper = <strong>Bruukst du Hülp?</strong> Kiek de Inföhren <a href="%s">över GPG</a> an.
gpg_desc = Deese publiken GPG-Slötels sünd mit dienem Konto verbunnen un worden bruukt, um diene Kommitterens uttowiesen. Holl de tohörig privaaten Slötels seker, denn daarmit kann man Kommitterens mit diener Unnerschrift unnerschrieven.
@ -1126,7 +1126,7 @@ editor.patching = Plackt:
editor.fail_to_apply_patch = Kann Plack »%s« nich anwennen
editor.new_patch = Nejer Plack
editor.commit_message_desc = Wenn du willst, föög een wiederes Beschrieven hento …
editor.commit_directly_to_this_branch = Kommitteer stracks up de <strong class="branch-name">%s</strong>-Twieg.
editor.commit_directly_to_this_branch = Kommitteer stracks up de <strong class="%[2]s">%[1]s</strong>-Twieg.
editor.propose_file_change = Datei-Ännern vörslagen
editor.new_branch_name = Benööm de Twieg för deeses Kommitteren
editor.new_branch_name_desc = Nejer Twig-Naam …
@ -1561,7 +1561,7 @@ issues.due_date_invalid = Dat Anstahns-Datum is ungültig of buten de Rieg. Bidd
issues.dependency.remove = Wegdoon
issues.dependency.issue_close_blocks = Deeses Gefall blockeert dat Dichtmaken vun deesen Gefallens
issues.review.outdated_description = Inholl hett sik ännert, siet deeser Kommentaar schreven worden is
issues.force_push_codes = `hett %[1]s vun <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> to <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s dwangsschuven`
issues.force_push_codes = `hett %[1]s vun <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> to <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s dwangsschuven`
issues.dependency.pr_remove_text = Dat word de Ofhangen vun deesem Haalvörslag wegdoon. Wiedermaken?
issues.review.pending = Staht ut
issues.review.option.hide_outdated_comments = Verollte Kommentarens verbargen
@ -1599,7 +1599,7 @@ pulls.filter_changes_by_commit = Na Kommitteren filtern
pulls.nothing_to_compare = Deese Twiegen sünd gliek. t is nich nödig, eenen Haalvörslag to maken.
pulls.nothing_to_compare_have_tag = De utköört Twieg/Mark sünd gliek.
pulls.create = Haalvörslag maken
pulls.title_desc_one = will %[1]d Kommitteren vun <code>%[2]s</code> na <code id="branch_target">%[3]s</code> tosamenföhren
pulls.title_desc_one = will %[1]d Kommitteren vun <code>%[2]s</code> na <code id="%[4]s">%[3]s</code> tosamenföhren
pulls.merged_title_desc_one = hett %[1]d Kommitteren vun <code>%[2]s</code> na <code>%[3]s</code> %[4]s tosamenföhrt
pulls.change_target_branch_at = `hett de Enn-Twieg vun <b>%s</b> to <b>%s</b> %s ännert`
pulls.tab_conversation = Snack
@ -1649,7 +1649,7 @@ issues.content_history.delete_from_history = Ut Histoorje lösken
pulls.compare_changes = Nejer Haalvörslag
pulls.allow_edits_from_maintainers_desc = Brukers, well dat Recht hebben, to de Grund-Twieg to schrieven, düren ok up deesen Twieg schuuven
pulls.nothing_to_compare_and_allow_empty_pr = Deese Twiegen sünd gliek. De HV word leeg wesen.
pulls.title_desc_few = will %[1]d Kommitterens vun <code>%[2]s</code> na <code id="branch_target">%[3]s</code> tosamenföhren
pulls.title_desc_few = will %[1]d Kommitterens vun <code>%[2]s</code> na <code id="%[4]s">%[3]s</code> tosamenföhren
pulls.data_broken = Deeser Haalvörslag is kaputt, denn de Gabel-Informatioon fehlt.
pulls.waiting_count_1 = %d Nakieken staht ut
issues.content_history.deleted = lösket

View file

@ -1028,7 +1028,7 @@ visibility.private_tooltip = Alleen zichtbaar voor leden van organisaties waarbi
user_unblock_success = De gebruiker is succesvol gedeblokkeerd.
user_block_success = De gebruiker is succesvol geblokkeerd.
blocked_since = Geblokkeerd sinds %s
access_token_desc = Geselecteerde token machtigingen beperken autorisatie alleen tot de bijbehorende <a %s>API</a> routes. Lees de <a %s>documentatie</a> voor meer informatie.
access_token_desc = Geselecteerde token machtigingen beperken autorisatie alleen tot de bijbehorende <a href="%[1]s" target="_blank">API</a> routes. Lees de <a href="%[2]s" target="_blank">documentatie</a> voor meer informatie.
oauth2_confidential_client = Vertrouwelijke client. Selecteer deze optie voor apps die het geheim bewaren, zoals webapps. Niet selecteren voor native apps, waaronder desktop- en mobiele apps.
authorized_oauth2_applications_description = Je hebt deze applicaties van derden toegang verleend tot je persoonlijke Forgejo-account. Trek de toegang in voor applicaties die niet langer in gebruik zijn.
hidden_comment_types.ref_tooltip = Reacties waarbij naar deze issue werd verwezen vanuit een ander issue/commit/…
@ -1309,7 +1309,7 @@ editor.patching=Patchen:
editor.new_patch=Nieuwe patch
editor.commit_message_desc=Voeg een optionele uitgebreide omschrijving toe…
editor.signoff_desc=Voeg een Signed-off-by toe aan het einde van het commit logbericht.
editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="branch-name">%s</strong>'.
editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="%[2]s">%[1]s</strong>'.
editor.create_new_branch=Maak een <strong>nieuwe branch</strong> voor deze commit en start van een pull request.
editor.create_new_branch_np=Maak een <strong>nieuwe branch</strong> voor deze commit.
editor.propose_file_change=Stel bestandswijziging voor
@ -1599,7 +1599,7 @@ issues.error_modifying_due_date=Deadline aanpassen mislukt.
issues.error_removing_due_date=Deadline verwijderen mislukt.
issues.push_commit_1=toegevoegd %d commit %s
issues.push_commits_n=toegevoegd %d commits %s
issues.force_push_codes=`force-push %[1]s van <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> naar <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`force-push %[1]s van <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> naar <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Vergelijk
issues.due_date_form=jjjj-mm-dd
issues.due_date_form_add=Vervaldatum toevoegen
@ -1696,7 +1696,7 @@ pulls.nothing_to_compare=Deze branches zijn gelijk. Er is geen pull request nodi
pulls.nothing_to_compare_and_allow_empty_pr=Deze branches zijn gelijk. Deze pull verzoek zal leeg zijn.
pulls.has_pull_request=`Een pull-verzoek tussen deze branches bestaat al: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Pull request aanmaken
pulls.title_desc_few=wilt %[1]d commits van <code>%[2]s</code> samenvoegen met <code id="branch_target">%[3]s</code>
pulls.title_desc_few=wilt %[1]d commits van <code>%[2]s</code> samenvoegen met <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=heeft %[1]d commits samengevoegd van <code>%[2]s</code> naar <code>%[3]s</code> %[4]s
pulls.change_target_branch_at='doelbranch aangepast van <b>%s</b> naar <b>%s</b> %s'
pulls.tab_conversation=Discussie
@ -2745,7 +2745,7 @@ activity.navbar.code_frequency = Code frequentie
activity.navbar.recent_commits = Recente commits
file_follow = Volg symlink
error.broken_git_hook = it hooks van deze repository lijken kapot te zijn. Volg alsjeblieft <a target="_blank" rel="noreferrer" href="%s">de documentatie</a> om ze te repareren, push daarna wat commits om de status te vernieuwen.
pulls.title_desc_one = wilt %[1]d commit van <code>%[2]s</code> samenvoegen in <code id="branch_target">%[3]s</code>
pulls.title_desc_one = wilt %[1]d commit van <code>%[2]s</code> samenvoegen in <code id="%[4]s">%[3]s</code>
open_with_editor = Open met %s
commits.search_branch = Deze branch
pulls.merged_title_desc_one = heeft %[1]d commit van <code>%[2]s</code> samengevoegd in <code>%[3]s</code> %[4]s

View file

@ -1152,7 +1152,7 @@ editor.commit_signed_changes=Zatwierdź podpisane zmiany
editor.commit_changes=Zatwierdź zmiany
editor.add_tmpl=Dodanie '<filename>'
editor.commit_message_desc=Dodaj dodatkowy rozszerzony opis…
editor.commit_directly_to_this_branch=Zmieniaj bezpośrednio gałąź <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Zmieniaj bezpośrednio gałąź <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Stwórz <strong>nową gałąź</strong> dla tego commita i rozpocznij Pull Request.
editor.create_new_branch_np=Stwórz <strong>nową gałąź</strong> dla tego commita.
editor.propose_file_change=Zaproponuj zmiany w pliku
@ -1482,7 +1482,7 @@ pulls.no_results=Nie znaleziono wyników.
pulls.nothing_to_compare=Te gałęzie są sobie równe. Nie ma potrzeby tworzyć Pull Requesta.
pulls.nothing_to_compare_and_allow_empty_pr=Te gałęzie są równe. Ten PR będzie pusty.
pulls.create=Utwórz Pull Request
pulls.title_desc_few=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code id="branch_target">%[3]s</code>
pulls.title_desc_few=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=scala %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`zmienia gałąź docelową z <b>%s</b> na <b>%s</b> %s`
pulls.tab_conversation=Dyskusja

View file

@ -217,7 +217,6 @@ server_internal = Erro interno do servidor
app_desc=Um serviço de hospedagem Git amigável
install=Fácil de instalar
platform=Multi-plataforma
platform_desc=Forgejo roda em qualquer sistema em que <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> consegue compilar: Windows, macOS, Linux, ARM, etc. Escolha qual você gosta mais!
lightweight=Leve e rápido
lightweight_desc=Forgejo utiliza poucos recursos e consegue mesmo rodar no barato Raspberry Pi. Economize energia elétrica da sua máquina!
license=Código aberto
@ -1032,7 +1031,7 @@ user_block_success = O usuário foi bloqueado.
twofa_recovery_tip = Caso perca o seu dispositivo, você poderá usar uma chave de uso único para recuperar o acesso à sua conta.
webauthn_key_loss_warning = Caso perca as suas chaves de segurança, você perderá o acesso à sua conta.
blocked_users_none = Nenhum usuário bloqueado.
access_token_desc = As permissões selecionadas para o token limitam o acesso apenas às <a %s>rotas da API</a> correspondentes. Veja a <a %s>documentação</a> para mais informações.
access_token_desc = As permissões selecionadas para o token limitam o acesso apenas às <a href="%[1]s" target="_blank">rotas da API</a> correspondentes. Veja a <a href="%[2]s" target="_blank">documentação</a> para mais informações.
webauthn_alternative_tip = Você talvez queira configurar um método adicional de autenticação.
change_password = Alterar senha
hints = Dicas
@ -1344,7 +1343,7 @@ editor.fail_to_apply_patch=`Não foi possível aplicar a correção "%s"`
editor.new_patch=Novo patch
editor.commit_message_desc=Adicione uma descrição detalhada (opcional)...
editor.signoff_desc=Adicione um assinado-por-committer no final do log do commit.
editor.commit_directly_to_this_branch=Commit diretamente no branch <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Commit diretamente no branch <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Crie um <strong>novo branch</strong> para este commit e crie um pull request.
editor.create_new_branch_np=Crie um <strong>novo branch</strong> para este commit.
editor.propose_file_change=Propor alteração de arquivo
@ -1699,7 +1698,7 @@ issues.error_modifying_due_date=Falha ao modificar a data limite.
issues.error_removing_due_date=Falha ao remover a data limite.
issues.push_commit_1=adicionou %d commit %s
issues.push_commits_n=adicionou %d commits %s
issues.force_push_codes=`forçou o push %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> para <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`forçou o push %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> para <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Comparar
issues.due_date_form=dd/mm/aaaa
issues.due_date_form_add=Adicionar data limite
@ -1813,7 +1812,7 @@ pulls.nothing_to_compare=Estes branches são iguais. Não há nenhuma necessidad
pulls.nothing_to_compare_and_allow_empty_pr=Estes branches são iguais. Este PR ficará vazio.
pulls.has_pull_request=`Um pull request entre esses branches já existe: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Criar pull request
pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="branch_target">%[3]s</code>
pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=mesclou %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`mudou o branch de destino de <b>%s</b> para <b>%s</b> %s`
pulls.tab_conversation=Conversação
@ -2691,7 +2690,7 @@ settings.confirm_wiki_branch_rename = Renomar o ramo da wiki
pulls.merged_title_desc_one = mesclou %[1]d commit de <code>%[2]s</code> em <code>%[3]s</code> %[4]s
activity.navbar.recent_commits = Commits recentes
size_format = %[1]s: %[2]s; %[3]s: %[4]s
pulls.title_desc_one = quer mesclar %[1]d commit de <code>%[2]s</code> em <code id="branch_target">%[3]s</code>
pulls.title_desc_one = quer mesclar %[1]d commit de <code>%[2]s</code> em <code id="%[4]s">%[3]s</code>
pulls.cmd_instruction_merge_desc = Mescle as alterações e enviar para o Forgejo.
pulls.ready_for_review = Pronto para revisão?
commits.search_branch = Este ramo

View file

@ -934,7 +934,7 @@ select_permissions=Escolher permissões
permission_no_access=Sem acesso
permission_read=Lidas
permission_write=Leitura e escrita
access_token_desc=As permissões dos códigos escolhidos limitam a autorização apenas às rotas da <a %s>API</a> correspondentes. Leia a <a %s>documentação</a> para obter mais informação.
access_token_desc=As permissões dos códigos escolhidos limitam a autorização apenas às rotas da <a href="%[1]s" target="_blank">API</a> correspondentes. Leia a <a href="%[2]s" target="_blank">documentação</a> para obter mais informação.
at_least_one_permission=Tem que escolher pelo menos uma permissão para criar um código
permissions_list=Permissões:
@ -1358,7 +1358,7 @@ editor.fail_to_apply_patch=`Não foi possível aplicar o remendo (patch) "%s"`
editor.new_patch=Novo remendo (patch)
editor.commit_message_desc=Adicionar uma descrição alargada opcional…
editor.signoff_desc=Adicionar "Assinado-por" seguido do autor do cometimento no fim da mensagem do registo de cometimentos.
editor.commit_directly_to_this_branch=Cometer imediatamente no ramo <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Cometer imediatamente no ramo <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Crie um <strong>novo ramo</strong> para este cometimento e inicie um pedido de integração.
editor.create_new_branch_np=Criar um <strong>novo ramo</strong> para este cometimento.
editor.propose_file_change=Propor modificação do ficheiro
@ -1724,7 +1724,7 @@ issues.error_modifying_due_date=Falhou a modificação da data de vencimento.
issues.error_removing_due_date=Falhou a remoção da data de vencimento.
issues.push_commit_1=adicionou %d cometimento %s
issues.push_commits_n=adicionou %d cometimentos %s
issues.force_push_codes=`forçou o envio %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> para <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`forçou o envio %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> para <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Comparar
issues.due_date_form=aaaa-mm-dd
issues.due_date_form_add=Adicionar data de vencimento
@ -1840,7 +1840,7 @@ pulls.nothing_to_compare_have_tag=O ramo/etiqueta escolhidos são iguais.
pulls.nothing_to_compare_and_allow_empty_pr=Estes ramos são iguais. Este pedido de integração ficará vazio.
pulls.has_pull_request=`Já existe um pedido de integração entre estes ramos: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Criar um pedido de integração
pulls.title_desc_few=quer integrar %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code id="branch_target">%[3]s</code>
pulls.title_desc_few=quer integrar %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=integrou %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`mudou o ramo de destino de <b>%s</b> para <b>%s</b> %s`
pulls.tab_conversation=Diálogo
@ -2733,7 +2733,7 @@ migrate.forgejo.description = Migrar dados de codeberg.org ou de outras instânc
n_commit_one = %s cometimento
editor.commit_id_not_matching = O ficheiro foi modificado enquanto o estava a editar. Cometa para um ramo novo e depois integre.
commits.search_branch = Este ramo
pulls.title_desc_one = quer integrar %[1]d cometimento do ramo <code>%[2]s</code> no ramo <code id="branch_target">%[3]s</code>
pulls.title_desc_one = quer integrar %[1]d cometimento do ramo <code>%[2]s</code> no ramo <code id="%[4]s">%[3]s</code>
pulls.reopen_failed.base_branch = O pedido de integração não pode ser reaberto porque o ramo base já não existe.
activity.navbar.code_frequency = Frequência de programação
settings.units.add_more = Habilitar mais

View file

@ -934,7 +934,7 @@ select_permissions=Выбрать разрешения
permission_no_access=Нет доступа
permission_read=Чтение
permission_write=Чтение и запись
access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами <a %s>API</a>. Читайте <a %s>документацию</a> для получения дополнительной информации.
access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами <a href="%[1]s" target="_blank">API</a>. Читайте <a href="%[2]s" target="_blank">документацию</a> для получения дополнительной информации.
at_least_one_permission=Необходимо выбрать хотя бы одно разрешение для создания токена
permissions_list=Разрешения:
@ -1340,7 +1340,7 @@ editor.fail_to_apply_patch=Невозможно применить патч «%s
editor.new_patch=Новая правка
editor.commit_message_desc=Добавьте необязательное расширенное описание…
editor.signoff_desc=Добавить трейлер Signed-off-by с автором коммита в конце сообщения коммита.
editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Сохранить коммит в <strong>новую ветвь</strong> и начать запрос на слияние.
editor.create_new_branch_np=Создать <strong>новую ветвь</strong> для этого коммита.
editor.propose_file_change=Предложить изменение файла
@ -1705,7 +1705,7 @@ issues.error_modifying_due_date=Не удалось изменить срок в
issues.error_removing_due_date=Не удалось убрать срок выполнения.
issues.push_commit_1=добавлен %d коммит %s
issues.push_commits_n=добавлены %d коммита(ов) %s
issues.force_push_codes=`форсированное обновление изменений %[1]s <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> вместо <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> %[6]s`
issues.force_push_codes=`форсированное обновление изменений %[1]s <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> вместо <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> %[6]s`
issues.force_push_compare=Сравнить
issues.due_date_form=гггг-мм-дд
issues.due_date_form_add=Добавить срок выполнения
@ -1816,8 +1816,8 @@ pulls.nothing_to_compare=Нечего сравнивать, родительск
pulls.nothing_to_compare_and_allow_empty_pr=Ветви идентичны. Этот PR будет пустым.
pulls.has_pull_request=`Запрос на слияние этих ветвей уже существует: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Создать запрос на слияние
pulls.title_desc_one=хочет влить %[1]d коммит из <code>%[2]s</code> в <code id="branch_target">%[3]s</code>
pulls.title_desc_few=хочет влить %[1]d коммит(ов) из <code>%[2]s</code> в <code id="branch_target">%[3]s</code>
pulls.title_desc_one=хочет влить %[1]d коммит из <code>%[2]s</code> в <code id="%[4]s">%[3]s</code>
pulls.title_desc_few=хочет влить %[1]d коммит(ов) из <code>%[2]s</code> в <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_one=слит %[1]d коммит из <code>%[2]s</code> в <code>%[3]s</code> %[4]s
pulls.merged_title_desc_few=слито %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`изменил(а) целевую ветвь с <b>%s</b> на <b>%s</b> %s`

View file

@ -116,7 +116,6 @@ missing_csrf=නරක ඉල්ලීම: CSRF ටෝකන් නොමැත
app_desc=වේදනාකාරී, ස්වයං-සත්කාරක Git සේවාවක්
install=ස්ථාපනයට පහසුය
platform=හරස් වේදිකාව
platform_desc=Forgejo ඕනෑම තැනක ධාවනය <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> සඳහා සම්පාදනය කළ හැකිය: වින්ඩෝස්, මැකෝස්, ලිනක්ස්, ARM, ආදිය ඔබ ආදරය කරන එකක් තෝරන්න!
lightweight=සැහැල්ලු
lightweight_desc=Forgejo අඩු අවම අවශ්යතා ඇති අතර මිල අඩු Raspberry Pi මත ධාවනය කළ හැකිය. ඔබේ යන්ත්ර ශක්තිය සුරකින්න!
license=විවෘත මූලාශ්‍ර
@ -923,7 +922,7 @@ editor.commit_changes=වෙනස්කම් සිදු කරන්න
editor.add_tmpl='<filename>' එකතු කරන්න
editor.commit_message_desc=විකල්ප දීර්ඝ විස්තරයක් එක් කරන්න…
editor.signoff_desc=කැපවූ ලොග් පණිවිඩය අවසානයේ දී කැපකරු විසින් සිග්නෙඩ්-ඕෆ්-විසින් ට්රේලරයක් එක් කරන්න.
editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> ශාඛාවට කෙලින්ම කැප කරන්න.
editor.commit_directly_to_this_branch=<strong class="%[2]s">%[1]s</strong> ශාඛාවට කෙලින්ම කැප කරන්න.
editor.create_new_branch=මෙම කැප කිරීම සඳහා <strong>නව ශාඛාවක්</strong> සාදා අදින්න ඉල්ලීමක් ආරම්භ කරන්න.
editor.create_new_branch_np=මෙම කැප කිරීම සඳහා <strong>නව ශාඛාවක්</strong> සාදන්න.
editor.propose_file_change=ගොනු වෙනස් කිරීම යෝජනා කරන්න
@ -1098,12 +1097,12 @@ issues.reopen_comment_issue=අදහස් දක්වා විවෘත ක
issues.create_comment=අදහස
issues.closed_at=`මෙම ගැටළුව වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from=<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
issues.ref_pull_from=<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
issues.ref_closing_from=<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
issues.ref_reopening_from=<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
issues.ref_closed_from=<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>
issues.ref_reopened_from=<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි
issues.ref_issue_from=`<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from=`<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from=`<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි`
issues.ref_from=`හිම%[1]s`
issues.role.owner=හිමිකරු
issues.role.member=සාමාජික
@ -1183,7 +1182,7 @@ issues.error_modifying_due_date=නියමිත දිනය වෙනස්
issues.error_removing_due_date=නියමිත දිනය ඉවත් කිරීමට අපොහොසත් විය.
issues.push_commit_1=එකතු %d කැප %s
issues.push_commits_n=එකතු %d විවරයන් %s
issues.force_push_codes=`බලය-pushed%[1]s සිට <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> <a class="ui sha" href="%[5]s"><code>%[4]s ගේ</code></a> %[6]s`
issues.force_push_codes=`බලය-pushed%[1]s සිට <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> <a class="%[7]s" href="%[5]s"><code>%[4]s ගේ</code></a> %[6]s`
issues.force_push_compare=සසඳන්න
issues.due_date_form=Yyy-mm-dd
issues.due_date_form_add=නියමිත දිනය එකතු කරන්න
@ -1269,7 +1268,7 @@ pulls.nothing_to_compare=මෙම ශාඛා සමාන වේ. අදි
pulls.nothing_to_compare_and_allow_empty_pr=මෙම ශාඛා සමාන වේ. මෙම මහජන සම්බන්ධතා හිස් වනු ඇත.
pulls.has_pull_request=`මෙම ශාඛා අතර අදින්න ඉල්ලීම දැනටමත් පවතී: <a href="%[1]s">%[2]s #%[3]d</a>`
pulls.create=අදින්න ඉල්ලීම නිර්මාණය
pulls.title_desc_few=%[1]d සිට <code>%[2]s</code> දක්වා <code id="branch_target">%[3]s</code>
pulls.title_desc_few=%[1]d සිට <code>%[2]s</code> දක්වා <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=මර්ජ්%[1]d සිට <code>%[2]s</code> දක්වා <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`ඉලක්කගත ශාඛාව <b>%s</b> සිට <b>%s</b> %sදක්වා වෙනස් කර ඇත`
pulls.tab_conversation=සංවාදය
@ -1280,7 +1279,7 @@ pulls.cant_reopen_deleted_branch=ශාඛාව මකා දැමූ නි
pulls.merged=සංයුක්ත කෙරිණි
pulls.manually_merged=අතින් සංයුක්ත කර ඇත
pulls.is_closed=අදින්න ඉල්ලීම වසා දමා ඇත.
pulls.title_wip_desc=<a href="#">අහම්බෙන් ඒකාබද්ධ කිරීමෙන් අදින්න ඉල්ලීම වැළැක්වීම සඳහා <strong>%s</strong></a> සමඟ මාතෘකාව ආරම්භ කරන්න.
pulls.title_wip_desc=`<a href="#">අහම්බෙන් ඒකාබද්ධ කිරීමෙන් අදින්න ඉල්ලීම වැළැක්වීම සඳහා <strong>%s</strong></a> සමඟ මාතෘකාව ආරම්භ කරන්න.`
pulls.cannot_merge_work_in_progress=මෙම අදින්න ඉල්ලීම ක්රියාත්මක වන කාර්යයක් ලෙස සලකුණු කර ඇත.
pulls.still_in_progress=තවමත් ක්රියාත්මක වෙමින් තිබේද?
pulls.add_prefix=<strong>%s</strong> උපසර්ගය එකතු කරන්න

View file

@ -187,7 +187,6 @@ app_desc=Jednoducho prístupný vlastný Git
install=Jednoduchá inštalácia
install_desc=Jednoducho <a target="_blank" rel="noopener noreferrer" href="%[1]s">spustite binárku</a> pre vašu platformu, pošlite ju ako <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, alebo ju získajte <a target="_blank" rel="noopener noreferrer" href="%[3]s">ako balíček</a>.
platform=Multiplatformový
platform_desc=Forgejo 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=Forgejo má minimálne požiadavky a môže bežať na Raspberry Pi. Šetrite energiou vášho stroja!
license=Otvorený zdrojový kód
@ -1030,7 +1029,7 @@ editor.cancel_lower=Zrušiť
editor.commit_signed_changes=Odoslať podpísané zmeny
editor.commit_changes=Odoslať zmeny
editor.patch=Použiť patch
editor.commit_directly_to_this_branch=Odoslať zmeny revízie priamo do vetvy <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Odoslať zmeny revízie priamo do vetvy <strong class="%[2]s">%[1]s</strong>.
editor.cancel=Zrušiť
editor.commit_empty_file_header=Odoslať prázdny súbor
editor.commit_empty_file_text=Súbor, ktorý sa chystáte odoslať, je prázdny. Pokračovať?

View file

@ -312,7 +312,7 @@ appearance = Videz
password = Geslo
authorized_oauth2_applications_description = Tem aplikacijam tretjih oseb ste odobrili dostop do svojega osebnega računa Forgejo. Prosimo, da prekličete dostop do aplikacij, ki jih ne uporabljate več.
social_desc = S temi družabnimi računi se lahko prijavite v svoj račun. Prepričajte se, da jih vse prepoznate.
access_token_desc = Izbrana dovoljenja žetona omejujejo avtorizacijo samo na ustrezne poti <a %s>API</a>. Za več informacij preberite <a %s>dokumentacijo</a>.
access_token_desc = Izbrana dovoljenja žetona omejujejo avtorizacijo samo na ustrezne poti <a href="%[1]s" target="_blank">API</a>. Za več informacij preberite <a href="%[2]s" target="_blank">dokumentacijo</a>.
oauth2_client_secret_hint = Skrivnost se ne bo več prikazala, ko zapustite ali osvežite to stran. Prepričajte se, da ste jo shranili.
twofa_desc = Za zaščito računa pred krajo gesla lahko uporabite pametni telefon ali drugo napravo za prejemanje časovno omejenih enkratnih gesel ("TOTP").
twofa_recovery_tip = Če napravo izgubite, boste lahko z obnovitvenim ključem za enkratno uporabo ponovno pridobili dostop do računa.

View file

@ -266,7 +266,7 @@ editor.commit_changes=Изврши комит промена
editor.add=Додај '%s'
editor.update=Ажурирај '%s'
editor.delete=Уклони '%s'
editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="branch-name">%s</strong> грану.
editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="%[2]s">%[1]s</strong> грану.
editor.create_new_branch=Креирај <strong>нову грану</strong> за овај комит и поднеси захтев за спајање.
editor.cancel=Откажи
editor.branch_already_exists=Грана '%s' већ постоји за ово спремиште.

View file

@ -850,7 +850,7 @@ editor.commit_signed_changes=Committa signerade ändringar
editor.commit_changes=Checka in ändringar
editor.add_tmpl=Lägg till '<filename>'
editor.commit_message_desc=Lägg till en valfri utökad beskrivning…
editor.commit_directly_to_this_branch=Checka in direkt till grenen <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Checka in direkt till grenen <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Skapa en <strong>ny gren</strong> för denna incheckning och påbörja en hämtningsbegäran.
editor.create_new_branch_np=Skapa en <strong>ny branch</strong> för den här committen.
editor.propose_file_change=Föreslå filändring
@ -1158,7 +1158,7 @@ pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades.
pulls.nothing_to_compare=Dessa brancher är ekvivalenta. Det finns ingen anledning att skapa en pull-request.
pulls.create=Skapa Pullförfrågan
pulls.title_desc_few=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code id="branch_target">%[3]s</code>
pulls.title_desc_few=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=sammanfogade %[1]d incheckningar från <code>%[2]s</code> in i <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`ändrade mål-branch från <b>%s</b> till <b>%s</b>%s`
pulls.tab_conversation=Konversation

View file

@ -214,7 +214,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="%[1]s">ikili dosyayı çalıştırın</a>, <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a> ile yükleyin veya <a target="_blank" rel="noopener noreferrer" href="%[3]s">paket</a> olarak edinin.
platform=Farklı platformlarda çalışablir
platform_desc=Forgejo <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=Forgejo'nın minimal gereksinimleri çok düşüktür ve ucuz bir Raspberry Pi üzerinde çalışabilmektedir. Makine enerjinizden tasarruf edin!
license=ık Kaynak
@ -908,7 +907,7 @@ select_permissions=İzinleri seçin
permission_no_access=Erişim Yok
permission_read=Okunmuş
permission_write=Okuma ve Yazma
access_token_desc=Seçili token izinleri, yetkilendirmeyi ilgili <a %s>API</a> yollarıyla sınırlandıracaktır. Daha fazla bilgi için <a %s>belgeleri</a> okuyun.
access_token_desc=Seçili token izinleri, yetkilendirmeyi ilgili <a href="%[1]s" target="_blank">API</a> yollarıyla sınırlandıracaktır. Daha fazla bilgi için <a href="%[2]s" target="_blank">belgeleri</a> okuyun.
at_least_one_permission=Bir token oluşturmak için en azından bir izin seçmelisiniz
permissions_list=İzinler:
@ -1318,7 +1317,7 @@ editor.fail_to_apply_patch=`"%s" yaması uygulanamıyor`
editor.new_patch=Yeni Yama
editor.commit_message_desc=İsteğe bağlı uzun bir açıklama ekleyin…
editor.signoff_desc=İşleme günlüğü mesajının sonuna işleyen tarafından imzalanan bir fragman ekleyin.
editor.commit_directly_to_this_branch=Doğrudan <strong class="branch-name">%s</strong> bölümüne uygula.
editor.commit_directly_to_this_branch=Doğrudan <strong class="%[2]s">%[1]s</strong> bölümüne uygula.
editor.create_new_branch=Bu işleme için <strong>yeni bir dal</strong> oluşturun ve bir değişiklik isteği başlatın.
editor.create_new_branch_np=Bu işleme için <strong>yeni bir dal</strong> oluştur.
editor.propose_file_change=Dosya değişikliği öner
@ -1684,7 +1683,7 @@ issues.error_modifying_due_date=Bitiş tarihi değiştirilemedi.
issues.error_removing_due_date=Bitiş tarihi silinemedi.
issues.push_commit_1=%d işlemeyi %s ekledi
issues.push_commits_n=%d işlemeyi %s ekledi
issues.force_push_codes=`%[1]s <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> hedefinden <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> hedefine zorla gönderildi %[6]s`
issues.force_push_codes=`%[1]s <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> hedefinden <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> hedefine zorla gönderildi %[6]s`
issues.force_push_compare=Karşılaştır
issues.due_date_form=yyyy-aa-gg
issues.due_date_form_add=Bitiş tarihi ekle
@ -1799,7 +1798,7 @@ pulls.nothing_to_compare=Bu dallar eşit. Değişiklik isteği oluşturmaya gere
pulls.nothing_to_compare_and_allow_empty_pr=Bu dallar eşittir. Bu Dİ boş olacak.
pulls.has_pull_request=`Bu dallar arasında zaten bir değişiklik isteği var: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Değişiklik İsteği Oluştur
pulls.title_desc_few=<code>%[2]s</code> içindeki %[1]d işlemeyi <code id="branch_target">%[3]s</code> ile birleştirmek istiyor
pulls.title_desc_few=<code>%[2]s</code> içindeki %[1]d işlemeyi <code id="%[4]s">%[3]s</code> ile birleştirmek istiyor
pulls.merged_title_desc_few=%[4]s <code>%[2]s</code> içindeki %[1]d işlemeyi <code>%[3]s</code> ile birleştirdi
pulls.change_target_branch_at='hedef dal <b>%s</b> adresinden <b>%s</b>%s adresine değiştirildi'
pulls.tab_conversation=Sohbet

View file

@ -1140,7 +1140,7 @@ editor.commit_changes=Закомітити зміни
editor.add_tmpl=Додати «<filename>»
editor.commit_message_desc=Додати необов'язковий розширений опис…
editor.signoff_desc=Додати повідомленню в журналі комітів рядок Signed-off-by від свого імені.
editor.commit_directly_to_this_branch=Зробіть коміт прямо в гілку <strong class="branch-name">%s</strong>.
editor.commit_directly_to_this_branch=Зробіть коміт прямо в гілку <strong class="%[2]s">%[1]s</strong>.
editor.create_new_branch=Створити <strong>нову гілку</strong> для цього коміту та відкрити запит на злиття.
editor.create_new_branch_np=Створити <strong>нову гілку</strong> для цього коміту.
editor.propose_file_change=Запропонувати зміну файлу
@ -1411,7 +1411,7 @@ issues.error_modifying_due_date=Не вдалося змінити дату за
issues.error_removing_due_date=Не вдалося видалити дату завершення.
issues.push_commit_1=додав %d коміт %s
issues.push_commits_n=додав %d коміти(-ів) %s
issues.force_push_codes=`примусово залито %[1]s з <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> до <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`примусово залито %[1]s з <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> до <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=Порівняти
issues.due_date_form=рррр-мм-дд
issues.due_date_form_add=Додати дату завершення
@ -1497,7 +1497,7 @@ pulls.nothing_to_compare=Ці гілки однакові. Немає необх
pulls.nothing_to_compare_and_allow_empty_pr=Одинакові гілки. Цей PR буде порожнім.
pulls.has_pull_request=`Запит злиття для цих гілок вже існує: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Створити запит на злиття
pulls.title_desc_few=хоче злити %[1]d комітів з <code>%[2]s</code> в <code id="branch_target">%[3]s</code>
pulls.title_desc_few=хоче злити %[1]d комітів з <code>%[2]s</code> в <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=злито %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`змінена цільова гілка з <b>%s</b> на <b>%s</b> %s`
pulls.tab_conversation=Обговорення

View file

@ -935,7 +935,7 @@ select_permissions=选择权限
permission_no_access=无访问权限
permission_read=可读
permission_write=读写
access_token_desc=所选令牌权限仅限于对应的 <a %s>API</a> 路由的授权。阅读 <a %s>文档</a> 以获取更多信息。
access_token_desc=所选令牌权限仅限于对应的 <a href="%[1]s" target="_blank">API</a> 路由的授权。阅读 <a href="%[2]s" target="_blank">文档</a> 以获取更多信息。
at_least_one_permission=你需要选择至少一个权限才能创建令牌
permissions_list=权限:
@ -1359,7 +1359,7 @@ editor.fail_to_apply_patch=无法应用补丁 %s
editor.new_patch=新补丁
editor.commit_message_desc=添加一个可选的扩展描述…
editor.signoff_desc=在提交日志消息末尾添加签署人信息。
editor.commit_directly_to_this_branch=直接提交至 <strong class="branch-name">%s</strong> 分支。
editor.commit_directly_to_this_branch=直接提交至 <strong class="%[2]s">%[1]s</strong> 分支。
editor.create_new_branch=为此提交创建一个 <strong>新的分支</strong> 并发起合并请求。
editor.create_new_branch_np=为此提交创建 <strong>新分支</strong>。
editor.propose_file_change=提议文件更改
@ -1725,7 +1725,7 @@ issues.error_modifying_due_date=修改到期时间失败。
issues.error_removing_due_date=删除到期时间失败。
issues.push_commit_1=于 %[2]s 推送了 %[1]d 个提交
issues.push_commits_n=于 %[2]s 推送了 %[1]d 个提交
issues.force_push_codes=`于 %[6]s 强制推送 %[1]s从 <a class="ui sha" href="%[3]s"><code>%[2]s</code></a>,至 <a class="ui sha" href="%[5]s"><code>%[4]s</code></a>`
issues.force_push_codes=`于 %[6]s 强制推送 %[1]s从 <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a>,至 <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a>`
issues.force_push_compare=比较
issues.due_date_form=yyyy-mm-dd
issues.due_date_form_add=设置到期时间
@ -1841,7 +1841,7 @@ pulls.nothing_to_compare_have_tag=所选分支/标签相同。
pulls.nothing_to_compare_and_allow_empty_pr=这些分支是相等的,此合并请求将为空。
pulls.has_pull_request=这些分支之间的合并请求已存在: <a href="%[1]s">%[2]s#%[3]d</a>
pulls.create=创建合并请求
pulls.title_desc_few=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code id="branch_target">%[3]s</code>
pulls.title_desc_few=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=于 %[4]s 将 %[1]d 次代码提交从 <code>%[2]s</code>合并至 <code>%[3]s</code>
pulls.change_target_branch_at=将目标分支从 <b>%s</b> 更改为 <b>%s</b> %s
pulls.tab_conversation=对话内容
@ -2761,7 +2761,7 @@ error.broken_git_hook = 该仓库的 Git 钩子似乎已经损坏,请按照 <a
pulls.merged_title_desc_one = 已将来自 <code>%[2]s</code> 的 %[1]d 提交合并入 <code>%[3]s</code> %[4]s
commits.search_branch = 此分支
open_with_editor = 使用 %s 打开
pulls.title_desc_one = 想要将来自 <code>%[2]s</code> 的 %[1]d 提交合并到 <code id="branch_target">%[3]s</code>
pulls.title_desc_one = 想要将来自 <code>%[2]s</code> 的 %[1]d 提交合并到 <code id="%[4]s">%[3]s</code>
settings.rename_branch_failed_protected = 无法重命名受保护的分支 %s。
stars = 点赞
settings.confirmation_string = 确认输入

View file

@ -478,7 +478,7 @@ editor.preview_changes=預覽更改
editor.or=
editor.cancel_lower=取消
editor.commit_changes=提交更改嗎?
editor.commit_directly_to_this_branch=直接提交到 <strong class="branch-name">%s</strong> 分支。
editor.commit_directly_to_this_branch=直接提交到 <strong class="%[2]s">%[1]s</strong> 分支。
editor.create_new_branch=建立 <strong>新的分支</strong> 為此提交和開始合併請求。
editor.cancel=取消
editor.no_changes_to_show=沒有可以顯示的變更。

View file

@ -215,7 +215,6 @@ server_internal = 伺服器內部錯誤
app_desc=一套極易架設的 Git 服務
install=安裝容易
platform=跨平台
platform_desc=Forgejo 可以在所有能編譯 <a target="_blank" rel="noopener noreferrer" href="%s">Go 語言</a>的平台上執行WindowsmacOSLinuxARM 等。挑一個您喜歡的吧!
lightweight=輕量級
lightweight_desc=一片便宜的 Raspberry Pi 就可以滿足 Forgejo 的最低需求。節省您的機器資源!
license=開放原始碼
@ -1027,7 +1026,7 @@ webauthn_key_loss_warning = 如果您弄丟了您的安全金鑰,您將無法
user_unblock_success = 已成功解除對此使用者的封鎖。
webauthn_alternative_tip = 您可能想新增一個額外的驗證方法。
user_block_success = 已成功封鎖此使用者。
access_token_desc = 選擇的符記僅授權相對應的 <a %s>API路徑</a>。請參閱<a %s>文件</a>來了解更多。
access_token_desc = 選擇的符記僅授權相對應的 <a href="%[1]s" target="_blank">API路徑</a>。請參閱<a href="%[2]s" target="_blank">文件</a>來了解更多。
oauth2_application_locked = 可以在組態中設定 Forgejo 預先註冊一些 OAuth2 應用程式。為了避免不可預料的情況,它們無法被編輯或是移除。請參閱 OAuth2 文件來了解更多。
hidden_comment_types_description = 在這裡選取的留言種類將不會顯示於問題頁面中。舉例來說,核取「標籤」將隱藏所有「使用者新增/移除了<標籤>」留言。
authorized_oauth2_applications_description = 您已授權給這些第三方應用程式取用您的 Forgejo 個人帳號的權限。請撤銷您不再使用的應用程式的權限。
@ -1307,7 +1306,7 @@ editor.fail_to_apply_patch=無法套用補綴「%s」
editor.new_patch=新增補綴
editor.commit_message_desc=(選填)加入詳細說明…
editor.signoff_desc=在提交訊息底部加入提交者的「Signed-off-by」資訊。
editor.commit_directly_to_this_branch=直接提交到 <strong class="branch-name">%s</strong> 分支。
editor.commit_directly_to_this_branch=直接提交到 <strong class="%[2]s">%[1]s</strong> 分支。
editor.create_new_branch=為此提交建立<strong>新分支</strong>並提出合併請求。
editor.create_new_branch_np=為本次提交建立<strong>新分支</strong>。
editor.propose_file_change=提出檔案變更
@ -1643,7 +1642,7 @@ issues.error_modifying_due_date=無法修改截止日期。
issues.error_removing_due_date=無法移除截止日期。
issues.push_commit_1=加入了 %d 個提交 %s
issues.push_commits_n=加入了 %d 個提交 %s
issues.force_push_codes=`強制推送了 %[1]s 自 <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> 至 <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_codes=`強制推送了 %[1]s 自 <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> 至 <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
issues.force_push_compare=比較
issues.due_date_form=yyyy年mm月dd日
issues.due_date_form_add=新增截止日期
@ -1745,7 +1744,7 @@ pulls.nothing_to_compare=這些分支的內容相同,無需建立合併請求
pulls.nothing_to_compare_and_allow_empty_pr=這些分支的內容相同,此合併請求將會是空白的。
pulls.has_pull_request=`已有介於這些分支間的合併請求:<a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=建立合併請求
pulls.title_desc_few=請求將 %[1]d 次程式碼提交從 <code>%[2]s</code> 合併至 <code id="branch_target">%[3]s</code>
pulls.title_desc_few=請求將 %[1]d 次程式碼提交從 <code>%[2]s</code> 合併至 <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_few=將 %[1]d 次提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`將目標分支從 <b>%s</b> 更改為 <b>%s</b> %s`
pulls.tab_conversation=對話內容
@ -2626,7 +2625,7 @@ signing.wont_sign.approved = 因為合併請求沒有被核可,這個合併不
activity.navbar.recent_commits = 最近的提交
issues.comment.blocked_by_user = 因為您被該儲存庫的所有者或問題的提出者封鎖,您不能在這則問題上留言。
pulls.closed = 合併請求已關閉
pulls.title_desc_one = 想從 <code>%[2]s</code> 合併 %[1]d 個提交至 <code id="branch_target">%[3]s</code>
pulls.title_desc_one = 想從 <code>%[2]s</code> 合併 %[1]d 個提交至 <code id="%[4]s">%[3]s</code>
pulls.merged_title_desc_one = 於 %[4]s 自 <code>%[2]s</code> 合併了 %[1]d 個提交至 <code>%[3]s</code>
issues.archived_label_description = (已封存)%s
signing.wont_sign.always = 永遠簽署提交。

View file

@ -26,7 +26,7 @@
<input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" button_text="{{ctx.Locale.Tr "repo.editor.commit_changes"}}" {{if eq .commit_choice "direct"}}checked{{end}}>
<label>
{{svg "octicon-git-commit"}}
{{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName}}
{{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName "branch-name"}}
{{if not .CanCommitToBranch.CanCommitToBranch}}
<div class="ui visible small warning message">
{{ctx.Locale.Tr "repo.editor.no_commit_to_branch"}}

View file

@ -549,7 +549,7 @@
<span class="text grey muted-links">
{{template "shared/user/authorlink" .Poster}}
{{if .IsForcePush}}
{{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr}}
{{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr "ui sha"}}
{{else}}
{{ctx.Locale.TrN (len .Commits) "repo.issues.push_commit_1" "repo.issues.push_commits_n" (len .Commits) $createdStr}}
{{end}}

View file

@ -79,11 +79,11 @@
{{end}}
{{else}}
{{if .Issue.OriginalAuthor}}
<span id="pull-desc-display" class="pull-desc">{{.Issue.OriginalAuthor}} {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}}</span>
<span id="pull-desc-display" class="pull-desc">{{.Issue.OriginalAuthor}} {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref "branch_target"}}</span>
{{else}}
<span id="pull-desc-display" class="pull-desc">
<a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.GetDisplayName}}</a>
{{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}}
{{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref "branch_target"}}
</span>
{{end}}
{{if .MadeUsingAGit}}

View file

@ -75,7 +75,7 @@
{{ctx.Locale.Tr "settings.select_permissions"}}
</summary>
<p class="activity meta">
<p>{{ctx.Locale.Tr "settings.access_token_desc" (HTMLFormat `href="%s/api/swagger" target="_blank"` AppSubUrl) (`href="https://forgejo.org/docs/latest/user/token-scope/" target="_blank"`|SafeHTML)}}</p>
<p>{{ctx.Locale.Tr "settings.access_token_desc" (printf "%s/api/swagger" AppSubUrl) "https://forgejo.org/docs/latest/user/token-scope/"}}</p>
</p>
<div class="scoped-access-token"
data-is-admin="{{if .IsAdmin}}true{{else}}false{{end}}"