loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Gusted
Gusted
and committed by
0ko
dfe3ffc5 031451e7

+361 -151
+5 -1
Makefile
··· 418 418 lint-frontend-fix: lint-js-fix lint-css-fix 419 419 420 420 .PHONY: lint-backend 421 - lint-backend: lint-go lint-go-vet lint-editorconfig lint-renovate 421 + lint-backend: lint-go lint-go-vet lint-editorconfig lint-renovate lint-locale 422 422 423 423 .PHONY: lint-backend-fix 424 424 lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig ··· 460 460 npx --yes --package $(RENOVATE_NPM_PACKAGE) -- renovate-config-validator --strict > .lint-renovate 2>&1 || true 461 461 @if grep --quiet --extended-regexp -e '^( WARN:|ERROR:)' .lint-renovate ; then cat .lint-renovate ; rm .lint-renovate ; exit 1 ; fi 462 462 @rm .lint-renovate 463 + 464 + .PHONY: lint-locale 465 + lint-locale: 466 + $(GO) run build/lint-locale.go 463 467 464 468 .PHONY: lint-md 465 469 lint-md: node_modules
+156
build/lint-locale.go
··· 1 + // Copyright 2024 The Forgejo Authors. All rights reserved. 2 + // SPDX-License-Identifier: MIT 3 + 4 + //nolint:forbidigo 5 + package main 6 + 7 + import ( 8 + "fmt" 9 + "html" 10 + "io/fs" 11 + "os" 12 + "path/filepath" 13 + "regexp" 14 + "slices" 15 + "strings" 16 + 17 + "github.com/microcosm-cc/bluemonday" 18 + "github.com/sergi/go-diff/diffmatchpatch" 19 + "gopkg.in/ini.v1" //nolint:depguard 20 + ) 21 + 22 + var ( 23 + policy *bluemonday.Policy 24 + tagRemover *strings.Replacer 25 + safeURL = "https://TO-BE-REPLACED.COM" 26 + 27 + // Matches href="", href="#", href="%s", href="#%s", href="%[1]s" and href="#%[1]s". 28 + placeHolderRegex = regexp.MustCompile(`href="#?(%s|%\[\d\]s)?"`) 29 + ) 30 + 31 + func initBlueMondayPolicy() { 32 + policy = bluemonday.NewPolicy() 33 + 34 + policy.RequireParseableURLs(true) 35 + policy.AllowURLSchemes("https") 36 + 37 + // Only allow safe URL on href. 38 + // Only allow target="_blank". 39 + // Only allow rel="nopener noreferrer", rel="noopener" and rel="noreferrer". 40 + // Only allow placeholder on id and class. 41 + policy.AllowAttrs("href").Matching(regexp.MustCompile("^" + regexp.QuoteMeta(safeURL) + "$")).OnElements("a") 42 + policy.AllowAttrs("target").Matching(regexp.MustCompile("^_blank$")).OnElements("a") 43 + policy.AllowAttrs("rel").Matching(regexp.MustCompile("^(noopener|noreferrer|noopener noreferrer)$")).OnElements("a") 44 + policy.AllowAttrs("id", "class").Matching(regexp.MustCompile(`^%s|%\[\d\]s$`)).OnElements("a") 45 + 46 + // Only allow positional placeholder as class. 47 + positionalPlaceholderRe := regexp.MustCompile(`^%\[\d\]s$`) 48 + policy.AllowAttrs("class").Matching(positionalPlaceholderRe).OnElements("strong") 49 + policy.AllowAttrs("id").Matching(positionalPlaceholderRe).OnElements("code") 50 + 51 + // Allowed elements with no attributes. Must be a recognized tagname. 52 + policy.AllowElements("strong", "br", "b", "strike", "code", "i") 53 + 54 + // TODO: Remove <c> in `actions.workflow.dispatch.trigger_found`. 55 + policy.AllowNoAttrs().OnElements("c") 56 + } 57 + 58 + func initRemoveTags() { 59 + oldnew := []string{} 60 + for _, el := range []string{ 61 + "email@example.com", "correu@example.com", "epasts@domens.lv", "email@exemplo.com", "eposta@ornek.com", "email@példa.hu", "email@esempio.it", 62 + "user", "utente", "lietotājs", "gebruiker", "usuário", "Benutzer", "Bruker", 63 + "server", "servidor", "kiszolgáló", "serveris", 64 + "label", "etichetta", "etiķete", "rótulo", "Label", "utilizador", 65 + "filename", "bestandsnaam", "dosyaadi", "fails", "nome do arquivo", 66 + } { 67 + oldnew = append(oldnew, "<"+el+">", "REPLACED-TAG") 68 + } 69 + 70 + tagRemover = strings.NewReplacer(oldnew...) 71 + } 72 + 73 + func preprocessTranslationValue(value string) string { 74 + // href should be a parsable URL, replace placeholder strings with a safe url. 75 + value = placeHolderRegex.ReplaceAllString(value, `href="`+safeURL+`"`) 76 + 77 + // Remove tags that aren't tags but will be parsed as tags. We already know they are safe and sound. 78 + value = tagRemover.Replace(value) 79 + 80 + return value 81 + } 82 + 83 + func checkLocaleContent(localeContent []byte) []string { 84 + // Same configuration as Forgejo uses. 85 + cfg := ini.Empty(ini.LoadOptions{ 86 + IgnoreContinuation: true, 87 + }) 88 + cfg.NameMapper = ini.SnackCase 89 + 90 + if err := cfg.Append(localeContent); err != nil { 91 + panic(err) 92 + } 93 + 94 + dmp := diffmatchpatch.New() 95 + errors := []string{} 96 + 97 + for _, section := range cfg.Sections() { 98 + for _, key := range section.Keys() { 99 + var trKey string 100 + if section.Name() == "" || section.Name() == "DEFAULT" || section.Name() == "common" { 101 + trKey = key.Name() 102 + } else { 103 + trKey = section.Name() + "." + key.Name() 104 + } 105 + 106 + keyValue := preprocessTranslationValue(key.Value()) 107 + 108 + if html.UnescapeString(policy.Sanitize(keyValue)) != keyValue { 109 + // Create a nice diff of the difference. 110 + diffs := dmp.DiffMain(keyValue, html.UnescapeString(policy.Sanitize(keyValue)), false) 111 + diffs = dmp.DiffCleanupSemantic(diffs) 112 + diffs = dmp.DiffCleanupEfficiency(diffs) 113 + 114 + errors = append(errors, trKey+": "+dmp.DiffPrettyText(diffs)) 115 + } 116 + } 117 + } 118 + return errors 119 + } 120 + 121 + func main() { 122 + initBlueMondayPolicy() 123 + initRemoveTags() 124 + 125 + localeDir := filepath.Join("options", "locale") 126 + localeFiles, err := os.ReadDir(localeDir) 127 + if err != nil { 128 + panic(err) 129 + } 130 + 131 + if !slices.ContainsFunc(localeFiles, func(e fs.DirEntry) bool { return strings.HasSuffix(e.Name(), ".ini") }) { 132 + fmt.Println("No locale files found") 133 + os.Exit(1) 134 + } 135 + 136 + exitCode := 0 137 + for _, localeFile := range localeFiles { 138 + if !strings.HasSuffix(localeFile.Name(), ".ini") { 139 + continue 140 + } 141 + 142 + localeContent, err := os.ReadFile(filepath.Join(localeDir, localeFile.Name())) 143 + if err != nil { 144 + panic(err) 145 + } 146 + 147 + if err := checkLocaleContent(localeContent); len(err) > 0 { 148 + fmt.Println(localeFile.Name()) 149 + fmt.Println(strings.Join(err, "\n")) 150 + fmt.Println() 151 + exitCode = 1 152 + } 153 + } 154 + 155 + os.Exit(exitCode) 156 + }
+65
build/lint-locale_test.go
··· 1 + // Copyright 2024 The Forgejo Authors. All rights reserved. 2 + // SPDX-License-Identifier: MIT 3 + package main 4 + 5 + import ( 6 + "testing" 7 + 8 + "github.com/stretchr/testify/assert" 9 + ) 10 + 11 + func TestLocalizationPolicy(t *testing.T) { 12 + initBlueMondayPolicy() 13 + initRemoveTags() 14 + 15 + t.Run("Remove tags", func(t *testing.T) { 16 + 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.`))) 17 + 18 + assert.EqualValues(t, []string{"key: \x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<not-an-allowed-key> <label>"`))) 19 + assert.EqualValues(t, []string{"key: \x1b[31m<user@example.com>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<user@example.com> <email@example.com>"`))) 20 + 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>"`))) 21 + }) 22 + 23 + t.Run("Specific exception", func(t *testing.T) { 24 + assert.Empty(t, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <c>workflow_dispatch</c> event trigger.`))) 25 + 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>`))) 26 + assert.Empty(t, checkLocaleContent([]byte(`editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch.`))) 27 + 28 + 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.`))) 29 + 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>`))) 30 + 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">`))) 31 + 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">`))) 32 + 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>`))) 33 + }) 34 + 35 + t.Run("General safe tags", func(t *testing.T) { 36 + 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."))) 37 + 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>."))) 38 + 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."))) 39 + assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,"))) 40 + 41 + 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."))) 42 + }) 43 + 44 + t.Run("<a>", func(t *testing.T) { 45 + assert.Empty(t, checkLocaleContent([]byte(`admin.new_user.text = Please <a href="%s">click here</a> to manage this user from the admin panel.`))) 46 + 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.`))) 47 + 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.`))) 48 + assert.Empty(t, checkLocaleContent([]byte("issues.closed_at = `closed this issue <a id=\"%[1]s\" href=\"#%[1]s\">%[2]s</a>`"))) 49 + 50 + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com">`))) 51 + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"javascript:alert('1')\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="javascript:alert('1')">`))) 52 + assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m download\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" download>`))) 53 + 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">`))) 54 + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/%s">`))) 55 + 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">`))) 56 + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s/open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s/open-redirect">`))) 57 + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s?q=open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s?q=open-redirect">`))) 58 + }) 59 + 60 + t.Run("Escaped HTML characters", func(t *testing.T) { 61 + assert.Empty(t, checkLocaleContent([]byte("activity.git_stats_push_to_branch = `إلى %s و\"`"))) 62 + 63 + assert.EqualValues(t, []string{"key: و\x1b[31m&nbsp\x1b[0m\x1b[32m\u00a0\x1b[0m"}, checkLocaleContent([]byte(`key = و&nbsp;`))) 64 + }) 65 + }
+3 -3
options/locale/locale_ar.ini
··· 960 960 projects.new = مشروع جديد 961 961 file_history = تاريخ 962 962 editor.directory_is_a_file = اسم المجلد "%s" مستخدم فعلا لاسم ملف في هذا المستودع. 963 - editor.commit_directly_to_this_branch = أودع مباشرةً إلى فرع <strong class="branch-name">%s</strong>. 963 + editor.commit_directly_to_this_branch = أودع مباشرةً إلى فرع <strong class="%[2]s">%[1]s</strong>. 964 964 editor.unable_to_upload_files = تعذر رفع الملفات إلى "%s" برسالة الخطأ: %v 965 965 settings.webhook.payload = المحتوى 966 966 invisible_runes_header = `يحتوي هذا الملف على محارف يونيكود غير مرئية` ··· 1105 1105 activity.git_stats_pushed_n = دفعوا 1106 1106 activity.git_stats_commit_1 = %d إيداع 1107 1107 activity.git_stats_commit_n = %d إيداعا 1108 - activity.git_stats_push_to_branch = إلى %s و&nbsp; 1108 + activity.git_stats_push_to_branch = `إلى %s و"` 1109 1109 activity.git_stats_push_to_all_branches = إلى كل الفروع. 1110 1110 activity.git_stats_on_default_branch = في %s، 1111 1111 activity.git_stats_file_1 = %d ملف ··· 1115 1115 activity.git_stats_additions = وحدثت 1116 1116 activity.git_stats_addition_1 = %d إضافة 1117 1117 activity.git_stats_addition_n = %d إضافة 1118 - activity.git_stats_and_deletions = و&nbsp; 1118 + activity.git_stats_and_deletions = `و"` 1119 1119 activity.git_stats_deletion_1 = %d إزالة 1120 1120 activity.git_stats_deletion_n = %d إزالة 1121 1121 settings.mirror_settings.direction = الاتجاه
+3 -3
options/locale/locale_bg.ini
··· 846 846 editor.create_new_branch = Създаване на <strong>нов клон</strong> за това подаване и започване на заявка за сливане. 847 847 editor.create_new_branch_np = Създаване на <strong>нов клон</strong> за това подаване. 848 848 editor.filename_is_invalid = Името на файла е невалидно: „%s“. 849 - editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="branch-name">%s</strong>. 849 + editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="%[2]s">%[1]s</strong>. 850 850 editor.branch_already_exists = Клонът „%s“ вече съществува в това хранилище. 851 851 editor.file_already_exists = Файл с име „%s“ вече съществува в това хранилище. 852 852 editor.commit_empty_file_header = Подаване на празен файл ··· 997 997 pulls.showing_only_single_commit = Показани са само промените в подаване %[1]s 998 998 issues.lock_no_reason = заключи и ограничи обсъждането до сътрудници %s 999 999 pulls.expand_files = Разгъване на всички файлове 1000 - pulls.title_desc_few = иска да слее %[1]d подавания от <code>%[2]s</code> в <code id="branch_target">%[3]s</code> 1000 + pulls.title_desc_few = иска да слее %[1]d подавания от <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> 1001 1001 issues.content_history.deleted = изтрито 1002 1002 activity.git_stats_exclude_merges = С изключение на сливанията, 1003 1003 activity.navbar.pulse = Последна дейност ··· 1017 1017 pulls.show_all_commits = Показване на всички подавания 1018 1018 diff.whitespace_button = Празни знаци 1019 1019 issues.content_history.edited = редактирано 1020 - pulls.title_desc_one = иска да слее %[1]d подаване от <code>%[2]s</code> в <code id="branch_target">%[3]s</code> 1020 + pulls.title_desc_one = иска да слее %[1]d подаване от <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> 1021 1021 pulls.showing_specified_commit_range = Показани са само промените между %[1]s..%[2]s 1022 1022 pulls.merged_title_desc_one = сля %[1]d подаване от <code>%[2]s</code> в <code>%[3]s</code> %[4]s 1023 1023 pulls.no_merge_access = Не сте упълномощени за сливане на тази заявка за сливане.
+5 -5
options/locale/locale_cs-CZ.ini
··· 1036 1036 change_password = Změnit heslo 1037 1037 user_block_success = Uživatel byl úspěšně zablokován. 1038 1038 user_unblock_success = Uživatel byl úspěšně odblokován. 1039 - 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>. 1039 + 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>. 1040 1040 blocked_users_none = Nemáte žádné zablokované uživatele. 1041 1041 blocked_since = Zablokován od %s 1042 1042 hints = Nápovědy ··· 1360 1360 editor.new_patch=Nová záplata 1361 1361 editor.commit_message_desc=Přidat volitelný rozšířený popis… 1362 1362 editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu. 1363 - editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="branch-name">%s</strong>. 1363 + editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="%[2]s">%[1]s</strong>. 1364 1364 editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a vytvořit žádost o sloučení. 1365 1365 editor.create_new_branch_np=Vytvořte <strong>novou větev</strong> z tohoto commitu. 1366 1366 editor.propose_file_change=Navrhnout změnu souboru ··· 1725 1725 issues.error_removing_due_date=Odstranění termínu dokončení selhalo. 1726 1726 issues.push_commit_1=přidal/a %d commit %s 1727 1727 issues.push_commits_n=přidal/a %d commity %s 1728 - 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` 1728 + 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` 1729 1729 issues.force_push_compare=Porovnat 1730 1730 issues.due_date_form=rrrr-mm-dd 1731 1731 issues.due_date_form_add=Přidat termín dokončení ··· 1841 1841 pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tato žádost o sloučení bude prázdná. 1842 1842 pulls.has_pull_request=`Žádost o sloučení mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>` 1843 1843 pulls.create=Vytvořit žádost o sloučení 1844 - 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> 1844 + 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> 1845 1845 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 1846 1846 pulls.change_target_branch_at=`změnil/a cílovou větev z <b>%s</b> na <b>%s</b> %s` 1847 1847 pulls.tab_conversation=Konverzace ··· 2765 2765 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í. 2766 2766 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. 2767 2767 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. 2768 - pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> do <code id="branch_target">%[3]s</code> 2768 + pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> do <code id="%[4]s">%[3]s</code> 2769 2769 pulls.merged_title_desc_one = sloučil %[1]d commit z <code>%[2]s</code> do <code>%[3]s</code> %[4]s 2770 2770 open_with_editor = Otevřít pomocí %s 2771 2771 commits.search_branch = Tato větev
+5 -5
options/locale/locale_de-DE.ini
··· 936 936 permission_no_access=Kein Zugriff 937 937 permission_read=Lesen 938 938 permission_write=Lesen und Schreiben 939 - 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. 939 + 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. 940 940 at_least_one_permission=Du musst mindestens eine Berechtigung auswählen, um ein Token zu erstellen 941 941 permissions_list=Berechtigungen: 942 942 ··· 1353 1353 editor.new_patch=Neuer Patch 1354 1354 editor.commit_message_desc=Eine ausführlichere (optionale) Beschreibung hinzufügen … 1355 1355 editor.signoff_desc=Am Ende der Commit-Nachricht einen „Signed-off-by“-Anhang vom Committer hinzufügen. 1356 - editor.commit_directly_to_this_branch=Direkt in den Branch „<strong class="branch-name">%s</strong>“ einchecken. 1356 + editor.commit_directly_to_this_branch=Direkt in den Branch „<strong class="%[2]s">%[1]s</strong>“ einchecken. 1357 1357 editor.create_new_branch=Einen <strong>neuen Branch</strong> für diesen Commit erstellen und einen Pull-Request starten. 1358 1358 editor.create_new_branch_np=Erstelle einen <strong>neuen Branch</strong> für diesen Commit. 1359 1359 editor.propose_file_change=Dateiänderung vorschlagen ··· 1719 1719 issues.error_removing_due_date=Fehler beim Entfernen des Fälligkeitsdatums. 1720 1720 issues.push_commit_1=hat %d Commit %s hinzugefügt 1721 1721 issues.push_commits_n=hat %d Commits %s hinzugefügt 1722 - 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` 1722 + 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` 1723 1723 issues.force_push_compare=Vergleichen 1724 1724 issues.due_date_form=JJJJ-MM-TT 1725 1725 issues.due_date_form_add=Fälligkeitsdatum hinzufügen ··· 1834 1834 pulls.nothing_to_compare_and_allow_empty_pr=Diese Branches sind gleich. Der Pull-Request wird leer sein. 1835 1835 pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Branches: <a href="%[1]s">%[2]s#%[3]d</a>` 1836 1836 pulls.create=Pull-Request erstellen 1837 - pulls.title_desc_few=möchte %[1]d Commits von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen 1837 + pulls.title_desc_few=möchte %[1]d Commits von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen 1838 1838 pulls.merged_title_desc_few=hat %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt 1839 1839 pulls.change_target_branch_at=`hat den Zielbranch von <b>%s</b> nach <b>%s</b> %s geändert` 1840 1840 pulls.tab_conversation=Diskussion ··· 2751 2751 file_follow = Symlink folgen 2752 2752 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. 2753 2753 pulls.merged_title_desc_one = hat %[1]d Commit von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt 2754 - pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen 2754 + pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen 2755 2755 open_with_editor = Öffnen mit %s 2756 2756 commits.search_branch = Dieser Branch 2757 2757 pulls.ready_for_review = Bereit zum Review?
+5 -5
options/locale/locale_el-GR.ini
··· 932 932 permission_no_access=Καμία πρόσβαση 933 933 permission_read=Αναγνωσμένες 934 934 permission_write=Ανάγνωση και εγγραφή 935 - access_token_desc=Τα επιλεγμένα δικαιώματα διακριτικών περιορίζουν την άδεια μόνο στις αντίστοιχες διαδρομές <a %s>API</a>. Διαβάστε το εγχειρίδιο <a %s></a> για περισσότερες πληροφορίες. 935 + access_token_desc=Τα επιλεγμένα δικαιώματα διακριτικών περιορίζουν την άδεια μόνο στις αντίστοιχες διαδρομές <a href="%[1]s" target="_blank">API</a>. Διαβάστε το εγχειρίδιο <a href="%[2]s" target="_blank"></a> για περισσότερες πληροφορίες. 936 936 at_least_one_permission=Πρέπει να επιλέξετε τουλάχιστον ένα δικαίωμα για να δημιουργήσετε ένα διακριτικό 937 937 permissions_list=Δικαιώματα: 938 938 ··· 1350 1350 editor.new_patch=Νέο patch 1351 1351 editor.commit_message_desc=Προσθήκη προαιρετικής εκτενούς περιγραφής… 1352 1352 editor.signoff_desc=Προσθέστε ένα πρόσθετο Signed-off-by στο τέλος του μηνύματος καταγραφής της υποβολής. 1353 - editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="branch-name">%s</strong>. 1353 + editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="%[2]s">%[1]s</strong>. 1354 1354 editor.create_new_branch=Δημιουργήστε έναν <strong>νέο κλάδο</strong> για αυτή την υποβολή και ξεκινήστε ένα pull request. 1355 1355 editor.create_new_branch_np=Δημιουργήστε έναν <strong>νέο κλάδο</strong> για αυτή την υποβολή. 1356 1356 editor.propose_file_change=Πρόταση αλλαγής αρχείου ··· 1716 1716 issues.error_removing_due_date=Προέκυψε σφάλμα κατά την κατάργηση ημερομηνίας παράδοσης. 1717 1717 issues.push_commit_1=πρόσθεσε %d υποβολή %s 1718 1718 issues.push_commits_n=πρόσθεσε %d υποβολές %s 1719 - 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` 1719 + 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` 1720 1720 issues.force_push_compare=Σύγκριση 1721 1721 issues.due_date_form=εεεε-μμ-ηη 1722 1722 issues.due_date_form_add=Προσθήκη ημερομηνίας παράδοσης ··· 1831 1831 pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίδιοι. Αυτό το PR θα είναι κενό. 1832 1832 pulls.has_pull_request=`Υπάρχει ήδη pull request μεταξύ αυτών των κλάδων: <a href="%[1]s">%[2]s#%[3]d</a>` 1833 1833 pulls.create=Δημιουργία pull request 1834 - pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="branch_target">%[3]s</code> 1834 + pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="%[4]s">%[3]s</code> 1835 1835 pulls.merged_title_desc_few=συγχώνευσε %[1]d υποβολές από <code>%[2]s</code> σε <code>%[3]s</code> %[4]s 1836 1836 pulls.change_target_branch_at=`άλλαξε τον κλάδο προορισμού από <b>%s</b> σε <b>%s</b> %s` 1837 1837 pulls.tab_conversation=Συζήτηση ··· 2744 2744 stars = Αστέρια 2745 2745 n_branch_one = %s κλάδος 2746 2746 commits.search_branch = Αυτός ο κλάδος 2747 - pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="branch_target">%[3]s</code> 2747 + pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="%[4]s">%[3]s</code> 2748 2748 pulls.merged_title_desc_one = συγχώνευσε %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code>%[3]s</code> %[4]s 2749 2749 n_commit_few = %s υποβολές 2750 2750 settings.sourcehut_builds.secrets = Μυστικά
+5 -5
options/locale/locale_en-US.ini
··· 935 935 permission_no_access = No access 936 936 permission_read = Read 937 937 permission_write = Read and write 938 - 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. 938 + 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. 939 939 at_least_one_permission = You must select at least one permission to create a token 940 940 permissions_list = Permissions: 941 941 ··· 1372 1372 editor.new_patch = New patch 1373 1373 editor.commit_message_desc = Add an optional extended description… 1374 1374 editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message. 1375 - editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch. 1375 + editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch. 1376 1376 editor.create_new_branch = Create a <strong>new branch</strong> for this commit and start a pull request. 1377 1377 editor.create_new_branch_np = Create a <strong>new branch</strong> for this commit. 1378 1378 editor.propose_file_change = Propose file change ··· 1740 1740 issues.due_date = Due date 1741 1741 issues.push_commit_1 = added %d commit %s 1742 1742 issues.push_commits_n = added %d commits %s 1743 - 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` 1743 + 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` 1744 1744 issues.force_push_compare = Compare 1745 1745 issues.due_date_form = yyyy-mm-dd 1746 1746 issues.due_date_form_edit = Edit ··· 1859 1859 pulls.nothing_to_compare_and_allow_empty_pr = These branches are equal. This PR will be empty. 1860 1860 pulls.has_pull_request = `A pull request between these branches already exists: <a href="%[1]s">%[2]s#%[3]d</a>` 1861 1861 pulls.create = Create pull request 1862 - pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="branch_target">%[3]s</code> 1863 - pulls.title_desc_few = wants to merge %[1]d commits from <code>%[2]s</code> into <code id="branch_target">%[3]s</code> 1862 + pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code> 1863 + pulls.title_desc_few = wants to merge %[1]d commits from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code> 1864 1864 pulls.merged_title_desc_one = merged %[1]d commit from <code>%[2]s</code> into <code>%[3]s</code> %[4]s 1865 1865 pulls.merged_title_desc_few = merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s 1866 1866 pulls.change_target_branch_at = `changed target branch from <b>%s</b> to <b>%s</b> %s`
-1
options/locale/locale_eo.ini
··· 202 202 install = Facile instalebla 203 203 lightweight = Malpeza 204 204 license = Libera fontkodo 205 - 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! 206 205 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>. 207 206 lightweight_desc = Forgejo ne penigos vian servilon, kaj eĉ ruleblas je Raspberry Pi. Konservu vian komputpotencon! 208 207 platform = Plursistema
+5 -5
options/locale/locale_es-ES.ini
··· 932 932 permission_no_access=Sin acceso 933 933 permission_read=Leídas 934 934 permission_write=Lectura y escritura 935 - 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. 935 + 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. 936 936 at_least_one_permission=Debe seleccionar al menos un permiso para crear un token 937 937 permissions_list=Permisos: 938 938 ··· 1349 1349 editor.new_patch=Nuevo parche 1350 1350 editor.commit_message_desc=Añadir una descripción extendida opcional… 1351 1351 editor.signoff_desc=Añadir un trailer firmado por el committer al final del mensaje de registro de confirmación. 1352 - editor.commit_directly_to_this_branch=Hacer commit directamente en la rama <strong class="branch-name">%s</strong>. 1352 + editor.commit_directly_to_this_branch=Hacer commit directamente en la rama <strong class="%[2]s">%[1]s</strong>. 1353 1353 editor.create_new_branch=Crear una <strong>nueva rama</strong> para este commit y hacer un pull request. 1354 1354 editor.create_new_branch_np=Crear una <strong>nueva rama</strong> para este commit. 1355 1355 editor.propose_file_change=Proponer cambio de archivo ··· 1715 1715 issues.error_removing_due_date=Fallo al eliminar la fecha de vencimiento. 1716 1716 issues.push_commit_1=añadió %d commit %s 1717 1717 issues.push_commits_n=añadió %d commits %s 1718 - 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` 1718 + 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` 1719 1719 issues.force_push_compare=Comparar 1720 1720 issues.due_date_form=aaaa-mm-dd 1721 1721 issues.due_date_form_add=Añadir fecha de vencimiento ··· 1830 1830 pulls.nothing_to_compare_and_allow_empty_pr=Estas ramas son iguales. Este PR estará vacío. 1831 1831 pulls.has_pull_request=`Ya existe un pull request entre estas ramas: <a href="%[1]s">%[2]s#%[3]d</a>` 1832 1832 pulls.create=Crear pull request 1833 - pulls.title_desc_few=quiere fusionar %[1]d commits de <code>%[2]s</code> en <code id="branch_target">%[3]s</code> 1833 + pulls.title_desc_few=quiere fusionar %[1]d commits de <code>%[2]s</code> en <code id="%[4]s">%[3]s</code> 1834 1834 pulls.merged_title_desc_few=fusionó %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code> %[4]s 1835 1835 pulls.change_target_branch_at=`cambió la rama objetivo de <b>%s</b> a <b>%s</b> %s` 1836 1836 pulls.tab_conversation=Conversación ··· 2735 2735 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. 2736 2736 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 2737 2737 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 2738 - pulls.title_desc_one = quiere fusionar %[1]d commit de <code>%[2]s</code> en <code id="branch_target">%[3]s</code> 2738 + pulls.title_desc_one = quiere fusionar %[1]d commit de <code>%[2]s</code> en <code id="%[4]s">%[3]s</code> 2739 2739 pulls.ready_for_review = Listo para revisar? 2740 2740 activity.navbar.contributors = Contribuidores 2741 2741 pulls.cmd_instruction_hint = Ver instrucciones para la línea de comandos
+3 -4
options/locale/locale_fa-IR.ini
··· 149 149 app_desc=یک سرویس گیت بی‌درد سر و راحت 150 150 install=راه‌اندازی ساده 151 151 platform=مستقل از سکو 152 - platform_desc=گیت همه جا اجرا می‌شود <a target="_blank" rel="noopener noreferrer" href="http://golang.org/"> بریم!</a> می‌توانید Windows, macOS, Linux, ARM و ... هر کدام را دوست داشتید انتخاب کنید! 153 152 lightweight=ابزارک سبک 154 153 lightweight_desc=گیتی با حداقل منابع میتوانید برای روی دستگاه Raspberry Pi اجرا شود و مصرف انرژی شما را کاهش دهد! 155 154 license=متن باز ··· 985 984 editor.add_tmpl=افزودن '<filename>' 986 985 editor.commit_message_desc=توضیحی تخصصی به دلخواه اضافه نمایید… 987 986 editor.signoff_desc=یک تریلر Signed-off-by توسط committer در انتهای پیام گزارش commit اضافه کنید. 988 - editor.commit_directly_to_this_branch=ثبت کامیت به صورت مستقیم در انشعاب <strong class="branch-name">%s</strong>. 987 + editor.commit_directly_to_this_branch=ثبت کامیت به صورت مستقیم در انشعاب <strong class="%[2]s">%[1]s</strong>. 989 988 editor.create_new_branch=یک <strong> شاخه جدید</strong> برای این commit ایجاد کنید و تقاضای واکشی را شروع کنید. 990 989 editor.create_new_branch_np=یک <strong> شاخه جدید </strong> برای کامیت بسازید. 991 990 editor.propose_file_change=پیشنهاد تغییر پرونده ··· 1254 1253 issues.error_removing_due_date=حذف موعد مقرر با شکست مواجه شد. 1255 1254 issues.push_commit_1=%d اعمال تغییر اضافه شده است %s 1256 1255 issues.push_commits_n=%d اعمال تغییرات اضافه شده است %s 1257 - 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` 1256 + 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` 1258 1257 issues.force_push_compare=مقایسه 1259 1258 issues.due_date_form=yyyy-mm-dd 1260 1259 issues.due_date_form_add=افزودن موعد مقرر ··· 1340 1339 pulls.nothing_to_compare_and_allow_empty_pr=این شاخه ها برابر هستند. این PR خالی خواهد بود. 1341 1340 pulls.has_pull_request=`A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>` 1342 1341 pulls.create=ایجاد تقاضای واکشی 1343 - pulls.title_desc_few=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="branch_target">%[3]s</code> دارد 1342 + pulls.title_desc_few=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="%[4]s">%[3]s</code> دارد 1344 1343 pulls.merged_title_desc_few=%[1]d کامیت ادغام شده از <code>%[2]s</code> به <code>%[3]s</code> %[4]s 1345 1344 pulls.change_target_branch_at=`هدف شاخه از <b>%s</b> به <b>%s</b> %s تغییر کرد` 1346 1345 pulls.tab_conversation=گفتگو
+3 -3
options/locale/locale_fi-FI.ini
··· 928 928 editor.commit_signed_changes=Commitoi vahvistetut muutokset 929 929 editor.commit_changes=Kommitoi muutokset 930 930 editor.add_tmpl=Lisää "<filename>" 931 - editor.commit_directly_to_this_branch=Commitoi suoraan <strong class="branch-name">%s</strong> haaraan. 931 + editor.commit_directly_to_this_branch=Commitoi suoraan <strong class="%[2]s">%[1]s</strong> haaraan. 932 932 editor.create_new_branch=Luo <strong>uusi haara</strong> tälle commitille ja aloita vetopyyntö. 933 933 editor.create_new_branch_np=Luo <strong>uusi haara</strong> tälle commitille. 934 934 editor.cancel=Peruuta ··· 1148 1148 pulls.nothing_to_compare_and_allow_empty_pr=Nämä haarat vastaavat toisiaan. Vetopyyntö tulee olemaan tyhjä. 1149 1149 pulls.has_pull_request=`Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>` 1150 1150 pulls.create=Luo vetopyyntö 1151 - pulls.title_desc_few=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="branch_target">%[3]s</code> 1151 + pulls.title_desc_few=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="%[4]s">%[3]s</code> 1152 1152 pulls.merged_title_desc_few=yhdistetty %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s 1153 1153 pulls.tab_conversation=Keskustelu 1154 1154 pulls.tab_commits=Commitit ··· 2447 2447 variables = Muuttujat 2448 2448 variables.management = Hallinnoi muuttujia 2449 2449 variables.creation = Lisää muuttuja 2450 - runs.no_workflows.quick_start = Etkö tiedä kuinka Forgejo Actions toimii? Katso <a target="_blank" rel="noopener noreferrer" href="%s" >aloitusohje</a>. 2450 + runs.no_workflows.quick_start = Etkö tiedä kuinka Forgejo Actions toimii? Katso <a target="_blank" rel="noopener noreferrer" href="%s">aloitusohje</a>. 2451 2451 runners.new = Luo uusi testinajaja 2452 2452 runners.version = Versio 2453 2453 runs.expire_log_message = Lokitiedostot on tyhjätty vanhenemisen vuoksi.
+5 -5
options/locale/locale_fil.ini
··· 766 766 principal_state_desc = Ginamit ang principal na ito sa huling 7 araw 767 767 tokens_desc = Ang mga token na ito ay nagbibigay ng pag-access sa iyong account gamit ang Forgejo API. 768 768 generate_token_name_duplicate = Ginamit na ang <strong>%s</strong> bilang isang pangalan ng application. Gumamit ng bago. 769 - 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. 769 + 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. 770 770 uploaded_avatar_is_too_big = Ang laki ng na-upload na file (%d KiB) ay lumalagpas sa pinakamalaking laki (%d KiB). 771 771 update_avatar_success = Nabago na ang iyong avatar. 772 772 update_user_avatar_success = Nabago na ang avatar ng user. ··· 1482 1482 milestones.desc = paglalarawan 1483 1483 pulls.blocked_by_user = Hindi ka makakagawa ng hiling sa paghila sa repositoryo na ito dahil na-block ka ng may-ari ng repositoryo. 1484 1484 pulls.no_merge_access = Hindi ka pinapayagang isali ang [pull request] na ito. 1485 - editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na <strong class="branch-name">%s</strong>. 1485 + editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na <strong class="%[2]s">%[1]s</strong>. 1486 1486 editor.branch_already_exists = Umiiral na ang branch na "%s" sa repositoryo na ito. 1487 1487 editor.file_editing_no_longer_exists = Ang file na ine-edit, "%s", ay hindi na umiiral sa repositoryo na ito. 1488 1488 editor.filename_is_a_directory = Ang pangalan ng file "%s" ay ginagamit na bilang pangalan ng direktoryo sa repositoryo na ito. ··· 1584 1584 projects.card_type.desc = Mga preview ng card 1585 1585 commits.desc = I-browse ang history ng pagbabago ng source code. 1586 1586 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". 1587 - 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` 1587 + 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` 1588 1588 issues.push_commit_1 = idinagdag ang %d commit %s 1589 1589 issues.push_commits_n = idinagdag ang %d mga [commit] %s 1590 1590 issues.new.no_reviewers = Walang mga tagasuri 1591 - pulls.title_desc_one = hinihiling na isama ang %[1]d commit mula <code>%[2]s</code> patungong <code id="branch_target">%[3]s</code> 1592 - 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> 1591 + pulls.title_desc_one = hinihiling na isama ang %[1]d commit mula <code>%[2]s</code> patungong <code id="%[4]s">%[3]s</code> 1592 + 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> 1593 1593 issues.review.add_review_request = hiniling ang pagsuri mula kay %s %s 1594 1594 pulls.status_checks_details = Mga detalye 1595 1595 activity.git_stats_author_n = %d mga may-akda
+6 -6
options/locale/locale_fr-FR.ini
··· 223 223 lightweight=Léger 224 224 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 ! 225 225 license=Open Source 226 - 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 ! 226 + 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 ! 227 227 228 228 [install] 229 229 install=Installation ··· 938 938 permission_no_access=Aucun accès 939 939 permission_read=Lecture 940 940 permission_write=Lecture et écriture 941 - 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 d’informations. 941 + 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 d’informations. 942 942 at_least_one_permission=Vous devez sélectionner au moins une permission pour créer un jeton 943 943 permissions_list=Autorisations : 944 944 ··· 1360 1360 editor.new_patch=Nouveau correctif 1361 1361 editor.commit_message_desc=Ajouter une description détaillée facultative… 1362 1362 editor.signoff_desc=Créditer l'auteur "Signed-off-by:" en pied de révision. 1363 - editor.commit_directly_to_this_branch=Réviser directement dans la branche <strong class="branch-name">%s</strong>. 1363 + editor.commit_directly_to_this_branch=Réviser directement dans la branche <strong class="%[2]s">%[1]s</strong>. 1364 1364 editor.create_new_branch=Créer une <strong>nouvelle branche</strong> pour cette révision et initier une demande d'ajout. 1365 1365 editor.create_new_branch_np=Créer une <strong>nouvelle branche</strong> pour cette révision. 1366 1366 editor.propose_file_change=Proposer une modification du fichier ··· 1726 1726 issues.error_removing_due_date=Impossible de supprimer l'échéance. 1727 1727 issues.push_commit_1=a ajouté %d révision %s 1728 1728 issues.push_commits_n=a ajouté %d révisions %s 1729 - 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.` 1729 + 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.` 1730 1730 issues.force_push_compare=Comparer 1731 1731 issues.due_date_form=aaaa-mm-jj 1732 1732 issues.due_date_form_add=Ajouter une échéance ··· 1841 1841 pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide. 1842 1842 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>' 1843 1843 pulls.create=Créer une demande d'ajout 1844 - pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> 1844 + pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="%[4]s">%[3]s</code> 1845 1845 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 1846 1846 pulls.change_target_branch_at=`a remplacée la branche cible <b>%s</b> par <b>%s</b> %s` 1847 1847 pulls.tab_conversation=Discussion ··· 2765 2765 settings.confirmation_string = Chaine de confirmation 2766 2766 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. 2767 2767 pulls.merged_title_desc_one = fusionné %[1]d commit depuis <code>%[2]s</code> vers <code>%[3]s</code> %[4]s 2768 - pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> 2768 + pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="%[4]s">%[3]s</code> 2769 2769 stars = Étoiles 2770 2770 n_tag_few = %s étiquettes 2771 2771 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.
+1 -2
options/locale/locale_gl.ini
··· 181 181 platform = Multiplataforma 182 182 app_desc = Um servizo Git autoxestionado e fácil de usar 183 183 install = Fácil de instalar 184 - 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! 185 - 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>. 184 + 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>. 186 185 187 186 [error] 188 187 occurred = Ocorreu un erro
+2 -3
options/locale/locale_hu-HU.ini
··· 203 203 app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás 204 204 install=Könnyen telepíthető 205 205 platform=Keresztplatformos 206 - 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! 207 206 lightweight=Könnyűsúlyú 208 207 license=Nyílt forráskódú 209 208 ··· 812 811 editor.commit_changes=Változások Véglegesítése 813 812 editor.add_tmpl='<filename>' hozzáadása 814 813 editor.commit_message_desc=Opcionális hosszabb leírás hozzáadása… 815 - editor.commit_directly_to_this_branch=Mentés egyenesen a(z) <strong class="branch-name">%s</strong> ágba. 814 + editor.commit_directly_to_this_branch=Mentés egyenesen a(z) <strong class="%[2]s">%[1]s</strong> ágba. 816 815 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. 817 816 editor.propose_file_change=Változtatás ajánlása 818 817 editor.new_branch_name_desc=Új ág neve… ··· 1033 1032 pulls.no_results=Nincs találat. 1034 1033 pulls.nothing_to_compare=Ezek az ágak egyenlőek. Nincs szükség egyesítési kérésre. 1035 1034 pulls.create=Egyesítési kérés létrehozása 1036 - 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 1035 + 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 1037 1036 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 1038 1037 pulls.tab_conversation=Beszélgetés 1039 1038 pulls.tab_commits=Commit-ok
+2 -3
options/locale/locale_id-ID.ini
··· 98 98 app_desc=Sebuah layanan hosting Git sendiri yang tanpa kesulitan 99 99 install=Mudah dipasang 100 100 platform=Lintas platform 101 - 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! 102 101 lightweight=Ringan 103 102 lightweight_desc=Forgejo hanya membutuhkan persyaratan minimal dan bisa berjalan pada Raspberry Pi yang murah. Bisa menghemat listrik! 104 103 license=Sumber Terbuka ··· 623 622 editor.commit_changes=Perubahan komitmen 624 623 editor.add_tmpl=Tambahkan '<filename>' 625 624 editor.commit_message_desc=Tambahkan deskripsi opsional yang panjang… 626 - editor.commit_directly_to_this_branch=Komitmen langsung ke <strong class="branch-name">%s</strong> cabang. 625 + editor.commit_directly_to_this_branch=Komitmen langsung ke <strong class="%[2]s">%[1]s</strong> cabang. 627 626 editor.create_new_branch=Membuat <strong>new branch</strong> untuk tarik komit ini mulai permintaan. 628 627 editor.create_new_branch_np=Buat <strong>cabang baru</strong> untuk komit ini. 629 628 editor.propose_file_change=Usul perubahan berkas ··· 752 751 pulls.filter_branch=Penyaringan cabang 753 752 pulls.no_results=Hasil tidak ditemukan. 754 753 pulls.create=Buat Permintaan Tarik 755 - pulls.title_desc_few=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="branch_target">%[3]s</code> 754 + pulls.title_desc_few=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="%[4]s">%[3]s</code> 756 755 pulls.merged_title_desc_few=commit %[1]d telah digabungkan dari <code>%[2]s</code> menjadi <code>%[3]s</code> %[4]s 757 756 pulls.tab_conversation=Percakapan 758 757 pulls.tab_commits=Melakukan
+1 -2
options/locale/locale_is-IS.ini
··· 133 133 app_desc=Þrautalaus og sjálfhýst Git þjónusta 134 134 install=Einföld uppsetning 135 135 platform=Fjölvettvangur 136 - 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! 137 136 lightweight=Létt 138 137 lightweight_desc=Forgejo hefur lágar lágmarkskröfur og getur keyrt á ódýrum Raspberry Pi. Sparaðu orku! 139 138 license=Frjáls Hugbúnaður ··· 891 890 pulls.view=Skoða Sameiningarbeiðni 892 891 pulls.compare_changes=Ný Sameiningarbeiðni 893 892 pulls.create=Skapa Sameiningarbeiðni 894 - pulls.title_desc_few=vill sameina %[1]d framlög frá <code>%[2]s</code> í <code id="branch_target">%[3]s</code> 893 + pulls.title_desc_few=vill sameina %[1]d framlög frá <code>%[2]s</code> í <code id="%[4]s">%[3]s</code> 895 894 pulls.tab_conversation=Umræða 896 895 pulls.tab_commits=Framlög 897 896 pulls.tab_files=Skráum Breytt
+5 -6
options/locale/locale_it-IT.ini
··· 217 217 app_desc=Un servizio auto-ospitato per Git pronto all'uso 218 218 install=Facile da installare 219 219 platform=Multipiattaforma 220 - 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! 221 220 lightweight=Leggero 222 221 lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un economico Raspberry Pi. Risparmia l'energia della tua macchina! 223 222 license=Open Source ··· 1000 999 ssh_signonly = SSH è attualmente disabilitato quindi queste chiavi sono usate solo per la firma di verifica dei commit. 1001 1000 social_desc = Questi profili social possono essere usati per accedere al tuo profilo. Assicurati di riconoscerli tutti. 1002 1001 permission_write = Leggi e scrivi 1003 - 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. 1002 + 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. 1004 1003 create_oauth2_application_success = Hai correttamente creato una nuova applicazione OAuth2. 1005 1004 update_oauth2_application_success = Hai correttamente aggiornato l'applicazione OAuth2. 1006 1005 oauth2_redirect_uris = URI per la reindirizzazione. Usa una nuova riga per ogni URI. ··· 1305 1304 editor.new_patch=Nuova Patch 1306 1305 editor.commit_message_desc=Aggiungi una descrizione estesa facoltativa… 1307 1306 editor.signoff_desc=Aggiungi "firmato da" dal committer alla fine del messaggio di log di commit. 1308 - editor.commit_directly_to_this_branch=Fai un commit direttamente sul ramo <strong class="branch-name">%s</strong>. 1307 + editor.commit_directly_to_this_branch=Fai un commit direttamente sul ramo <strong class="%[2]s">%[1]s</strong>. 1309 1308 editor.create_new_branch=Crea un <strong> nuovo ramo</strong> per questo commit e avvia una richiesta di modifica. 1310 1309 editor.create_new_branch_np=Crea un <strong>nuovo ramo</strong> per questo commit. 1311 1310 editor.propose_file_change=Proponi la modifica del file ··· 1596 1595 issues.error_removing_due_date=Impossibile rimuovere la scadenza. 1597 1596 issues.push_commit_1=ha aggiunto %d commit %s 1598 1597 issues.push_commits_n=ha aggiunto %d commit %s 1599 - 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` 1598 + 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` 1600 1599 issues.force_push_compare=Confronta 1601 1600 issues.due_date_form=aaaa-mm-dd 1602 1601 issues.due_date_form_add=Aggiungi scadenza ··· 1693 1692 pulls.nothing_to_compare_and_allow_empty_pr=Questi rami sono uguali. Questa richiesta sarà vuota. 1694 1693 pulls.has_pull_request=`Una richiesta di modifica fra questi rami esiste già: <a href="%[1]s">%[2]s#%[3]d</a>` 1695 1694 pulls.create=Crea richiesta di modifica 1696 - pulls.title_desc_few=vuole unire %[1]d commit da <code>%[2]s</code> a <code id="branch_target">%[3]s</code> 1695 + pulls.title_desc_few=vuole unire %[1]d commit da <code>%[2]s</code> a <code id="%[4]s">%[3]s</code> 1697 1696 pulls.merged_title_desc_few=ha unito %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code> %[4]s 1698 1697 pulls.change_target_branch_at=`cambiato il ramo di destinazione da <b>%s</b> a <b>%s</b> %s` 1699 1698 pulls.tab_conversation=Conversazione ··· 2740 2739 settings.protected_branch_required_rule_name = Nome regola richiesta 2741 2740 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. 2742 2741 settings.authorization_header_desc = Verrà inclusa come intestazione dell'autorizzazione per le richieste quando presente. Esempi: %s. 2743 - pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="branch_target">%[3]s</code> 2742 + pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="%[4]s">%[3]s</code> 2744 2743 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>. 2745 2744 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>. 2746 2745 settings.protect_no_valid_status_check_patterns = Nessuna sequenza valida per il controllo dello stato.
+5 -6
options/locale/locale_ja-JP.ini
··· 218 218 install=簡単インストール 219 219 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>を使うだけ。 220 220 platform=クロスプラットフォーム 221 - platform_desc=Forgejoは<a target="_blank" rel="noopener noreferrer" href="%s">Go</a>でコンパイルできる環境ならどこでも動きます: Windows、macOS、Linux、ARM等々、好きなものを選んでください! 222 221 lightweight=軽量 223 222 lightweight_desc=Forgejo の最小動作要件は小さくて、安価な Raspberry Pi でも動きます。エネルギー消費を節約しましょう! 224 223 license=オープンソース ··· 934 933 permission_no_access=アクセス不可 935 934 permission_read=読み取り 936 935 permission_write=読み取りと書き込み 937 - access_token_desc=選択したトークン権限に応じて、関連する<a %s>API</a>ルートのみに許可が制限されます。 詳細は<a %s>ドキュメント</a>を参照してください。 936 + access_token_desc=選択したトークン権限に応じて、関連する<a href="%[1]s" target="_blank">API</a>ルートのみに許可が制限されます。 詳細は<a href="%[2]s" target="_blank">ドキュメント</a>を参照してください。 938 937 at_least_one_permission=トークンを作成するには、少なくともひとつの許可を選択する必要があります 939 938 permissions_list=許可: 940 939 ··· 1355 1354 editor.new_patch=新しいパッチ 1356 1355 editor.commit_message_desc=詳細な説明を追加… 1357 1356 editor.signoff_desc=コミットログメッセージの最後にコミッターの Signed-off-by 行を追加 1358 - editor.commit_directly_to_this_branch=ブランチ<strong class="branch-name">%s</strong>へ直接コミットする。 1357 + editor.commit_directly_to_this_branch=ブランチ<strong class="%[2]s">%[1]s</strong>へ直接コミットする。 1359 1358 editor.create_new_branch=<strong>新しいブランチ</strong>にコミットしてプルリクエストを作成する。 1360 1359 editor.create_new_branch_np=<strong>新しいブランチ</strong>にコミットする。 1361 1360 editor.propose_file_change=ファイル修正を提案 ··· 1721 1720 issues.error_removing_due_date=期日を削除できませんでした。 1722 1721 issues.push_commit_1=が %d コミット追加 %s 1723 1722 issues.push_commits_n=が %d コミット追加 %s 1724 - 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` 1723 + 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` 1725 1724 issues.force_push_compare=比較 1726 1725 issues.due_date_form=yyyy-mm-dd 1727 1726 issues.due_date_form_add=期日の追加 ··· 1836 1835 pulls.nothing_to_compare_and_allow_empty_pr=これらのブランチは内容が同じです。 空のプルリクエストになります。 1837 1836 pulls.has_pull_request=`同じブランチのプルリクエストはすでに存在します: <a href="%[1]s">%[2]s#%[3]d</a>` 1838 1837 pulls.create=プルリクエストを作成 1839 - pulls.title_desc_few=が <code>%[2]s</code> から <code id="branch_target">%[3]s</code> への %[1]d コミットのマージを希望しています 1838 + pulls.title_desc_few=が <code>%[2]s</code> から <code id="%[4]s">%[3]s</code> への %[1]d コミットのマージを希望しています 1840 1839 pulls.merged_title_desc_few=が %[1]d 個のコミットを <code>%[2]s</code> から <code>%[3]s</code> へマージ %[4]s 1841 1840 pulls.change_target_branch_at=`がターゲットブランチを <b>%s</b> から <b>%s</b> に変更 %s` 1842 1841 pulls.tab_conversation=会話 ··· 2779 2778 settings.web_hook_name_sourcehut_builds = SourceHut Builds 2780 2779 settings.matrix.room_id_helper = ルームIDは、Element web clientのRoom Settings > Advanced > Internal room IDから取得できます。例:%s。 2781 2780 pulls.merged_title_desc_one = %[4]s の <code>%[2]s</code> から %[1]d 件のコミットを <code>%[3]s</code> へマージした 2782 - pulls.title_desc_one = <code id="branch_target">%[3]s</code> から %[1]d 件のコミットを <code>%[2]s</code> へマージしたい 2781 + pulls.title_desc_one = <code id="%[4]s">%[3]s</code> から %[1]d 件のコミットを <code>%[2]s</code> へマージしたい 2783 2782 pulls.ready_for_review = レビューの準備ができていますか? 2784 2783 settings.transfer.button = 所有権を移送する 2785 2784 settings.transfer.modal.title = 所有権を移送
+2 -3
options/locale/locale_ko-KR.ini
··· 778 778 editor.cancel_lower=취소 779 779 editor.commit_changes=변경 내용을 커밋 780 780 editor.commit_message_desc=선택적 확장 설명 추가… 781 - editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> 브랜치에서 직접 커밋해주세요. 781 + editor.commit_directly_to_this_branch=<strong class="%[2]s">%[1]s</strong> 브랜치에서 직접 커밋해주세요. 782 782 editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다. 783 783 editor.new_branch_name_desc=새로운 브랜치 이름… 784 784 editor.cancel=취소 ··· 973 973 pulls.filter_branch=Filter Branch 974 974 pulls.no_results=결과를 찾을 수 없습니다. 975 975 pulls.create=풀 리퀘스트 생성 976 - pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함 976 + pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="%[4]s">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함 977 977 pulls.merged_title_desc_few=님이 <code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d 커밋을 %[4]s 병합함 978 978 pulls.tab_conversation=대화 979 979 pulls.tab_commits=커밋 ··· 1081 1081 1082 1082 search=검색 1083 1083 search.search_repo=저장소 검색 1084 - search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과" 1085 1084 search.code_no_results=검색어와 일치하는 소스코드가 없습니다. 1086 1085 1087 1086 settings=설정
+4 -5
options/locale/locale_lv-LV.ini
··· 187 187 install=Vienkārši instalējams 188 188 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>. 189 189 platform=Pieejama dažādām platformām 190 - 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! 191 190 lightweight=Viegla 192 191 lightweight_desc=Forgejo ir miminālas prasības un to var darbināt uz nedārga Raspberry Pi datora. Ietaupi savai ierīcei resursus! 193 192 license=Atvērtā pirmkoda ··· 830 829 permission_no_access=Nav piekļuves 831 830 permission_read=Skatīšanās 832 831 permission_write=Skatīšanās un raksīšanas 833 - 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>. 832 + 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>. 834 833 at_least_one_permission=Nepieciešams norādīt vismaz vienu tiesību, lai izveidotu pilnvaru 835 834 permissions_list=Tiesības: 836 835 ··· 1231 1230 editor.new_patch=Jauns ielāps 1232 1231 editor.commit_message_desc=Pievienot neobligātu paplašinātu aprakstu… 1233 1232 editor.signoff_desc=Pievienot revīzijas žurnāla ziņojuma beigās Signed-off-by ar revīzijas autoru. 1234 - editor.commit_directly_to_this_branch=Apstiprināt revīzijas izmaiņas atzarā <strong class="branch-name">%s</strong>. 1233 + editor.commit_directly_to_this_branch=Apstiprināt revīzijas izmaiņas atzarā <strong class="%[2]s">%[1]s</strong>. 1235 1234 editor.create_new_branch=Izveidot <strong>jaunu atzaru</strong> un izmaiņu pieprasījumu šai revīzijai. 1236 1235 editor.create_new_branch_np=Izveidot <strong>jaunu atzaru</strong> šai revīzijai. 1237 1236 editor.propose_file_change=Ieteikt faila izmaiņas ··· 1597 1596 issues.error_removing_due_date=Neizdevās noņemt izpildes termiņu. 1598 1597 issues.push_commit_1=iesūtīja %d revīziju %s 1599 1598 issues.push_commits_n=iesūtīja %d revīzijas %s 1600 - 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` 1599 + 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` 1601 1600 issues.force_push_compare=Salīdzināt 1602 1601 issues.due_date_form=dd.mm.yyyy 1603 1602 issues.due_date_form_add=Pievienot izpildes termiņu ··· 1712 1711 pulls.nothing_to_compare_and_allow_empty_pr=Šie atzari ir vienādi. Izveidotais izmaiņu pieprasījums būs tukšs. 1713 1712 pulls.has_pull_request=`Izmaiņu pieprasījums starp šiem atzariem jau eksistē: <a href="%[1]s">%[2]s#%[3]d</a>` 1714 1713 pulls.create=Izveidot izmaiņu pieprasījumu 1715 - 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> 1714 + 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> 1716 1715 pulls.merged_title_desc_few=sapludināja %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code> %[4]s 1717 1716 pulls.change_target_branch_at=`nomainīja mērķa atzaru no <b>%s</b> uz <b>%s</b> %s` 1718 1717 pulls.tab_conversation=Saruna
+5 -5
options/locale/locale_nds.ini
··· 839 839 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. 840 840 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. 841 841 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. 842 - 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. 842 + 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. 843 843 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. 844 844 gpg_helper = <strong>Bruukst du Hülp?</strong> Kiek de Inföhren <a href="%s">över GPG</a> an. 845 845 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 1126 editor.fail_to_apply_patch = Kann Plack »%s« nich anwennen 1127 1127 editor.new_patch = Nejer Plack 1128 1128 editor.commit_message_desc = Wenn du willst, föög een wiederes Beschrieven hento … 1129 - editor.commit_directly_to_this_branch = Kommitteer stracks up de <strong class="branch-name">%s</strong>-Twieg. 1129 + editor.commit_directly_to_this_branch = Kommitteer stracks up de <strong class="%[2]s">%[1]s</strong>-Twieg. 1130 1130 editor.propose_file_change = Datei-Ännern vörslagen 1131 1131 editor.new_branch_name = Benööm de Twieg för deeses Kommitteren 1132 1132 editor.new_branch_name_desc = Nejer Twig-Naam … ··· 1561 1561 issues.dependency.remove = Wegdoon 1562 1562 issues.dependency.issue_close_blocks = Deeses Gefall blockeert dat Dichtmaken vun deesen Gefallens 1563 1563 issues.review.outdated_description = Inholl hett sik ännert, siet deeser Kommentaar schreven worden is 1564 - 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` 1564 + 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` 1565 1565 issues.dependency.pr_remove_text = Dat word de Ofhangen vun deesem Haalvörslag wegdoon. Wiedermaken? 1566 1566 issues.review.pending = Staht ut 1567 1567 issues.review.option.hide_outdated_comments = Verollte Kommentarens verbargen ··· 1599 1599 pulls.nothing_to_compare = Deese Twiegen sünd gliek. ’t is nich nödig, eenen Haalvörslag to maken. 1600 1600 pulls.nothing_to_compare_have_tag = De utköört Twieg/Mark sünd gliek. 1601 1601 pulls.create = Haalvörslag maken 1602 - pulls.title_desc_one = will %[1]d Kommitteren vun <code>%[2]s</code> na <code id="branch_target">%[3]s</code> tosamenföhren 1602 + pulls.title_desc_one = will %[1]d Kommitteren vun <code>%[2]s</code> na <code id="%[4]s">%[3]s</code> tosamenföhren 1603 1603 pulls.merged_title_desc_one = hett %[1]d Kommitteren vun <code>%[2]s</code> na <code>%[3]s</code> %[4]s tosamenföhrt 1604 1604 pulls.change_target_branch_at = `hett de Enn-Twieg vun <b>%s</b> to <b>%s</b> %s ännert` 1605 1605 pulls.tab_conversation = Snack ··· 1649 1649 pulls.compare_changes = Nejer Haalvörslag 1650 1650 pulls.allow_edits_from_maintainers_desc = Brukers, well dat Recht hebben, to de Grund-Twieg to schrieven, düren ok up deesen Twieg schuuven 1651 1651 pulls.nothing_to_compare_and_allow_empty_pr = Deese Twiegen sünd gliek. De HV word leeg wesen. 1652 - pulls.title_desc_few = will %[1]d Kommitterens vun <code>%[2]s</code> na <code id="branch_target">%[3]s</code> tosamenföhren 1652 + pulls.title_desc_few = will %[1]d Kommitterens vun <code>%[2]s</code> na <code id="%[4]s">%[3]s</code> tosamenföhren 1653 1653 pulls.data_broken = Deeser Haalvörslag is kaputt, denn de Gabel-Informatioon fehlt. 1654 1654 pulls.waiting_count_1 = %d Nakieken staht ut 1655 1655 issues.content_history.deleted = lösket
+5 -5
options/locale/locale_nl-NL.ini
··· 1028 1028 user_unblock_success = De gebruiker is succesvol gedeblokkeerd. 1029 1029 user_block_success = De gebruiker is succesvol geblokkeerd. 1030 1030 blocked_since = Geblokkeerd sinds %s 1031 - 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. 1031 + 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. 1032 1032 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. 1033 1033 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. 1034 1034 hidden_comment_types.ref_tooltip = Reacties waarbij naar deze issue werd verwezen vanuit een ander issue/commit/… ··· 1309 1309 editor.new_patch=Nieuwe patch 1310 1310 editor.commit_message_desc=Voeg een optionele uitgebreide omschrijving toe… 1311 1311 editor.signoff_desc=Voeg een Signed-off-by toe aan het einde van het commit logbericht. 1312 - editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="branch-name">%s</strong>'. 1312 + editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="%[2]s">%[1]s</strong>'. 1313 1313 editor.create_new_branch=Maak een <strong>nieuwe branch</strong> voor deze commit en start van een pull request. 1314 1314 editor.create_new_branch_np=Maak een <strong>nieuwe branch</strong> voor deze commit. 1315 1315 editor.propose_file_change=Stel bestandswijziging voor ··· 1599 1599 issues.error_removing_due_date=Deadline verwijderen mislukt. 1600 1600 issues.push_commit_1=toegevoegd %d commit %s 1601 1601 issues.push_commits_n=toegevoegd %d commits %s 1602 - 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` 1602 + 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` 1603 1603 issues.force_push_compare=Vergelijk 1604 1604 issues.due_date_form=jjjj-mm-dd 1605 1605 issues.due_date_form_add=Vervaldatum toevoegen ··· 1696 1696 pulls.nothing_to_compare_and_allow_empty_pr=Deze branches zijn gelijk. Deze pull verzoek zal leeg zijn. 1697 1697 pulls.has_pull_request=`Een pull-verzoek tussen deze branches bestaat al: <a href="%[1]s">%[2]s#%[3]d</a>` 1698 1698 pulls.create=Pull request aanmaken 1699 - pulls.title_desc_few=wilt %[1]d commits van <code>%[2]s</code> samenvoegen met <code id="branch_target">%[3]s</code> 1699 + pulls.title_desc_few=wilt %[1]d commits van <code>%[2]s</code> samenvoegen met <code id="%[4]s">%[3]s</code> 1700 1700 pulls.merged_title_desc_few=heeft %[1]d commits samengevoegd van <code>%[2]s</code> naar <code>%[3]s</code> %[4]s 1701 1701 pulls.change_target_branch_at='doelbranch aangepast van <b>%s</b> naar <b>%s</b> %s' 1702 1702 pulls.tab_conversation=Discussie ··· 2745 2745 activity.navbar.recent_commits = Recente commits 2746 2746 file_follow = Volg symlink 2747 2747 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. 2748 - pulls.title_desc_one = wilt %[1]d commit van <code>%[2]s</code> samenvoegen in <code id="branch_target">%[3]s</code> 2748 + pulls.title_desc_one = wilt %[1]d commit van <code>%[2]s</code> samenvoegen in <code id="%[4]s">%[3]s</code> 2749 2749 open_with_editor = Open met %s 2750 2750 commits.search_branch = Deze branch 2751 2751 pulls.merged_title_desc_one = heeft %[1]d commit van <code>%[2]s</code> samengevoegd in <code>%[3]s</code> %[4]s
+2 -2
options/locale/locale_pl-PL.ini
··· 1152 1152 editor.commit_changes=Zatwierdź zmiany 1153 1153 editor.add_tmpl=Dodanie '<filename>' 1154 1154 editor.commit_message_desc=Dodaj dodatkowy rozszerzony opis… 1155 - editor.commit_directly_to_this_branch=Zmieniaj bezpośrednio gałąź <strong class="branch-name">%s</strong>. 1155 + editor.commit_directly_to_this_branch=Zmieniaj bezpośrednio gałąź <strong class="%[2]s">%[1]s</strong>. 1156 1156 editor.create_new_branch=Stwórz <strong>nową gałąź</strong> dla tego commita i rozpocznij Pull Request. 1157 1157 editor.create_new_branch_np=Stwórz <strong>nową gałąź</strong> dla tego commita. 1158 1158 editor.propose_file_change=Zaproponuj zmiany w pliku ··· 1482 1482 pulls.nothing_to_compare=Te gałęzie są sobie równe. Nie ma potrzeby tworzyć Pull Requesta. 1483 1483 pulls.nothing_to_compare_and_allow_empty_pr=Te gałęzie są równe. Ten PR będzie pusty. 1484 1484 pulls.create=Utwórz Pull Request 1485 - pulls.title_desc_few=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code id="branch_target">%[3]s</code> 1485 + pulls.title_desc_few=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code id="%[4]s">%[3]s</code> 1486 1486 pulls.merged_title_desc_few=scala %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code> %[4]s 1487 1487 pulls.change_target_branch_at=`zmienia gałąź docelową z <b>%s</b> na <b>%s</b> %s` 1488 1488 pulls.tab_conversation=Dyskusja
+5 -6
options/locale/locale_pt-BR.ini
··· 217 217 app_desc=Um serviço de hospedagem Git amigável 218 218 install=Fácil de instalar 219 219 platform=Multi-plataforma 220 - 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! 221 220 lightweight=Leve e rápido 222 221 lightweight_desc=Forgejo utiliza poucos recursos e consegue mesmo rodar no barato Raspberry Pi. Economize energia elétrica da sua máquina! 223 222 license=Código aberto ··· 1032 1031 twofa_recovery_tip = Caso perca o seu dispositivo, você poderá usar uma chave de uso único para recuperar o acesso à sua conta. 1033 1032 webauthn_key_loss_warning = Caso perca as suas chaves de segurança, você perderá o acesso à sua conta. 1034 1033 blocked_users_none = Nenhum usuário bloqueado. 1035 - 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. 1034 + 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. 1036 1035 webauthn_alternative_tip = Você talvez queira configurar um método adicional de autenticação. 1037 1036 change_password = Alterar senha 1038 1037 hints = Dicas ··· 1344 1343 editor.new_patch=Novo patch 1345 1344 editor.commit_message_desc=Adicione uma descrição detalhada (opcional)... 1346 1345 editor.signoff_desc=Adicione um assinado-por-committer no final do log do commit. 1347 - editor.commit_directly_to_this_branch=Commit diretamente no branch <strong class="branch-name">%s</strong>. 1346 + editor.commit_directly_to_this_branch=Commit diretamente no branch <strong class="%[2]s">%[1]s</strong>. 1348 1347 editor.create_new_branch=Crie um <strong>novo branch</strong> para este commit e crie um pull request. 1349 1348 editor.create_new_branch_np=Crie um <strong>novo branch</strong> para este commit. 1350 1349 editor.propose_file_change=Propor alteração de arquivo ··· 1699 1698 issues.error_removing_due_date=Falha ao remover a data limite. 1700 1699 issues.push_commit_1=adicionou %d commit %s 1701 1700 issues.push_commits_n=adicionou %d commits %s 1702 - 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` 1701 + 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` 1703 1702 issues.force_push_compare=Comparar 1704 1703 issues.due_date_form=dd/mm/aaaa 1705 1704 issues.due_date_form_add=Adicionar data limite ··· 1813 1812 pulls.nothing_to_compare_and_allow_empty_pr=Estes branches são iguais. Este PR ficará vazio. 1814 1813 pulls.has_pull_request=`Um pull request entre esses branches já existe: <a href="%[1]s">%[2]s#%[3]d</a>` 1815 1814 pulls.create=Criar pull request 1816 - pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="branch_target">%[3]s</code> 1815 + pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="%[4]s">%[3]s</code> 1817 1816 pulls.merged_title_desc_few=mesclou %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code> %[4]s 1818 1817 pulls.change_target_branch_at=`mudou o branch de destino de <b>%s</b> para <b>%s</b> %s` 1819 1818 pulls.tab_conversation=Conversação ··· 2691 2690 pulls.merged_title_desc_one = mesclou %[1]d commit de <code>%[2]s</code> em <code>%[3]s</code> %[4]s 2692 2691 activity.navbar.recent_commits = Commits recentes 2693 2692 size_format = %[1]s: %[2]s; %[3]s: %[4]s 2694 - pulls.title_desc_one = quer mesclar %[1]d commit de <code>%[2]s</code> em <code id="branch_target">%[3]s</code> 2693 + pulls.title_desc_one = quer mesclar %[1]d commit de <code>%[2]s</code> em <code id="%[4]s">%[3]s</code> 2695 2694 pulls.cmd_instruction_merge_desc = Mescle as alterações e enviar para o Forgejo. 2696 2695 pulls.ready_for_review = Pronto para revisão? 2697 2696 commits.search_branch = Este ramo
+5 -5
options/locale/locale_pt-PT.ini
··· 934 934 permission_no_access=Sem acesso 935 935 permission_read=Lidas 936 936 permission_write=Leitura e escrita 937 - 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. 937 + 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. 938 938 at_least_one_permission=Tem que escolher pelo menos uma permissão para criar um código 939 939 permissions_list=Permissões: 940 940 ··· 1358 1358 editor.new_patch=Novo remendo (patch) 1359 1359 editor.commit_message_desc=Adicionar uma descrição alargada opcional… 1360 1360 editor.signoff_desc=Adicionar "Assinado-por" seguido do autor do cometimento no fim da mensagem do registo de cometimentos. 1361 - editor.commit_directly_to_this_branch=Cometer imediatamente no ramo <strong class="branch-name">%s</strong>. 1361 + editor.commit_directly_to_this_branch=Cometer imediatamente no ramo <strong class="%[2]s">%[1]s</strong>. 1362 1362 editor.create_new_branch=Crie um <strong>novo ramo</strong> para este cometimento e inicie um pedido de integração. 1363 1363 editor.create_new_branch_np=Criar um <strong>novo ramo</strong> para este cometimento. 1364 1364 editor.propose_file_change=Propor modificação do ficheiro ··· 1724 1724 issues.error_removing_due_date=Falhou a remoção da data de vencimento. 1725 1725 issues.push_commit_1=adicionou %d cometimento %s 1726 1726 issues.push_commits_n=adicionou %d cometimentos %s 1727 - 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` 1727 + 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` 1728 1728 issues.force_push_compare=Comparar 1729 1729 issues.due_date_form=aaaa-mm-dd 1730 1730 issues.due_date_form_add=Adicionar data de vencimento ··· 1840 1840 pulls.nothing_to_compare_and_allow_empty_pr=Estes ramos são iguais. Este pedido de integração ficará vazio. 1841 1841 pulls.has_pull_request=`Já existe um pedido de integração entre estes ramos: <a href="%[1]s">%[2]s#%[3]d</a>` 1842 1842 pulls.create=Criar um pedido de integração 1843 - 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> 1843 + 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> 1844 1844 pulls.merged_title_desc_few=integrou %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code>%[3]s</code> %[4]s 1845 1845 pulls.change_target_branch_at=`mudou o ramo de destino de <b>%s</b> para <b>%s</b> %s` 1846 1846 pulls.tab_conversation=Diálogo ··· 2733 2733 n_commit_one = %s cometimento 2734 2734 editor.commit_id_not_matching = O ficheiro foi modificado enquanto o estava a editar. Cometa para um ramo novo e depois integre. 2735 2735 commits.search_branch = Este ramo 2736 - pulls.title_desc_one = quer integrar %[1]d cometimento do ramo <code>%[2]s</code> no ramo <code id="branch_target">%[3]s</code> 2736 + pulls.title_desc_one = quer integrar %[1]d cometimento do ramo <code>%[2]s</code> no ramo <code id="%[4]s">%[3]s</code> 2737 2737 pulls.reopen_failed.base_branch = O pedido de integração não pode ser reaberto porque o ramo base já não existe. 2738 2738 activity.navbar.code_frequency = Frequência de programação 2739 2739 settings.units.add_more = Habilitar mais
+5 -5
options/locale/locale_ru-RU.ini
··· 934 934 permission_no_access=Нет доступа 935 935 permission_read=Чтение 936 936 permission_write=Чтение и запись 937 - access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами <a %s>API</a>. Читайте <a %s>документацию</a> для получения дополнительной информации. 937 + access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами <a href="%[1]s" target="_blank">API</a>. Читайте <a href="%[2]s" target="_blank">документацию</a> для получения дополнительной информации. 938 938 at_least_one_permission=Необходимо выбрать хотя бы одно разрешение для создания токена 939 939 permissions_list=Разрешения: 940 940 ··· 1340 1340 editor.new_patch=Новая правка 1341 1341 editor.commit_message_desc=Добавьте необязательное расширенное описание… 1342 1342 editor.signoff_desc=Добавить трейлер Signed-off-by с автором коммита в конце сообщения коммита. 1343 - editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="branch-name">%s</strong>. 1343 + editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="%[2]s">%[1]s</strong>. 1344 1344 editor.create_new_branch=Сохранить коммит в <strong>новую ветвь</strong> и начать запрос на слияние. 1345 1345 editor.create_new_branch_np=Создать <strong>новую ветвь</strong> для этого коммита. 1346 1346 editor.propose_file_change=Предложить изменение файла ··· 1705 1705 issues.error_removing_due_date=Не удалось убрать срок выполнения. 1706 1706 issues.push_commit_1=добавлен %d коммит %s 1707 1707 issues.push_commits_n=добавлены %d коммита(ов) %s 1708 - 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` 1708 + 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` 1709 1709 issues.force_push_compare=Сравнить 1710 1710 issues.due_date_form=гггг-мм-дд 1711 1711 issues.due_date_form_add=Добавить срок выполнения ··· 1816 1816 pulls.nothing_to_compare_and_allow_empty_pr=Ветви идентичны. Этот PR будет пустым. 1817 1817 pulls.has_pull_request=`Запрос на слияние этих ветвей уже существует: <a href="%[1]s">%[2]s#%[3]d</a>` 1818 1818 pulls.create=Создать запрос на слияние 1819 - pulls.title_desc_one=хочет влить %[1]d коммит из <code>%[2]s</code> в <code id="branch_target">%[3]s</code> 1820 - pulls.title_desc_few=хочет влить %[1]d коммит(ов) из <code>%[2]s</code> в <code id="branch_target">%[3]s</code> 1819 + pulls.title_desc_one=хочет влить %[1]d коммит из <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> 1820 + pulls.title_desc_few=хочет влить %[1]d коммит(ов) из <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> 1821 1821 pulls.merged_title_desc_one=слит %[1]d коммит из <code>%[2]s</code> в <code>%[3]s</code> %[4]s 1822 1822 pulls.merged_title_desc_few=слито %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code> %[4]s 1823 1823 pulls.change_target_branch_at=`изменил(а) целевую ветвь с <b>%s</b> на <b>%s</b> %s`
+10 -11
options/locale/locale_si-LK.ini
··· 116 116 app_desc=වේදනාකාරී, ස්වයං-සත්කාරක Git සේවාවක් 117 117 install=ස්ථාපනයට පහසුය 118 118 platform=හරස් වේදිකාව 119 - platform_desc=Forgejo ඕනෑම තැනක ධාවනය <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> සඳහා සම්පාදනය කළ හැකිය: වින්ඩෝස්, මැකෝස්, ලිනක්ස්, ARM, ආදිය ඔබ ආදරය කරන එකක් තෝරන්න! 120 119 lightweight=සැහැල්ලු 121 120 lightweight_desc=Forgejo අඩු අවම අවශ්යතා ඇති අතර මිල අඩු Raspberry Pi මත ධාවනය කළ හැකිය. ඔබේ යන්ත්ර ශක්තිය සුරකින්න! 122 121 license=විවෘත මූලාශ්‍ර ··· 923 922 editor.add_tmpl='<filename>' එකතු කරන්න 924 923 editor.commit_message_desc=විකල්ප දීර්ඝ විස්තරයක් එක් කරන්න… 925 924 editor.signoff_desc=කැපවූ ලොග් පණිවිඩය අවසානයේ දී කැපකරු විසින් සිග්නෙඩ්-ඕෆ්-විසින් ට්රේලරයක් එක් කරන්න. 926 - editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> ශාඛාවට කෙලින්ම කැප කරන්න. 925 + editor.commit_directly_to_this_branch=<strong class="%[2]s">%[1]s</strong> ශාඛාවට කෙලින්ම කැප කරන්න. 927 926 editor.create_new_branch=මෙම කැප කිරීම සඳහා <strong>නව ශාඛාවක්</strong> සාදා අදින්න ඉල්ලීමක් ආරම්භ කරන්න. 928 927 editor.create_new_branch_np=මෙම කැප කිරීම සඳහා <strong>නව ශාඛාවක්</strong> සාදන්න. 929 928 editor.propose_file_change=ගොනු වෙනස් කිරීම යෝජනා කරන්න ··· 1098 1097 issues.create_comment=අදහස 1099 1098 issues.closed_at=`මෙම ගැටළුව වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1100 1099 issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1101 - issues.ref_issue_from=<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> 1102 - issues.ref_pull_from=<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> 1103 - issues.ref_closing_from=<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> 1104 - issues.ref_reopening_from=<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> 1105 - issues.ref_closed_from=<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> 1106 - issues.ref_reopened_from=<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි 1100 + issues.ref_issue_from=`<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1101 + issues.ref_pull_from=`<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1102 + issues.ref_closing_from=`<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1103 + issues.ref_reopening_from=`<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1104 + issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` 1105 + issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි` 1107 1106 issues.ref_from=`හිම%[1]s` 1108 1107 issues.role.owner=හිමිකරු 1109 1108 issues.role.member=සාමාජික ··· 1183 1182 issues.error_removing_due_date=නියමිත දිනය ඉවත් කිරීමට අපොහොසත් විය. 1184 1183 issues.push_commit_1=එකතු %d කැප %s 1185 1184 issues.push_commits_n=එකතු %d විවරයන් %s 1186 - 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` 1185 + 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` 1187 1186 issues.force_push_compare=සසඳන්න 1188 1187 issues.due_date_form=Yyy-mm-dd 1189 1188 issues.due_date_form_add=නියමිත දිනය එකතු කරන්න ··· 1269 1268 pulls.nothing_to_compare_and_allow_empty_pr=මෙම ශාඛා සමාන වේ. මෙම මහජන සම්බන්ධතා හිස් වනු ඇත. 1270 1269 pulls.has_pull_request=`මෙම ශාඛා අතර අදින්න ඉල්ලීම දැනටමත් පවතී: <a href="%[1]s">%[2]s #%[3]d</a>` 1271 1270 pulls.create=අදින්න ඉල්ලීම නිර්මාණය 1272 - pulls.title_desc_few=%[1]d සිට <code>%[2]s</code> දක්වා <code id="branch_target">%[3]s</code> 1271 + pulls.title_desc_few=%[1]d සිට <code>%[2]s</code> දක්වා <code id="%[4]s">%[3]s</code> 1273 1272 pulls.merged_title_desc_few=මර්ජ්%[1]d සිට <code>%[2]s</code> දක්වා <code>%[3]s</code> %[4]s 1274 1273 pulls.change_target_branch_at=`ඉලක්කගත ශාඛාව <b>%s</b> සිට <b>%s</b> %sදක්වා වෙනස් කර ඇත` 1275 1274 pulls.tab_conversation=සංවාදය ··· 1280 1279 pulls.merged=සංයුක්ත කෙරිණි 1281 1280 pulls.manually_merged=අතින් සංයුක්ත කර ඇත 1282 1281 pulls.is_closed=අදින්න ඉල්ලීම වසා දමා ඇත. 1283 - pulls.title_wip_desc=<a href="#">අහම්බෙන් ඒකාබද්ධ කිරීමෙන් අදින්න ඉල්ලීම වැළැක්වීම සඳහා <strong>%s</strong></a> සමඟ මාතෘකාව ආරම්භ කරන්න. 1282 + pulls.title_wip_desc=`<a href="#">අහම්බෙන් ඒකාබද්ධ කිරීමෙන් අදින්න ඉල්ලීම වැළැක්වීම සඳහා <strong>%s</strong></a> සමඟ මාතෘකාව ආරම්භ කරන්න.` 1284 1283 pulls.cannot_merge_work_in_progress=මෙම අදින්න ඉල්ලීම ක්රියාත්මක වන කාර්යයක් ලෙස සලකුණු කර ඇත. 1285 1284 pulls.still_in_progress=තවමත් ක්රියාත්මක වෙමින් තිබේද? 1286 1285 pulls.add_prefix=<strong>%s</strong> උපසර්ගය එකතු කරන්න
+1 -2
options/locale/locale_sk-SK.ini
··· 187 187 install=Jednoduchá inštalácia 188 188 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>. 189 189 platform=Multiplatformový 190 - 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! 191 190 lightweight=Ľahká 192 191 lightweight_desc=Forgejo má minimálne požiadavky a môže bežať na Raspberry Pi. Šetrite energiou vášho stroja! 193 192 license=Otvorený zdrojový kód ··· 1030 1029 editor.commit_signed_changes=Odoslať podpísané zmeny 1031 1030 editor.commit_changes=Odoslať zmeny 1032 1031 editor.patch=Použiť patch 1033 - editor.commit_directly_to_this_branch=Odoslať zmeny revízie priamo do vetvy <strong class="branch-name">%s</strong>. 1032 + editor.commit_directly_to_this_branch=Odoslať zmeny revízie priamo do vetvy <strong class="%[2]s">%[1]s</strong>. 1034 1033 editor.cancel=Zrušiť 1035 1034 editor.commit_empty_file_header=Odoslať prázdny súbor 1036 1035 editor.commit_empty_file_text=Súbor, ktorý sa chystáte odoslať, je prázdny. Pokračovať?
+1 -1
options/locale/locale_sl.ini
··· 312 312 password = Geslo 313 313 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č. 314 314 social_desc = S temi družabnimi računi se lahko prijavite v svoj račun. Prepričajte se, da jih vse prepoznate. 315 - access_token_desc = Izbrana dovoljenja žetona omejujejo avtorizacijo samo na ustrezne poti <a %s>API</a>. Za več informacij preberite <a %s>dokumentacijo</a>. 315 + 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>. 316 316 oauth2_client_secret_hint = Skrivnost se ne bo več prikazala, ko zapustite ali osvežite to stran. Prepričajte se, da ste jo shranili. 317 317 twofa_desc = Za zaščito računa pred krajo gesla lahko uporabite pametni telefon ali drugo napravo za prejemanje časovno omejenih enkratnih gesel ("TOTP"). 318 318 twofa_recovery_tip = Če napravo izgubite, boste lahko z obnovitvenim ključem za enkratno uporabo ponovno pridobili dostop do računa.
+1 -1
options/locale/locale_sr-SP.ini
··· 266 266 editor.add=Додај '%s' 267 267 editor.update=Ажурирај '%s' 268 268 editor.delete=Уклони '%s' 269 - editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="branch-name">%s</strong> грану. 269 + editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="%[2]s">%[1]s</strong> грану. 270 270 editor.create_new_branch=Креирај <strong>нову грану</strong> за овај комит и поднеси захтев за спајање. 271 271 editor.cancel=Откажи 272 272 editor.branch_already_exists=Грана '%s' већ постоји за ово спремиште.
+2 -2
options/locale/locale_sv-SE.ini
··· 850 850 editor.commit_changes=Checka in ändringar 851 851 editor.add_tmpl=Lägg till '<filename>' 852 852 editor.commit_message_desc=Lägg till en valfri utökad beskrivning… 853 - editor.commit_directly_to_this_branch=Checka in direkt till grenen <strong class="branch-name">%s</strong>. 853 + editor.commit_directly_to_this_branch=Checka in direkt till grenen <strong class="%[2]s">%[1]s</strong>. 854 854 editor.create_new_branch=Skapa en <strong>ny gren</strong> för denna incheckning och påbörja en hämtningsbegäran. 855 855 editor.create_new_branch_np=Skapa en <strong>ny branch</strong> för den här committen. 856 856 editor.propose_file_change=Föreslå filändring ··· 1158 1158 pulls.no_results=Inga resultat hittades. 1159 1159 pulls.nothing_to_compare=Dessa brancher är ekvivalenta. Det finns ingen anledning att skapa en pull-request. 1160 1160 pulls.create=Skapa Pullförfrågan 1161 - 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> 1161 + 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> 1162 1162 pulls.merged_title_desc_few=sammanfogade %[1]d incheckningar från <code>%[2]s</code> in i <code>%[3]s</code> %[4]s 1163 1163 pulls.change_target_branch_at=`ändrade mål-branch från <b>%s</b> till <b>%s</b>%s` 1164 1164 pulls.tab_conversation=Konversation
+4 -5
options/locale/locale_tr-TR.ini
··· 214 214 install=Kurulumu kolay 215 215 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. 216 216 platform=Farklı platformlarda çalışablir 217 - 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! 218 217 lightweight=Hafif 219 218 lightweight_desc=Forgejo'nın minimal gereksinimleri çok düşüktür ve ucuz bir Raspberry Pi üzerinde çalışabilmektedir. Makine enerjinizden tasarruf edin! 220 219 license=Açık Kaynak ··· 908 907 permission_no_access=Erişim Yok 909 908 permission_read=Okunmuş 910 909 permission_write=Okuma ve Yazma 911 - 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. 910 + 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. 912 911 at_least_one_permission=Bir token oluşturmak için en azından bir izin seçmelisiniz 913 912 permissions_list=İzinler: 914 913 ··· 1318 1317 editor.new_patch=Yeni Yama 1319 1318 editor.commit_message_desc=İsteğe bağlı uzun bir açıklama ekleyin… 1320 1319 editor.signoff_desc=İşleme günlüğü mesajının sonuna işleyen tarafından imzalanan bir fragman ekleyin. 1321 - editor.commit_directly_to_this_branch=Doğrudan <strong class="branch-name">%s</strong> bölümüne uygula. 1320 + editor.commit_directly_to_this_branch=Doğrudan <strong class="%[2]s">%[1]s</strong> bölümüne uygula. 1322 1321 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. 1323 1322 editor.create_new_branch_np=Bu işleme için <strong>yeni bir dal</strong> oluştur. 1324 1323 editor.propose_file_change=Dosya değişikliği öner ··· 1684 1683 issues.error_removing_due_date=Bitiş tarihi silinemedi. 1685 1684 issues.push_commit_1=%d işlemeyi %s ekledi 1686 1685 issues.push_commits_n=%d işlemeyi %s ekledi 1687 - 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` 1686 + 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` 1688 1687 issues.force_push_compare=Karşılaştır 1689 1688 issues.due_date_form=yyyy-aa-gg 1690 1689 issues.due_date_form_add=Bitiş tarihi ekle ··· 1799 1798 pulls.nothing_to_compare_and_allow_empty_pr=Bu dallar eşittir. Bu Dİ boş olacak. 1800 1799 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>` 1801 1800 pulls.create=Değişiklik İsteği Oluştur 1802 - 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 1801 + 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 1803 1802 pulls.merged_title_desc_few=%[4]s <code>%[2]s</code> içindeki %[1]d işlemeyi <code>%[3]s</code> ile birleştirdi 1804 1803 pulls.change_target_branch_at='hedef dal <b>%s</b> adresinden <b>%s</b>%s adresine değiştirildi' 1805 1804 pulls.tab_conversation=Sohbet
+3 -3
options/locale/locale_uk-UA.ini
··· 1140 1140 editor.add_tmpl=Додати «<filename>» 1141 1141 editor.commit_message_desc=Додати необов'язковий розширений опис… 1142 1142 editor.signoff_desc=Додати повідомленню в журналі комітів рядок Signed-off-by від свого імені. 1143 - editor.commit_directly_to_this_branch=Зробіть коміт прямо в гілку <strong class="branch-name">%s</strong>. 1143 + editor.commit_directly_to_this_branch=Зробіть коміт прямо в гілку <strong class="%[2]s">%[1]s</strong>. 1144 1144 editor.create_new_branch=Створити <strong>нову гілку</strong> для цього коміту та відкрити запит на злиття. 1145 1145 editor.create_new_branch_np=Створити <strong>нову гілку</strong> для цього коміту. 1146 1146 editor.propose_file_change=Запропонувати зміну файлу ··· 1411 1411 issues.error_removing_due_date=Не вдалося видалити дату завершення. 1412 1412 issues.push_commit_1=додав %d коміт %s 1413 1413 issues.push_commits_n=додав %d коміти(-ів) %s 1414 - 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` 1414 + 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` 1415 1415 issues.force_push_compare=Порівняти 1416 1416 issues.due_date_form=рррр-мм-дд 1417 1417 issues.due_date_form_add=Додати дату завершення ··· 1497 1497 pulls.nothing_to_compare_and_allow_empty_pr=Одинакові гілки. Цей PR буде порожнім. 1498 1498 pulls.has_pull_request=`Запит злиття для цих гілок вже існує: <a href="%[1]s">%[2]s#%[3]d</a>` 1499 1499 pulls.create=Створити запит на злиття 1500 - pulls.title_desc_few=хоче злити %[1]d комітів з <code>%[2]s</code> в <code id="branch_target">%[3]s</code> 1500 + pulls.title_desc_few=хоче злити %[1]d комітів з <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> 1501 1501 pulls.merged_title_desc_few=злито %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code> %[4]s 1502 1502 pulls.change_target_branch_at=`змінена цільова гілка з <b>%s</b> на <b>%s</b> %s` 1503 1503 pulls.tab_conversation=Обговорення
+5 -5
options/locale/locale_zh-CN.ini
··· 935 935 permission_no_access=无访问权限 936 936 permission_read=可读 937 937 permission_write=读写 938 - access_token_desc=所选令牌权限仅限于对应的 <a %s>API</a> 路由的授权。阅读 <a %s>文档</a> 以获取更多信息。 938 + access_token_desc=所选令牌权限仅限于对应的 <a href="%[1]s" target="_blank">API</a> 路由的授权。阅读 <a href="%[2]s" target="_blank">文档</a> 以获取更多信息。 939 939 at_least_one_permission=你需要选择至少一个权限才能创建令牌 940 940 permissions_list=权限: 941 941 ··· 1359 1359 editor.new_patch=新补丁 1360 1360 editor.commit_message_desc=添加一个可选的扩展描述… 1361 1361 editor.signoff_desc=在提交日志消息末尾添加签署人信息。 1362 - editor.commit_directly_to_this_branch=直接提交至 <strong class="branch-name">%s</strong> 分支。 1362 + editor.commit_directly_to_this_branch=直接提交至 <strong class="%[2]s">%[1]s</strong> 分支。 1363 1363 editor.create_new_branch=为此提交创建一个 <strong>新的分支</strong> 并发起合并请求。 1364 1364 editor.create_new_branch_np=为此提交创建 <strong>新分支</strong>。 1365 1365 editor.propose_file_change=提议文件更改 ··· 1725 1725 issues.error_removing_due_date=删除到期时间失败。 1726 1726 issues.push_commit_1=于 %[2]s 推送了 %[1]d 个提交 1727 1727 issues.push_commits_n=于 %[2]s 推送了 %[1]d 个提交 1728 - 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>` 1728 + 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>` 1729 1729 issues.force_push_compare=比较 1730 1730 issues.due_date_form=yyyy-mm-dd 1731 1731 issues.due_date_form_add=设置到期时间 ··· 1841 1841 pulls.nothing_to_compare_and_allow_empty_pr=这些分支是相等的,此合并请求将为空。 1842 1842 pulls.has_pull_request=这些分支之间的合并请求已存在: <a href="%[1]s">%[2]s#%[3]d</a> 1843 1843 pulls.create=创建合并请求 1844 - pulls.title_desc_few=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code id="branch_target">%[3]s</code> 1844 + pulls.title_desc_few=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code id="%[4]s">%[3]s</code> 1845 1845 pulls.merged_title_desc_few=于 %[4]s 将 %[1]d 次代码提交从 <code>%[2]s</code>合并至 <code>%[3]s</code> 1846 1846 pulls.change_target_branch_at=将目标分支从 <b>%s</b> 更改为 <b>%s</b> %s 1847 1847 pulls.tab_conversation=对话内容 ··· 2761 2761 pulls.merged_title_desc_one = 已将来自 <code>%[2]s</code> 的 %[1]d 提交合并入 <code>%[3]s</code> %[4]s 2762 2762 commits.search_branch = 此分支 2763 2763 open_with_editor = 使用 %s 打开 2764 - pulls.title_desc_one = 想要将来自 <code>%[2]s</code> 的 %[1]d 提交合并到 <code id="branch_target">%[3]s</code> 2764 + pulls.title_desc_one = 想要将来自 <code>%[2]s</code> 的 %[1]d 提交合并到 <code id="%[4]s">%[3]s</code> 2765 2765 settings.rename_branch_failed_protected = 无法重命名受保护的分支 %s。 2766 2766 stars = 点赞 2767 2767 settings.confirmation_string = 确认输入
+1 -1
options/locale/locale_zh-HK.ini
··· 478 478 editor.or=或 479 479 editor.cancel_lower=取消 480 480 editor.commit_changes=提交更改嗎? 481 - editor.commit_directly_to_this_branch=直接提交到 <strong class="branch-name">%s</strong> 分支。 481 + editor.commit_directly_to_this_branch=直接提交到 <strong class="%[2]s">%[1]s</strong> 分支。 482 482 editor.create_new_branch=建立 <strong>新的分支</strong> 為此提交和開始合併請求。 483 483 editor.cancel=取消 484 484 editor.no_changes_to_show=沒有可以顯示的變更。
+5 -6
options/locale/locale_zh-TW.ini
··· 215 215 app_desc=一套極易架設的 Git 服務 216 216 install=安裝容易 217 217 platform=跨平台 218 - platform_desc=Forgejo 可以在所有能編譯 <a target="_blank" rel="noopener noreferrer" href="%s">Go 語言</a>的平台上執行:Windows,macOS,Linux,ARM 等。挑一個您喜歡的吧! 219 218 lightweight=輕量級 220 219 lightweight_desc=一片便宜的 Raspberry Pi 就可以滿足 Forgejo 的最低需求。節省您的機器資源! 221 220 license=開放原始碼 ··· 1027 1026 user_unblock_success = 已成功解除對此使用者的封鎖。 1028 1027 webauthn_alternative_tip = 您可能想新增一個額外的驗證方法。 1029 1028 user_block_success = 已成功封鎖此使用者。 1030 - access_token_desc = 選擇的符記僅授權相對應的 <a %s>API路徑</a>。請參閱<a %s>文件</a>來了解更多。 1029 + access_token_desc = 選擇的符記僅授權相對應的 <a href="%[1]s" target="_blank">API路徑</a>。請參閱<a href="%[2]s" target="_blank">文件</a>來了解更多。 1031 1030 oauth2_application_locked = 可以在組態中設定 Forgejo 預先註冊一些 OAuth2 應用程式。為了避免不可預料的情況,它們無法被編輯或是移除。請參閱 OAuth2 文件來了解更多。 1032 1031 hidden_comment_types_description = 在這裡選取的留言種類將不會顯示於問題頁面中。舉例來說,核取「標籤」將隱藏所有「使用者新增/移除了<標籤>」留言。 1033 1032 authorized_oauth2_applications_description = 您已授權給這些第三方應用程式取用您的 Forgejo 個人帳號的權限。請撤銷您不再使用的應用程式的權限。 ··· 1307 1306 editor.new_patch=新增補綴 1308 1307 editor.commit_message_desc=(選填)加入詳細說明… 1309 1308 editor.signoff_desc=在提交訊息底部加入提交者的「Signed-off-by」資訊。 1310 - editor.commit_directly_to_this_branch=直接提交到 <strong class="branch-name">%s</strong> 分支。 1309 + editor.commit_directly_to_this_branch=直接提交到 <strong class="%[2]s">%[1]s</strong> 分支。 1311 1310 editor.create_new_branch=為此提交建立<strong>新分支</strong>並提出合併請求。 1312 1311 editor.create_new_branch_np=為本次提交建立<strong>新分支</strong>。 1313 1312 editor.propose_file_change=提出檔案變更 ··· 1643 1642 issues.error_removing_due_date=無法移除截止日期。 1644 1643 issues.push_commit_1=加入了 %d 個提交 %s 1645 1644 issues.push_commits_n=加入了 %d 個提交 %s 1646 - 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` 1645 + 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` 1647 1646 issues.force_push_compare=比較 1648 1647 issues.due_date_form=yyyy年mm月dd日 1649 1648 issues.due_date_form_add=新增截止日期 ··· 1745 1744 pulls.nothing_to_compare_and_allow_empty_pr=這些分支的內容相同,此合併請求將會是空白的。 1746 1745 pulls.has_pull_request=`已有介於這些分支間的合併請求:<a href="%[1]s">%[2]s#%[3]d</a>` 1747 1746 pulls.create=建立合併請求 1748 - pulls.title_desc_few=請求將 %[1]d 次程式碼提交從 <code>%[2]s</code> 合併至 <code id="branch_target">%[3]s</code> 1747 + pulls.title_desc_few=請求將 %[1]d 次程式碼提交從 <code>%[2]s</code> 合併至 <code id="%[4]s">%[3]s</code> 1749 1748 pulls.merged_title_desc_few=將 %[1]d 次提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code> %[4]s 1750 1749 pulls.change_target_branch_at=`將目標分支從 <b>%s</b> 更改為 <b>%s</b> %s` 1751 1750 pulls.tab_conversation=對話內容 ··· 2626 2625 activity.navbar.recent_commits = 最近的提交 2627 2626 issues.comment.blocked_by_user = 因為您被該儲存庫的所有者或問題的提出者封鎖,您不能在這則問題上留言。 2628 2627 pulls.closed = 合併請求已關閉 2629 - pulls.title_desc_one = 想從 <code>%[2]s</code> 合併 %[1]d 個提交至 <code id="branch_target">%[3]s</code> 2628 + pulls.title_desc_one = 想從 <code>%[2]s</code> 合併 %[1]d 個提交至 <code id="%[4]s">%[3]s</code> 2630 2629 pulls.merged_title_desc_one = 於 %[4]s 自 <code>%[2]s</code> 合併了 %[1]d 個提交至 <code>%[3]s</code> 2631 2630 issues.archived_label_description = (已封存)%s 2632 2631 signing.wont_sign.always = 永遠簽署提交。
+1 -1
templates/repo/editor/commit_form.tmpl
··· 26 26 <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}}> 27 27 <label> 28 28 {{svg "octicon-git-commit"}} 29 - {{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName}} 29 + {{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName "branch-name"}} 30 30 {{if not .CanCommitToBranch.CanCommitToBranch}} 31 31 <div class="ui visible small warning message"> 32 32 {{ctx.Locale.Tr "repo.editor.no_commit_to_branch"}}
+1 -1
templates/repo/issue/view_content/comments.tmpl
··· 549 549 <span class="text grey muted-links"> 550 550 {{template "shared/user/authorlink" .Poster}} 551 551 {{if .IsForcePush}} 552 - {{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr}} 552 + {{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"}} 553 553 {{else}} 554 554 {{ctx.Locale.TrN (len .Commits) "repo.issues.push_commit_1" "repo.issues.push_commits_n" (len .Commits) $createdStr}} 555 555 {{end}}
+2 -2
templates/repo/issue/view_title.tmpl
··· 79 79 {{end}} 80 80 {{else}} 81 81 {{if .Issue.OriginalAuthor}} 82 - <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> 82 + <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> 83 83 {{else}} 84 84 <span id="pull-desc-display" class="pull-desc"> 85 85 <a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.GetDisplayName}}</a> 86 - {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}} 86 + {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref "branch_target"}} 87 87 </span> 88 88 {{end}} 89 89 {{if .MadeUsingAGit}}
+1 -1
templates/user/settings/applications.tmpl
··· 75 75 {{ctx.Locale.Tr "settings.select_permissions"}} 76 76 </summary> 77 77 <p class="activity meta"> 78 - <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> 78 + <p>{{ctx.Locale.Tr "settings.access_token_desc" (printf "%s/api/swagger" AppSubUrl) "https://forgejo.org/docs/latest/user/token-scope/"}}</p> 79 79 </p> 80 80 <div class="scoped-access-token" 81 81 data-is-admin="{{if .IsAdmin}}true{{else}}false{{end}}"