forked from mirrors/forgejo
Forgejo's UI claims that whitespace is removed from the beginning and the end of the values of Forgejo Actions variables and secrets. However, that is not correct. The entered values are stored as-is. Only CRLF is replaced with LF, which is also the desired behaviour. This PR changes the incorrect text which is also no longer displayed as placeholder but as a proper help text below the input fields. Furthermore, tests were added to verify the behaviour. While adding tests, I discovered and fixed another inconsistency. Depending on whether secrets were managed using the UI or the HTTP API, they were treated differently. CRLF in secrets entered in the UI was correctly replaced with LF while secrets created using the HTTP API kept CRLF. Fixes #11003. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/11052 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch> Co-committed-by: Andreas Ahlenstorf <andreas@ahlenstorf.ch>
435 lines
32 KiB
JSON
435 lines
32 KiB
JSON
{
|
|
"home.welcome.no_activity": "No activity",
|
|
"home.welcome.activity_hint": "There is nothing in your feed yet. Your actions and activity from repositories that you watch will show up here.",
|
|
"home.explore_repos": "Explore repositories",
|
|
"home.explore_users": "Explore users",
|
|
"home.explore_orgs": "Explore organizations",
|
|
"fork.n_forks": {
|
|
"one": "%s fork",
|
|
"other": "%s forks"
|
|
},
|
|
"stars.list.none": "No one starred this repo.",
|
|
"stars.n_stars": {
|
|
"one": "%s star",
|
|
"other": "%s stars"
|
|
},
|
|
"watch.list.none": "No one is watching this repo.",
|
|
"watch.n_watchers": {
|
|
"one": "%s watcher",
|
|
"other": "%s watchers"
|
|
},
|
|
"followers.incoming.list.self.none": "No one is following your profile.",
|
|
"followers.incoming.list.none": "No one is following this user.",
|
|
"followers.outgoing.list.self.none": "You are not following anyone.",
|
|
"followers.outgoing.list.none": "%s isn't following anyone.",
|
|
"relativetime.now": "now",
|
|
"relativetime.future": "in future",
|
|
"relativetime.mins": {
|
|
"one": "%d minute ago",
|
|
"other": "%d minutes ago"
|
|
},
|
|
"relativetime.hours": {
|
|
"one": "%d hour ago",
|
|
"other": "%d hours ago"
|
|
},
|
|
"relativetime.days": {
|
|
"one": "%d day ago",
|
|
"other": "%d days ago"
|
|
},
|
|
"relativetime.weeks": {
|
|
"one": "%d week ago",
|
|
"other": "%d weeks ago"
|
|
},
|
|
"relativetime.months": {
|
|
"one": "%d month ago",
|
|
"other": "%d months ago"
|
|
},
|
|
"relativetime.years": {
|
|
"one": "%d year ago",
|
|
"other": "%d years ago"
|
|
},
|
|
"relativetime.1day": "yesterday",
|
|
"relativetime.1week": "last week",
|
|
"relativetime.1month": "last month",
|
|
"relativetime.1year": "last year",
|
|
"repo.issues.filter_poster.hint": "Filter by the author",
|
|
"repo.issues.filter_assignee.hint": "Filter by assigned user",
|
|
"repo.issues.filter_reviewers.hint": "Filter by user who reviewed",
|
|
"repo.issues.filter_mention.hint": "Filter by mentioned user",
|
|
"repo.issues.filter_modified.hint": "Filter by last modified date",
|
|
"repo.issues.filter_sort.hint": "Sort by: created/comments/updated/deadline",
|
|
"issues.updated": "updated %s",
|
|
"repo.pulls.poster_manage_approval": "Manage approval",
|
|
"repo.pulls.poster_requires_approval": "Some workflows are <a href=\"%[1]s\">waiting to be reviewed.</a>",
|
|
"repo.pulls.poster_requires_approval.tooltip": "The author of this pull request is not trusted to run workflows triggered by a pull request created from a forked repository or with AGit. The workflows triggered by a `pull_request` event will not run until they are approved.",
|
|
"repo.pulls.poster_is_trusted": "The author of this pull request is <a href=\"%[1]s\">always trusted to run workflows.</a>",
|
|
"repo.pulls.poster_is_trusted.tooltip": "The author of this pull request is explicitly trusted to run workflows triggered by `pull_request` events.",
|
|
"repo.pulls.poster_trust_deny": "Deny",
|
|
"repo.pulls.poster_trust_deny.tooltip": "The workflows waiting approval will be canceled.",
|
|
"repo.pulls.poster_trust_once": "Approve once",
|
|
"repo.pulls.poster_trust_once.tooltip": "The workflows triggered by a `pull_request` event will run on this commit but will need to be approved for all future commits pushed to this pull request.",
|
|
"repo.pulls.poster_trust_always": "Approve always",
|
|
"repo.pulls.poster_trust_always.tooltip": "The workflows triggered by a `pull_request` event will run on this commit and there will be no need to approve runs from this pull request or future pull requests authored by the same user.",
|
|
"repo.pulls.poster_trust_revoke": "Revoke",
|
|
"repo.pulls.poster_trust_revoke.tooltip": "The author of this pull request will no longer be trusted to run workflows triggered by a `pull_request` event, each run will have to be manually approved.",
|
|
"repo.pulls.already_merged": "Merge failed: This pull request has already been merged.",
|
|
"repo.pulls.merged_title_desc": {
|
|
"one": "merged %[1]d commit from <code>%[2]s</code> into <code>%[3]s</code> %[4]s",
|
|
"other": "merged %[1]d commits from <code>%[2]s</code> into <code>%[3]s</code> %[4]s"
|
|
},
|
|
"repo.pulls.title_desc": {
|
|
"one": "wants to merge %[1]d commit from <code>%[2]s</code> into <code id=\"%[4]s\">%[3]s</code>",
|
|
"other": "wants to merge %[1]d commits from <code>%[2]s</code> into <code id=\"%[4]s\">%[3]s</code>"
|
|
},
|
|
"repo.pulls.maintainers_can_edit": "Maintainers can edit this pull request.",
|
|
"repo.pulls.maintainers_cannot_edit": "Maintainers cannot edit this pull request.",
|
|
"repo.form.cannot_create": "All spaces in which you can create repositories have reached the limit of repositories.",
|
|
"repo.view.gitmodules_too_large": "The .gitmodules file is too large and will be ignored (on API calls for instance)",
|
|
"migrate.form.error.url_credentials": "The URL contains credentials, put them in the username and password fields respectively",
|
|
"migrate.github.description": "Migrate data from github.com or GitHub Enterprise server.",
|
|
"migrate.git.description": "Migrate a repository only from any Git service.",
|
|
"migrate.gitea.description": "Migrate data from gitea.com or other Gitea instances.",
|
|
"migrate.gitlab.description": "Migrate data from gitlab.com or other GitLab instances.",
|
|
"migrate.gogs.description": "Migrate data from notabug.org or other Gogs instances.",
|
|
"migrate.onedev.description": "Migrate data from code.onedev.io or other OneDev instances.",
|
|
"migrate.gitbucket.description": "Migrate data from GitBucket instances.",
|
|
"migrate.codebase.description": "Migrate data from codebasehq.com.",
|
|
"migrate.forgejo.description": "Migrate data from codeberg.org or other Forgejo instances.",
|
|
"repo.issue_indexer.title": "Issue Indexer",
|
|
"search.milestone_kind": "Search milestones…",
|
|
"search.syntax": "Search syntax",
|
|
"search.fuzzy": "Fuzzy",
|
|
"search.fuzzy_tooltip": "Include results is an approximate match to the search term",
|
|
"repo.settings.push_mirror.branch_filter.label": "Branch filter (optional)",
|
|
"repo.settings.push_mirror.branch_filter.description": "Branches to be mirrored. Leave blank to mirror all branches. See <a href=\"%[1]s\">%[2]s documentation</a> for syntax. Examples: <code>main, release/*</code>",
|
|
"incorrect_root_url": "This Forgejo instance is configured to be served on \"%s\". You are currently viewing Forgejo through a different URL, which may cause parts of the application to break. The canonical URL is controlled by Forgejo admins via the ROOT_URL setting in the app.ini.",
|
|
"themes.names.forgejo-auto": "Forgejo (follow system theme)",
|
|
"themes.names.forgejo-light": "Forgejo light",
|
|
"themes.names.forgejo-dark": "Forgejo dark",
|
|
"error.not_found.title": "Page not found",
|
|
"warning.repository.out_of_sync": "The database representation of this repository is out of synchronization. If this warning is still shown after pushing a commit to this repository contact the administrator.",
|
|
"alert.asset_load_failed": "Failed to load asset files from {path}. Please make sure the asset files can be accessed.",
|
|
"alert.range_error": " must be a number between %[1]s and %[2]s.",
|
|
"install.invalid_lfs_path": "Unable to create the LFS root at the specified path: %[1]s",
|
|
"install.ssh_authorized_keys_inspection_error": "Failed to inspect existing authorized_keys file: %v",
|
|
"install.ssh_authorized_keys_unexpected_key": "Enabling SSH for Forgejo conflicts with the file located at %s that contains existing SSH keys. Suggestions: use a dedicated system user for Forgejo, or disable SSH.",
|
|
"profile.actions.tooltip": "More actions",
|
|
"profile.edit.link": "Edit profile",
|
|
"feed.atom.link": "Atom feed",
|
|
"keys.ssh.link": "SSH keys",
|
|
"keys.gpg.link": "GPG keys",
|
|
"keys.verify.token.hint": "The token is only valid for 1 minute. <a href=\"%[1]s\">Get a new one if it expired</a>.",
|
|
"admin.config.moderation_config": "Moderation configuration",
|
|
"admin.moderation.moderation_reports": "Moderation reports",
|
|
"admin.moderation.reports": "Reports",
|
|
"admin.moderation.no_open_reports": "There are currently no open reports.",
|
|
"admin.moderation.deleted_content_ref": "Reported content with type %[1]v and id %[2]d no longer exists",
|
|
"moderation.report.mark_as_handled": "Mark as handled",
|
|
"moderation.report.mark_as_ignored": "Mark as ignored",
|
|
"moderation.action.account.delete": "Delete account",
|
|
"moderation.action.account.suspend": "Suspend account",
|
|
"moderation.action.repo.delete": "Delete repository",
|
|
"moderation.action.issue.delete": "Delete issue",
|
|
"moderation.action.comment.delete": "Delete comment",
|
|
"moderation.unknown_action": "Unknown action",
|
|
"moderation.users.cannot_suspend_self": "You cannot suspend yourself.",
|
|
"moderation.users.cannot_suspend_admins": "Users with admin privileges cannot be suspended.",
|
|
"moderation.users.cannot_suspend_org": "Organizations cannot be suspended.",
|
|
"moderation.users.already_suspended": "User account is already suspended.",
|
|
"moderation.users.suspend_success": "The user account has been suspended.",
|
|
"moderation.users.cannot_delete_admins": "Users with admin privileges cannot be deleted.",
|
|
"moderation.issue.deletion_success": "The issue has been deleted.",
|
|
"moderation.comment.deletion_success": "The comment has been deleted.",
|
|
"moderation.report_abuse": "Report abuse",
|
|
"moderation.report_content": "Report content",
|
|
"moderation.report_abuse_form.header": "Report abuse to administrator",
|
|
"moderation.report_abuse_form.details": "This form should be used to report users who create spam profiles, repositories, issues, comments or behave inappropriately.",
|
|
"moderation.report_abuse_form.invalid": "Invalid arguments",
|
|
"moderation.report_abuse_form.already_reported": "You've already reported this content",
|
|
"moderation.abuse_category": "Category",
|
|
"moderation.abuse_category.placeholder": "Select a category",
|
|
"moderation.abuse_category.spam": "Spam",
|
|
"moderation.abuse_category.malware": "Malware",
|
|
"moderation.abuse_category.illegal_content": "Illegal content",
|
|
"moderation.abuse_category.other_violations": "Other violations of platform rules",
|
|
"moderation.report_remarks": "Remarks",
|
|
"moderation.report_remarks.placeholder": "Please provide some details regarding the abuse you are reporting.",
|
|
"moderation.submit_report": "Submit report",
|
|
"moderation.reporting_failed": "Unable to submit the new abuse report: %v",
|
|
"moderation.reported_thank_you": "Thank you for your report. The administration has been made aware of it.",
|
|
"mail.actions.successful_run_after_failure_subject": "Workflow %[1]s recovered in repository %[2]s",
|
|
"mail.actions.not_successful_run_subject": "Workflow %[1]s failed in repository %[2]s",
|
|
"mail.actions.successful_run_after_failure": "Workflow %[1]s recovered in repository %[2]s",
|
|
"mail.actions.not_successful_run": "Workflow %[1]s failed in repository %[2]s",
|
|
"mail.actions.run_info_cur_status": "This Run's Status: %[1]s (just updated from %[2]s)",
|
|
"mail.actions.run_info_previous_status": "Previous Run's Status: %[1]s",
|
|
"mail.actions.run_info_sha": "Commit: %[1]s",
|
|
"mail.actions.run_info_trigger": "Triggered because: %[1]s by: %[2]s",
|
|
"mail.issue.action.close_by_commit": "%[1]s closed %[2]s in commit %[3]s.",
|
|
"repo.diff.commit.next-short": "Next",
|
|
"repo.diff.commit.previous-short": "Prev",
|
|
"discussion.locked": "This discussion has been locked. Commenting is limited to contributors.",
|
|
"discussion.sidebar.reference": "Reference",
|
|
"editor.textarea.tab_hint": "Line already indented. Press <kbd>Tab</kbd> again or <kbd>Escape</kbd> to leave the editor.",
|
|
"editor.textarea.shift_tab_hint": "No indentation on this line. Press <kbd>Shift</kbd> + <kbd>Tab</kbd> again or <kbd>Escape</kbd> to leave the editor.",
|
|
"admin.auths.allow_username_change": "Allow username change",
|
|
"admin.auths.allow_username_change.description": "Allow users to change their username in the profile settings",
|
|
"admin.dashboard.cleanup_offline_runners": "Cleanup offline runners",
|
|
"admin.dashboard.remove_resolved_reports": "Remove resolved reports",
|
|
"admin.dashboard.actions_action_user": "Revoke Forgejo Actions trust for inactive users",
|
|
"admin.dashboard.transfer_lingering_logs": "Transfer actions logs of finished actions jobs from the database to storage",
|
|
"admin.config.security": "Security configuration",
|
|
"admin.config.global_2fa_requirement.title": "Global two-factor requirement",
|
|
"admin.config.global_2fa_requirement.none": "No",
|
|
"admin.config.global_2fa_requirement.all": "All users",
|
|
"admin.config.global_2fa_requirement.admin": "Administrators",
|
|
"settings.visibility.description": "Profile visibility affects others' ability to access your non-private repositories. <a href=\"%s\" target=\"_blank\">Learn more</a>.",
|
|
"settings.twofa_unroll_unavailable": "Two-factor authentication is required for your account and cannot be disabled.",
|
|
"settings.twofa_reenroll": "Re-enroll two-factor authentication",
|
|
"settings.twofa_reenroll.description": "Re-enroll your two-factor authentication",
|
|
"settings.must_enable_2fa": "This Forgejo instance requires users to enable two-factor authentication before they can access their accounts.",
|
|
"error.must_enable_2fa": "This Forgejo instance requires users to enable two-factor authentication before they can access their accounts. Enable it at: %s",
|
|
"avatar.constraints_hint": "Custom avatar may not exceed %[1]s in size or be larger than %[2]dx%[3]d pixels",
|
|
"user.ghost.tooltip": "This user has been deleted, or cannot be matched.",
|
|
"og.repo.summary_card.alt_description": "Summary card of repository %[1]s, described as: %[2]s",
|
|
"repo.commit.load_tags_failed": "Load tags failed because of internal error",
|
|
"compare.branches.title": "Compare branches",
|
|
"migrate.pagure.description": "Migrate data from pagure.io or other Pagure instances.",
|
|
"migrate.pagure.incorrect_url": "Incorrect source repository URL has been provided",
|
|
"migrate.pagure.project_url": "Pagure project URL",
|
|
"migrate.pagure.project_example": "The Pagure project URL, e.g. https://pagure.io/pagure",
|
|
"migrate.pagure.token_label": "Pagure API Token",
|
|
"migrate.pagure.private_issues.summary": "Private Issues (Optional)",
|
|
"migrate.pagure.private_issues.description": "This feature is designed to create a second repository containing only private issues from your Pagure project for archive purposes. First, perform a normal migration (without a token) to import all public content. Then, if you have private issues to preserve, create a separate repository using this token option to archive those private issues.",
|
|
"migrate.pagure.private_issues.warning": "Be sure to set the repository visibility above to Private if you are using the API key to import private issues. This prevents accidentally exposing private content in a public repository.",
|
|
"migrate.pagure.token.placeholder": "Only for creating private issues archive",
|
|
"release.n_downloads": {
|
|
"one": "%s download",
|
|
"other": "%s downloads"
|
|
},
|
|
"actions.status.diagnostics.waiting": {
|
|
"one": "Waiting for a runner with the following label: %s",
|
|
"other": "Waiting for a runner with the following labels: %s"
|
|
},
|
|
"packages.title": "Packages",
|
|
"packages.empty": "There are no packages yet.",
|
|
"packages.empty.documentation": "For more information on the package registry, see <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">the documentation</a>.",
|
|
"packages.empty.repo": "Did you upload a package, but it's not shown here? Go to <a href=\"%[1]s\">package settings</a> and link it to this repo.",
|
|
"packages.registry.documentation": "For more information on the %s registry, see <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">the documentation</a>.",
|
|
"packages.filter.type": "Type",
|
|
"packages.filter.type.all": "All",
|
|
"packages.filter.no_result": "Your filter produced no results.",
|
|
"packages.filter.container.tagged": "Tagged",
|
|
"packages.filter.container.untagged": "Untagged",
|
|
"packages.published_by": "Published %[1]s by <a href=\"%[2]s\">%[3]s</a>",
|
|
"packages.published_by_in": "Published %[1]s by <a href=\"%[2]s\">%[3]s</a> in <a href=\"%[4]s\"><strong>%[5]s</strong></a>",
|
|
"packages.pub.install": "To install the package using Dart, run the following command:",
|
|
"packages.installation": "Installation",
|
|
"packages.about": "About this package",
|
|
"packages.requirements": "Requirements",
|
|
"packages.dependencies": "Dependencies",
|
|
"packages.keywords": "Keywords",
|
|
"packages.details": "Details",
|
|
"packages.details.author": "Author",
|
|
"packages.details.project_site": "Project website",
|
|
"packages.details.repository_site": "Repository website",
|
|
"packages.details.documentation_site": "Documentation website",
|
|
"packages.details.license": "License",
|
|
"packages.assets": "Assets",
|
|
"packages.versions": "Versions",
|
|
"packages.versions.view_all": "View all",
|
|
"packages.dependency.id": "ID",
|
|
"packages.dependency.version": "Version",
|
|
"packages.search_in_external_registry": "Search in %s",
|
|
"packages.alpine.registry": "Setup this registry by adding the url in your <code>/etc/apk/repositories</code> file:",
|
|
"packages.alpine.registry.key": "Download the registry public RSA key into the <code>/etc/apk/keys/</code> folder to verify the index signature:",
|
|
"packages.alpine.registry.info": "Choose $branch and $repository from the list below.",
|
|
"packages.alpine.install": "To install the package, run the following command:",
|
|
"packages.alpine.repository": "Repository info",
|
|
"packages.alpine.repository.branches": "Branches",
|
|
"packages.alpine.repository.repositories": "Repositories",
|
|
"packages.alpine.repository.architectures": "Architectures",
|
|
"packages.arch.pacman.helper.gpg": "Add trust certificate for pacman:",
|
|
"packages.arch.pacman.repo.multi": "%s has the same version in different distributions.",
|
|
"packages.arch.pacman.repo.multi.item": "Configuration for %s",
|
|
"packages.arch.pacman.conf": "Add server with related distribution and architecture to <code>/etc/pacman.conf</code> :",
|
|
"packages.arch.pacman.sync": "Sync package with pacman:",
|
|
"packages.arch.version.properties": "Version properties",
|
|
"packages.arch.version.description": "Description",
|
|
"packages.arch.version.provides": "Provides",
|
|
"packages.arch.version.groups": "Group",
|
|
"packages.arch.version.depends": "Depends",
|
|
"packages.arch.version.optdepends": "Optional depends",
|
|
"packages.arch.version.makedepends": "Make depends",
|
|
"packages.arch.version.checkdepends": "Check depends",
|
|
"packages.arch.version.conflicts": "Conflicts",
|
|
"packages.arch.version.replaces": "Replaces",
|
|
"packages.arch.version.backup": "Backup",
|
|
"packages.cargo.registry": "Setup this registry in the Cargo configuration file (for example <code>~/.cargo/config.toml</code>):",
|
|
"packages.cargo.install": "To install the package using Cargo, run the following command:",
|
|
"packages.chef.registry": "Setup this registry in your <code>~/.chef/config.rb</code> file:",
|
|
"packages.chef.install": "To install the package, run the following command:",
|
|
"packages.composer.registry": "Setup this registry in your <code>~/.composer/config.json</code> file:",
|
|
"packages.composer.install": "To install the package using Composer, run the following command:",
|
|
"packages.composer.dependencies": "Dependencies",
|
|
"packages.composer.dependencies.development": "Development dependencies",
|
|
"packages.conan.registry": "Setup this registry from the command line:",
|
|
"packages.conan.install": "To install the package using Conan, run the following command:",
|
|
"packages.conda.registry": "Setup this registry as a Conda repository in your <code>.condarc</code> file:",
|
|
"packages.conda.install": "To install the package using Conda, run the following command:",
|
|
"packages.container.images.title": "Images",
|
|
"packages.container.details.type": "Image type",
|
|
"packages.container.details.platform": "Platform",
|
|
"packages.container.pull": "Pull the image from the command line:",
|
|
"packages.container.digest": "Digest",
|
|
"packages.container.multi_arch": "OS / Arch",
|
|
"packages.container.layers": "Image layers",
|
|
"packages.container.labels": "Labels",
|
|
"packages.container.labels.key": "Key",
|
|
"packages.container.labels.value": "Value",
|
|
"packages.cran.registry": "Setup this registry in your <code>Rprofile.site</code> file:",
|
|
"packages.cran.install": "To install the package, run the following command:",
|
|
"packages.debian.registry": "Setup this registry from the command line:",
|
|
"packages.debian.registry.info": "Choose $distribution and $component from the list below.",
|
|
"packages.debian.install": "To install the package, run the following command:",
|
|
"packages.debian.repository": "Repository info",
|
|
"packages.debian.repository.distributions": "Distributions",
|
|
"packages.debian.repository.components": "Components",
|
|
"packages.debian.repository.architectures": "Architectures",
|
|
"packages.generic.download": "Download package from the command line:",
|
|
"packages.go.install": "Install the package from the command line:",
|
|
"packages.helm.registry": "Setup this registry from the command line:",
|
|
"packages.helm.install": "To install the package, run the following command:",
|
|
"packages.maven.registry": "Setup this registry in your project <code>pom.xml</code> file:",
|
|
"packages.maven.install": "To use the package include the following in the <code>dependencies</code> block in the <code>pom.xml</code> file:",
|
|
"packages.maven.install2": "Run via command line:",
|
|
"packages.maven.download": "To download the dependency, run via command line:",
|
|
"packages.nuget.registry": "Setup this registry from the command line:",
|
|
"packages.nuget.install": "To install the package using NuGet, run the following command:",
|
|
"packages.nuget.dependency.framework": "Target Framework",
|
|
"packages.npm.registry": "Setup this registry in your project <code>.npmrc</code> file:",
|
|
"packages.npm.install": "To install the package using npm, run the following command:",
|
|
"packages.npm.install2": "or add it to the package.json file:",
|
|
"packages.npm.dependencies": "Dependencies",
|
|
"packages.npm.dependencies.development": "Development dependencies",
|
|
"packages.npm.dependencies.bundle": "Bundled dependencies",
|
|
"packages.npm.dependencies.peer": "Peer dependencies",
|
|
"packages.npm.dependencies.optional": "Optional dependencies",
|
|
"packages.npm.details.tag": "Tag",
|
|
"packages.pypi.requires": "Requires Python",
|
|
"packages.pypi.install": "To install the package using pip, run the following command:",
|
|
"packages.rpm.registry": "Setup this registry from the command line:",
|
|
"packages.rpm.distros.redhat": "on RedHat based distributions",
|
|
"packages.rpm.distros.suse": "on SUSE based distributions",
|
|
"packages.rpm.install": "To install the package, run the following command:",
|
|
"packages.rpm.repository": "Repository info",
|
|
"packages.rpm.repository.architectures": "Architectures",
|
|
"packages.rpm.repository.multiple_groups": "This package is available in multiple groups.",
|
|
"packages.alt.registry": "Setup this registry from the command line:",
|
|
"packages.alt.registry.install": "To install the package, run the following command:",
|
|
"packages.alt.install": "Install package",
|
|
"packages.alt.setup": "Add a repository to the list of connected repositories (choose the necessary architecture instead of \"_arch_\"):",
|
|
"packages.alt.repository": "Repository info",
|
|
"packages.alt.repository.architectures": "Architectures",
|
|
"packages.alt.repository.multiple_groups": "This package is available in multiple groups.",
|
|
"packages.rubygems.install": "To install the package using gem, run the following command:",
|
|
"packages.rubygems.install2": "or add it to the Gemfile:",
|
|
"packages.rubygems.dependencies.runtime": "Runtime dependencies",
|
|
"packages.rubygems.dependencies.development": "Development dependencies",
|
|
"packages.rubygems.required.ruby": "Requires Ruby version",
|
|
"packages.rubygems.required.rubygems": "Requires RubyGem version",
|
|
"packages.swift.registry": "Setup this registry from the command line:",
|
|
"packages.swift.install": "Add the package in your <code>Package.swift</code> file:",
|
|
"packages.swift.install2": "and run the following command:",
|
|
"packages.vagrant.install": "To add a Vagrant box, run the following command:",
|
|
"packages.settings.link": "Link this package to a repository",
|
|
"packages.settings.link.description": "If you link a package with a repository, the package is listed in the repository's package list.",
|
|
"packages.settings.link.select": "Select repository",
|
|
"packages.settings.link.button": "Update repository link",
|
|
"packages.settings.link.success": "Repository link was successfully updated.",
|
|
"packages.settings.link.error": "Failed to update repository link.",
|
|
"packages.settings.delete": "Delete package",
|
|
"packages.settings.delete.description": "Deleting a package is permanent and cannot be undone.",
|
|
"packages.settings.delete.notice": "You are about to delete %s (%s). This operation is irreversible, are you sure?",
|
|
"packages.settings.delete.success": "The package has been deleted.",
|
|
"packages.settings.delete.error": "Failed to delete the package.",
|
|
"packages.owner.settings.cargo.title": "Cargo registry index",
|
|
"packages.owner.settings.cargo.initialize": "Initialize index",
|
|
"packages.owner.settings.cargo.initialize.description": "A special index Git repository is needed to use the Cargo registry. Using this option will (re-)create the repository and configure it automatically.",
|
|
"packages.owner.settings.cargo.initialize.error": "Failed to initialize Cargo index: %v",
|
|
"packages.owner.settings.cargo.initialize.success": "The Cargo index was successfully created.",
|
|
"packages.owner.settings.cargo.rebuild": "Rebuild index",
|
|
"packages.owner.settings.cargo.rebuild.description": "Rebuilding can be useful if the index is not synchronized with the stored Cargo packages.",
|
|
"packages.owner.settings.cargo.rebuild.error": "Failed to rebuild Cargo index: %v",
|
|
"packages.owner.settings.cargo.rebuild.success": "The Cargo index was successfully rebuilt.",
|
|
"packages.owner.settings.cargo.rebuild.no_index": "Cannot rebuild, no index is initialized.",
|
|
"packages.owner.settings.cleanuprules.title": "Cleanup rules",
|
|
"packages.owner.settings.cleanuprules.add": "Add cleanup rule",
|
|
"packages.owner.settings.cleanuprules.edit": "Edit cleanup rule",
|
|
"packages.owner.settings.cleanuprules.none": "There are no cleanup rules yet.",
|
|
"packages.owner.settings.cleanuprules.preview": "Cleanup rule preview",
|
|
"packages.owner.settings.cleanuprules.preview.overview": "%d packages are scheduled to be removed.",
|
|
"packages.owner.settings.cleanuprules.preview.none": "Cleanup rule does not match any packages.",
|
|
"packages.owner.settings.cleanuprules.pattern_full_match": "Apply pattern to full package name",
|
|
"packages.owner.settings.cleanuprules.keep.title": "Versions that match these rules are kept, even if they match a removal rule below.",
|
|
"packages.owner.settings.cleanuprules.keep.count": "Keep the most recent",
|
|
"packages.owner.settings.cleanuprules.keep.pattern": "Keep versions matching",
|
|
"packages.owner.settings.cleanuprules.keep.pattern.container": "The <code>latest</code> version is always kept for Container packages.",
|
|
"packages.owner.settings.cleanuprules.remove.title": "Versions that match these rules are removed, unless a rule above says to keep them.",
|
|
"packages.owner.settings.cleanuprules.remove.days": "Remove versions older than",
|
|
"packages.owner.settings.cleanuprules.remove.pattern": "Remove versions matching",
|
|
"packages.owner.settings.cleanuprules.success.update": "Cleanup rule has been updated.",
|
|
"packages.owner.settings.cleanuprules.success.delete": "Cleanup rule has been deleted.",
|
|
"packages.owner.settings.chef.title": "Chef registry",
|
|
"packages.owner.settings.chef.keypair": "Generate key pair",
|
|
"packages.owner.settings.chef.keypair.description": "Requests sent to the Chef registry must be cryptographically signed as a means of authentication. When generating a keypair, only the public key is stored on Forgejo. The private key is provided to you to be used with knife. Generating a new keypair will overwrite the previous one.",
|
|
"actions.runs.run_attempt_label": "Run attempt #%[1]s (%[2]s)",
|
|
"actions.runs.viewing_out_of_date_run": "You are viewing an out-of-date run of this job that was executed %[1]s.",
|
|
"actions.runs.view_most_recent_run": "View most recent run",
|
|
"actions.workflow.job_parsing_error": "Unable to parse jobs in workflow: %v",
|
|
"actions.workflow.event_detection_error": "Unable to parse supported events in workflow: %v",
|
|
"actions.workflow.persistent_incomplete_matrix": "Unable to evaluate `strategy.matrix` of job %[1]s due to a `needs` expression that was invalid. It may reference a job that is not in it's 'needs' list (%[2]s), or an output that doesn't exist on one of those jobs.",
|
|
"actions.workflow.incomplete_matrix_missing_job": "Unable to evaluate `strategy.matrix` of job %[1]s: job %[2]s is not in the `needs` list of job %[1]s (%[3]s).",
|
|
"actions.workflow.incomplete_matrix_missing_output": "Unable to evaluate `strategy.matrix` of job %[1]s: job %[2]s is missing output %[3]s.",
|
|
"actions.workflow.incomplete_matrix_unknown_cause": "Unable to evaluate `strategy.matrix` of job %[1]s: unknown error.",
|
|
"actions.workflow.incomplete_runson_missing_job": "Unable to evaluate `runs-on` of job %[1]s: job %[2]s is not in the `needs` list of job %[1]s (%[3]s).",
|
|
"actions.workflow.incomplete_runson_missing_output": "Unable to evaluate `runs-on` of job %[1]s: job %[2]s is missing output %[3]s.",
|
|
"actions.workflow.incomplete_runson_missing_matrix_dimension": "Unable to evaluate `runs-on` of job %[1]s: matrix dimension %[2]s does not exist.",
|
|
"actions.workflow.incomplete_runson_unknown_cause": "Unable to evaluate `runs-on` of job %[1]s: unknown error.",
|
|
"actions.workflow.incomplete_with_missing_job": "Unable to evaluate `with` of job %[1]s: job %[2]s is not in the `needs` list of job %[1]s (%[3]s).",
|
|
"actions.workflow.incomplete_with_missing_output": "Unable to evaluate `with` of job %[1]s: job %[2]s is missing output %[3]s.",
|
|
"actions.workflow.incomplete_with_missing_matrix_dimension": "Unable to evaluate `with` of job %[1]s: matrix dimension %[2]s does not exist.",
|
|
"actions.workflow.incomplete_with_unknown_cause": "Unable to evaluate `with` of job %[1]s: unknown error.",
|
|
"actions.workflow.pre_execution_error": "Workflow was not executed due to an error that blocked the execution attempt.",
|
|
"actions.secrets.creation.name_description": "The name of a secret can only contain letters, numbers, and underscores. It cannot start with FORGEJO_, GITEA_, GITHUB_, or a number. Forgejo will automatically convert it to uppercase.",
|
|
"actions.secrets.creation.value_description": "The value of a secret can be any text. Special characters are retained. CRLF (Windows-style line breaks) is automatically converted to LF. Encode the value with Base64 if linebreaks should be retained.",
|
|
"actions.variables.mutation.name_description": "The name of a variable can only contain letters, numbers, and underscores. It cannot be named CI or start with FORGEJO_, GITEA_, GITHUB_, or a number. Forgejo will automatically convert it to uppercase.",
|
|
"actions.variables.mutation.value_description": "A variable's value can be any text. Special characters are retained. CRLF (Windows-style line breaks) is automatically converted to LF. Encode the value with Base64 if linebreaks should be retained.",
|
|
"pulse.n_active_issues": {
|
|
"one": "%s active issue",
|
|
"other": "%s active issues"
|
|
},
|
|
"pulse.n_active_prs": {
|
|
"one": "%s active pull request",
|
|
"other": "%s active pull requests"
|
|
},
|
|
"teams.add_all_repos.modal.header": "Add all repositories",
|
|
"teams.remove_all_repos.modal.header": "Remove all repositories",
|
|
"pulls.manual_merge.helper": "Manual merge helper",
|
|
"pulls.manual_merge.helpder.description": "Use this merge commit message when completing the merge manually.",
|
|
"pulls.manual_merge.commit.title": "Merge commit title",
|
|
"pulls.manual_merge.commit.body": "Merge commit body",
|
|
"pulls.manual_merge.copy.button": "Copy merge commit message",
|
|
"admin.auths.oauth2_quota_group_claim_name": "Claim name providing group names for this source to be used for quota management. (Optional)",
|
|
"admin.auths.oauth2_quota_group_map": "Map claimed groups to quota groups. (Optional - requires claim name above)",
|
|
"admin.auths.oauth2_quota_group_map_removal": "Remove users from synchronized quota groups if user does not belong to corresponding group.",
|
|
"editor.search": "Search",
|
|
"editor.find_previous": "Previous find",
|
|
"editor.find_next": "Next find",
|
|
"editor.replace": "Replace",
|
|
"editor.replace_all": "Replace all",
|
|
"editor.toggle_case": "Toggle case sensitivity",
|
|
"editor.toggle_regex": "Toggle using regular expressions",
|
|
"editor.toggle_whole_word": "Toggle matching whole words",
|
|
"meta.last_line": "Thank you for translating Forgejo! This line isn't seen by the users but it serves other purposes in the translation management. You can place a fun fact in the translation instead of translating it."
|
|
}
|