diff --git a/Makefile b/Makefile index 62cf4e536d..f9c02cfbf3 100644 --- a/Makefile +++ b/Makefile @@ -418,7 +418,7 @@ lint-frontend: lint-js lint-css lint-frontend-fix: lint-js-fix lint-css-fix .PHONY: lint-backend -lint-backend: lint-go lint-go-vet lint-editorconfig lint-renovate +lint-backend: lint-go lint-go-vet lint-editorconfig lint-renovate lint-locale .PHONY: lint-backend-fix lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig @@ -461,6 +461,10 @@ lint-renovate: node_modules @if grep --quiet --extended-regexp -e '^( WARN:|ERROR:)' .lint-renovate ; then cat .lint-renovate ; rm .lint-renovate ; exit 1 ; fi @rm .lint-renovate +.PHONY: lint-locale +lint-locale: + $(GO) run build/lint-locale.go + .PHONY: lint-md lint-md: node_modules npx markdownlint docs *.md diff --git a/build/lint-locale.go b/build/lint-locale.go new file mode 100644 index 0000000000..d403eaa70d --- /dev/null +++ b/build/lint-locale.go @@ -0,0 +1,156 @@ +// Copyright 2024 The Forgejo Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +//nolint:forbidigo +package main + +import ( + "fmt" + "html" + "io/fs" + "os" + "path/filepath" + "regexp" + "slices" + "strings" + + "github.com/microcosm-cc/bluemonday" + "github.com/sergi/go-diff/diffmatchpatch" + "gopkg.in/ini.v1" //nolint:depguard +) + +var ( + policy *bluemonday.Policy + tagRemover *strings.Replacer + safeURL = "https://TO-BE-REPLACED.COM" + + // Matches href="", href="#", href="%s", href="#%s", href="%[1]s" and href="#%[1]s". + placeHolderRegex = regexp.MustCompile(`href="#?(%s|%\[\d\]s)?"`) +) + +func initBlueMondayPolicy() { + policy = bluemonday.NewPolicy() + + policy.RequireParseableURLs(true) + policy.AllowURLSchemes("https") + + // Only allow safe URL on href. + // Only allow target="_blank". + // Only allow rel="nopener noreferrer", rel="noopener" and rel="noreferrer". + // Only allow placeholder on id and class. + policy.AllowAttrs("href").Matching(regexp.MustCompile("^" + regexp.QuoteMeta(safeURL) + "$")).OnElements("a") + policy.AllowAttrs("target").Matching(regexp.MustCompile("^_blank$")).OnElements("a") + policy.AllowAttrs("rel").Matching(regexp.MustCompile("^(noopener|noreferrer|noopener noreferrer)$")).OnElements("a") + policy.AllowAttrs("id", "class").Matching(regexp.MustCompile(`^%s|%\[\d\]s$`)).OnElements("a") + + // Only allow positional placeholder as class. + positionalPlaceholderRe := regexp.MustCompile(`^%\[\d\]s$`) + policy.AllowAttrs("class").Matching(positionalPlaceholderRe).OnElements("strong") + policy.AllowAttrs("id").Matching(positionalPlaceholderRe).OnElements("code") + + // Allowed elements with no attributes. Must be a recognized tagname. + policy.AllowElements("strong", "br", "b", "strike", "code", "i") + + // TODO: Remove <c> in `actions.workflow.dispatch.trigger_found`. + policy.AllowNoAttrs().OnElements("c") +} + +func initRemoveTags() { + oldnew := []string{} + for _, el := range []string{ + "email@example.com", "correu@example.com", "epasts@domens.lv", "email@exemplo.com", "eposta@ornek.com", "email@példa.hu", "email@esempio.it", + "user", "utente", "lietotājs", "gebruiker", "usuário", "Benutzer", "Bruker", + "server", "servidor", "kiszolgáló", "serveris", + "label", "etichetta", "etiķete", "rótulo", "Label", "utilizador", + "filename", "bestandsnaam", "dosyaadi", "fails", "nome do arquivo", + } { + oldnew = append(oldnew, "<"+el+">", "REPLACED-TAG") + } + + tagRemover = strings.NewReplacer(oldnew...) +} + +func preprocessTranslationValue(value string) string { + // href should be a parsable URL, replace placeholder strings with a safe url. + value = placeHolderRegex.ReplaceAllString(value, `href="`+safeURL+`"`) + + // Remove tags that aren't tags but will be parsed as tags. We already know they are safe and sound. + value = tagRemover.Replace(value) + + return value +} + +func checkLocaleContent(localeContent []byte) []string { + // Same configuration as Forgejo uses. + cfg := ini.Empty(ini.LoadOptions{ + IgnoreContinuation: true, + }) + cfg.NameMapper = ini.SnackCase + + if err := cfg.Append(localeContent); err != nil { + panic(err) + } + + dmp := diffmatchpatch.New() + errors := []string{} + + for _, section := range cfg.Sections() { + for _, key := range section.Keys() { + var trKey string + if section.Name() == "" || section.Name() == "DEFAULT" || section.Name() == "common" { + trKey = key.Name() + } else { + trKey = section.Name() + "." + key.Name() + } + + keyValue := preprocessTranslationValue(key.Value()) + + if html.UnescapeString(policy.Sanitize(keyValue)) != keyValue { + // Create a nice diff of the difference. + diffs := dmp.DiffMain(keyValue, html.UnescapeString(policy.Sanitize(keyValue)), false) + diffs = dmp.DiffCleanupSemantic(diffs) + diffs = dmp.DiffCleanupEfficiency(diffs) + + errors = append(errors, trKey+": "+dmp.DiffPrettyText(diffs)) + } + } + } + return errors +} + +func main() { + initBlueMondayPolicy() + initRemoveTags() + + localeDir := filepath.Join("options", "locale") + localeFiles, err := os.ReadDir(localeDir) + if err != nil { + panic(err) + } + + if !slices.ContainsFunc(localeFiles, func(e fs.DirEntry) bool { return strings.HasSuffix(e.Name(), ".ini") }) { + fmt.Println("No locale files found") + os.Exit(1) + } + + exitCode := 0 + for _, localeFile := range localeFiles { + if !strings.HasSuffix(localeFile.Name(), ".ini") { + continue + } + + localeContent, err := os.ReadFile(filepath.Join(localeDir, localeFile.Name())) + if err != nil { + panic(err) + } + + if err := checkLocaleContent(localeContent); len(err) > 0 { + fmt.Println(localeFile.Name()) + fmt.Println(strings.Join(err, "\n")) + fmt.Println() + exitCode = 1 + } + } + + os.Exit(exitCode) +} diff --git a/build/lint-locale_test.go b/build/lint-locale_test.go new file mode 100644 index 0000000000..b33dc9af2b --- /dev/null +++ b/build/lint-locale_test.go @@ -0,0 +1,65 @@ +// Copyright 2024 The Forgejo Authors. All rights reserved. +// SPDX-License-Identifier: MIT +package main + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestLocalizationPolicy(t *testing.T) { + initBlueMondayPolicy() + initRemoveTags() + + t.Run("Remove tags", func(t *testing.T) { + assert.Empty(t, checkLocaleContent([]byte(`hidden_comment_types_description = Comment types checked here will not be shown inside issue pages. Checking "Label" for example removes all "<user> added/removed <label>" comments.`))) + + assert.EqualValues(t, []string{"key: \x1b[31m<not-an-allowed-key>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<not-an-allowed-key> <label>"`))) + assert.EqualValues(t, []string{"key: \x1b[31m<user@example.com>\x1b[0m REPLACED-TAG"}, checkLocaleContent([]byte(`key = "<user@example.com> <email@example.com>"`))) + assert.EqualValues(t, []string{"key: \x1b[31m<tag>\x1b[0m REPLACED-TAG \x1b[31m</tag>\x1b[0m"}, checkLocaleContent([]byte(`key = "<tag> <email@example.com> </tag>"`))) + }) + + t.Run("Specific exception", func(t *testing.T) { + assert.Empty(t, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <c>workflow_dispatch</c> event trigger.`))) + assert.Empty(t, checkLocaleContent([]byte(`pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code>`))) + assert.Empty(t, checkLocaleContent([]byte(`editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch.`))) + + assert.EqualValues(t, []string{"workflow.dispatch.trigger_found: This workflow has a \x1b[31m<d>\x1b[0mworkflow_dispatch\x1b[31m</d>\x1b[0m event trigger."}, checkLocaleContent([]byte(`workflow.dispatch.trigger_found = This workflow has a <d>workflow_dispatch</d> event trigger.`))) + assert.EqualValues(t, []string{"key: <code\x1b[31m id=\"branch_targe\"\x1b[0m>%[3]s</code>"}, checkLocaleContent([]byte(`key = <code id="branch_targe">%[3]s</code>`))) + assert.EqualValues(t, []string{"key: <a\x1b[31m class=\"ui sh\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="ui sh" href="%[3]s">`))) + assert.EqualValues(t, []string{"key: <a\x1b[31m class=\"js-click-me\"\x1b[0m href=\"https://TO-BE-REPLACED.COM\">"}, checkLocaleContent([]byte(`key = <a class="js-click-me" href="%[3]s">`))) + assert.EqualValues(t, []string{"key: <strong\x1b[31m class=\"branch-target\"\x1b[0m>%[1]s</strong>"}, checkLocaleContent([]byte(`key = <strong class="branch-target">%[1]s</strong>`))) + }) + + t.Run("General safe tags", func(t *testing.T) { + assert.Empty(t, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong>does not exist</strong> or <strong>you are not authorized</strong> to view it."))) + assert.Empty(t, checkLocaleContent([]byte("teams.specific_repositories_helper = Members will only have access to repositories explicitly added to the team. Selecting this <strong>will not</strong> automatically remove repositories already added with <i>All repositories</i>."))) + assert.Empty(t, checkLocaleContent([]byte("sqlite_helper = File path for the SQLite3 database.<br>Enter an absolute path if you run Forgejo as a service."))) + assert.Empty(t, checkLocaleContent([]byte("hi_user_x = Hi <b>%s</b>,"))) + + assert.EqualValues(t, []string{"error404: The page you are trying to reach either <strong\x1b[31m title='aaa'\x1b[0m>does not exist</strong> or <strong>you are not authorized</strong> to view it."}, checkLocaleContent([]byte("error404 = The page you are trying to reach either <strong title='aaa'>does not exist</strong> or <strong>you are not authorized</strong> to view it."))) + }) + + t.Run("<a>", func(t *testing.T) { + assert.Empty(t, checkLocaleContent([]byte(`admin.new_user.text = Please <a href="%s">click here</a> to manage this user from the admin panel.`))) + assert.Empty(t, checkLocaleContent([]byte(`access_token_desc = Selected token permissions limit authorization only to the corresponding <a href="%[1]s" target="_blank">API</a> routes. Read the <a href="%[2]s" target="_blank">documentation</a> for more information.`))) + assert.Empty(t, checkLocaleContent([]byte(`webauthn_desc = Security keys are hardware devices containing cryptographic keys. They can be used for two-factor authentication. Security keys must support the <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> standard.`))) + assert.Empty(t, checkLocaleContent([]byte("issues.closed_at = `closed this issue <a id=\"%[1]s\" href=\"#%[1]s\">%[2]s</a>`"))) + + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com">`))) + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"javascript:alert('1')\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="javascript:alert('1')">`))) + assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m download\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" download>`))) + assert.EqualValues(t, []string{"key: <a href=\"https://TO-BE-REPLACED.COM\"\x1b[31m target=\"_self\"\x1b[0m>"}, checkLocaleContent([]byte(`key = <a href="%s" target="_self">`))) + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/%s">`))) + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"https://example.com/?q=%s\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="https://example.com/?q=%s">`))) + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s/open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s/open-redirect">`))) + assert.EqualValues(t, []string{"key: \x1b[31m<a href=\"%s?q=open-redirect\">\x1b[0m"}, checkLocaleContent([]byte(`key = <a href="%s?q=open-redirect">`))) + }) + + t.Run("Escaped HTML characters", func(t *testing.T) { + assert.Empty(t, checkLocaleContent([]byte("activity.git_stats_push_to_branch = `إلى %s و\"`"))) + + assert.EqualValues(t, []string{"key: و\x1b[31m \x1b[0m\x1b[32m\u00a0\x1b[0m"}, checkLocaleContent([]byte(`key = و `))) + }) +} diff --git a/options/locale/locale_ar.ini b/options/locale/locale_ar.ini index 76fe2a3fdd..f92cec14c2 100644 --- a/options/locale/locale_ar.ini +++ b/options/locale/locale_ar.ini @@ -960,7 +960,7 @@ settings.recent_deliveries = التوصيل الأخيرة projects.new = مشروع جديد file_history = تاريخ editor.directory_is_a_file = اسم المجلد "%s" مستخدم فعلا لاسم ملف في هذا المستودع. -editor.commit_directly_to_this_branch = أودع مباشرةً إلى فرع <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch = أودع مباشرةً إلى فرع <strong class="%[2]s">%[1]s</strong>. editor.unable_to_upload_files = تعذر رفع الملفات إلى "%s" برسالة الخطأ: %v settings.webhook.payload = المحتوى invisible_runes_header = `يحتوي هذا الملف على محارف يونيكود غير مرئية` @@ -1105,7 +1105,7 @@ activity.git_stats_pushed_1 = دفع activity.git_stats_pushed_n = دفعوا activity.git_stats_commit_1 = %d إيداع activity.git_stats_commit_n = %d إيداعا -activity.git_stats_push_to_branch = إلى %s و +activity.git_stats_push_to_branch = `إلى %s و"` activity.git_stats_push_to_all_branches = إلى كل الفروع. activity.git_stats_on_default_branch = في %s، activity.git_stats_file_1 = %d ملف @@ -1115,7 +1115,7 @@ activity.git_stats_files_changed_n = تغيّروا activity.git_stats_additions = وحدثت activity.git_stats_addition_1 = %d إضافة activity.git_stats_addition_n = %d إضافة -activity.git_stats_and_deletions = و +activity.git_stats_and_deletions = `و"` activity.git_stats_deletion_1 = %d إزالة activity.git_stats_deletion_n = %d إزالة settings.mirror_settings.direction = الاتجاه diff --git a/options/locale/locale_bg.ini b/options/locale/locale_bg.ini index ca11b20ff2..1387bdd0e2 100644 --- a/options/locale/locale_bg.ini +++ b/options/locale/locale_bg.ini @@ -846,7 +846,7 @@ editor.propose_file_change = Предлагане на промяна на фа editor.create_new_branch = Създаване на <strong>нов клон</strong> за това подаване и започване на заявка за сливане. editor.create_new_branch_np = Създаване на <strong>нов клон</strong> за това подаване. editor.filename_is_invalid = Името на файла е невалидно: „%s“. -editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch = Подаване директно към клона <strong class="%[2]s">%[1]s</strong>. editor.branch_already_exists = Клонът „%s“ вече съществува в това хранилище. editor.file_already_exists = Файл с име „%s“ вече съществува в това хранилище. editor.commit_empty_file_header = Подаване на празен файл @@ -997,7 +997,7 @@ pulls.cmd_instruction_hint = Вижте инструкциите за коман pulls.showing_only_single_commit = Показани са само промените в подаване %[1]s issues.lock_no_reason = заключи и ограничи обсъждането до сътрудници %s pulls.expand_files = Разгъване на всички файлове -pulls.title_desc_few = иска да слее %[1]d подавания от <code>%[2]s</code> в <code id="branch_target">%[3]s</code> +pulls.title_desc_few = иска да слее %[1]d подавания от <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> issues.content_history.deleted = изтрито activity.git_stats_exclude_merges = С изключение на сливанията, activity.navbar.pulse = Последна дейност @@ -1017,7 +1017,7 @@ pulls.collapse_files = Свиване на всички файлове pulls.show_all_commits = Показване на всички подавания diff.whitespace_button = Празни знаци issues.content_history.edited = редактирано -pulls.title_desc_one = иска да слее %[1]d подаване от <code>%[2]s</code> в <code id="branch_target">%[3]s</code> +pulls.title_desc_one = иска да слее %[1]d подаване от <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> pulls.showing_specified_commit_range = Показани са само промените между %[1]s..%[2]s pulls.merged_title_desc_one = сля %[1]d подаване от <code>%[2]s</code> в <code>%[3]s</code> %[4]s pulls.no_merge_access = Не сте упълномощени за сливане на тази заявка за сливане. diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini index 829df0124f..a400aed94b 100644 --- a/options/locale/locale_cs-CZ.ini +++ b/options/locale/locale_cs-CZ.ini @@ -1036,7 +1036,7 @@ blocked_users = Zablokovaní uživatelé change_password = Změnit heslo user_block_success = Uživatel byl úspěšně zablokován. user_unblock_success = Uživatel byl úspěšně odblokován. -access_token_desc = Oprávnění vybraného tokenu omezují autorizaci pouze na příslušné cesty <a %s>API</a>. Pro více informací si přečtěte <a %s>dokumentaci</a>. +access_token_desc = Oprávnění vybraného tokenu omezují autorizaci pouze na příslušné cesty <a href="%[1]s" target="_blank">API</a>. Pro více informací si přečtěte <a href="%[2]s" target="_blank">dokumentaci</a>. blocked_users_none = Nemáte žádné zablokované uživatele. blocked_since = Zablokován od %s hints = Nápovědy @@ -1360,7 +1360,7 @@ editor.fail_to_apply_patch=Nelze použít záplatu „%s“ editor.new_patch=Nová záplata editor.commit_message_desc=Přidat volitelný rozšířený popis… editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu. -editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Odeslat přímo do větve <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Vytvořit <strong>novou větev</strong> pro tento commit a vytvořit žádost o sloučení. editor.create_new_branch_np=Vytvořte <strong>novou větev</strong> z tohoto commitu. editor.propose_file_change=Navrhnout změnu souboru @@ -1725,7 +1725,7 @@ issues.error_modifying_due_date=Změna termínu dokončení selhala. issues.error_removing_due_date=Odstranění termínu dokončení selhalo. issues.push_commit_1=přidal/a %d commit %s issues.push_commits_n=přidal/a %d commity %s -issues.force_push_codes=`vynucené nahrání %[1]s od <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> do <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`vynucené nahrání %[1]s od <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> do <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Porovnat issues.due_date_form=rrrr-mm-dd issues.due_date_form_add=Přidat termín dokončení @@ -1841,7 +1841,7 @@ pulls.nothing_to_compare_have_tag=Vybraná větev/značka je stejná. pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tato žádost o sloučení bude prázdná. pulls.has_pull_request=`Žádost o sloučení mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Vytvořit žádost o sloučení -pulls.title_desc_few=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="branch_target">%[3]s</code> +pulls.title_desc_few=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=sloučil %[1]d commity z větve <code>%[2]s</code> do větve <code>%[3]s</code> před %[4]s pulls.change_target_branch_at=`změnil/a cílovou větev z <b>%s</b> na <b>%s</b> %s` pulls.tab_conversation=Konverzace @@ -2765,7 +2765,7 @@ settings.protect_enable_merge_desc = Kdokoli s přístupem k zápisu bude moci s settings.archive.text = Archivováním repozitáře jej celý převedete do stavu pouze pro čtení. Bude skryt z nástěnky. Nikdo (ani vy!) nebude moci vytvářet nové commity ani otevírat problémy a žádosti o sloučení. settings.event_pull_request_review_request_desc = Bylo požádáno o posouzení žádosti o sloučení nebo bylo toto požádání odstraněno. error.broken_git_hook = Zdá se, že u tohoto repozitáře jsou rozbité Git hooks. Pro jejich opravení se prosím řiďte pokyny v <a target="_blank" rel="noreferrer" href="%s">dokumentaci</a> a poté odešlete několik commitů pro obnovení stavu. -pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> do <code id="branch_target">%[3]s</code> +pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> do <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_one = sloučil %[1]d commit z <code>%[2]s</code> do <code>%[3]s</code> %[4]s open_with_editor = Otevřít pomocí %s commits.search_branch = Tato větev diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini index 997dd8c2a0..b96d185142 100644 --- a/options/locale/locale_de-DE.ini +++ b/options/locale/locale_de-DE.ini @@ -936,7 +936,7 @@ select_permissions=Berechtigungen auswählen permission_no_access=Kein Zugriff permission_read=Lesen permission_write=Lesen und Schreiben -access_token_desc=Ausgewählte Token-Berechtigungen beschränken die Authentifizierung auf die entsprechenden <a %s>API</a>-Routen. Lies die <a %s>Dokumentation</a> für mehr Informationen. +access_token_desc=Ausgewählte Token-Berechtigungen beschränken die Authentifizierung auf die entsprechenden <a href="%[1]s" target="_blank">API</a>-Routen. Lies die <a href="%[2]s" target="_blank">Dokumentation</a> für mehr Informationen. at_least_one_permission=Du musst mindestens eine Berechtigung auswählen, um ein Token zu erstellen permissions_list=Berechtigungen: @@ -1353,7 +1353,7 @@ editor.fail_to_apply_patch=Patch „%s“ nicht anwendbar editor.new_patch=Neuer Patch editor.commit_message_desc=Eine ausführlichere (optionale) Beschreibung hinzufügen … editor.signoff_desc=Am Ende der Commit-Nachricht einen „Signed-off-by“-Anhang vom Committer hinzufügen. -editor.commit_directly_to_this_branch=Direkt in den Branch „<strong class="branch-name">%s</strong>“ einchecken. +editor.commit_directly_to_this_branch=Direkt in den Branch „<strong class="%[2]s">%[1]s</strong>“ einchecken. editor.create_new_branch=Einen <strong>neuen Branch</strong> für diesen Commit erstellen und einen Pull-Request starten. editor.create_new_branch_np=Erstelle einen <strong>neuen Branch</strong> für diesen Commit. editor.propose_file_change=Dateiänderung vorschlagen @@ -1719,7 +1719,7 @@ issues.error_modifying_due_date=Fehler beim Ändern des Fälligkeitsdatums. issues.error_removing_due_date=Fehler beim Entfernen des Fälligkeitsdatums. issues.push_commit_1=hat %d Commit %s hinzugefügt issues.push_commits_n=hat %d Commits %s hinzugefügt -issues.force_push_codes=`hat %[6]s %[1]s von <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> zu <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> force-gepusht` +issues.force_push_codes=`hat %[6]s %[1]s von <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> zu <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> force-gepusht` issues.force_push_compare=Vergleichen issues.due_date_form=JJJJ-MM-TT issues.due_date_form_add=Fälligkeitsdatum hinzufügen @@ -1834,7 +1834,7 @@ pulls.nothing_to_compare=Diese Branches sind identisch. Es muss kein Pull-Reques pulls.nothing_to_compare_and_allow_empty_pr=Diese Branches sind gleich. Der Pull-Request wird leer sein. pulls.has_pull_request=`Es existiert bereits ein Pull-Request zwischen diesen beiden Branches: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Pull-Request erstellen -pulls.title_desc_few=möchte %[1]d Commits von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen +pulls.title_desc_few=möchte %[1]d Commits von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen pulls.merged_title_desc_few=hat %[1]d Commits von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt pulls.change_target_branch_at=`hat den Zielbranch von <b>%s</b> nach <b>%s</b> %s geändert` pulls.tab_conversation=Diskussion @@ -2751,7 +2751,7 @@ activity.navbar.code_frequency = Code-Frequenz file_follow = Symlink folgen error.broken_git_hook = Die Git-Hooks des Repositorys scheinen kaputt zu sein. Bitte folge der <a target="_blank" rel="noreferrer" href="%s">Dokumentation</a> um sie zu reparieren, dann pushe einige Commits um den Status zu aktualisieren. pulls.merged_title_desc_one = hat %[1]d Commit von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt -pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen +pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="%[4]s">%[3]s</code> zusammenführen open_with_editor = Öffnen mit %s commits.search_branch = Dieser Branch pulls.ready_for_review = Bereit zum Review? diff --git a/options/locale/locale_el-GR.ini b/options/locale/locale_el-GR.ini index 05af282d5a..d6b617bcd2 100644 --- a/options/locale/locale_el-GR.ini +++ b/options/locale/locale_el-GR.ini @@ -932,7 +932,7 @@ select_permissions=Επιλογή δικαιωμάτων permission_no_access=Καμία πρόσβαση permission_read=Αναγνωσμένες permission_write=Ανάγνωση και εγγραφή -access_token_desc=Τα επιλεγμένα δικαιώματα διακριτικών περιορίζουν την άδεια μόνο στις αντίστοιχες διαδρομές <a %s>API</a>. Διαβάστε το εγχειρίδιο <a %s></a> για περισσότερες πληροφορίες. +access_token_desc=Τα επιλεγμένα δικαιώματα διακριτικών περιορίζουν την άδεια μόνο στις αντίστοιχες διαδρομές <a href="%[1]s" target="_blank">API</a>. Διαβάστε το εγχειρίδιο <a href="%[2]s" target="_blank"></a> για περισσότερες πληροφορίες. at_least_one_permission=Πρέπει να επιλέξετε τουλάχιστον ένα δικαίωμα για να δημιουργήσετε ένα διακριτικό permissions_list=Δικαιώματα: @@ -1350,7 +1350,7 @@ editor.fail_to_apply_patch=`Αδυναμία εφαρμογής της επιδ editor.new_patch=Νέο patch editor.commit_message_desc=Προσθήκη προαιρετικής εκτενούς περιγραφής… editor.signoff_desc=Προσθέστε ένα πρόσθετο Signed-off-by στο τέλος του μηνύματος καταγραφής της υποβολής. -editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Δημιουργήστε έναν <strong>νέο κλάδο</strong> για αυτή την υποβολή και ξεκινήστε ένα pull request. editor.create_new_branch_np=Δημιουργήστε έναν <strong>νέο κλάδο</strong> για αυτή την υποβολή. editor.propose_file_change=Πρόταση αλλαγής αρχείου @@ -1716,7 +1716,7 @@ issues.error_modifying_due_date=Προέκυψε σφάλμα κατά την α issues.error_removing_due_date=Προέκυψε σφάλμα κατά την κατάργηση ημερομηνίας παράδοσης. issues.push_commit_1=πρόσθεσε %d υποβολή %s issues.push_commits_n=πρόσθεσε %d υποβολές %s -issues.force_push_codes=`έκανε force-push %[1]s από το <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> στο <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`έκανε force-push %[1]s από το <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> στο <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Σύγκριση issues.due_date_form=εεεε-μμ-ηη issues.due_date_form_add=Προσθήκη ημερομηνίας παράδοσης @@ -1831,7 +1831,7 @@ pulls.nothing_to_compare=Αυτοί οι κλάδοι είναι ίδιοι. Δ pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίδιοι. Αυτό το PR θα είναι κενό. pulls.has_pull_request=`Υπάρχει ήδη pull request μεταξύ αυτών των κλάδων: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Δημιουργία pull request -pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="branch_target">%[3]s</code> +pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=συγχώνευσε %[1]d υποβολές από <code>%[2]s</code> σε <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`άλλαξε τον κλάδο προορισμού από <b>%s</b> σε <b>%s</b> %s` pulls.tab_conversation=Συζήτηση @@ -2744,7 +2744,7 @@ n_commit_one = %s υποβολή stars = Αστέρια n_branch_one = %s κλάδος commits.search_branch = Αυτός ο κλάδος -pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="branch_target">%[3]s</code> +pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_one = συγχώνευσε %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code>%[3]s</code> %[4]s n_commit_few = %s υποβολές settings.sourcehut_builds.secrets = Μυστικά diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 289b8aa17f..0700ee1624 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -935,7 +935,7 @@ select_permissions = Select permissions permission_no_access = No access permission_read = Read permission_write = Read and write -access_token_desc = Selected token permissions limit authorization only to the corresponding <a %s>API</a> routes. Read the <a %s>documentation</a> for more information. +access_token_desc = Selected token permissions limit authorization only to the corresponding <a href="%[1]s" target="_blank">API</a> routes. Read the <a href="%[2]s" target="_blank">documentation</a> for more information. at_least_one_permission = You must select at least one permission to create a token permissions_list = Permissions: @@ -1372,7 +1372,7 @@ editor.fail_to_apply_patch = Unable to apply patch "%s" editor.new_patch = New patch editor.commit_message_desc = Add an optional extended description… editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message. -editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch. +editor.commit_directly_to_this_branch = Commit directly to the <strong class="%[2]s">%[1]s</strong> branch. editor.create_new_branch = Create a <strong>new branch</strong> for this commit and start a pull request. editor.create_new_branch_np = Create a <strong>new branch</strong> for this commit. editor.propose_file_change = Propose file change @@ -1740,7 +1740,7 @@ issues.time_spent_from_all_authors = `Total time spent: %s` issues.due_date = Due date issues.push_commit_1 = added %d commit %s issues.push_commits_n = added %d commits %s -issues.force_push_codes = `force-pushed %[1]s from <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> to <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes = `force-pushed %[1]s from <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> to <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare = Compare issues.due_date_form = yyyy-mm-dd issues.due_date_form_edit = Edit @@ -1859,8 +1859,8 @@ pulls.nothing_to_compare_have_tag = The selected branch/tag are equal. pulls.nothing_to_compare_and_allow_empty_pr = These branches are equal. This PR will be empty. pulls.has_pull_request = `A pull request between these branches already exists: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create = Create pull request -pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="branch_target">%[3]s</code> -pulls.title_desc_few = wants to merge %[1]d commits from <code>%[2]s</code> into <code id="branch_target">%[3]s</code> +pulls.title_desc_one = wants to merge %[1]d commit from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code> +pulls.title_desc_few = wants to merge %[1]d commits from <code>%[2]s</code> into <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_one = merged %[1]d commit from <code>%[2]s</code> into <code>%[3]s</code> %[4]s pulls.merged_title_desc_few = merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s pulls.change_target_branch_at = `changed target branch from <b>%s</b> to <b>%s</b> %s` diff --git a/options/locale/locale_eo.ini b/options/locale/locale_eo.ini index 1c36206eb1..64b1908b46 100644 --- a/options/locale/locale_eo.ini +++ b/options/locale/locale_eo.ini @@ -202,7 +202,6 @@ app_desc = Senpena kaj memgastigebla Git-servo install = Facile instalebla lightweight = Malpeza license = Libera fontkodo -platform_desc = Forgejo ruleblas ĉie ajn <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> bittradukeblas: Windows, macOS, Linux, ARM, etc. Elektu laŭplaĉe! install_desc = Simple aŭ <a target="_blank" rel="noopener noreferrer" href="%[1]s">prenu la ruldosieron</a> por via operaciumo, aŭ instalu enuje per <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, aŭ instalu <a target="_blank" rel="noopener noreferrer" href="%[3]s">pakaĵe</a>. lightweight_desc = Forgejo ne penigos vian servilon, kaj eĉ ruleblas je Raspberry Pi. Konservu vian komputpotencon! platform = Plursistema diff --git a/options/locale/locale_es-ES.ini b/options/locale/locale_es-ES.ini index 0c06cdcece..1a6ac696d3 100644 --- a/options/locale/locale_es-ES.ini +++ b/options/locale/locale_es-ES.ini @@ -932,7 +932,7 @@ select_permissions=Seleccionar permisos permission_no_access=Sin acceso permission_read=Leídas permission_write=Lectura y escritura -access_token_desc=Los permisos de los tokens seleccionados limitan la autorización sólo a las rutas <a %s>API</a> correspondientes. Lea la <a %s>documentación</a> para más información. +access_token_desc=Los permisos de los tokens seleccionados limitan la autorización sólo a las rutas <a href="%[1]s" target="_blank">>API</a> correspondientes. Lea la <a href="%[2]s" target="_blank">>documentación</a> para más información. at_least_one_permission=Debe seleccionar al menos un permiso para crear un token permissions_list=Permisos: @@ -1349,7 +1349,7 @@ editor.fail_to_apply_patch=`No se puede aplicar el parche "%s"` editor.new_patch=Nuevo parche editor.commit_message_desc=Añadir una descripción extendida opcional… editor.signoff_desc=Añadir un trailer firmado por el committer al final del mensaje de registro de confirmación. -editor.commit_directly_to_this_branch=Hacer commit directamente en la rama <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Hacer commit directamente en la rama <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Crear una <strong>nueva rama</strong> para este commit y hacer un pull request. editor.create_new_branch_np=Crear una <strong>nueva rama</strong> para este commit. editor.propose_file_change=Proponer cambio de archivo @@ -1715,7 +1715,7 @@ issues.error_modifying_due_date=Fallo al modificar la fecha de vencimiento. issues.error_removing_due_date=Fallo al eliminar la fecha de vencimiento. issues.push_commit_1=añadió %d commit %s issues.push_commits_n=añadió %d commits %s -issues.force_push_codes=`hizo push forzado %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> a <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`hizo push forzado %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> a <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Comparar issues.due_date_form=aaaa-mm-dd issues.due_date_form_add=Añadir fecha de vencimiento @@ -1830,7 +1830,7 @@ pulls.nothing_to_compare=Estas ramas son iguales. No hay necesidad para crear un pulls.nothing_to_compare_and_allow_empty_pr=Estas ramas son iguales. Este PR estará vacío. pulls.has_pull_request=`Ya existe un pull request entre estas ramas: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Crear pull request -pulls.title_desc_few=quiere fusionar %[1]d commits de <code>%[2]s</code> en <code id="branch_target">%[3]s</code> +pulls.title_desc_few=quiere fusionar %[1]d commits de <code>%[2]s</code> en <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=fusionó %[1]d commits de <code>%[2]s</code> en <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`cambió la rama objetivo de <b>%s</b> a <b>%s</b> %s` pulls.tab_conversation=Conversación @@ -2735,7 +2735,7 @@ pulls.blocked_by_user = No puedes crear una pull request en este repositorio por issues.comment.blocked_by_user = No puedes crear un comentario en esta incidencia porque estás bloqueado por el propietario del repositorio o el autor de la incidencia. comments.edit.already_changed = No fue posible guardar los cambios al comentario. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios pulls.edit.already_changed = No fue posible guardar los cambios al pull request. Parece que el contenido ya fue modificado por otro usuario. Actualiza la página e intenta editar de nuevo para evitar sobrescribir los cambios -pulls.title_desc_one = quiere fusionar %[1]d commit de <code>%[2]s</code> en <code id="branch_target">%[3]s</code> +pulls.title_desc_one = quiere fusionar %[1]d commit de <code>%[2]s</code> en <code id="%[4]s">%[3]s</code> pulls.ready_for_review = Listo para revisar? activity.navbar.contributors = Contribuidores pulls.cmd_instruction_hint = Ver instrucciones para la línea de comandos diff --git a/options/locale/locale_fa-IR.ini b/options/locale/locale_fa-IR.ini index a9e150a7cb..297785a0c8 100644 --- a/options/locale/locale_fa-IR.ini +++ b/options/locale/locale_fa-IR.ini @@ -149,7 +149,6 @@ missing_csrf=درخواست بد: بلیط CSRF ندارد app_desc=یک سرویس گیت بیدرد سر و راحت install=راهاندازی ساده platform=مستقل از سکو -platform_desc=گیت همه جا اجرا میشود <a target="_blank" rel="noopener noreferrer" href="http://golang.org/"> بریم!</a> میتوانید Windows, macOS, Linux, ARM و ... هر کدام را دوست داشتید انتخاب کنید! lightweight=ابزارک سبک lightweight_desc=گیتی با حداقل منابع میتوانید برای روی دستگاه Raspberry Pi اجرا شود و مصرف انرژی شما را کاهش دهد! license=متن باز @@ -985,7 +984,7 @@ editor.commit_changes=تغییرات کامیت editor.add_tmpl=افزودن '<filename>' editor.commit_message_desc=توضیحی تخصصی به دلخواه اضافه نمایید… editor.signoff_desc=یک تریلر Signed-off-by توسط committer در انتهای پیام گزارش commit اضافه کنید. -editor.commit_directly_to_this_branch=ثبت کامیت به صورت مستقیم در انشعاب <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=ثبت کامیت به صورت مستقیم در انشعاب <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=یک <strong> شاخه جدید</strong> برای این commit ایجاد کنید و تقاضای واکشی را شروع کنید. editor.create_new_branch_np=یک <strong> شاخه جدید </strong> برای کامیت بسازید. editor.propose_file_change=پیشنهاد تغییر پرونده @@ -1254,7 +1253,7 @@ issues.error_modifying_due_date=تغییر موعد مقرر با شکست مو issues.error_removing_due_date=حذف موعد مقرر با شکست مواجه شد. issues.push_commit_1=%d اعمال تغییر اضافه شده است %s issues.push_commits_n=%d اعمال تغییرات اضافه شده است %s -issues.force_push_codes=`پوش شده اجباری %[1]s از <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> به <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`پوش شده اجباری %[1]s از <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> به <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=مقایسه issues.due_date_form=yyyy-mm-dd issues.due_date_form_add=افزودن موعد مقرر @@ -1340,7 +1339,7 @@ pulls.nothing_to_compare=این شاخهها یکی هستند. نیازی ب pulls.nothing_to_compare_and_allow_empty_pr=این شاخه ها برابر هستند. این PR خالی خواهد بود. pulls.has_pull_request=`A درخواست pull بین این شاخه ها از قبل وجود دارد: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=ایجاد تقاضای واکشی -pulls.title_desc_few=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="branch_target">%[3]s</code> دارد +pulls.title_desc_few=قصد ادغام %[1]d تغییر را از <code>%[2]s</code> به <code id="%[4]s">%[3]s</code> دارد pulls.merged_title_desc_few=%[1]d کامیت ادغام شده از <code>%[2]s</code> به <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`هدف شاخه از <b>%s</b> به <b>%s</b> %s تغییر کرد` pulls.tab_conversation=گفتگو diff --git a/options/locale/locale_fi-FI.ini b/options/locale/locale_fi-FI.ini index 2ccbbf0978..bae6c8e59d 100644 --- a/options/locale/locale_fi-FI.ini +++ b/options/locale/locale_fi-FI.ini @@ -928,7 +928,7 @@ editor.cancel_lower=Peru editor.commit_signed_changes=Commitoi vahvistetut muutokset editor.commit_changes=Kommitoi muutokset editor.add_tmpl=Lisää "<filename>" -editor.commit_directly_to_this_branch=Commitoi suoraan <strong class="branch-name">%s</strong> haaraan. +editor.commit_directly_to_this_branch=Commitoi suoraan <strong class="%[2]s">%[1]s</strong> haaraan. editor.create_new_branch=Luo <strong>uusi haara</strong> tälle commitille ja aloita vetopyyntö. editor.create_new_branch_np=Luo <strong>uusi haara</strong> tälle commitille. editor.cancel=Peruuta @@ -1148,7 +1148,7 @@ pulls.nothing_to_compare=Nämä haarat vastaavat toisiaan. Ei ole tarvetta luoda pulls.nothing_to_compare_and_allow_empty_pr=Nämä haarat vastaavat toisiaan. Vetopyyntö tulee olemaan tyhjä. pulls.has_pull_request=`Vetopyyntö haarojen välillä on jo olemassa: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Luo vetopyyntö -pulls.title_desc_few=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="branch_target">%[3]s</code> +pulls.title_desc_few=haluaa yhdistää %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=yhdistetty %[1]d committia lähteestä <code>%[2]s</code> kohteeseen <code>%[3]s</code> %[4]s pulls.tab_conversation=Keskustelu pulls.tab_commits=Commitit @@ -2447,7 +2447,7 @@ runners.runner_manage_panel = Hallinnoi testinajajia variables = Muuttujat variables.management = Hallinnoi muuttujia variables.creation = Lisää muuttuja -runs.no_workflows.quick_start = Etkö tiedä kuinka Forgejo Actions toimii? Katso <a target="_blank" rel="noopener noreferrer" href="%s" >aloitusohje</a>. +runs.no_workflows.quick_start = Etkö tiedä kuinka Forgejo Actions toimii? Katso <a target="_blank" rel="noopener noreferrer" href="%s">aloitusohje</a>. runners.new = Luo uusi testinajaja runners.version = Versio runs.expire_log_message = Lokitiedostot on tyhjätty vanhenemisen vuoksi. diff --git a/options/locale/locale_fil.ini b/options/locale/locale_fil.ini index 6bc508020c..15353be168 100644 --- a/options/locale/locale_fil.ini +++ b/options/locale/locale_fil.ini @@ -766,7 +766,7 @@ ssh_principal_deletion_success = Tinanggal na ang principal. principal_state_desc = Ginamit ang principal na ito sa huling 7 araw tokens_desc = Ang mga token na ito ay nagbibigay ng pag-access sa iyong account gamit ang Forgejo API. generate_token_name_duplicate = Ginamit na ang <strong>%s</strong> bilang isang pangalan ng application. Gumamit ng bago. -access_token_desc = Ang mga piniling pahintulot sa token ay nililimitahan ang awtorisasyon sa mga kakulang na <a %s>API</a> route. Basahin ang <a %s>dokumentasyon</a> para sa higit pang impormasyon. +access_token_desc = Ang mga piniling pahintulot sa token ay nililimitahan ang awtorisasyon sa mga kakulang na <a href="%[1]s" target="_blank">API</a> route. Basahin ang <a href="%[2]s" target="_blank">dokumentasyon</a> para sa higit pang impormasyon. uploaded_avatar_is_too_big = Ang laki ng na-upload na file (%d KiB) ay lumalagpas sa pinakamalaking laki (%d KiB). update_avatar_success = Nabago na ang iyong avatar. update_user_avatar_success = Nabago na ang avatar ng user. @@ -1482,7 +1482,7 @@ milestones.title = Pamagat milestones.desc = paglalarawan pulls.blocked_by_user = Hindi ka makakagawa ng hiling sa paghila sa repositoryo na ito dahil na-block ka ng may-ari ng repositoryo. pulls.no_merge_access = Hindi ka pinapayagang isali ang [pull request] na ito. -editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch = Direktang mag-commit sa branch na <strong class="%[2]s">%[1]s</strong>. editor.branch_already_exists = Umiiral na ang branch na "%s" sa repositoryo na ito. editor.file_editing_no_longer_exists = Ang file na ine-edit, "%s", ay hindi na umiiral sa repositoryo na ito. editor.filename_is_a_directory = Ang pangalan ng file "%s" ay ginagamit na bilang pangalan ng direktoryo sa repositoryo na ito. @@ -1584,12 +1584,12 @@ projects.column.new_title = Pangalan projects.card_type.desc = Mga preview ng card commits.desc = I-browse ang history ng pagbabago ng source code. commits.search.tooltip = Maari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09". -issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> sa <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> sa <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.push_commit_1 = idinagdag ang %d commit %s issues.push_commits_n = idinagdag ang %d mga [commit] %s issues.new.no_reviewers = Walang mga tagasuri -pulls.title_desc_one = hinihiling na isama ang %[1]d commit mula <code>%[2]s</code> patungong <code id="branch_target">%[3]s</code> -pulls.title_desc_few = hiniling na isama ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code id="branch_target">%[3]s</code> +pulls.title_desc_one = hinihiling na isama ang %[1]d commit mula <code>%[2]s</code> patungong <code id="%[4]s">%[3]s</code> +pulls.title_desc_few = hiniling na isama ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code id="%[4]s">%[3]s</code> issues.review.add_review_request = hiniling ang pagsuri mula kay %s %s pulls.status_checks_details = Mga detalye activity.git_stats_author_n = %d mga may-akda diff --git a/options/locale/locale_fr-FR.ini b/options/locale/locale_fr-FR.ini index e26a36867d..d914b558e8 100644 --- a/options/locale/locale_fr-FR.ini +++ b/options/locale/locale_fr-FR.ini @@ -223,7 +223,7 @@ platform_desc=Forgejo est confirmé fonctionner sur des systèmes d'exploitation lightweight=Léger lightweight_desc=Forgejo utilise peu de ressources. Il peut même tourner sur un Raspberry Pi très bon marché. Économisez l'énergie de vos serveurs ! license=Open Source -license_desc=Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a> ! Rejoignez-nous et <a target="_blank" rel="noopener noreferrer" href="https ://codeberg.org/forgejo/forgejo">contribuez</a> à rendre ce projet encore meilleur. Ne craignez pas de devenir un·e contributeur·trice ! +license_desc=Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a> ! Rejoignez-nous et <a target="_blank" rel="noopener noreferrer" href="%[2]s">contribuez</a> à rendre ce projet encore meilleur. Ne craignez pas de devenir un·e contributeur·trice ! [install] install=Installation @@ -938,7 +938,7 @@ select_permissions=Sélectionner les autorisations permission_no_access=Aucun accès permission_read=Lecture permission_write=Lecture et écriture -access_token_desc=Les autorisations des jetons sélectionnées se limitent aux <a %s>routes API</a> correspondantes. Lisez la <a %s>documentation</a> pour plus d’informations. +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. at_least_one_permission=Vous devez sélectionner au moins une permission pour créer un jeton permissions_list=Autorisations : @@ -1360,7 +1360,7 @@ editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"` editor.new_patch=Nouveau correctif editor.commit_message_desc=Ajouter une description détaillée facultative… editor.signoff_desc=Créditer l'auteur "Signed-off-by:" en pied de révision. -editor.commit_directly_to_this_branch=Réviser directement dans la branche <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Réviser directement dans la branche <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Créer une <strong>nouvelle branche</strong> pour cette révision et initier une demande d'ajout. editor.create_new_branch_np=Créer une <strong>nouvelle branche</strong> pour cette révision. editor.propose_file_change=Proposer une modification du fichier @@ -1726,7 +1726,7 @@ issues.error_modifying_due_date=Impossible de modifier l'échéance. issues.error_removing_due_date=Impossible de supprimer l'échéance. issues.push_commit_1=a ajouté %d révision %s issues.push_commits_n=a ajouté %d révisions %s -issues.force_push_codes=`a forcé %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> à <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s.` +issues.force_push_codes=`a forcé %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> à <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s.` issues.force_push_compare=Comparer issues.due_date_form=aaaa-mm-jj issues.due_date_form_add=Ajouter une échéance @@ -1841,7 +1841,7 @@ pulls.nothing_to_compare=Ces branches sont identiques. Il n’y a pas besoin de pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide. pulls.has_pull_request='Il existe déjà une demande d'ajout entre ces deux branches : <a href="%[1]s">%[2]s#%[3]d</a>' pulls.create=Créer une demande d'ajout -pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> +pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`a remplacée la branche cible <b>%s</b> par <b>%s</b> %s` pulls.tab_conversation=Discussion @@ -2765,7 +2765,7 @@ error.broken_git_hook = Les hooks Git de ce dépôt semblent cassés. Référez settings.confirmation_string = Chaine de confirmation pulls.agit_explanation = Créé par le workflow AGit. AGit permet aux contributeurs de proposer des modifications en utilisant "git push" sans créer une bifurcation ou une nouvelle branche. pulls.merged_title_desc_one = fusionné %[1]d commit depuis <code>%[2]s</code> vers <code>%[3]s</code> %[4]s -pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> +pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="%[4]s">%[3]s</code> stars = Étoiles n_tag_few = %s étiquettes editor.commit_id_not_matching = Le fichier a été modifié pendant que vous l'éditiez. Appliquez les modifications à une nouvelle branche puis procédez à la fusion. diff --git a/options/locale/locale_gl.ini b/options/locale/locale_gl.ini index 94e915e3bf..74108be0c8 100644 --- a/options/locale/locale_gl.ini +++ b/options/locale/locale_gl.ini @@ -181,8 +181,7 @@ user_kind = Buscar usuarios... platform = Multiplataforma app_desc = Um servizo Git autoxestionado e fácil de usar install = Fácil de instalar -platform_desc = Forgejo execútase en calquera lugar onde <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> poida compilar para: Windows, MacOS, Linux, ARM, etc. Escolla seu preferido! -install_desc = Simplemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">executa o binario</a> para a túa plataforma, envíao con < un target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a> ou consígueo <a target="_blank" rel=" noopener noreferrer" href="%[3]s">empaquetado</a>. +install_desc = Simplemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">executa o binario</a> para a túa plataforma, envíao con <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a> ou consígueo <a target="_blank" rel="noopener noreferrer" href="%[3]s">empaquetado</a>. [error] occurred = Ocorreu un erro diff --git a/options/locale/locale_hu-HU.ini b/options/locale/locale_hu-HU.ini index fd6d48d8b0..aae5a6ad71 100644 --- a/options/locale/locale_hu-HU.ini +++ b/options/locale/locale_hu-HU.ini @@ -203,7 +203,6 @@ not_found = A cél nem található. app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás install=Könnyen telepíthető platform=Keresztplatformos -platform_desc=A Forgejo minden platformon fut, ahol a <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> fordíthat: Windows, macOS, Linux, ARM, stb. Válassza azt, amelyet szereti! lightweight=Könnyűsúlyú license=Nyílt forráskódú @@ -812,7 +811,7 @@ editor.cancel_lower=Mégse editor.commit_changes=Változások Véglegesítése editor.add_tmpl='<filename>' hozzáadása editor.commit_message_desc=Opcionális hosszabb leírás hozzáadása… -editor.commit_directly_to_this_branch=Mentés egyenesen a(z) <strong class="branch-name">%s</strong> ágba. +editor.commit_directly_to_this_branch=Mentés egyenesen a(z) <strong class="%[2]s">%[1]s</strong> ágba. editor.create_new_branch=Hozzon létre egy <strong>új ágat</strong> ennek a commit-nak és indíts egy egyesítési kérést. editor.propose_file_change=Változtatás ajánlása editor.new_branch_name_desc=Új ág neve… @@ -1033,7 +1032,7 @@ pulls.filter_branch=Ágra szűrés pulls.no_results=Nincs találat. pulls.nothing_to_compare=Ezek az ágak egyenlőek. Nincs szükség egyesítési kérésre. pulls.create=Egyesítési kérés létrehozása -pulls.title_desc_few=egyesíteni szeretné %[1]d változás(oka)t a(z) <code>%[2]s</code>-ból <code id="branch_target">%[3]s</code>-ba +pulls.title_desc_few=egyesíteni szeretné %[1]d változás(oka)t a(z) <code>%[2]s</code>-ból <code id="%[4]s">%[3]s</code>-ba pulls.merged_title_desc_few=egyesítve %[1]d változás(ok) a <code>%[2]s</code>-ból <code>%[3]s</code>-ba %[4]s pulls.tab_conversation=Beszélgetés pulls.tab_commits=Commit-ok diff --git a/options/locale/locale_id-ID.ini b/options/locale/locale_id-ID.ini index 36f1265c3e..5cd3033119 100644 --- a/options/locale/locale_id-ID.ini +++ b/options/locale/locale_id-ID.ini @@ -98,7 +98,6 @@ name=Nama app_desc=Sebuah layanan hosting Git sendiri yang tanpa kesulitan install=Mudah dipasang platform=Lintas platform -platform_desc=Forgejo bisa digunakan di mana <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> bisa dijalankan: Windows, macOS, Linux, ARM, dll. Silahkan pilih yang Anda suka! lightweight=Ringan lightweight_desc=Forgejo hanya membutuhkan persyaratan minimal dan bisa berjalan pada Raspberry Pi yang murah. Bisa menghemat listrik! license=Sumber Terbuka @@ -623,7 +622,7 @@ editor.cancel_lower=Batalkan editor.commit_changes=Perubahan komitmen editor.add_tmpl=Tambahkan '<filename>' editor.commit_message_desc=Tambahkan deskripsi opsional yang panjang… -editor.commit_directly_to_this_branch=Komitmen langsung ke <strong class="branch-name">%s</strong> cabang. +editor.commit_directly_to_this_branch=Komitmen langsung ke <strong class="%[2]s">%[1]s</strong> cabang. editor.create_new_branch=Membuat <strong>new branch</strong> untuk tarik komit ini mulai permintaan. editor.create_new_branch_np=Buat <strong>cabang baru</strong> untuk komit ini. editor.propose_file_change=Usul perubahan berkas @@ -752,7 +751,7 @@ pulls.compare_changes=Permintaan Tarik Baru pulls.filter_branch=Penyaringan cabang pulls.no_results=Hasil tidak ditemukan. pulls.create=Buat Permintaan Tarik -pulls.title_desc_few=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="branch_target">%[3]s</code> +pulls.title_desc_few=ingin menggabungkan komit %[1]d dari <code>%[2]s</code> menuju <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=commit %[1]d telah digabungkan dari <code>%[2]s</code> menjadi <code>%[3]s</code> %[4]s pulls.tab_conversation=Percakapan pulls.tab_commits=Melakukan diff --git a/options/locale/locale_is-IS.ini b/options/locale/locale_is-IS.ini index 0cb6c0f7ab..b07bf4b829 100644 --- a/options/locale/locale_is-IS.ini +++ b/options/locale/locale_is-IS.ini @@ -133,7 +133,6 @@ network_error=Netkerfisvilla app_desc=Þrautalaus og sjálfhýst Git þjónusta install=Einföld uppsetning platform=Fjölvettvangur -platform_desc=Forgejo virkar hvar sem að <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> gerir: Linux, macOS, Windows, ARM o. s. frv. Veldu það sem þú vilt! lightweight=Létt lightweight_desc=Forgejo hefur lágar lágmarkskröfur og getur keyrt á ódýrum Raspberry Pi. Sparaðu orku! license=Frjáls Hugbúnaður @@ -891,7 +890,7 @@ pulls.new=Ný Sameiningarbeiðni pulls.view=Skoða Sameiningarbeiðni pulls.compare_changes=Ný Sameiningarbeiðni pulls.create=Skapa Sameiningarbeiðni -pulls.title_desc_few=vill sameina %[1]d framlög frá <code>%[2]s</code> í <code id="branch_target">%[3]s</code> +pulls.title_desc_few=vill sameina %[1]d framlög frá <code>%[2]s</code> í <code id="%[4]s">%[3]s</code> pulls.tab_conversation=Umræða pulls.tab_commits=Framlög pulls.tab_files=Skráum Breytt diff --git a/options/locale/locale_it-IT.ini b/options/locale/locale_it-IT.ini index dc58d62c7c..361c9821f3 100644 --- a/options/locale/locale_it-IT.ini +++ b/options/locale/locale_it-IT.ini @@ -217,7 +217,6 @@ server_internal = Errore interno del server app_desc=Un servizio auto-ospitato per Git pronto all'uso install=Facile da installare platform=Multipiattaforma -platform_desc=Forgejo funziona ovunque <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> possa essere compilato: Windows, macOS, Linux, ARM, etc. Scegli ciò che ami! lightweight=Leggero lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un economico Raspberry Pi. Risparmia l'energia della tua macchina! license=Open Source @@ -1000,7 +999,7 @@ valid_until_date = Valido fino a %s ssh_signonly = SSH è attualmente disabilitato quindi queste chiavi sono usate solo per la firma di verifica dei commit. social_desc = Questi profili social possono essere usati per accedere al tuo profilo. Assicurati di riconoscerli tutti. permission_write = Leggi e scrivi -access_token_desc = I permessi token selezionati limitano l'autorizzazione solo alle corrispondenti vie <a %s>API</a>. Leggi la <a %s>documentazione</a> per ulteriori informazioni. +access_token_desc = I permessi token selezionati limitano l'autorizzazione solo alle corrispondenti vie <a href="%[1]s" target="_blank">API</a>. Leggi la <a href="%[2]s" target="_blank">documentazione</a> per ulteriori informazioni. create_oauth2_application_success = Hai correttamente creato una nuova applicazione OAuth2. update_oauth2_application_success = Hai correttamente aggiornato l'applicazione OAuth2. oauth2_redirect_uris = URI per la reindirizzazione. Usa una nuova riga per ogni URI. @@ -1305,7 +1304,7 @@ editor.patching=Patching: editor.new_patch=Nuova Patch editor.commit_message_desc=Aggiungi una descrizione estesa facoltativa… editor.signoff_desc=Aggiungi "firmato da" dal committer alla fine del messaggio di log di commit. -editor.commit_directly_to_this_branch=Fai un commit direttamente sul ramo <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Fai un commit direttamente sul ramo <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Crea un <strong> nuovo ramo</strong> per questo commit e avvia una richiesta di modifica. editor.create_new_branch_np=Crea un <strong>nuovo ramo</strong> per questo commit. editor.propose_file_change=Proponi la modifica del file @@ -1596,7 +1595,7 @@ issues.error_modifying_due_date=Impossibile modificare la scadenza. issues.error_removing_due_date=Impossibile rimuovere la scadenza. issues.push_commit_1=ha aggiunto %d commit %s issues.push_commits_n=ha aggiunto %d commit %s -issues.force_push_codes=`ha forzato l'immissione %[1]s da <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> a <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`ha forzato l'immissione %[1]s da <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> a <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Confronta issues.due_date_form=aaaa-mm-dd issues.due_date_form_add=Aggiungi scadenza @@ -1693,7 +1692,7 @@ pulls.nothing_to_compare=Questi rami sono uguali. Non c'è bisogno di creare una pulls.nothing_to_compare_and_allow_empty_pr=Questi rami sono uguali. Questa richiesta sarà vuota. pulls.has_pull_request=`Una richiesta di modifica fra questi rami esiste già: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Crea richiesta di modifica -pulls.title_desc_few=vuole unire %[1]d commit da <code>%[2]s</code> a <code id="branch_target">%[3]s</code> +pulls.title_desc_few=vuole unire %[1]d commit da <code>%[2]s</code> a <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=ha unito %[1]d commit da <code>%[2]s</code> a <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`cambiato il ramo di destinazione da <b>%s</b> a <b>%s</b> %s` pulls.tab_conversation=Conversazione @@ -2740,7 +2739,7 @@ settings.ignore_stale_approvals = Ignora approvazioni stantie settings.protected_branch_required_rule_name = Nome regola richiesta settings.protect_status_check_patterns_desc = Inserisci sequenze per specificare quali controlli dello stato devono passare prima che i rami possano essere fusi con i rami che soddisfano questa regola. Ogni riga specifica una sequenza. Le sequenze non possono essere vuote. settings.authorization_header_desc = Verrà inclusa come intestazione dell'autorizzazione per le richieste quando presente. Esempi: %s. -pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="branch_target">%[3]s</code> +pulls.title_desc_one = vuole fondere %[1]d commit da <code>%[2]s</code> in <code id="%[4]s">%[3]s</code> settings.protect_unprotected_file_patterns_desc = File non protetti dei quali è consentita la modifica direttamente se l'utente ha permesso di scrittura, saltandole restrizioni di immissione. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%[1]s">%[2]s</a> per la sintassi delle sequenze glob. Esempi <code>.drone.yml</code>, <code>/docs/**/*.txt</code>. settings.protect_protected_file_patterns_desc = I file non protetti non possono essere modificati direttamente neanche se l'utente ha il permesso di aggiungere, modificare o eliminare file in questo ramo. Più sequenze possono essere separate usando il punto e virgola (";"). Vedi la documentazione su <a href="%s">%s</a> per la sintassi della sequenze. Esempi: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>. settings.protect_no_valid_status_check_patterns = Nessuna sequenza valida per il controllo dello stato. diff --git a/options/locale/locale_ja-JP.ini b/options/locale/locale_ja-JP.ini index 3e90125042..c4988edd6e 100644 --- a/options/locale/locale_ja-JP.ini +++ b/options/locale/locale_ja-JP.ini @@ -218,7 +218,6 @@ app_desc=自分で立てる、超簡単 Git サービス install=簡単インストール install_desc=シンプルに、プラットフォームに応じて<a target="_blank" rel="noopener noreferrer" href="%[1]s">バイナリを実行</a>したり、<a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>で動かしたり、<a target="_blank" rel="noopener noreferrer" href="%[3]s">パッケージ</a>を使うだけ。 platform=クロスプラットフォーム -platform_desc=Forgejoは<a target="_blank" rel="noopener noreferrer" href="%s">Go</a>でコンパイルできる環境ならどこでも動きます: Windows、macOS、Linux、ARM等々、好きなものを選んでください! lightweight=軽量 lightweight_desc=Forgejo の最小動作要件は小さくて、安価な Raspberry Pi でも動きます。エネルギー消費を節約しましょう! license=オープンソース @@ -934,7 +933,7 @@ select_permissions=許可の選択 permission_no_access=アクセス不可 permission_read=読み取り permission_write=読み取りと書き込み -access_token_desc=選択したトークン権限に応じて、関連する<a %s>API</a>ルートのみに許可が制限されます。 詳細は<a %s>ドキュメント</a>を参照してください。 +access_token_desc=選択したトークン権限に応じて、関連する<a href="%[1]s" target="_blank">API</a>ルートのみに許可が制限されます。 詳細は<a href="%[2]s" target="_blank">ドキュメント</a>を参照してください。 at_least_one_permission=トークンを作成するには、少なくともひとつの許可を選択する必要があります permissions_list=許可: @@ -1355,7 +1354,7 @@ editor.fail_to_apply_patch=`パッチを適用できません "%s"` editor.new_patch=新しいパッチ editor.commit_message_desc=詳細な説明を追加… editor.signoff_desc=コミットログメッセージの最後にコミッターの Signed-off-by 行を追加 -editor.commit_directly_to_this_branch=ブランチ<strong class="branch-name">%s</strong>へ直接コミットする。 +editor.commit_directly_to_this_branch=ブランチ<strong class="%[2]s">%[1]s</strong>へ直接コミットする。 editor.create_new_branch=<strong>新しいブランチ</strong>にコミットしてプルリクエストを作成する。 editor.create_new_branch_np=<strong>新しいブランチ</strong>にコミットする。 editor.propose_file_change=ファイル修正を提案 @@ -1721,7 +1720,7 @@ issues.error_modifying_due_date=期日を変更できませんでした。 issues.error_removing_due_date=期日を削除できませんでした。 issues.push_commit_1=が %d コミット追加 %s issues.push_commits_n=が %d コミット追加 %s -issues.force_push_codes=`が %[1]s を強制プッシュ ( <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> から <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> へ ) %[6]s` +issues.force_push_codes=`が %[1]s を強制プッシュ ( <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> から <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> へ ) %[6]s` issues.force_push_compare=比較 issues.due_date_form=yyyy-mm-dd issues.due_date_form_add=期日の追加 @@ -1836,7 +1835,7 @@ pulls.nothing_to_compare=同じブランチ同士のため、 プルリクエス pulls.nothing_to_compare_and_allow_empty_pr=これらのブランチは内容が同じです。 空のプルリクエストになります。 pulls.has_pull_request=`同じブランチのプルリクエストはすでに存在します: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=プルリクエストを作成 -pulls.title_desc_few=が <code>%[2]s</code> から <code id="branch_target">%[3]s</code> への %[1]d コミットのマージを希望しています +pulls.title_desc_few=が <code>%[2]s</code> から <code id="%[4]s">%[3]s</code> への %[1]d コミットのマージを希望しています pulls.merged_title_desc_few=が %[1]d 個のコミットを <code>%[2]s</code> から <code>%[3]s</code> へマージ %[4]s pulls.change_target_branch_at=`がターゲットブランチを <b>%s</b> から <b>%s</b> に変更 %s` pulls.tab_conversation=会話 @@ -2779,7 +2778,7 @@ issues.archived_label_description = (アーカイブ済) %s settings.web_hook_name_sourcehut_builds = SourceHut Builds settings.matrix.room_id_helper = ルームIDは、Element web clientのRoom Settings > Advanced > Internal room IDから取得できます。例:%s。 pulls.merged_title_desc_one = %[4]s の <code>%[2]s</code> から %[1]d 件のコミットを <code>%[3]s</code> へマージした -pulls.title_desc_one = <code id="branch_target">%[3]s</code> から %[1]d 件のコミットを <code>%[2]s</code> へマージしたい +pulls.title_desc_one = <code id="%[4]s">%[3]s</code> から %[1]d 件のコミットを <code>%[2]s</code> へマージしたい pulls.ready_for_review = レビューの準備ができていますか? settings.transfer.button = 所有権を移送する settings.transfer.modal.title = 所有権を移送 diff --git a/options/locale/locale_ko-KR.ini b/options/locale/locale_ko-KR.ini index 9c5b6ca3c1..5b90b1020b 100644 --- a/options/locale/locale_ko-KR.ini +++ b/options/locale/locale_ko-KR.ini @@ -778,7 +778,7 @@ editor.or=혹은 editor.cancel_lower=취소 editor.commit_changes=변경 내용을 커밋 editor.commit_message_desc=선택적 확장 설명 추가… -editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> 브랜치에서 직접 커밋해주세요. +editor.commit_directly_to_this_branch=<strong class="%[2]s">%[1]s</strong> 브랜치에서 직접 커밋해주세요. editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다. editor.new_branch_name_desc=새로운 브랜치 이름… editor.cancel=취소 @@ -973,7 +973,7 @@ pulls.compare_compare=다음으로부터 풀 pulls.filter_branch=Filter Branch pulls.no_results=결과를 찾을 수 없습니다. pulls.create=풀 리퀘스트 생성 -pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함 +pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="%[4]s">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함 pulls.merged_title_desc_few=님이 <code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d 커밋을 %[4]s 병합함 pulls.tab_conversation=대화 pulls.tab_commits=커밋 @@ -1081,7 +1081,6 @@ contributors.contribution_type.commits=커밋 search=검색 search.search_repo=저장소 검색 -search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과" search.code_no_results=검색어와 일치하는 소스코드가 없습니다. settings=설정 diff --git a/options/locale/locale_lv-LV.ini b/options/locale/locale_lv-LV.ini index 48c739bb30..aeaddf3b9c 100644 --- a/options/locale/locale_lv-LV.ini +++ b/options/locale/locale_lv-LV.ini @@ -187,7 +187,6 @@ app_desc=Viegli uzstādāms Git serviss install=Vienkārši instalējams install_desc=Vienkārši <a target="_blank" rel="noopener noreferrer" href="%[1]s">jāpalaiž izpildāmais fails</a> vajadzīgajai platformai, jāizmanto <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, vai jāiegūst <a target="_blank" rel="noopener noreferrer" href="%[3]s">pakotne</a>. platform=Pieejama dažādām platformām -platform_desc=Forgejo iespējams uzstādīt jebkur, kam <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> var nokompilēt: Windows, macOS, Linux, ARM utt. Izvēlies to, kas tev patīk! lightweight=Viegla lightweight_desc=Forgejo ir miminālas prasības un to var darbināt uz nedārga Raspberry Pi datora. Ietaupi savai ierīcei resursus! license=Atvērtā pirmkoda @@ -830,7 +829,7 @@ select_permissions=Norādiet tiesības permission_no_access=Nav piekļuves permission_read=Skatīšanās permission_write=Skatīšanās un raksīšanas -access_token_desc=Atzīmētie pilnvaras apgabali ierobežo autentifikāciju tikai atbilstošiem <a %s>API</a> izsaukumiem. Sīkāka informācija pieejama <a %s>dokumentācijā</a>. +access_token_desc=Atzīmētie pilnvaras apgabali ierobežo autentifikāciju tikai atbilstošiem <a href="%[1]s" target="_blank">>API</a> izsaukumiem. Sīkāka informācija pieejama <a href="%[2]s" target="_blank">>dokumentācijā</a>. at_least_one_permission=Nepieciešams norādīt vismaz vienu tiesību, lai izveidotu pilnvaru permissions_list=Tiesības: @@ -1231,7 +1230,7 @@ editor.fail_to_apply_patch=`Neizdevās pielietot ielāpu "%s"` editor.new_patch=Jauns ielāps editor.commit_message_desc=Pievienot neobligātu paplašinātu aprakstu… editor.signoff_desc=Pievienot revīzijas žurnāla ziņojuma beigās Signed-off-by ar revīzijas autoru. -editor.commit_directly_to_this_branch=Apstiprināt revīzijas izmaiņas atzarā <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Apstiprināt revīzijas izmaiņas atzarā <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Izveidot <strong>jaunu atzaru</strong> un izmaiņu pieprasījumu šai revīzijai. editor.create_new_branch_np=Izveidot <strong>jaunu atzaru</strong> šai revīzijai. editor.propose_file_change=Ieteikt faila izmaiņas @@ -1597,7 +1596,7 @@ issues.error_modifying_due_date=Neizdevās izmainīt izpildes termiņu. issues.error_removing_due_date=Neizdevās noņemt izpildes termiņu. issues.push_commit_1=iesūtīja %d revīziju %s issues.push_commits_n=iesūtīja %d revīzijas %s -issues.force_push_codes=`veica piespiedu izmaiņu iesūtīšanu atzarā %[1]s no revīzijas <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> uz <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`veica piespiedu izmaiņu iesūtīšanu atzarā %[1]s no revīzijas <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> uz <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Salīdzināt issues.due_date_form=dd.mm.yyyy issues.due_date_form_add=Pievienot izpildes termiņu @@ -1712,7 +1711,7 @@ pulls.nothing_to_compare=Nav ko salīdzināt, jo bāzes un salīdzināmie atzari pulls.nothing_to_compare_and_allow_empty_pr=Šie atzari ir vienādi. Izveidotais izmaiņu pieprasījums būs tukšs. pulls.has_pull_request=`Izmaiņu pieprasījums starp šiem atzariem jau eksistē: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Izveidot izmaiņu pieprasījumu -pulls.title_desc_few=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code id="branch_target">%[3]s</code> +pulls.title_desc_few=vēlas sapludināt %[1]d revīzijas no <code>%[2]s</code> uz <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=sapludināja %[1]d revīzijas no <code>%[2]s</code> uz <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`nomainīja mērķa atzaru no <b>%s</b> uz <b>%s</b> %s` pulls.tab_conversation=Saruna diff --git a/options/locale/locale_nds.ini b/options/locale/locale_nds.ini index f59e0151a3..46c27fbea1 100644 --- a/options/locale/locale_nds.ini +++ b/options/locale/locale_nds.ini @@ -839,7 +839,7 @@ add_email_confirmation_sent = Eene Utwiesens-E-Mail is an »%s« schickt worden. ssh_desc = Deese publiken SSH-Slötels sünd mit dienem Konto verbunnen. De tohörig privaate Slötel gifft kumpleten Togriep up diene Repositoriums. SSH-Slötels, wat utwiest worden sünd, könen bruukt worden, um SSH-unnerschreven Git-Kommitterens uttowiesen. keep_email_private_popup = Dat word diene E-Mail-Adress vun dienem Profil verburgen. Dann is dat nich mehr de Normaalweert för Kommitterens, wat du över de Internett-Schnittstee maakst, so as Datei-Upladens un Bewarkens, un word nich in Tosamenföhrens-Kommitterens bruukt. In Stee daarvun kann eene besünnere Adress %s bruukt worden, um Kommitterens mit dienem Konto to verbinnen. Wees wiss, dat dat Ännern vun deeser Instellen bestahn Kommitterens nich ännert. ssh_helper = <strong>Bruukst du Hülp?</strong> Kiek de Inföhren an, wo du <a href="%s">diene eegenen SSH-Slötels maakst</a> of hülp <a href="%s">gewohnten Probleemen</a> of, över wat man mit SSH mennigmaal strukelt. -access_token_desc = Utköört Teken-Verlöövnissen begrenzen dat Anmellen blots up de tohörig <a %s>API</a>-Padden. Lees de <a %s>Dokumenteren</a> för mehr Informatioonen. +access_token_desc = Utköört Teken-Verlöövnissen begrenzen dat Anmellen blots up de tohörig <a href="%[1]s" target="_blank">API</a>-Padden. Lees de <a href="%[2]s" target="_blank">Dokumenteren</a> för mehr Informatioonen. oauth2_confidential_client = Diskreeter Klient. Köör dat för Programmen ut, wat dat Geheimnis diskreet behanneln, as Internett-Sieden. Köör dat nich för stedenwies Programmen ut, as Schrievdisk- un Telefoon-Programmens. gpg_helper = <strong>Bruukst du Hülp?</strong> Kiek de Inföhren <a href="%s">över GPG</a> an. gpg_desc = Deese publiken GPG-Slötels sünd mit dienem Konto verbunnen un worden bruukt, um diene Kommitterens uttowiesen. Holl de tohörig privaaten Slötels seker, denn daarmit kann man Kommitterens mit diener Unnerschrift unnerschrieven. @@ -1126,7 +1126,7 @@ editor.patching = Plackt: editor.fail_to_apply_patch = Kann Plack »%s« nich anwennen editor.new_patch = Nejer Plack editor.commit_message_desc = Wenn du willst, föög een wiederes Beschrieven hento … -editor.commit_directly_to_this_branch = Kommitteer stracks up de <strong class="branch-name">%s</strong>-Twieg. +editor.commit_directly_to_this_branch = Kommitteer stracks up de <strong class="%[2]s">%[1]s</strong>-Twieg. editor.propose_file_change = Datei-Ännern vörslagen editor.new_branch_name = Benööm de Twieg för deeses Kommitteren editor.new_branch_name_desc = Nejer Twig-Naam … @@ -1561,7 +1561,7 @@ issues.due_date_invalid = Dat Anstahns-Datum is ungültig of buten de Rieg. Bidd issues.dependency.remove = Wegdoon issues.dependency.issue_close_blocks = Deeses Gefall blockeert dat Dichtmaken vun deesen Gefallens issues.review.outdated_description = Inholl hett sik ännert, siet deeser Kommentaar schreven worden is -issues.force_push_codes = `hett %[1]s vun <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> to <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s dwangsschuven` +issues.force_push_codes = `hett %[1]s vun <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> to <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s dwangsschuven` issues.dependency.pr_remove_text = Dat word de Ofhangen vun deesem Haalvörslag wegdoon. Wiedermaken? issues.review.pending = Staht ut issues.review.option.hide_outdated_comments = Verollte Kommentarens verbargen @@ -1599,7 +1599,7 @@ pulls.filter_changes_by_commit = Na Kommitteren filtern pulls.nothing_to_compare = Deese Twiegen sünd gliek. ’t is nich nödig, eenen Haalvörslag to maken. pulls.nothing_to_compare_have_tag = De utköört Twieg/Mark sünd gliek. pulls.create = Haalvörslag maken -pulls.title_desc_one = will %[1]d Kommitteren vun <code>%[2]s</code> na <code id="branch_target">%[3]s</code> tosamenföhren +pulls.title_desc_one = will %[1]d Kommitteren vun <code>%[2]s</code> na <code id="%[4]s">%[3]s</code> tosamenföhren pulls.merged_title_desc_one = hett %[1]d Kommitteren vun <code>%[2]s</code> na <code>%[3]s</code> %[4]s tosamenföhrt pulls.change_target_branch_at = `hett de Enn-Twieg vun <b>%s</b> to <b>%s</b> %s ännert` pulls.tab_conversation = Snack @@ -1649,7 +1649,7 @@ issues.content_history.delete_from_history = Ut Histoorje lösken pulls.compare_changes = Nejer Haalvörslag pulls.allow_edits_from_maintainers_desc = Brukers, well dat Recht hebben, to de Grund-Twieg to schrieven, düren ok up deesen Twieg schuuven pulls.nothing_to_compare_and_allow_empty_pr = Deese Twiegen sünd gliek. De HV word leeg wesen. -pulls.title_desc_few = will %[1]d Kommitterens vun <code>%[2]s</code> na <code id="branch_target">%[3]s</code> tosamenföhren +pulls.title_desc_few = will %[1]d Kommitterens vun <code>%[2]s</code> na <code id="%[4]s">%[3]s</code> tosamenföhren pulls.data_broken = Deeser Haalvörslag is kaputt, denn de Gabel-Informatioon fehlt. pulls.waiting_count_1 = %d Nakieken staht ut issues.content_history.deleted = lösket diff --git a/options/locale/locale_nl-NL.ini b/options/locale/locale_nl-NL.ini index cbf418f9be..6f2bee0145 100644 --- a/options/locale/locale_nl-NL.ini +++ b/options/locale/locale_nl-NL.ini @@ -1028,7 +1028,7 @@ visibility.private_tooltip = Alleen zichtbaar voor leden van organisaties waarbi user_unblock_success = De gebruiker is succesvol gedeblokkeerd. user_block_success = De gebruiker is succesvol geblokkeerd. blocked_since = Geblokkeerd sinds %s -access_token_desc = Geselecteerde token machtigingen beperken autorisatie alleen tot de bijbehorende <a %s>API</a> routes. Lees de <a %s>documentatie</a> voor meer informatie. +access_token_desc = Geselecteerde token machtigingen beperken autorisatie alleen tot de bijbehorende <a href="%[1]s" target="_blank">API</a> routes. Lees de <a href="%[2]s" target="_blank">documentatie</a> voor meer informatie. oauth2_confidential_client = Vertrouwelijke client. Selecteer deze optie voor apps die het geheim bewaren, zoals webapps. Niet selecteren voor native apps, waaronder desktop- en mobiele apps. authorized_oauth2_applications_description = Je hebt deze applicaties van derden toegang verleend tot je persoonlijke Forgejo-account. Trek de toegang in voor applicaties die niet langer in gebruik zijn. hidden_comment_types.ref_tooltip = Reacties waarbij naar deze issue werd verwezen vanuit een ander issue/commit/… @@ -1309,7 +1309,7 @@ editor.patching=Patchen: editor.new_patch=Nieuwe patch editor.commit_message_desc=Voeg een optionele uitgebreide omschrijving toe… editor.signoff_desc=Voeg een Signed-off-by toe aan het einde van het commit logbericht. -editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="branch-name">%s</strong>'. +editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="%[2]s">%[1]s</strong>'. editor.create_new_branch=Maak een <strong>nieuwe branch</strong> voor deze commit en start van een pull request. editor.create_new_branch_np=Maak een <strong>nieuwe branch</strong> voor deze commit. editor.propose_file_change=Stel bestandswijziging voor @@ -1599,7 +1599,7 @@ issues.error_modifying_due_date=Deadline aanpassen mislukt. issues.error_removing_due_date=Deadline verwijderen mislukt. issues.push_commit_1=toegevoegd %d commit %s issues.push_commits_n=toegevoegd %d commits %s -issues.force_push_codes=`force-push %[1]s van <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> naar <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`force-push %[1]s van <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> naar <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Vergelijk issues.due_date_form=jjjj-mm-dd issues.due_date_form_add=Vervaldatum toevoegen @@ -1696,7 +1696,7 @@ pulls.nothing_to_compare=Deze branches zijn gelijk. Er is geen pull request nodi pulls.nothing_to_compare_and_allow_empty_pr=Deze branches zijn gelijk. Deze pull verzoek zal leeg zijn. pulls.has_pull_request=`Een pull-verzoek tussen deze branches bestaat al: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Pull request aanmaken -pulls.title_desc_few=wilt %[1]d commits van <code>%[2]s</code> samenvoegen met <code id="branch_target">%[3]s</code> +pulls.title_desc_few=wilt %[1]d commits van <code>%[2]s</code> samenvoegen met <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=heeft %[1]d commits samengevoegd van <code>%[2]s</code> naar <code>%[3]s</code> %[4]s pulls.change_target_branch_at='doelbranch aangepast van <b>%s</b> naar <b>%s</b> %s' pulls.tab_conversation=Discussie @@ -2745,7 +2745,7 @@ activity.navbar.code_frequency = Code frequentie activity.navbar.recent_commits = Recente commits file_follow = Volg symlink error.broken_git_hook = it hooks van deze repository lijken kapot te zijn. Volg alsjeblieft <a target="_blank" rel="noreferrer" href="%s">de documentatie</a> om ze te repareren, push daarna wat commits om de status te vernieuwen. -pulls.title_desc_one = wilt %[1]d commit van <code>%[2]s</code> samenvoegen in <code id="branch_target">%[3]s</code> +pulls.title_desc_one = wilt %[1]d commit van <code>%[2]s</code> samenvoegen in <code id="%[4]s">%[3]s</code> open_with_editor = Open met %s commits.search_branch = Deze branch pulls.merged_title_desc_one = heeft %[1]d commit van <code>%[2]s</code> samengevoegd in <code>%[3]s</code> %[4]s diff --git a/options/locale/locale_pl-PL.ini b/options/locale/locale_pl-PL.ini index cecafc9870..7a5cb42b1e 100644 --- a/options/locale/locale_pl-PL.ini +++ b/options/locale/locale_pl-PL.ini @@ -1152,7 +1152,7 @@ editor.commit_signed_changes=Zatwierdź podpisane zmiany editor.commit_changes=Zatwierdź zmiany editor.add_tmpl=Dodanie '<filename>' editor.commit_message_desc=Dodaj dodatkowy rozszerzony opis… -editor.commit_directly_to_this_branch=Zmieniaj bezpośrednio gałąź <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Zmieniaj bezpośrednio gałąź <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Stwórz <strong>nową gałąź</strong> dla tego commita i rozpocznij Pull Request. editor.create_new_branch_np=Stwórz <strong>nową gałąź</strong> dla tego commita. editor.propose_file_change=Zaproponuj zmiany w pliku @@ -1482,7 +1482,7 @@ pulls.no_results=Nie znaleziono wyników. pulls.nothing_to_compare=Te gałęzie są sobie równe. Nie ma potrzeby tworzyć Pull Requesta. pulls.nothing_to_compare_and_allow_empty_pr=Te gałęzie są równe. Ten PR będzie pusty. pulls.create=Utwórz Pull Request -pulls.title_desc_few=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code id="branch_target">%[3]s</code> +pulls.title_desc_few=chce scalić %[1]d commity/ów z <code>%[2]s</code> do <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=scala %[1]d commity/ów z <code>%[2]s</code> do <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`zmienia gałąź docelową z <b>%s</b> na <b>%s</b> %s` pulls.tab_conversation=Dyskusja diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini index 73211f7139..a941f270e4 100644 --- a/options/locale/locale_pt-BR.ini +++ b/options/locale/locale_pt-BR.ini @@ -217,7 +217,6 @@ server_internal = Erro interno do servidor app_desc=Um serviço de hospedagem Git amigável install=Fácil de instalar platform=Multi-plataforma -platform_desc=Forgejo roda em qualquer sistema em que <a target="_blank" rel="noopener noreferrer" href="%s">Go</a> consegue compilar: Windows, macOS, Linux, ARM, etc. Escolha qual você gosta mais! lightweight=Leve e rápido lightweight_desc=Forgejo utiliza poucos recursos e consegue mesmo rodar no barato Raspberry Pi. Economize energia elétrica da sua máquina! license=Código aberto @@ -1032,7 +1031,7 @@ user_block_success = O usuário foi bloqueado. twofa_recovery_tip = Caso perca o seu dispositivo, você poderá usar uma chave de uso único para recuperar o acesso à sua conta. webauthn_key_loss_warning = Caso perca as suas chaves de segurança, você perderá o acesso à sua conta. blocked_users_none = Nenhum usuário bloqueado. -access_token_desc = As permissões selecionadas para o token limitam o acesso apenas às <a %s>rotas da API</a> correspondentes. Veja a <a %s>documentação</a> para mais informações. +access_token_desc = As permissões selecionadas para o token limitam o acesso apenas às <a href="%[1]s" target="_blank">rotas da API</a> correspondentes. Veja a <a href="%[2]s" target="_blank">documentação</a> para mais informações. webauthn_alternative_tip = Você talvez queira configurar um método adicional de autenticação. change_password = Alterar senha hints = Dicas @@ -1344,7 +1343,7 @@ editor.fail_to_apply_patch=`Não foi possível aplicar a correção "%s"` editor.new_patch=Novo patch editor.commit_message_desc=Adicione uma descrição detalhada (opcional)... editor.signoff_desc=Adicione um assinado-por-committer no final do log do commit. -editor.commit_directly_to_this_branch=Commit diretamente no branch <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Commit diretamente no branch <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Crie um <strong>novo branch</strong> para este commit e crie um pull request. editor.create_new_branch_np=Crie um <strong>novo branch</strong> para este commit. editor.propose_file_change=Propor alteração de arquivo @@ -1699,7 +1698,7 @@ issues.error_modifying_due_date=Falha ao modificar a data limite. issues.error_removing_due_date=Falha ao remover a data limite. issues.push_commit_1=adicionou %d commit %s issues.push_commits_n=adicionou %d commits %s -issues.force_push_codes=`forçou o push %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> para <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`forçou o push %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> para <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Comparar issues.due_date_form=dd/mm/aaaa issues.due_date_form_add=Adicionar data limite @@ -1813,7 +1812,7 @@ pulls.nothing_to_compare=Estes branches são iguais. Não há nenhuma necessidad pulls.nothing_to_compare_and_allow_empty_pr=Estes branches são iguais. Este PR ficará vazio. pulls.has_pull_request=`Um pull request entre esses branches já existe: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Criar pull request -pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="branch_target">%[3]s</code> +pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=mesclou %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`mudou o branch de destino de <b>%s</b> para <b>%s</b> %s` pulls.tab_conversation=Conversação @@ -2691,7 +2690,7 @@ settings.confirm_wiki_branch_rename = Renomar o ramo da wiki pulls.merged_title_desc_one = mesclou %[1]d commit de <code>%[2]s</code> em <code>%[3]s</code> %[4]s activity.navbar.recent_commits = Commits recentes size_format = %[1]s: %[2]s; %[3]s: %[4]s -pulls.title_desc_one = quer mesclar %[1]d commit de <code>%[2]s</code> em <code id="branch_target">%[3]s</code> +pulls.title_desc_one = quer mesclar %[1]d commit de <code>%[2]s</code> em <code id="%[4]s">%[3]s</code> pulls.cmd_instruction_merge_desc = Mescle as alterações e enviar para o Forgejo. pulls.ready_for_review = Pronto para revisão? commits.search_branch = Este ramo diff --git a/options/locale/locale_pt-PT.ini b/options/locale/locale_pt-PT.ini index d368402a6a..8a2279fe8a 100644 --- a/options/locale/locale_pt-PT.ini +++ b/options/locale/locale_pt-PT.ini @@ -934,7 +934,7 @@ select_permissions=Escolher permissões permission_no_access=Sem acesso permission_read=Lidas permission_write=Leitura e escrita -access_token_desc=As permissões dos códigos escolhidos limitam a autorização apenas às rotas da <a %s>API</a> correspondentes. Leia a <a %s>documentação</a> para obter mais informação. +access_token_desc=As permissões dos códigos escolhidos limitam a autorização apenas às rotas da <a href="%[1]s" target="_blank">API</a> correspondentes. Leia a <a href="%[2]s" target="_blank">documentação</a> para obter mais informação. at_least_one_permission=Tem que escolher pelo menos uma permissão para criar um código permissions_list=Permissões: @@ -1358,7 +1358,7 @@ editor.fail_to_apply_patch=`Não foi possível aplicar o remendo (patch) "%s"` editor.new_patch=Novo remendo (patch) editor.commit_message_desc=Adicionar uma descrição alargada opcional… editor.signoff_desc=Adicionar "Assinado-por" seguido do autor do cometimento no fim da mensagem do registo de cometimentos. -editor.commit_directly_to_this_branch=Cometer imediatamente no ramo <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Cometer imediatamente no ramo <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Crie um <strong>novo ramo</strong> para este cometimento e inicie um pedido de integração. editor.create_new_branch_np=Criar um <strong>novo ramo</strong> para este cometimento. editor.propose_file_change=Propor modificação do ficheiro @@ -1724,7 +1724,7 @@ issues.error_modifying_due_date=Falhou a modificação da data de vencimento. issues.error_removing_due_date=Falhou a remoção da data de vencimento. issues.push_commit_1=adicionou %d cometimento %s issues.push_commits_n=adicionou %d cometimentos %s -issues.force_push_codes=`forçou o envio %[1]s de <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> para <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`forçou o envio %[1]s de <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> para <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Comparar issues.due_date_form=aaaa-mm-dd issues.due_date_form_add=Adicionar data de vencimento @@ -1840,7 +1840,7 @@ pulls.nothing_to_compare_have_tag=O ramo/etiqueta escolhidos são iguais. pulls.nothing_to_compare_and_allow_empty_pr=Estes ramos são iguais. Este pedido de integração ficará vazio. pulls.has_pull_request=`Já existe um pedido de integração entre estes ramos: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Criar um pedido de integração -pulls.title_desc_few=quer integrar %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code id="branch_target">%[3]s</code> +pulls.title_desc_few=quer integrar %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=integrou %[1]d cometimento(s) do ramo <code>%[2]s</code> no ramo <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`mudou o ramo de destino de <b>%s</b> para <b>%s</b> %s` pulls.tab_conversation=Diálogo @@ -2733,7 +2733,7 @@ migrate.forgejo.description = Migrar dados de codeberg.org ou de outras instânc n_commit_one = %s cometimento editor.commit_id_not_matching = O ficheiro foi modificado enquanto o estava a editar. Cometa para um ramo novo e depois integre. commits.search_branch = Este ramo -pulls.title_desc_one = quer integrar %[1]d cometimento do ramo <code>%[2]s</code> no ramo <code id="branch_target">%[3]s</code> +pulls.title_desc_one = quer integrar %[1]d cometimento do ramo <code>%[2]s</code> no ramo <code id="%[4]s">%[3]s</code> pulls.reopen_failed.base_branch = O pedido de integração não pode ser reaberto porque o ramo base já não existe. activity.navbar.code_frequency = Frequência de programação settings.units.add_more = Habilitar mais diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini index 2324567c45..3507b2ea67 100644 --- a/options/locale/locale_ru-RU.ini +++ b/options/locale/locale_ru-RU.ini @@ -934,7 +934,7 @@ select_permissions=Выбрать разрешения permission_no_access=Нет доступа permission_read=Чтение permission_write=Чтение и запись -access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами <a %s>API</a>. Читайте <a %s>документацию</a> для получения дополнительной информации. +access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами <a href="%[1]s" target="_blank">API</a>. Читайте <a href="%[2]s" target="_blank">документацию</a> для получения дополнительной информации. at_least_one_permission=Необходимо выбрать хотя бы одно разрешение для создания токена permissions_list=Разрешения: @@ -1340,7 +1340,7 @@ editor.fail_to_apply_patch=Невозможно применить патч «%s editor.new_patch=Новая правка editor.commit_message_desc=Добавьте необязательное расширенное описание… editor.signoff_desc=Добавить трейлер Signed-off-by с автором коммита в конце сообщения коммита. -editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Сохранить коммит напрямую в ветвь <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Сохранить коммит в <strong>новую ветвь</strong> и начать запрос на слияние. editor.create_new_branch_np=Создать <strong>новую ветвь</strong> для этого коммита. editor.propose_file_change=Предложить изменение файла @@ -1705,7 +1705,7 @@ issues.error_modifying_due_date=Не удалось изменить срок в issues.error_removing_due_date=Не удалось убрать срок выполнения. issues.push_commit_1=добавлен %d коммит %s issues.push_commits_n=добавлены %d коммита(ов) %s -issues.force_push_codes=`форсированное обновление изменений %[1]s <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> вместо <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> %[6]s` +issues.force_push_codes=`форсированное обновление изменений %[1]s <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> вместо <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> %[6]s` issues.force_push_compare=Сравнить issues.due_date_form=гггг-мм-дд issues.due_date_form_add=Добавить срок выполнения @@ -1816,8 +1816,8 @@ pulls.nothing_to_compare=Нечего сравнивать, родительск pulls.nothing_to_compare_and_allow_empty_pr=Ветви идентичны. Этот PR будет пустым. pulls.has_pull_request=`Запрос на слияние этих ветвей уже существует: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Создать запрос на слияние -pulls.title_desc_one=хочет влить %[1]d коммит из <code>%[2]s</code> в <code id="branch_target">%[3]s</code> -pulls.title_desc_few=хочет влить %[1]d коммит(ов) из <code>%[2]s</code> в <code id="branch_target">%[3]s</code> +pulls.title_desc_one=хочет влить %[1]d коммит из <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> +pulls.title_desc_few=хочет влить %[1]d коммит(ов) из <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_one=слит %[1]d коммит из <code>%[2]s</code> в <code>%[3]s</code> %[4]s pulls.merged_title_desc_few=слито %[1]d коммит(ов) из <code>%[2]s</code> в <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`изменил(а) целевую ветвь с <b>%s</b> на <b>%s</b> %s` diff --git a/options/locale/locale_si-LK.ini b/options/locale/locale_si-LK.ini index bfb22176e8..d3006c26af 100644 --- a/options/locale/locale_si-LK.ini +++ b/options/locale/locale_si-LK.ini @@ -116,7 +116,6 @@ missing_csrf=නරක ඉල්ලීම: CSRF ටෝකන් නොමැත app_desc=වේදනාකාරී, ස්වයං-සත්කාරක Git සේවාවක් install=ස්ථාපනයට පහසුය platform=හරස් වේදිකාව -platform_desc=Forgejo ඕනෑම තැනක ධාවනය <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> සඳහා සම්පාදනය කළ හැකිය: වින්ඩෝස්, මැකෝස්, ලිනක්ස්, ARM, ආදිය ඔබ ආදරය කරන එකක් තෝරන්න! lightweight=සැහැල්ලු lightweight_desc=Forgejo අඩු අවම අවශ්යතා ඇති අතර මිල අඩු Raspberry Pi මත ධාවනය කළ හැකිය. ඔබේ යන්ත්ර ශක්තිය සුරකින්න! license=විවෘත මූලාශ්ර @@ -923,7 +922,7 @@ editor.commit_changes=වෙනස්කම් සිදු කරන්න editor.add_tmpl='<filename>' එකතු කරන්න editor.commit_message_desc=විකල්ප දීර්ඝ විස්තරයක් එක් කරන්න… editor.signoff_desc=කැපවූ ලොග් පණිවිඩය අවසානයේ දී කැපකරු විසින් සිග්නෙඩ්-ඕෆ්-විසින් ට්රේලරයක් එක් කරන්න. -editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> ශාඛාවට කෙලින්ම කැප කරන්න. +editor.commit_directly_to_this_branch=<strong class="%[2]s">%[1]s</strong> ශාඛාවට කෙලින්ම කැප කරන්න. editor.create_new_branch=මෙම කැප කිරීම සඳහා <strong>නව ශාඛාවක්</strong> සාදා අදින්න ඉල්ලීමක් ආරම්භ කරන්න. editor.create_new_branch_np=මෙම කැප කිරීම සඳහා <strong>නව ශාඛාවක්</strong> සාදන්න. editor.propose_file_change=ගොනු වෙනස් කිරීම යෝජනා කරන්න @@ -1098,12 +1097,12 @@ issues.reopen_comment_issue=අදහස් දක්වා විවෘත ක issues.create_comment=අදහස issues.closed_at=`මෙම ගැටළුව වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>` -issues.ref_issue_from=<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> -issues.ref_pull_from=<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> -issues.ref_closing_from=<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> -issues.ref_reopening_from=<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> -issues.ref_closed_from=<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> -issues.ref_reopened_from=<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි +issues.ref_issue_from=`<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` +issues.ref_pull_from=`<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` +issues.ref_closing_from=`<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` +issues.ref_reopening_from=`<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` +issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` +issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි` issues.ref_from=`හිම%[1]s` issues.role.owner=හිමිකරු issues.role.member=සාමාජික @@ -1183,7 +1182,7 @@ issues.error_modifying_due_date=නියමිත දිනය වෙනස් issues.error_removing_due_date=නියමිත දිනය ඉවත් කිරීමට අපොහොසත් විය. issues.push_commit_1=එකතු %d කැප %s issues.push_commits_n=එකතු %d විවරයන් %s -issues.force_push_codes=`බලය-pushed%[1]s සිට <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> <a class="ui sha" href="%[5]s"><code>%[4]s ගේ</code></a> %[6]s` +issues.force_push_codes=`බලය-pushed%[1]s සිට <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> <a class="%[7]s" href="%[5]s"><code>%[4]s ගේ</code></a> %[6]s` issues.force_push_compare=සසඳන්න issues.due_date_form=Yyy-mm-dd issues.due_date_form_add=නියමිත දිනය එකතු කරන්න @@ -1269,7 +1268,7 @@ pulls.nothing_to_compare=මෙම ශාඛා සමාන වේ. අදි pulls.nothing_to_compare_and_allow_empty_pr=මෙම ශාඛා සමාන වේ. මෙම මහජන සම්බන්ධතා හිස් වනු ඇත. pulls.has_pull_request=`මෙම ශාඛා අතර අදින්න ඉල්ලීම දැනටමත් පවතී: <a href="%[1]s">%[2]s #%[3]d</a>` pulls.create=අදින්න ඉල්ලීම නිර්මාණය -pulls.title_desc_few=%[1]d සිට <code>%[2]s</code> දක්වා <code id="branch_target">%[3]s</code> +pulls.title_desc_few=%[1]d සිට <code>%[2]s</code> දක්වා <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=මර්ජ්%[1]d සිට <code>%[2]s</code> දක්වා <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`ඉලක්කගත ශාඛාව <b>%s</b> සිට <b>%s</b> %sදක්වා වෙනස් කර ඇත` pulls.tab_conversation=සංවාදය @@ -1280,7 +1279,7 @@ pulls.cant_reopen_deleted_branch=ශාඛාව මකා දැමූ නි pulls.merged=සංයුක්ත කෙරිණි pulls.manually_merged=අතින් සංයුක්ත කර ඇත pulls.is_closed=අදින්න ඉල්ලීම වසා දමා ඇත. -pulls.title_wip_desc=<a href="#">අහම්බෙන් ඒකාබද්ධ කිරීමෙන් අදින්න ඉල්ලීම වැළැක්වීම සඳහා <strong>%s</strong></a> සමඟ මාතෘකාව ආරම්භ කරන්න. +pulls.title_wip_desc=`<a href="#">අහම්බෙන් ඒකාබද්ධ කිරීමෙන් අදින්න ඉල්ලීම වැළැක්වීම සඳහා <strong>%s</strong></a> සමඟ මාතෘකාව ආරම්භ කරන්න.` pulls.cannot_merge_work_in_progress=මෙම අදින්න ඉල්ලීම ක්රියාත්මක වන කාර්යයක් ලෙස සලකුණු කර ඇත. pulls.still_in_progress=තවමත් ක්රියාත්මක වෙමින් තිබේද? pulls.add_prefix=<strong>%s</strong> උපසර්ගය එකතු කරන්න diff --git a/options/locale/locale_sk-SK.ini b/options/locale/locale_sk-SK.ini index 29824c5b4d..9b7fb5fcd8 100644 --- a/options/locale/locale_sk-SK.ini +++ b/options/locale/locale_sk-SK.ini @@ -187,7 +187,6 @@ app_desc=Jednoducho prístupný vlastný Git install=Jednoduchá inštalácia install_desc=Jednoducho <a target="_blank" rel="noopener noreferrer" href="%[1]s">spustite binárku</a> pre vašu platformu, pošlite ju ako <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, alebo ju získajte <a target="_blank" rel="noopener noreferrer" href="%[3]s">ako balíček</a>. platform=Multiplatformový -platform_desc=Forgejo beží všade kde je možné preložiť <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM, a podobne. Vyberte si! lightweight=Ľahká lightweight_desc=Forgejo má minimálne požiadavky a môže bežať na Raspberry Pi. Šetrite energiou vášho stroja! license=Otvorený zdrojový kód @@ -1030,7 +1029,7 @@ editor.cancel_lower=Zrušiť editor.commit_signed_changes=Odoslať podpísané zmeny editor.commit_changes=Odoslať zmeny editor.patch=Použiť patch -editor.commit_directly_to_this_branch=Odoslať zmeny revízie priamo do vetvy <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Odoslať zmeny revízie priamo do vetvy <strong class="%[2]s">%[1]s</strong>. editor.cancel=Zrušiť editor.commit_empty_file_header=Odoslať prázdny súbor editor.commit_empty_file_text=Súbor, ktorý sa chystáte odoslať, je prázdny. Pokračovať? diff --git a/options/locale/locale_sl.ini b/options/locale/locale_sl.ini index 56ef337d83..703a5879ea 100644 --- a/options/locale/locale_sl.ini +++ b/options/locale/locale_sl.ini @@ -312,7 +312,7 @@ appearance = Videz password = Geslo authorized_oauth2_applications_description = Tem aplikacijam tretjih oseb ste odobrili dostop do svojega osebnega računa Forgejo. Prosimo, da prekličete dostop do aplikacij, ki jih ne uporabljate več. social_desc = S temi družabnimi računi se lahko prijavite v svoj račun. Prepričajte se, da jih vse prepoznate. -access_token_desc = Izbrana dovoljenja žetona omejujejo avtorizacijo samo na ustrezne poti <a %s>API</a>. Za več informacij preberite <a %s>dokumentacijo</a>. +access_token_desc = Izbrana dovoljenja žetona omejujejo avtorizacijo samo na ustrezne poti <a href="%[1]s" target="_blank">API</a>. Za več informacij preberite <a href="%[2]s" target="_blank">dokumentacijo</a>. oauth2_client_secret_hint = Skrivnost se ne bo več prikazala, ko zapustite ali osvežite to stran. Prepričajte se, da ste jo shranili. twofa_desc = Za zaščito računa pred krajo gesla lahko uporabite pametni telefon ali drugo napravo za prejemanje časovno omejenih enkratnih gesel ("TOTP"). twofa_recovery_tip = Če napravo izgubite, boste lahko z obnovitvenim ključem za enkratno uporabo ponovno pridobili dostop do računa. diff --git a/options/locale/locale_sr-SP.ini b/options/locale/locale_sr-SP.ini index e091f91a68..a9c7308f28 100644 --- a/options/locale/locale_sr-SP.ini +++ b/options/locale/locale_sr-SP.ini @@ -266,7 +266,7 @@ editor.commit_changes=Изврши комит промена editor.add=Додај '%s' editor.update=Ажурирај '%s' editor.delete=Уклони '%s' -editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="branch-name">%s</strong> грану. +editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="%[2]s">%[1]s</strong> грану. editor.create_new_branch=Креирај <strong>нову грану</strong> за овај комит и поднеси захтев за спајање. editor.cancel=Откажи editor.branch_already_exists=Грана '%s' већ постоји за ово спремиште. diff --git a/options/locale/locale_sv-SE.ini b/options/locale/locale_sv-SE.ini index a96e2cc1dc..4bced1db39 100644 --- a/options/locale/locale_sv-SE.ini +++ b/options/locale/locale_sv-SE.ini @@ -850,7 +850,7 @@ editor.commit_signed_changes=Committa signerade ändringar editor.commit_changes=Checka in ändringar editor.add_tmpl=Lägg till '<filename>' editor.commit_message_desc=Lägg till en valfri utökad beskrivning… -editor.commit_directly_to_this_branch=Checka in direkt till grenen <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Checka in direkt till grenen <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Skapa en <strong>ny gren</strong> för denna incheckning och påbörja en hämtningsbegäran. editor.create_new_branch_np=Skapa en <strong>ny branch</strong> för den här committen. editor.propose_file_change=Föreslå filändring @@ -1158,7 +1158,7 @@ pulls.filter_branch=Filtrera gren pulls.no_results=Inga resultat hittades. pulls.nothing_to_compare=Dessa brancher är ekvivalenta. Det finns ingen anledning att skapa en pull-request. pulls.create=Skapa Pullförfrågan -pulls.title_desc_few=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code id="branch_target">%[3]s</code> +pulls.title_desc_few=vill sammanfoga %[1]d incheckningar från <code>s[2]s</code> in i <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=sammanfogade %[1]d incheckningar från <code>%[2]s</code> in i <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`ändrade mål-branch från <b>%s</b> till <b>%s</b>%s` pulls.tab_conversation=Konversation diff --git a/options/locale/locale_tr-TR.ini b/options/locale/locale_tr-TR.ini index d5fc65e261..87dd127d0c 100644 --- a/options/locale/locale_tr-TR.ini +++ b/options/locale/locale_tr-TR.ini @@ -214,7 +214,6 @@ app_desc=Zahmetsiz, kendi sunucunuzda barındırabileceğiniz Git servisi install=Kurulumu kolay install_desc=Platformunuz için <a target="_blank" rel="noopener noreferrer" href="%[1]s">ikili dosyayı çalıştırın</a>, <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a> ile yükleyin veya <a target="_blank" rel="noopener noreferrer" href="%[3]s">paket</a> olarak edinin. platform=Farklı platformlarda çalışablir -platform_desc=Forgejo <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> ile derleme yapılabilecek her yerde çalışmaktadır: Windows, macOS, Linux, ARM, vb. Hangisini seviyorsanız onu seçin! lightweight=Hafif lightweight_desc=Forgejo'nın minimal gereksinimleri çok düşüktür ve ucuz bir Raspberry Pi üzerinde çalışabilmektedir. Makine enerjinizden tasarruf edin! license=Açık Kaynak @@ -908,7 +907,7 @@ select_permissions=İzinleri seçin permission_no_access=Erişim Yok permission_read=Okunmuş permission_write=Okuma ve Yazma -access_token_desc=Seçili token izinleri, yetkilendirmeyi ilgili <a %s>API</a> yollarıyla sınırlandıracaktır. Daha fazla bilgi için <a %s>belgeleri</a> okuyun. +access_token_desc=Seçili token izinleri, yetkilendirmeyi ilgili <a href="%[1]s" target="_blank">API</a> yollarıyla sınırlandıracaktır. Daha fazla bilgi için <a href="%[2]s" target="_blank">belgeleri</a> okuyun. at_least_one_permission=Bir token oluşturmak için en azından bir izin seçmelisiniz permissions_list=İzinler: @@ -1318,7 +1317,7 @@ editor.fail_to_apply_patch=`"%s" yaması uygulanamıyor` editor.new_patch=Yeni Yama editor.commit_message_desc=İsteğe bağlı uzun bir açıklama ekleyin… editor.signoff_desc=İşleme günlüğü mesajının sonuna işleyen tarafından imzalanan bir fragman ekleyin. -editor.commit_directly_to_this_branch=Doğrudan <strong class="branch-name">%s</strong> bölümüne uygula. +editor.commit_directly_to_this_branch=Doğrudan <strong class="%[2]s">%[1]s</strong> bölümüne uygula. editor.create_new_branch=Bu işleme için <strong>yeni bir dal</strong> oluşturun ve bir değişiklik isteği başlatın. editor.create_new_branch_np=Bu işleme için <strong>yeni bir dal</strong> oluştur. editor.propose_file_change=Dosya değişikliği öner @@ -1684,7 +1683,7 @@ issues.error_modifying_due_date=Bitiş tarihi değiştirilemedi. issues.error_removing_due_date=Bitiş tarihi silinemedi. issues.push_commit_1=%d işlemeyi %s ekledi issues.push_commits_n=%d işlemeyi %s ekledi -issues.force_push_codes=`%[1]s <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> hedefinden <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> hedefine zorla gönderildi %[6]s` +issues.force_push_codes=`%[1]s <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> hedefinden <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> hedefine zorla gönderildi %[6]s` issues.force_push_compare=Karşılaştır issues.due_date_form=yyyy-aa-gg issues.due_date_form_add=Bitiş tarihi ekle @@ -1799,7 +1798,7 @@ pulls.nothing_to_compare=Bu dallar eşit. Değişiklik isteği oluşturmaya gere pulls.nothing_to_compare_and_allow_empty_pr=Bu dallar eşittir. Bu Dİ boş olacak. pulls.has_pull_request=`Bu dallar arasında zaten bir değişiklik isteği var: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Değişiklik İsteği Oluştur -pulls.title_desc_few=<code>%[2]s</code> içindeki %[1]d işlemeyi <code id="branch_target">%[3]s</code> ile birleştirmek istiyor +pulls.title_desc_few=<code>%[2]s</code> içindeki %[1]d işlemeyi <code id="%[4]s">%[3]s</code> ile birleştirmek istiyor pulls.merged_title_desc_few=%[4]s <code>%[2]s</code> içindeki %[1]d işlemeyi <code>%[3]s</code> ile birleştirdi pulls.change_target_branch_at='hedef dal <b>%s</b> adresinden <b>%s</b>%s adresine değiştirildi' pulls.tab_conversation=Sohbet diff --git a/options/locale/locale_uk-UA.ini b/options/locale/locale_uk-UA.ini index c75f9b4cde..9a98b4be81 100644 --- a/options/locale/locale_uk-UA.ini +++ b/options/locale/locale_uk-UA.ini @@ -1140,7 +1140,7 @@ editor.commit_changes=Закомітити зміни editor.add_tmpl=Додати «<filename>» editor.commit_message_desc=Додати необов'язковий розширений опис… editor.signoff_desc=Додати повідомленню в журналі комітів рядок Signed-off-by від свого імені. -editor.commit_directly_to_this_branch=Зробіть коміт прямо в гілку <strong class="branch-name">%s</strong>. +editor.commit_directly_to_this_branch=Зробіть коміт прямо в гілку <strong class="%[2]s">%[1]s</strong>. editor.create_new_branch=Створити <strong>нову гілку</strong> для цього коміту та відкрити запит на злиття. editor.create_new_branch_np=Створити <strong>нову гілку</strong> для цього коміту. editor.propose_file_change=Запропонувати зміну файлу @@ -1411,7 +1411,7 @@ issues.error_modifying_due_date=Не вдалося змінити дату за issues.error_removing_due_date=Не вдалося видалити дату завершення. issues.push_commit_1=додав %d коміт %s issues.push_commits_n=додав %d коміти(-ів) %s -issues.force_push_codes=`примусово залито %[1]s з <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> до <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`примусово залито %[1]s з <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> до <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=Порівняти issues.due_date_form=рррр-мм-дд issues.due_date_form_add=Додати дату завершення @@ -1497,7 +1497,7 @@ pulls.nothing_to_compare=Ці гілки однакові. Немає необх pulls.nothing_to_compare_and_allow_empty_pr=Одинакові гілки. Цей PR буде порожнім. pulls.has_pull_request=`Запит злиття для цих гілок вже існує: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=Створити запит на злиття -pulls.title_desc_few=хоче злити %[1]d комітів з <code>%[2]s</code> в <code id="branch_target">%[3]s</code> +pulls.title_desc_few=хоче злити %[1]d комітів з <code>%[2]s</code> в <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=злито %[1]d комітів з <code>%[2]s</code> до <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`змінена цільова гілка з <b>%s</b> на <b>%s</b> %s` pulls.tab_conversation=Обговорення diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index 492a43b63b..0f2b99be32 100644 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -935,7 +935,7 @@ select_permissions=选择权限 permission_no_access=无访问权限 permission_read=可读 permission_write=读写 -access_token_desc=所选令牌权限仅限于对应的 <a %s>API</a> 路由的授权。阅读 <a %s>文档</a> 以获取更多信息。 +access_token_desc=所选令牌权限仅限于对应的 <a href="%[1]s" target="_blank">API</a> 路由的授权。阅读 <a href="%[2]s" target="_blank">文档</a> 以获取更多信息。 at_least_one_permission=你需要选择至少一个权限才能创建令牌 permissions_list=权限: @@ -1359,7 +1359,7 @@ editor.fail_to_apply_patch=无法应用补丁 %s editor.new_patch=新补丁 editor.commit_message_desc=添加一个可选的扩展描述… editor.signoff_desc=在提交日志消息末尾添加签署人信息。 -editor.commit_directly_to_this_branch=直接提交至 <strong class="branch-name">%s</strong> 分支。 +editor.commit_directly_to_this_branch=直接提交至 <strong class="%[2]s">%[1]s</strong> 分支。 editor.create_new_branch=为此提交创建一个 <strong>新的分支</strong> 并发起合并请求。 editor.create_new_branch_np=为此提交创建 <strong>新分支</strong>。 editor.propose_file_change=提议文件更改 @@ -1725,7 +1725,7 @@ issues.error_modifying_due_date=修改到期时间失败。 issues.error_removing_due_date=删除到期时间失败。 issues.push_commit_1=于 %[2]s 推送了 %[1]d 个提交 issues.push_commits_n=于 %[2]s 推送了 %[1]d 个提交 -issues.force_push_codes=`于 %[6]s 强制推送 %[1]s,从 <a class="ui sha" href="%[3]s"><code>%[2]s</code></a>,至 <a class="ui sha" href="%[5]s"><code>%[4]s</code></a>` +issues.force_push_codes=`于 %[6]s 强制推送 %[1]s,从 <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a>,至 <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a>` issues.force_push_compare=比较 issues.due_date_form=yyyy-mm-dd issues.due_date_form_add=设置到期时间 @@ -1841,7 +1841,7 @@ pulls.nothing_to_compare_have_tag=所选分支/标签相同。 pulls.nothing_to_compare_and_allow_empty_pr=这些分支是相等的,此合并请求将为空。 pulls.has_pull_request=这些分支之间的合并请求已存在: <a href="%[1]s">%[2]s#%[3]d</a> pulls.create=创建合并请求 -pulls.title_desc_few=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code id="branch_target">%[3]s</code> +pulls.title_desc_few=请求将 %[1]d 次代码提交从 <code>%[2]s</code> 合并至 <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=于 %[4]s 将 %[1]d 次代码提交从 <code>%[2]s</code>合并至 <code>%[3]s</code> pulls.change_target_branch_at=将目标分支从 <b>%s</b> 更改为 <b>%s</b> %s pulls.tab_conversation=对话内容 @@ -2761,7 +2761,7 @@ error.broken_git_hook = 该仓库的 Git 钩子似乎已经损坏,请按照 <a pulls.merged_title_desc_one = 已将来自 <code>%[2]s</code> 的 %[1]d 提交合并入 <code>%[3]s</code> %[4]s commits.search_branch = 此分支 open_with_editor = 使用 %s 打开 -pulls.title_desc_one = 想要将来自 <code>%[2]s</code> 的 %[1]d 提交合并到 <code id="branch_target">%[3]s</code> +pulls.title_desc_one = 想要将来自 <code>%[2]s</code> 的 %[1]d 提交合并到 <code id="%[4]s">%[3]s</code> settings.rename_branch_failed_protected = 无法重命名受保护的分支 %s。 stars = 点赞 settings.confirmation_string = 确认输入 diff --git a/options/locale/locale_zh-HK.ini b/options/locale/locale_zh-HK.ini index 2558c1d43b..37eaf38270 100644 --- a/options/locale/locale_zh-HK.ini +++ b/options/locale/locale_zh-HK.ini @@ -478,7 +478,7 @@ editor.preview_changes=預覽更改 editor.or=或 editor.cancel_lower=取消 editor.commit_changes=提交更改嗎? -editor.commit_directly_to_this_branch=直接提交到 <strong class="branch-name">%s</strong> 分支。 +editor.commit_directly_to_this_branch=直接提交到 <strong class="%[2]s">%[1]s</strong> 分支。 editor.create_new_branch=建立 <strong>新的分支</strong> 為此提交和開始合併請求。 editor.cancel=取消 editor.no_changes_to_show=沒有可以顯示的變更。 diff --git a/options/locale/locale_zh-TW.ini b/options/locale/locale_zh-TW.ini index 8a333cc49e..90181ba4d0 100644 --- a/options/locale/locale_zh-TW.ini +++ b/options/locale/locale_zh-TW.ini @@ -215,7 +215,6 @@ server_internal = 伺服器內部錯誤 app_desc=一套極易架設的 Git 服務 install=安裝容易 platform=跨平台 -platform_desc=Forgejo 可以在所有能編譯 <a target="_blank" rel="noopener noreferrer" href="%s">Go 語言</a>的平台上執行:Windows,macOS,Linux,ARM 等。挑一個您喜歡的吧! lightweight=輕量級 lightweight_desc=一片便宜的 Raspberry Pi 就可以滿足 Forgejo 的最低需求。節省您的機器資源! license=開放原始碼 @@ -1027,7 +1026,7 @@ webauthn_key_loss_warning = 如果您弄丟了您的安全金鑰,您將無法 user_unblock_success = 已成功解除對此使用者的封鎖。 webauthn_alternative_tip = 您可能想新增一個額外的驗證方法。 user_block_success = 已成功封鎖此使用者。 -access_token_desc = 選擇的符記僅授權相對應的 <a %s>API路徑</a>。請參閱<a %s>文件</a>來了解更多。 +access_token_desc = 選擇的符記僅授權相對應的 <a href="%[1]s" target="_blank">API路徑</a>。請參閱<a href="%[2]s" target="_blank">文件</a>來了解更多。 oauth2_application_locked = 可以在組態中設定 Forgejo 預先註冊一些 OAuth2 應用程式。為了避免不可預料的情況,它們無法被編輯或是移除。請參閱 OAuth2 文件來了解更多。 hidden_comment_types_description = 在這裡選取的留言種類將不會顯示於問題頁面中。舉例來說,核取「標籤」將隱藏所有「使用者新增/移除了<標籤>」留言。 authorized_oauth2_applications_description = 您已授權給這些第三方應用程式取用您的 Forgejo 個人帳號的權限。請撤銷您不再使用的應用程式的權限。 @@ -1307,7 +1306,7 @@ editor.fail_to_apply_patch=無法套用補綴「%s」 editor.new_patch=新增補綴 editor.commit_message_desc=(選填)加入詳細說明… editor.signoff_desc=在提交訊息底部加入提交者的「Signed-off-by」資訊。 -editor.commit_directly_to_this_branch=直接提交到 <strong class="branch-name">%s</strong> 分支。 +editor.commit_directly_to_this_branch=直接提交到 <strong class="%[2]s">%[1]s</strong> 分支。 editor.create_new_branch=為此提交建立<strong>新分支</strong>並提出合併請求。 editor.create_new_branch_np=為本次提交建立<strong>新分支</strong>。 editor.propose_file_change=提出檔案變更 @@ -1643,7 +1642,7 @@ issues.error_modifying_due_date=無法修改截止日期。 issues.error_removing_due_date=無法移除截止日期。 issues.push_commit_1=加入了 %d 個提交 %s issues.push_commits_n=加入了 %d 個提交 %s -issues.force_push_codes=`強制推送了 %[1]s 自 <a class="ui sha" href="%[3]s"><code>%[2]s</code></a> 至 <a class="ui sha" href="%[5]s"><code>%[4]s</code></a> %[6]s` +issues.force_push_codes=`強制推送了 %[1]s 自 <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> 至 <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s` issues.force_push_compare=比較 issues.due_date_form=yyyy年mm月dd日 issues.due_date_form_add=新增截止日期 @@ -1745,7 +1744,7 @@ pulls.nothing_to_compare=這些分支的內容相同,無需建立合併請求 pulls.nothing_to_compare_and_allow_empty_pr=這些分支的內容相同,此合併請求將會是空白的。 pulls.has_pull_request=`已有介於這些分支間的合併請求:<a href="%[1]s">%[2]s#%[3]d</a>` pulls.create=建立合併請求 -pulls.title_desc_few=請求將 %[1]d 次程式碼提交從 <code>%[2]s</code> 合併至 <code id="branch_target">%[3]s</code> +pulls.title_desc_few=請求將 %[1]d 次程式碼提交從 <code>%[2]s</code> 合併至 <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_few=將 %[1]d 次提交從 <code>%[2]s</code> 合併至 <code>%[3]s</code> %[4]s pulls.change_target_branch_at=`將目標分支從 <b>%s</b> 更改為 <b>%s</b> %s` pulls.tab_conversation=對話內容 @@ -2626,7 +2625,7 @@ signing.wont_sign.approved = 因為合併請求沒有被核可,這個合併不 activity.navbar.recent_commits = 最近的提交 issues.comment.blocked_by_user = 因為您被該儲存庫的所有者或問題的提出者封鎖,您不能在這則問題上留言。 pulls.closed = 合併請求已關閉 -pulls.title_desc_one = 想從 <code>%[2]s</code> 合併 %[1]d 個提交至 <code id="branch_target">%[3]s</code> +pulls.title_desc_one = 想從 <code>%[2]s</code> 合併 %[1]d 個提交至 <code id="%[4]s">%[3]s</code> pulls.merged_title_desc_one = 於 %[4]s 自 <code>%[2]s</code> 合併了 %[1]d 個提交至 <code>%[3]s</code> issues.archived_label_description = (已封存)%s signing.wont_sign.always = 永遠簽署提交。 diff --git a/templates/repo/editor/commit_form.tmpl b/templates/repo/editor/commit_form.tmpl index 9f81b1d3a0..f8c1beb027 100644 --- a/templates/repo/editor/commit_form.tmpl +++ b/templates/repo/editor/commit_form.tmpl @@ -26,7 +26,7 @@ <input type="radio" class="js-quick-pull-choice-option" name="commit_choice" value="direct" button_text="{{ctx.Locale.Tr "repo.editor.commit_changes"}}" {{if eq .commit_choice "direct"}}checked{{end}}> <label> {{svg "octicon-git-commit"}} - {{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName}} + {{ctx.Locale.Tr "repo.editor.commit_directly_to_this_branch" .BranchName "branch-name"}} {{if not .CanCommitToBranch.CanCommitToBranch}} <div class="ui visible small warning message"> {{ctx.Locale.Tr "repo.editor.no_commit_to_branch"}} diff --git a/templates/repo/issue/view_content/comments.tmpl b/templates/repo/issue/view_content/comments.tmpl index 78fa854dbe..fb4ceb10c1 100644 --- a/templates/repo/issue/view_content/comments.tmpl +++ b/templates/repo/issue/view_content/comments.tmpl @@ -549,7 +549,7 @@ <span class="text grey muted-links"> {{template "shared/user/authorlink" .Poster}} {{if .IsForcePush}} - {{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr}} + {{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr "ui sha"}} {{else}} {{ctx.Locale.TrN (len .Commits) "repo.issues.push_commit_1" "repo.issues.push_commits_n" (len .Commits) $createdStr}} {{end}} diff --git a/templates/repo/issue/view_title.tmpl b/templates/repo/issue/view_title.tmpl index f60d958a1c..f63cea1856 100644 --- a/templates/repo/issue/view_title.tmpl +++ b/templates/repo/issue/view_title.tmpl @@ -79,11 +79,11 @@ {{end}} {{else}} {{if .Issue.OriginalAuthor}} - <span id="pull-desc-display" class="pull-desc">{{.Issue.OriginalAuthor}} {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}}</span> + <span id="pull-desc-display" class="pull-desc">{{.Issue.OriginalAuthor}} {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref "branch_target"}}</span> {{else}} <span id="pull-desc-display" class="pull-desc"> <a {{if gt .Issue.Poster.ID 0}}href="{{.Issue.Poster.HomeLink}}"{{end}}>{{.Issue.Poster.GetDisplayName}}</a> - {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref}} + {{ctx.Locale.TrN .NumCommits "repo.pulls.title_desc_one" "repo.pulls.title_desc_few" .NumCommits $headHref $baseHref "branch_target"}} </span> {{end}} {{if .MadeUsingAGit}} diff --git a/templates/user/settings/applications.tmpl b/templates/user/settings/applications.tmpl index 04d4dcdb18..5354bef4e3 100644 --- a/templates/user/settings/applications.tmpl +++ b/templates/user/settings/applications.tmpl @@ -75,7 +75,7 @@ {{ctx.Locale.Tr "settings.select_permissions"}} </summary> <p class="activity meta"> - <p>{{ctx.Locale.Tr "settings.access_token_desc" (HTMLFormat `href="%s/api/swagger" target="_blank"` AppSubUrl) (`href="https://forgejo.org/docs/latest/user/token-scope/" target="_blank"`|SafeHTML)}}</p> + <p>{{ctx.Locale.Tr "settings.access_token_desc" (printf "%s/api/swagger" AppSubUrl) "https://forgejo.org/docs/latest/user/token-scope/"}}</p> </p> <div class="scoped-access-token" data-is-admin="{{if .IsAdmin}}true{{else}}false{{end}}"