feat(forge): pluggable forge abstraction + GitLab and Gitea/Forgejo/Codeberg (#1913)
* refactor(forge): forge-neutral foundation (GitHub-only) Decouple git-hosting from GitHub behind a neutral abstraction (issue #1616), GitHub-only for now; existing GitHub behaviour is unchanged. - Forge manifest, neutral ForgeService contract, forge registry + resolver, and a client forge-module registry. - GitHub code renamed to the neutral shape; PR/Issue attachment wording preserved. - forge.search.response enums parse tolerantly (unknown kind/auth state degrade instead of breaking the client). - createPullRequest reports typed CLI/auth errors instead of a generic message. - forge-resolver host/remote caches are LRU-bounded. - Forge host trust is explicit: only a known cloud host or a CLI-authenticated host is ever talked to; an unauthenticated GitHub Enterprise host fails resolution instead of routing to github.com. - Docs: forge-providers guide, glossary and i18n forge-copy conventions, architecture and rpc-namespacing terminology. - Vitest React Native mocks (unistyles, svg, linking, lucide) consolidated into shared aliased test-stubs. * feat(forge): GitLab adapter, forge-aware UI, pipelines and approvals GitLab adapter over the glab CLI on the neutral contracts: MR status, forge-aware UI, pipeline tree, and N-of-M approvals. - threadIsResolved is part of the neutral timeline item. - Pipeline load failures show an error instead of an empty section. - Manual pipeline jobs render as pending. - Fork/detached MR head pipelines are fetched by MR iid (glab ci get --merge-request). * feat(forge): Gitea family adapter (Gitea, Forgejo, Codeberg) One adapter over the tea CLI serving Gitea, Forgejo, and Codeberg on the neutral contracts. - CI status aggregates commit statuses and Actions runs together. - Gitea's terminal "warning" state maps to failure on server and client. - Gitea Actions check details are reachable from the PR pane by workflowRunId. * refactor(forge): localize compatibility handling * test(forge): expect normalized GitLab facts --------- Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
This commit is contained in:
co-authored by
Mohamed Boudra
parent
04d1ebdce0
commit
a8ebd390fa
@@ -194,7 +194,10 @@ describe("translation resources", () => {
|
||||
expect(en.composer.input.sendMessage).toBe("Send message");
|
||||
expect(en.composer.voice.startDictation).toBe("Start dictation");
|
||||
expect(en.composer.attachments.addIssueOrPr).toBe("Add issue or PR");
|
||||
expect(en.composer.attachments.addIssueOrPr_mr).toBe("Add issue or MR");
|
||||
expect(en.composer.github.title).toBe("Attach issue or PR");
|
||||
expect(en.composer.github.title_mr).toBe("Attach issue or MR");
|
||||
expect(en.composer.github.searchPlaceholder_mr).toBe("Search issues and MRs...");
|
||||
expect(en.agentControls.provider.fallback).toBe("Provider");
|
||||
expect(en.agentControls.hints.model).toBe("Change model");
|
||||
expect(en.agentControls.hints.mode).toBe("Change mode");
|
||||
@@ -258,7 +261,14 @@ describe("translation resources", () => {
|
||||
expect(en.workspace.git.actions.commit.label).toBe("Commit");
|
||||
expect(en.workspace.git.diff.binaryFile).toBe("Binary file");
|
||||
expect(en.workspace.git.pr.sections.checks).toBe("Checks");
|
||||
expect(en.workspace.git.pr.sections.pipeline).toBe("Pipeline");
|
||||
expect(en.workspace.git.pr.actions.viewPullRequest).toBe("View");
|
||||
expect(en.workspace.git.pr.actions.openOn).toBe("Open on {{brand}}");
|
||||
expect(en.workspace.git.pr.empty.noJobs).toBe("No jobs");
|
||||
expect(en.workspace.git.pr.empty.loadingPipeline).toBe("Loading pipeline…");
|
||||
expect(en.workspace.git.pr.empty.pipelineJobsLoadFailed).toBe("Could not load pipeline jobs");
|
||||
expect(en.workspace.git.pr.empty.allowedToFail).toBe("allowed to fail");
|
||||
expect(en.workspace.git.pr.approvals).toBe("{{given}} of {{required}} approvals");
|
||||
expect(en.review.comment.placeholder).toBe("Leave a comment");
|
||||
});
|
||||
|
||||
|
||||
@@ -102,6 +102,7 @@ export const ar: TranslationResources = {
|
||||
addImage: "أضف صورة",
|
||||
addFile: "Upload file",
|
||||
addIssueOrPr: "أضف مشكلة أو PR",
|
||||
addIssueOrPr_mr: "أضف مشكلة أو MR",
|
||||
dropImagesHere: "إسقاط الصور هنا",
|
||||
dropFilesHere: "Drop files here",
|
||||
editQueuedMessage: "تحرير الرسالة في قائمة الانتظار",
|
||||
@@ -109,8 +110,8 @@ export const ar: TranslationResources = {
|
||||
openImage: "فتح مرفق الصورة",
|
||||
removeImage: "إزالة مرفق الصورة",
|
||||
removeFile: "Remove file attachment",
|
||||
openGithub: "افتح{{kind}}#{{number}}",
|
||||
removeGithub: "إزالة{{kind}}#{{number}}",
|
||||
openGithub: "افتح {{kind}} {{number}}",
|
||||
removeGithub: "إزالة {{kind}} {{number}}",
|
||||
element: "عنصر",
|
||||
openBrowserElement: "افتح مرفق عنصر المتصفح",
|
||||
removeBrowserElement: "إزالة مرفق عنصر المتصفح",
|
||||
@@ -134,7 +135,9 @@ export const ar: TranslationResources = {
|
||||
searching: "جارٍ البحث...",
|
||||
noResults: "لم يتم العثور على نتائج.",
|
||||
searchPlaceholder: "بحث القضايا والعلاقات العامة...",
|
||||
searchPlaceholder_mr: "بحث القضايا و MR...",
|
||||
title: "إرفاق المشكلة أو PR",
|
||||
title_mr: "إرفاق المشكلة أو MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -618,6 +621,9 @@ export const ar: TranslationResources = {
|
||||
label: "إنشاء PR",
|
||||
pending: "إنشاء PR...",
|
||||
success: "تم إنشاء PR",
|
||||
label_mr: "إنشاء MR",
|
||||
pending_mr: "إنشاء MR...",
|
||||
success_mr: "تم إنشاء MR",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "دمج محليا",
|
||||
@@ -640,7 +646,13 @@ export const ar: TranslationResources = {
|
||||
rebase: "دمج PR (rebase)",
|
||||
pending: "دمج PR...",
|
||||
success: "تم دمج PR",
|
||||
squash_mr: "دمج MR (squash)",
|
||||
merge_mr: "دمج MR (merge)",
|
||||
rebase_mr: "دمج MR (rebase)",
|
||||
pending_mr: "دمج MR...",
|
||||
success_mr: "تم دمج MR",
|
||||
},
|
||||
viewPr_mr: "عرض MR",
|
||||
autoMerge: {
|
||||
enableSquash: "دمج تلقائي (squash)",
|
||||
enableMerge: "دمج تلقائي (merge)",
|
||||
@@ -651,7 +663,7 @@ export const ar: TranslationResources = {
|
||||
disabled: "تم تعطيل الدمج التلقائي",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "عرض PR غير متاح الآن لأن GitHub غير متصل",
|
||||
viewPrNoForge: "عرض {{noun}} غير متاح الآن لأن {{brand}} غير متصل",
|
||||
pullNoRemote: "السحب غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
|
||||
pullDirty: "السحب غير متاح أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||||
pullUpToDate: "السحب غير متاح لأن هذا الفرع محدث بالفعل",
|
||||
@@ -662,8 +674,10 @@ export const ar: TranslationResources = {
|
||||
"السحب والدفع غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
|
||||
pullAndPushDirty:
|
||||
"لا يتوفر السحب والدفع أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||||
pullAndPushNoIncoming: "السحب والدفع غير متاحين لأنه لا توجد تغييرات واردة للسحب أولاً",
|
||||
pullAndPushInSync: "السحب والدفع غير متاح لأن هذا الفرع متزامن بالفعل",
|
||||
createPrNoGithub: "إنشاء PR غير متاح حاليًا لأن GitHub غير متصل",
|
||||
pullAndPushNothingToPush: "السحب والدفع غير متاحين لأنه لا يوجد شيء جديد لإرساله بعد السحب",
|
||||
createPrNoForge: "إنشاء {{noun}} غير متاح حاليًا لأن {{brand}} غير متصل",
|
||||
createPrNoCommits: "إنشاء PR غير متاح لأن هذا الفرع ليس لديه أي التزامات جديدة حتى الآن",
|
||||
mergeNoBase: "الدمج غير متاح لأننا لم نتمكن من تحديد الفرع الأساسي",
|
||||
mergeDirty:
|
||||
@@ -673,13 +687,16 @@ export const ar: TranslationResources = {
|
||||
updateDirty: "التحديث غير متاح أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||||
updateCurrent: "التحديث غير متاح لأن هذا الفرع محدث بالفعل باستخدام{{baseRef}}",
|
||||
mergePrNoGithub: "دمج PR غير متاح الآن لأن GitHub غير متصل",
|
||||
archiveNotWorktree:
|
||||
"الأرشيف غير متاح هنا لأنه لم يتم إنشاء مساحة العمل هذه كشجرة عمل Paseo",
|
||||
mergePrNoForge: "دمج {{noun}} غير متاح الآن لأن {{brand}} غير متصل",
|
||||
mergePrMissing: "دمج PR غير متاح لأنه لا يوجد طلب سحب حتى الآن",
|
||||
mergePrDraft: "دمج PR غير متاح لأن طلب السحب لا يزال مسودة",
|
||||
mergePrMerged: "دمج PR غير متاح لأن طلب السحب مدمج بالفعل",
|
||||
mergePrClosed: "دمج PR غير متاح لأن طلب السحب مغلق",
|
||||
mergePrConflicts: "دمج PR غير متاح لأن طلب السحب به تعارضات",
|
||||
mergePrQueue: "دمج PR غير متاح هنا لأن هذا المستودع يستخدم قائمة انتظار دمج",
|
||||
mergePrNotReady: "دمج PR غير متاح حتى يبلغ GitHub أن طلب السحب جاهز للدمج",
|
||||
mergePrNotReady: "دمج {{noun}} غير متاح حتى يبلغ {{brand}} أن {{noun}} جاهز للدمج",
|
||||
autoMergeCannotDisable: "تم تمكين الدمج التلقائي، ولكن لا يمكن لهذا الحساب تعطيله",
|
||||
},
|
||||
toasts: {
|
||||
@@ -729,7 +746,7 @@ export const ar: TranslationResources = {
|
||||
expandAllFolders: "توسيع كافة المجلدات",
|
||||
refreshing: "منعش",
|
||||
refresh: "ينعش",
|
||||
refreshState: "تحديث بوابة وحالة GitHub",
|
||||
refreshState: "تحديث حالة git و{{brand}}",
|
||||
failedRefresh: "فشل تحديث حالة git.",
|
||||
emptyHiddenWhitespace: "لا توجد تغييرات مرئية بعد إخفاء المسافة البيضاء",
|
||||
emptyUncommitted: "لا توجد تغييرات غير ملتزم بها",
|
||||
@@ -765,13 +782,23 @@ export const ar: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "عرض",
|
||||
openOn: "فتح على {{brand}}",
|
||||
},
|
||||
sections: {
|
||||
checks: "الشيكات",
|
||||
pipeline: "خط المعالجة",
|
||||
reviews: "التعليقات",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "لا توجد مهام",
|
||||
loadingPipeline: "جارٍ تحميل خط المعالجة...",
|
||||
pipelineJobsLoadFailed: "تعذر تحميل مهام خط المعالجة",
|
||||
allowedToFail: "مسموح بالفشل",
|
||||
},
|
||||
approvals: "{{given}} من {{required}} موافقات",
|
||||
accessibility: {
|
||||
pullRequest: "سحب الطلب #{{number}}",
|
||||
pullRequest_mr: "طلب دمج !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "مسودة",
|
||||
@@ -788,11 +815,19 @@ export const ar: TranslationResources = {
|
||||
time: {
|
||||
justNow: "الآن",
|
||||
},
|
||||
thread: {
|
||||
discussion: "سلسلة المناقشة",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "غير قادر على تحميل حالة طلب السحب",
|
||||
activityLoadFailed: "غير قادر على تحميل نشاط طلب السحب",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "ثبّت واجهة سطر الأوامر {{cli}} لاستخدام ميزات {{brand}}.",
|
||||
signIn: "نفّذ {{command}} لاستخدام ميزات {{brand}}.",
|
||||
generic: "قم بإعداد {{brand}} على هذا المضيف لاستخدام ميزاته.",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -924,10 +959,10 @@ export const ar: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "بدء المرجع",
|
||||
chooseStart: "اختر من أين تبدأ",
|
||||
checkoutHint: "تحقق من PR#{{number}}؟",
|
||||
checkoutPr: "تحقق من PR#{{number}}",
|
||||
dismissCheckoutHint: "تجاهل تلميح الخروج PR#{{number}}",
|
||||
intoBase: "إلى{{baseRef}}",
|
||||
checkoutHint: "تحقق من {{noun}} {{numberPrefix}}{{number}}؟",
|
||||
checkoutPr: "تحقق من {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint: "تجاهل تلميح الخروج {{noun}} {{numberPrefix}}{{number}}",
|
||||
intoBase: "إلى {{baseRef}}",
|
||||
searching: "جارٍ البحث...",
|
||||
noMatchingRefs: "لا توجد مراجع مطابقة.",
|
||||
searchPlaceholder: "بحث الفروع والعلاقات العامة",
|
||||
|
||||
@@ -100,6 +100,7 @@ export const en = {
|
||||
addImage: "Add image",
|
||||
addFile: "Upload file",
|
||||
addIssueOrPr: "Add issue or PR",
|
||||
addIssueOrPr_mr: "Add issue or MR",
|
||||
dropImagesHere: "Drop images here",
|
||||
dropFilesHere: "Drop files here",
|
||||
editQueuedMessage: "Edit queued message",
|
||||
@@ -107,8 +108,8 @@ export const en = {
|
||||
openImage: "Open image attachment",
|
||||
removeImage: "Remove image attachment",
|
||||
removeFile: "Remove file attachment",
|
||||
openGithub: "Open {{kind}} #{{number}}",
|
||||
removeGithub: "Remove {{kind}} #{{number}}",
|
||||
openGithub: "Open {{kind}} {{number}}",
|
||||
removeGithub: "Remove {{kind}} {{number}}",
|
||||
element: "Element",
|
||||
openBrowserElement: "Open browser element attachment",
|
||||
removeBrowserElement: "Remove browser element attachment",
|
||||
@@ -132,7 +133,9 @@ export const en = {
|
||||
searching: "Searching...",
|
||||
noResults: "No results found.",
|
||||
searchPlaceholder: "Search issues and PRs...",
|
||||
searchPlaceholder_mr: "Search issues and MRs...",
|
||||
title: "Attach issue or PR",
|
||||
title_mr: "Attach issue or MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -612,10 +615,14 @@ export const en = {
|
||||
success: "Pulled and pushed",
|
||||
},
|
||||
viewPr: "View PR",
|
||||
viewPr_mr: "View MR",
|
||||
createPr: {
|
||||
label: "Create PR",
|
||||
pending: "Creating PR...",
|
||||
success: "PR Created",
|
||||
label_mr: "Create MR",
|
||||
pending_mr: "Creating MR...",
|
||||
success_mr: "MR Created",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "Merge locally",
|
||||
@@ -638,6 +645,11 @@ export const en = {
|
||||
rebase: "Merge PR (rebase)",
|
||||
pending: "Merging PR...",
|
||||
success: "PR merged",
|
||||
squash_mr: "Merge MR (squash)",
|
||||
merge_mr: "Merge MR (merge)",
|
||||
rebase_mr: "Merge MR (rebase)",
|
||||
pending_mr: "Merging MR...",
|
||||
success_mr: "MR merged",
|
||||
},
|
||||
autoMerge: {
|
||||
enableSquash: "Auto merge (squash)",
|
||||
@@ -649,7 +661,8 @@ export const en = {
|
||||
disabled: "Auto-merge disabled",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "View PR isn't available right now because GitHub isn't connected",
|
||||
viewPrNoForge:
|
||||
"View {{noun}} isn't available right now because {{brand}} isn't connected",
|
||||
pullNoRemote:
|
||||
"Pull isn't available here because this branch is not connected to a remote yet",
|
||||
pullDirty:
|
||||
@@ -663,8 +676,13 @@ export const en = {
|
||||
"Pull and push isn't available here because this branch is not connected to a remote yet",
|
||||
pullAndPushDirty:
|
||||
"Pull and push isn't available while you have local changes so commit or stash them first",
|
||||
pullAndPushNoIncoming:
|
||||
"Pull and push isn't available because there are no incoming changes to pull first",
|
||||
pullAndPushInSync: "Pull and push isn't available because this branch is already in sync",
|
||||
createPrNoGithub: "Create PR isn't available right now because GitHub isn't connected",
|
||||
pullAndPushNothingToPush:
|
||||
"Pull and push isn't available because there is nothing new to send after pulling",
|
||||
createPrNoForge:
|
||||
"Create {{noun}} isn't available right now because {{brand}} isn't connected",
|
||||
createPrNoCommits:
|
||||
"Create PR isn't available because this branch doesn't have any new commits yet",
|
||||
mergeNoBase: "Merge isn't available because we couldn't determine the base branch",
|
||||
@@ -678,6 +696,10 @@ export const en = {
|
||||
updateCurrent:
|
||||
"Update isn't available because this branch is already up to date with {{baseRef}}",
|
||||
mergePrNoGithub: "Merge PR isn't available right now because GitHub isn't connected",
|
||||
archiveNotWorktree:
|
||||
"Archive isn't available here because this workspace was not created as a Paseo worktree",
|
||||
mergePrNoForge:
|
||||
"Merge {{noun}} isn't available right now because {{brand}} isn't connected",
|
||||
mergePrMissing: "Merge PR isn't available because there isn't a pull request yet",
|
||||
mergePrDraft: "Merge PR isn't available because the pull request is still a draft",
|
||||
mergePrMerged: "Merge PR isn't available because the pull request is already merged",
|
||||
@@ -685,7 +707,7 @@ export const en = {
|
||||
mergePrConflicts: "Merge PR isn't available because the pull request has conflicts",
|
||||
mergePrQueue: "Merge PR isn't available here because this repository uses a merge queue",
|
||||
mergePrNotReady:
|
||||
"Merge PR isn't available until GitHub reports the pull request is ready to merge",
|
||||
"Merge {{noun}} isn't available until {{brand}} reports the {{noun}} is ready to merge",
|
||||
autoMergeCannotDisable: "Auto-merge is enabled, but this account can't disable it",
|
||||
},
|
||||
toasts: {
|
||||
@@ -735,7 +757,7 @@ export const en = {
|
||||
expandAllFolders: "Expand all folders",
|
||||
refreshing: "Refreshing",
|
||||
refresh: "Refresh",
|
||||
refreshState: "Refresh git and GitHub state",
|
||||
refreshState: "Refresh git and {{brand}} state",
|
||||
failedRefresh: "Failed to refresh git state.",
|
||||
emptyHiddenWhitespace: "No visible changes after hiding whitespace",
|
||||
emptyUncommitted: "No uncommitted changes",
|
||||
@@ -771,13 +793,23 @@ export const en = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "View",
|
||||
openOn: "Open on {{brand}}",
|
||||
},
|
||||
sections: {
|
||||
checks: "Checks",
|
||||
pipeline: "Pipeline",
|
||||
reviews: "Reviews",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "No jobs",
|
||||
loadingPipeline: "Loading pipeline…",
|
||||
pipelineJobsLoadFailed: "Could not load pipeline jobs",
|
||||
allowedToFail: "allowed to fail",
|
||||
},
|
||||
approvals: "{{given}} of {{required}} approvals",
|
||||
accessibility: {
|
||||
pullRequest: "Pull request #{{number}}",
|
||||
pullRequest_mr: "Merge request !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "Draft",
|
||||
@@ -794,11 +826,19 @@ export const en = {
|
||||
time: {
|
||||
justNow: "just now",
|
||||
},
|
||||
thread: {
|
||||
discussion: "Discussion thread",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "Unable to load pull request status",
|
||||
activityLoadFailed: "Unable to load pull request activity",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "Install the {{cli}} CLI to use {{brand}} features.",
|
||||
signIn: "Run {{command}} to use {{brand}} features.",
|
||||
generic: "Set up {{brand}} on this host to use its features.",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -930,9 +970,9 @@ export const en = {
|
||||
refPicker: {
|
||||
startingRef: "Starting ref",
|
||||
chooseStart: "Choose where to start from",
|
||||
checkoutHint: "Check out PR #{{number}}?",
|
||||
checkoutPr: "Check out PR #{{number}}",
|
||||
dismissCheckoutHint: "Dismiss PR #{{number}} checkout hint",
|
||||
checkoutHint: "Check out {{noun}} {{numberPrefix}}{{number}}?",
|
||||
checkoutPr: "Check out {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint: "Dismiss {{noun}} {{numberPrefix}}{{number}} checkout hint",
|
||||
intoBase: "into {{baseRef}}",
|
||||
searching: "Searching...",
|
||||
noMatchingRefs: "No matching refs.",
|
||||
|
||||
@@ -102,6 +102,7 @@ export const es: TranslationResources = {
|
||||
addImage: "Agregar imagen",
|
||||
addFile: "Upload file",
|
||||
addIssueOrPr: "Agregar problema oPR",
|
||||
addIssueOrPr_mr: "Agregar problema o MR",
|
||||
dropImagesHere: "Suelta imágenes aquí",
|
||||
dropFilesHere: "Drop files here",
|
||||
editQueuedMessage: "Editar mensaje en cola",
|
||||
@@ -109,8 +110,8 @@ export const es: TranslationResources = {
|
||||
openImage: "Abrir imagen adjunta",
|
||||
removeImage: "Quitar imagen adjunta",
|
||||
removeFile: "Remove file attachment",
|
||||
openGithub: "Abrir{{kind}}#{{number}}",
|
||||
removeGithub: "Quitar{{kind}}#{{number}}",
|
||||
openGithub: "Abrir {{kind}} {{number}}",
|
||||
removeGithub: "Quitar {{kind}} {{number}}",
|
||||
element: "Elemento",
|
||||
openBrowserElement: "Abrir archivo adjunto de elemento del navegador",
|
||||
removeBrowserElement: "Eliminar el archivo adjunto del elemento del navegador",
|
||||
@@ -134,7 +135,9 @@ export const es: TranslationResources = {
|
||||
searching: "Búsqueda...",
|
||||
noResults: "No se encontraron resultados.",
|
||||
searchPlaceholder: "Problemas de búsqueda y relaciones públicas...",
|
||||
searchPlaceholder_mr: "Problemas de búsqueda y MRs...",
|
||||
title: "Adjuntar problema oPR",
|
||||
title_mr: "Adjuntar problema o MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -624,6 +627,9 @@ export const es: TranslationResources = {
|
||||
label: "CrearPR",
|
||||
pending: "CreandoPR...",
|
||||
success: "PRcreado",
|
||||
label_mr: "Crear MR",
|
||||
pending_mr: "Creando MR...",
|
||||
success_mr: "MR creado",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "Fusionar localmente",
|
||||
@@ -646,7 +652,13 @@ export const es: TranslationResources = {
|
||||
rebase: "Fusionar PR (rebase)",
|
||||
pending: "Fusionando PR...",
|
||||
success: "PR fusionado",
|
||||
squash_mr: "Fusionar MR (squash)",
|
||||
merge_mr: "Fusionar MR (merge)",
|
||||
rebase_mr: "Fusionar MR (rebase)",
|
||||
pending_mr: "Fusionando MR...",
|
||||
success_mr: "MR fusionado",
|
||||
},
|
||||
viewPr_mr: "Ver MR",
|
||||
autoMerge: {
|
||||
enableSquash: "Fusión automática (squash)",
|
||||
enableMerge: "Fusión automática (merge)",
|
||||
@@ -657,7 +669,8 @@ export const es: TranslationResources = {
|
||||
disabled: "Fusión automática deshabilitada",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "VerPRno está disponible en este momento porqueGitHubno está conectado",
|
||||
viewPrNoForge:
|
||||
"Ver {{noun}} no está disponible en este momento porque {{brand}} no está conectado",
|
||||
pullNoRemote:
|
||||
"Pull no está disponible aquí porque esta rama aún no está conectada a un control remoto",
|
||||
pullDirty:
|
||||
@@ -672,10 +685,14 @@ export const es: TranslationResources = {
|
||||
"Tirar y empujar no está disponible aquí porque esta rama aún no está conectada a un control remoto",
|
||||
pullAndPushDirty:
|
||||
"Tirar y empujar no está disponible mientras tenga cambios locales, así que confírmelos o guárdelos primero",
|
||||
pullAndPushNoIncoming:
|
||||
"Pull and push no está disponible porque no hay cambios entrantes que traer primero",
|
||||
pullAndPushInSync:
|
||||
"Pull and push no está disponible porque esta rama ya está sincronizada",
|
||||
createPrNoGithub:
|
||||
"CrearPRno está disponible en este momento porqueGitHubno está conectado",
|
||||
pullAndPushNothingToPush:
|
||||
"Pull and push no está disponible porque no hay nada nuevo que enviar después de pull",
|
||||
createPrNoForge:
|
||||
"Crear {{noun}} no está disponible en este momento porque {{brand}} no está conectado",
|
||||
createPrNoCommits:
|
||||
"CrearPRno está disponible porque esta rama aún no tiene nuevas confirmaciones",
|
||||
mergeNoBase:
|
||||
@@ -692,6 +709,10 @@ export const es: TranslationResources = {
|
||||
"La actualización no está disponible porque esta rama ya está actualizada con{{baseRef}}",
|
||||
mergePrNoGithub:
|
||||
"FusionarPRno está disponible en este momento porqueGitHubno está conectado",
|
||||
archiveNotWorktree:
|
||||
"El archivo no está disponible aquí porque este espacio de trabajo no se creó como un árbol de trabajoPaseo",
|
||||
mergePrNoForge:
|
||||
"Fusionar {{noun}} no está disponible en este momento porque {{brand}} no está conectado",
|
||||
mergePrMissing:
|
||||
"FusionarPRno está disponible porque aún no hay una solicitud de extracción",
|
||||
mergePrDraft:
|
||||
@@ -705,7 +726,7 @@ export const es: TranslationResources = {
|
||||
mergePrQueue:
|
||||
"FusionarPRno está disponible aquí porque este repositorio utiliza una cola de fusión",
|
||||
mergePrNotReady:
|
||||
"FusionarPRno está disponible hasta queGitHubinforme que la solicitud de extracción está lista para fusionarse",
|
||||
"Fusionar {{noun}} no está disponible hasta que {{brand}} informe que {{noun}} está listo para fusionarse",
|
||||
autoMergeCannotDisable:
|
||||
"La combinación automática está habilitada, pero esta cuenta no puede deshabilitarla",
|
||||
},
|
||||
@@ -756,7 +777,7 @@ export const es: TranslationResources = {
|
||||
expandAllFolders: "Expandir todas las carpetas",
|
||||
refreshing: "Refrescante",
|
||||
refresh: "Refrescar",
|
||||
refreshState: "Actualizar el estado de git yGitHub",
|
||||
refreshState: "Actualizar el estado de git y {{brand}}",
|
||||
failedRefresh: "No se pudo actualizar el estado de git.",
|
||||
emptyHiddenWhitespace: "No hay cambios visibles después de ocultar espacios en blanco",
|
||||
emptyUncommitted: "Sin cambios no confirmados",
|
||||
@@ -792,13 +813,23 @@ export const es: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "Ver",
|
||||
openOn: "Abrir en {{brand}}",
|
||||
},
|
||||
sections: {
|
||||
checks: "cheques",
|
||||
pipeline: "Pipeline",
|
||||
reviews: "Reseñas",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "Sin trabajos",
|
||||
loadingPipeline: "Cargando pipeline...",
|
||||
pipelineJobsLoadFailed: "No se pudieron cargar los trabajos del pipeline",
|
||||
allowedToFail: "permitido fallar",
|
||||
},
|
||||
approvals: "{{given}} de {{required}} aprobaciones",
|
||||
accessibility: {
|
||||
pullRequest: "Solicitud de extracción n.°{{number}}",
|
||||
pullRequest_mr: "Solicitud de fusión !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "Borrador",
|
||||
@@ -815,11 +846,19 @@ export const es: TranslationResources = {
|
||||
time: {
|
||||
justNow: "En este momento",
|
||||
},
|
||||
thread: {
|
||||
discussion: "Hilo de discusión",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "No se puede cargar el estado de la solicitud de extracción",
|
||||
activityLoadFailed: "No se puede cargar la actividad de solicitud de extracción",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "Instala la CLI de {{cli}} para usar las funciones de {{brand}}.",
|
||||
signIn: "Ejecuta {{command}} para usar las funciones de {{brand}}.",
|
||||
generic: "Configura {{brand}} en este host para usar sus funciones.",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -951,10 +990,10 @@ export const es: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "Árbitro inicial",
|
||||
chooseStart: "Elige por dónde empezar",
|
||||
checkoutHint: "¿MiraPR#{{number}}?",
|
||||
checkoutPr: "Echa un vistazo aPR#{{number}}",
|
||||
dismissCheckoutHint: "Descartar la sugerencia de pago dePR#{{number}}",
|
||||
intoBase: "en{{baseRef}}",
|
||||
checkoutHint: "¿Mira {{noun}} {{numberPrefix}}{{number}}?",
|
||||
checkoutPr: "Echa un vistazo a {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint: "Descartar la sugerencia de pago de {{noun}} {{numberPrefix}}{{number}}",
|
||||
intoBase: "en {{baseRef}}",
|
||||
searching: "Búsqueda...",
|
||||
noMatchingRefs: "No hay árbitros coincidentes.",
|
||||
searchPlaceholder: "Buscar sucursales y relaciones públicas",
|
||||
|
||||
@@ -103,6 +103,7 @@ export const fr: TranslationResources = {
|
||||
addImage: "Ajouter une image",
|
||||
addFile: "Upload file",
|
||||
addIssueOrPr: "Ajouter un problème ouPR",
|
||||
addIssueOrPr_mr: "Ajouter un problème ou MR",
|
||||
dropImagesHere: "Déposez des images ici",
|
||||
dropFilesHere: "Drop files here",
|
||||
editQueuedMessage: "Modifier le message en file d'attente",
|
||||
@@ -110,8 +111,8 @@ export const fr: TranslationResources = {
|
||||
openImage: "Ouvrir la pièce jointe de l'image",
|
||||
removeImage: "Supprimer l'image jointe",
|
||||
removeFile: "Remove file attachment",
|
||||
openGithub: "Ouvrir{{kind}}#{{number}}",
|
||||
removeGithub: "Supprimer{{kind}}#{{number}}",
|
||||
openGithub: "Ouvrir {{kind}} {{number}}",
|
||||
removeGithub: "Supprimer {{kind}} {{number}}",
|
||||
element: "Élément",
|
||||
openBrowserElement: "Ouvrir la pièce jointe de l'élément de navigateur",
|
||||
removeBrowserElement: "Supprimer la pièce jointe d'un élément de navigateur",
|
||||
@@ -135,7 +136,9 @@ export const fr: TranslationResources = {
|
||||
searching: "Recherche...",
|
||||
noResults: "Aucun résultat trouvé.",
|
||||
searchPlaceholder: "Problèmes de recherche et PR...",
|
||||
searchPlaceholder_mr: "Problèmes de recherche et MR...",
|
||||
title: "Joindre le problème ouPR",
|
||||
title_mr: "Joindre le problème ou MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -623,6 +626,9 @@ export const fr: TranslationResources = {
|
||||
label: "CréerPR",
|
||||
pending: "Création dePR...",
|
||||
success: "PRcréé",
|
||||
label_mr: "Créer MR",
|
||||
pending_mr: "Création de MR...",
|
||||
success_mr: "MR créé",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "Fusionner localement",
|
||||
@@ -645,7 +651,13 @@ export const fr: TranslationResources = {
|
||||
rebase: "Fusionner PR (rebase)",
|
||||
pending: "Fusion de PR...",
|
||||
success: "PR fusionné",
|
||||
squash_mr: "Fusionner MR (squash)",
|
||||
merge_mr: "Fusionner MR (merge)",
|
||||
rebase_mr: "Fusionner MR (rebase)",
|
||||
pending_mr: "Fusion de MR...",
|
||||
success_mr: "MR fusionné",
|
||||
},
|
||||
viewPr_mr: "Voir MR",
|
||||
autoMerge: {
|
||||
enableSquash: "Fusion automatique (squash)",
|
||||
enableMerge: "Fusion automatique (merge)",
|
||||
@@ -656,7 +668,8 @@ export const fr: TranslationResources = {
|
||||
disabled: "Fusion automatique désactivée",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "ViewPRn'est pas disponible pour le moment carGitHubn'est pas connecté",
|
||||
viewPrNoForge:
|
||||
"Voir {{noun}} n'est pas disponible pour le moment car {{brand}} n'est pas connecté",
|
||||
pullNoRemote:
|
||||
"Pull n'est pas disponible ici car cette branche n'est pas encore connectée à une télécommande",
|
||||
pullDirty:
|
||||
@@ -671,10 +684,14 @@ export const fr: TranslationResources = {
|
||||
"Le pull et le push ne sont pas disponibles ici car cette branche n'est pas encore connectée à une télécommande",
|
||||
pullAndPushDirty:
|
||||
"Pull et push ne sont pas disponibles tant que vous avez des modifications locales, alors validez-les ou cachez-les d'abord",
|
||||
pullAndPushNoIncoming:
|
||||
"Pull et push ne sont pas disponibles car il n'y a aucun changement entrant à récupérer d'abord",
|
||||
pullAndPushInSync:
|
||||
"Les fonctions Pull et Push ne sont pas disponibles car cette branche est déjà synchronisée",
|
||||
createPrNoGithub:
|
||||
"CréerPRn'est pas disponible pour le moment carGitHubn'est pas connecté",
|
||||
pullAndPushNothingToPush:
|
||||
"Pull et push ne sont pas disponibles car il n'y a rien de nouveau à envoyer après le pull",
|
||||
createPrNoForge:
|
||||
"Créer {{noun}} n'est pas disponible pour le moment car {{brand}} n'est pas connecté",
|
||||
createPrNoCommits:
|
||||
"CréerPRn'est pas disponible car cette branche n'a pas encore de nouveaux commits",
|
||||
mergeNoBase:
|
||||
@@ -691,6 +708,10 @@ export const fr: TranslationResources = {
|
||||
"La mise à jour n'est pas disponible car cette branche est déjà à jour avec{{baseRef}}",
|
||||
mergePrNoGithub:
|
||||
"La fusionPRn'est pas disponible pour le moment carGitHubn'est pas connecté",
|
||||
archiveNotWorktree:
|
||||
"L'archive n'est pas disponible ici car cet espace de travail n'a pas été créé en tant qu'arbre de travailPaseo",
|
||||
mergePrNoForge:
|
||||
"La fusion {{noun}} n'est pas disponible pour le moment car {{brand}} n'est pas connecté",
|
||||
mergePrMissing:
|
||||
"La fusionPRn'est pas disponible car il n'y a pas encore de demande d'extraction",
|
||||
mergePrDraft:
|
||||
@@ -703,7 +724,7 @@ export const fr: TranslationResources = {
|
||||
mergePrQueue:
|
||||
"MergePRn'est pas disponible ici car ce référentiel utilise une file d'attente de fusion",
|
||||
mergePrNotReady:
|
||||
"La fusionPRn'est pas disponible jusqu'à ce queGitHubsignale que la demande d'extraction est prête à fusionner",
|
||||
"La fusion {{noun}} n'est pas disponible jusqu'à ce que {{brand}} signale que {{noun}} est prête à fusionner",
|
||||
autoMergeCannotDisable:
|
||||
"La fusion automatique est activée, mais ce compte ne peut pas la désactiver",
|
||||
},
|
||||
@@ -754,7 +775,7 @@ export const fr: TranslationResources = {
|
||||
expandAllFolders: "Développer tous les dossiers",
|
||||
refreshing: "Rafraîchissant",
|
||||
refresh: "Rafraîchir",
|
||||
refreshState: "Actualiser l'état de git etGitHub",
|
||||
refreshState: "Actualiser l'état de git et de {{brand}}",
|
||||
failedRefresh: "Échec de l'actualisation de l'état git.",
|
||||
emptyHiddenWhitespace: "Aucun changement visible après avoir masqué les espaces",
|
||||
emptyUncommitted: "Aucune modification non validée",
|
||||
@@ -790,13 +811,23 @@ export const fr: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "Voir",
|
||||
openOn: "Ouvrir sur {{brand}}",
|
||||
},
|
||||
sections: {
|
||||
checks: "Chèques",
|
||||
pipeline: "Pipeline",
|
||||
reviews: "Avis",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "Aucune tâche",
|
||||
loadingPipeline: "Chargement du pipeline...",
|
||||
pipelineJobsLoadFailed: "Impossible de charger les tâches du pipeline",
|
||||
allowedToFail: "autorisé à échouer",
|
||||
},
|
||||
approvals: "{{given}} sur {{required}} approbations",
|
||||
accessibility: {
|
||||
pullRequest: "Demande de tirage #{{number}}",
|
||||
pullRequest_mr: "Demande de fusion !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "Brouillon",
|
||||
@@ -813,11 +844,19 @@ export const fr: TranslationResources = {
|
||||
time: {
|
||||
justNow: "tout à l' heure",
|
||||
},
|
||||
thread: {
|
||||
discussion: "Fil de discussion",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "Impossible de charger le statut de la demande d'extraction",
|
||||
activityLoadFailed: "Impossible de charger l'activité de demande d'extraction",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "Installez la CLI {{cli}} pour utiliser les fonctionnalités {{brand}}.",
|
||||
signIn: "Exécutez {{command}} pour utiliser les fonctionnalités {{brand}}.",
|
||||
generic: "Configurez {{brand}} sur cet hôte pour utiliser ses fonctionnalités.",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -949,10 +988,10 @@ export const fr: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "Réf de départ",
|
||||
chooseStart: "Choisissez par où commencer",
|
||||
checkoutHint: "DécouvrezPR#{{number}}?",
|
||||
checkoutPr: "DécouvrezPR#{{number}}",
|
||||
dismissCheckoutHint: "Ignorer l'indice de paiementPR#{{number}}",
|
||||
intoBase: "dans{{baseRef}}",
|
||||
checkoutHint: "Découvrez {{noun}} {{numberPrefix}}{{number}} ?",
|
||||
checkoutPr: "Découvrez {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint: "Ignorer l'indice de paiement {{noun}} {{numberPrefix}}{{number}}",
|
||||
intoBase: "dans {{baseRef}}",
|
||||
searching: "Recherche...",
|
||||
noMatchingRefs: "Aucune référence correspondante.",
|
||||
searchPlaceholder: "Rechercher des succursales et des PR",
|
||||
|
||||
@@ -102,6 +102,7 @@ export const ja: TranslationResources = {
|
||||
addImage: "画像を追加",
|
||||
addFile: "ファイルをアップロード",
|
||||
addIssueOrPr: "イシューまたはPRを追加",
|
||||
addIssueOrPr_mr: "イシューまたはMRを追加",
|
||||
dropImagesHere: "ここに画像をドロップ",
|
||||
dropFilesHere: "ここにファイルをドロップ",
|
||||
editQueuedMessage: "キューに入れたメッセージを編集",
|
||||
@@ -109,8 +110,8 @@ export const ja: TranslationResources = {
|
||||
openImage: "画像添付ファイルを開く",
|
||||
removeImage: "画像添付ファイルを削除",
|
||||
removeFile: "ファイル添付ファイルを削除",
|
||||
openGithub: "{{kind}} #{{number}}を開く",
|
||||
removeGithub: "{{kind}} #{{number}}を削除",
|
||||
openGithub: "{{kind}} {{number}}を開く",
|
||||
removeGithub: "{{kind}} {{number}}を削除",
|
||||
element: "要素",
|
||||
openBrowserElement: "ブラウザ要素の添付ファイルを開く",
|
||||
removeBrowserElement: "ブラウザ要素の添付ファイルを削除",
|
||||
@@ -134,7 +135,9 @@ export const ja: TranslationResources = {
|
||||
searching: "検索中...",
|
||||
noResults: "結果が見つかりません。",
|
||||
searchPlaceholder: "イシューとPRを検索...",
|
||||
searchPlaceholder_mr: "イシューとMRを検索...",
|
||||
title: "イシューまたはPRを添付",
|
||||
title_mr: "イシューまたはMRを添付",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -622,6 +625,9 @@ export const ja: TranslationResources = {
|
||||
label: "PRを作成",
|
||||
pending: "PRを作成中...",
|
||||
success: "PRが作成されました",
|
||||
label_mr: "MRを作成",
|
||||
pending_mr: "MRを作成中...",
|
||||
success_mr: "MRが作成されました",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "ローカルでマージ",
|
||||
@@ -644,7 +650,13 @@ export const ja: TranslationResources = {
|
||||
rebase: "PRをマージ(リベース)",
|
||||
pending: "PRをマージ中...",
|
||||
success: "PRがマージされました",
|
||||
squash_mr: "MRをマージ(スカッシュ)",
|
||||
merge_mr: "MRをマージ(マージ)",
|
||||
rebase_mr: "MRをマージ(リベース)",
|
||||
pending_mr: "MRをマージ中...",
|
||||
success_mr: "MRがマージされました",
|
||||
},
|
||||
viewPr_mr: "MRを表示",
|
||||
autoMerge: {
|
||||
enableSquash: "自動マージ(スカッシュ)",
|
||||
enableMerge: "自動マージ(マージ)",
|
||||
@@ -655,7 +667,7 @@ export const ja: TranslationResources = {
|
||||
disabled: "自動マージが無効になりました",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "GitHubが接続されていないため、PRの表示は現在利用できません",
|
||||
viewPrNoForge: "{{brand}}が接続されていないため、{{noun}}の表示は現在利用できません",
|
||||
pullNoRemote:
|
||||
"このブランチはまだリモートに接続されていないため、プルはここでは利用できません",
|
||||
pullDirty:
|
||||
@@ -669,9 +681,12 @@ export const ja: TranslationResources = {
|
||||
"このブランチはまだリモートに接続されていないため、プル&プッシュはここでは利用できません",
|
||||
pullAndPushDirty:
|
||||
"ローカルに変更があるためプル&プッシュは利用できません。先にコミットまたはスタッシュしてください",
|
||||
pullAndPushNoIncoming: "先にプルする受信変更がないため、プル&プッシュは利用できません",
|
||||
pullAndPushInSync:
|
||||
"このブランチはすでに同期されているため、プル&プッシュは利用できません",
|
||||
createPrNoGithub: "GitHubが接続されていないため、PRの作成は現在利用できません",
|
||||
pullAndPushNothingToPush:
|
||||
"プル後に送信する新しい変更がないため、プル&プッシュは利用できません",
|
||||
createPrNoForge: "{{brand}}が接続されていないため、{{noun}}の作成は現在利用できません",
|
||||
createPrNoCommits: "このブランチにまだ新しいコミットがないため、PRの作成は利用できません",
|
||||
mergeNoBase: "ベースブランチを特定できなかったため、マージは利用できません",
|
||||
mergeDirty:
|
||||
@@ -682,6 +697,9 @@ export const ja: TranslationResources = {
|
||||
"ローカルに変更があるため更新は利用できません。先にコミットまたはスタッシュしてください",
|
||||
updateCurrent: "このブランチはすでに{{baseRef}}と最新の状態のため、更新は利用できません",
|
||||
mergePrNoGithub: "GitHubが接続されていないため、PRのマージは現在利用できません",
|
||||
archiveNotWorktree:
|
||||
"このワークスペースはPaseoワークツリーとして作成されていないため、アーカイブはここでは利用できません",
|
||||
mergePrNoForge: "{{brand}}が接続されていないため、{{noun}}のマージは現在利用できません",
|
||||
mergePrMissing: "プルリクエストがまだないため、PRのマージは利用できません",
|
||||
mergePrDraft: "プルリクエストがまだドラフトのため、PRのマージは利用できません",
|
||||
mergePrMerged: "プルリクエストはすでにマージされているため、PRのマージは利用できません",
|
||||
@@ -690,7 +708,7 @@ export const ja: TranslationResources = {
|
||||
mergePrQueue:
|
||||
"このリポジトリはマージキューを使用しているため、PRのマージはここでは利用できません",
|
||||
mergePrNotReady:
|
||||
"GitHub上でプルリクエストがマージ可能になるまで、PRのマージは利用できません",
|
||||
"{{brand}}上で{{noun}}がマージ可能になるまで、{{noun}}のマージは利用できません",
|
||||
autoMergeCannotDisable:
|
||||
"自動マージは有効になっていますが、このアカウントでは無効にできません",
|
||||
},
|
||||
@@ -741,7 +759,7 @@ export const ja: TranslationResources = {
|
||||
expandAllFolders: "すべてのフォルダを展開",
|
||||
refreshing: "更新中",
|
||||
refresh: "更新",
|
||||
refreshState: "gitとGitHubの状態を更新",
|
||||
refreshState: "gitと{{brand}}の状態を更新",
|
||||
failedRefresh: "gitの状態の更新に失敗しました。",
|
||||
emptyHiddenWhitespace: "空白を非表示にすると変更は表示されません",
|
||||
emptyUncommitted: "未コミットの変更なし",
|
||||
@@ -777,13 +795,23 @@ export const ja: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "表示",
|
||||
openOn: "{{brand}}で開く",
|
||||
},
|
||||
sections: {
|
||||
checks: "チェック",
|
||||
pipeline: "パイプライン",
|
||||
reviews: "レビュー",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "ジョブなし",
|
||||
loadingPipeline: "パイプラインを読み込み中...",
|
||||
pipelineJobsLoadFailed: "パイプラインのジョブを読み込めませんでした",
|
||||
allowedToFail: "失敗を許可",
|
||||
},
|
||||
approvals: "{{given}} / {{required}} 承認",
|
||||
accessibility: {
|
||||
pullRequest: "プルリクエスト#{{number}}",
|
||||
pullRequest_mr: "マージリクエスト !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "ドラフト",
|
||||
@@ -800,11 +828,19 @@ export const ja: TranslationResources = {
|
||||
time: {
|
||||
justNow: "たった今",
|
||||
},
|
||||
thread: {
|
||||
discussion: "ディスカッションスレッド",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "プルリクエストのステータスを読み込めません",
|
||||
activityLoadFailed: "プルリクエストのアクティビティを読み込めません",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "{{brand}} の機能を使うには {{cli}} CLI をインストールしてください。",
|
||||
signIn: "{{brand}} の機能を使うには {{command}} を実行してください。",
|
||||
generic: "このホストで {{brand}} をセットアップすると、その機能を使えます。",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -936,9 +972,9 @@ export const ja: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "開始Ref",
|
||||
chooseStart: "開始点を選択",
|
||||
checkoutHint: "PR #{{number}}をチェックアウトしますか?",
|
||||
checkoutPr: "PR #{{number}}をチェックアウト",
|
||||
dismissCheckoutHint: "PR #{{number}}のチェックアウトヒントを閉じる",
|
||||
checkoutHint: "{{noun}} {{numberPrefix}}{{number}}をチェックアウトしますか?",
|
||||
checkoutPr: "{{noun}} {{numberPrefix}}{{number}}をチェックアウト",
|
||||
dismissCheckoutHint: "{{noun}} {{numberPrefix}}{{number}}のチェックアウトヒントを閉じる",
|
||||
intoBase: "{{baseRef}}に",
|
||||
searching: "検索中...",
|
||||
noMatchingRefs: "一致するRefがありません。",
|
||||
|
||||
@@ -102,6 +102,7 @@ export const ptBR: TranslationResources = {
|
||||
addImage: "Adicionar imagem",
|
||||
addFile: "Enviar arquivo",
|
||||
addIssueOrPr: "Adicionar issue ou PR",
|
||||
addIssueOrPr_mr: "Adicionar issue ou MR",
|
||||
dropImagesHere: "Solte imagens aqui",
|
||||
dropFilesHere: "Solte arquivos aqui",
|
||||
editQueuedMessage: "Editar mensagem na fila",
|
||||
@@ -109,8 +110,8 @@ export const ptBR: TranslationResources = {
|
||||
openImage: "Abrir anexo de imagem",
|
||||
removeImage: "Remover anexo de imagem",
|
||||
removeFile: "Remover anexo de arquivo",
|
||||
openGithub: "Abrir {{kind}} #{{number}}",
|
||||
removeGithub: "Remover {{kind}} #{{number}}",
|
||||
openGithub: "Abrir {{kind}} {{number}}",
|
||||
removeGithub: "Remover {{kind}} {{number}}",
|
||||
element: "Elemento",
|
||||
openBrowserElement: "Abrir anexo de elemento do navegador",
|
||||
removeBrowserElement: "Remover anexo de elemento do navegador",
|
||||
@@ -134,7 +135,9 @@ export const ptBR: TranslationResources = {
|
||||
searching: "Buscando...",
|
||||
noResults: "Nenhum resultado encontrado.",
|
||||
searchPlaceholder: "Buscar issues e PRs...",
|
||||
searchPlaceholder_mr: "Buscar issues e MRs...",
|
||||
title: "Anexar issue ou PR",
|
||||
title_mr: "Anexar issue ou MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -622,6 +625,9 @@ export const ptBR: TranslationResources = {
|
||||
label: "Criar PR",
|
||||
pending: "Criando PR...",
|
||||
success: "PR criada",
|
||||
label_mr: "Criar MR",
|
||||
pending_mr: "Criando MR...",
|
||||
success_mr: "MR criada",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "Fazer merge localmente",
|
||||
@@ -644,7 +650,13 @@ export const ptBR: TranslationResources = {
|
||||
rebase: "Merge",
|
||||
pending: "Fazendo merge da PR...",
|
||||
success: "PR mergeada",
|
||||
squash_mr: "Merge",
|
||||
merge_mr: "Merge",
|
||||
rebase_mr: "Merge",
|
||||
pending_mr: "Fazendo merge da MR...",
|
||||
success_mr: "MR mergeada",
|
||||
},
|
||||
viewPr_mr: "Ver MR",
|
||||
autoMerge: {
|
||||
enableSquash: "Merge automático",
|
||||
enableMerge: "Merge automático",
|
||||
@@ -655,7 +667,8 @@ export const ptBR: TranslationResources = {
|
||||
disabled: "Merge automático desativado",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "Ver PR não está disponível agora porque o GitHub não está conectado",
|
||||
viewPrNoForge:
|
||||
"Ver {{noun}} não está disponível agora porque o {{brand}} não está conectado",
|
||||
pullNoRemote:
|
||||
"Pull não está disponível aqui porque esta branch ainda não está conectada a um remoto",
|
||||
pullDirty:
|
||||
@@ -670,9 +683,14 @@ export const ptBR: TranslationResources = {
|
||||
"Pull e push não estão disponíveis aqui porque esta branch ainda não está conectada a um remoto",
|
||||
pullAndPushDirty:
|
||||
"Pull e push não estão disponíveis enquanto há alterações locais. Faça commit ou stash primeiro",
|
||||
pullAndPushNoIncoming:
|
||||
"Pull e push não estão disponíveis porque não há alterações de entrada para puxar primeiro",
|
||||
pullAndPushInSync:
|
||||
"Pull e push não estão disponíveis porque esta branch já está sincronizada",
|
||||
createPrNoGithub: "Criar PR não está disponível agora porque o GitHub não está conectado",
|
||||
pullAndPushNothingToPush:
|
||||
"Pull e push não estão disponíveis porque não há nada novo para enviar depois do pull",
|
||||
createPrNoForge:
|
||||
"Criar {{noun}} não está disponível agora porque o {{brand}} não está conectado",
|
||||
createPrNoCommits:
|
||||
"Criar PR não está disponível porque esta branch ainda não tem commits novos",
|
||||
mergeNoBase: "Merge não está disponível porque não foi possível determinar a branch base",
|
||||
@@ -688,6 +706,10 @@ export const ptBR: TranslationResources = {
|
||||
"Atualizar não está disponível porque esta branch já está atualizada com {{baseRef}}",
|
||||
mergePrNoGithub:
|
||||
"Merge da PR não está disponível agora porque o GitHub não está conectado",
|
||||
archiveNotWorktree:
|
||||
"Arquivar não está disponível aqui porque este workspace não foi criado como um worktree do Paseo",
|
||||
mergePrNoForge:
|
||||
"Merge da {{noun}} não está disponível agora porque o {{brand}} não está conectado",
|
||||
mergePrMissing: "Merge da PR não está disponível porque ainda não há uma pull request",
|
||||
mergePrDraft: "Merge da PR não está disponível porque a pull request ainda é um rascunho",
|
||||
mergePrMerged: "Merge da PR não está disponível porque a pull request já foi mergeada",
|
||||
@@ -696,7 +718,7 @@ export const ptBR: TranslationResources = {
|
||||
mergePrQueue:
|
||||
"Merge da PR não está disponível aqui porque este repositório usa uma merge queue",
|
||||
mergePrNotReady:
|
||||
"Merge da PR não está disponível até o GitHub informar que a pull request está pronta para merge",
|
||||
"Merge da {{noun}} não está disponível até o {{brand}} informar que a {{noun}} está pronta para merge",
|
||||
autoMergeCannotDisable:
|
||||
"O merge automático está ativado, mas esta conta não pode desativá-lo",
|
||||
},
|
||||
@@ -747,7 +769,7 @@ export const ptBR: TranslationResources = {
|
||||
expandAllFolders: "Expandir todas as pastas",
|
||||
refreshing: "Atualizando",
|
||||
refresh: "Atualizar",
|
||||
refreshState: "Atualizar estado do git e do GitHub",
|
||||
refreshState: "Atualizar estado do git e do {{brand}}",
|
||||
failedRefresh: "Falha ao atualizar estado do git.",
|
||||
emptyHiddenWhitespace: "Nenhuma alteração visível após ocultar espaços em branco",
|
||||
emptyUncommitted: "Nenhuma alteração sem commit",
|
||||
@@ -783,13 +805,23 @@ export const ptBR: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "Ver",
|
||||
openOn: "Abrir no {{brand}}",
|
||||
},
|
||||
sections: {
|
||||
checks: "Verificações",
|
||||
pipeline: "Pipeline",
|
||||
reviews: "Revisões",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "Sem jobs",
|
||||
loadingPipeline: "Carregando pipeline...",
|
||||
pipelineJobsLoadFailed: "Não foi possível carregar os jobs do pipeline",
|
||||
allowedToFail: "permitido falhar",
|
||||
},
|
||||
approvals: "{{given}} de {{required}} aprovações",
|
||||
accessibility: {
|
||||
pullRequest: "Pull request #{{number}}",
|
||||
pullRequest_mr: "Merge request !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "Rascunho",
|
||||
@@ -806,11 +838,19 @@ export const ptBR: TranslationResources = {
|
||||
time: {
|
||||
justNow: "agora mesmo",
|
||||
},
|
||||
thread: {
|
||||
discussion: "Tópico de discussão",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "Não foi possível carregar o status da pull request",
|
||||
activityLoadFailed: "Não foi possível carregar a atividade da pull request",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "Instale a CLI {{cli}} para usar os recursos do {{brand}}.",
|
||||
signIn: "Execute {{command}} para usar os recursos do {{brand}}.",
|
||||
generic: "Configure o {{brand}} neste host para usar seus recursos.",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -942,9 +982,9 @@ export const ptBR: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "Ref inicial",
|
||||
chooseStart: "Escolha de onde começar",
|
||||
checkoutHint: "Fazer checkout da PR #{{number}}?",
|
||||
checkoutPr: "Fazer checkout da PR #{{number}}",
|
||||
dismissCheckoutHint: "Dispensar dica de checkout da PR #{{number}}",
|
||||
checkoutHint: "Fazer checkout da {{noun}} {{numberPrefix}}{{number}}?",
|
||||
checkoutPr: "Fazer checkout da {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint: "Dispensar dica de checkout da {{noun}} {{numberPrefix}}{{number}}",
|
||||
intoBase: "em {{baseRef}}",
|
||||
searching: "Buscando...",
|
||||
noMatchingRefs: "Nenhuma ref correspondente.",
|
||||
|
||||
@@ -102,6 +102,7 @@ export const ru: TranslationResources = {
|
||||
addImage: "Добавить изображение",
|
||||
addFile: "Upload file",
|
||||
addIssueOrPr: "Добавить проблему или PR",
|
||||
addIssueOrPr_mr: "Добавить проблему или MR",
|
||||
dropImagesHere: "Скиньте изображения сюда",
|
||||
dropFilesHere: "Drop files here",
|
||||
editQueuedMessage: "Изменить сообщение в очереди",
|
||||
@@ -109,8 +110,8 @@ export const ru: TranslationResources = {
|
||||
openImage: "Открыть прикрепленное изображение",
|
||||
removeImage: "Удалить прикрепленное изображение",
|
||||
removeFile: "Remove file attachment",
|
||||
openGithub: "Открыть{{kind}}#{{number}}",
|
||||
removeGithub: "Удалить{{kind}}#{{number}}",
|
||||
openGithub: "Открыть {{kind}} {{number}}",
|
||||
removeGithub: "Удалить {{kind}} {{number}}",
|
||||
element: "Элемент",
|
||||
openBrowserElement: "Открыть вложение элемента браузера",
|
||||
removeBrowserElement: "Удалить вложение элемента браузера",
|
||||
@@ -134,7 +135,9 @@ export const ru: TranslationResources = {
|
||||
searching: "Идет поиск...",
|
||||
noResults: "Результаты не найдены.",
|
||||
searchPlaceholder: "Поиск проблем и пиар...",
|
||||
searchPlaceholder_mr: "Поиск проблем и MR...",
|
||||
title: "Прикрепите проблему или PR",
|
||||
title_mr: "Прикрепите проблему или MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -623,6 +626,9 @@ export const ru: TranslationResources = {
|
||||
label: "Создать PR",
|
||||
pending: "Создание PR...",
|
||||
success: "PR создано",
|
||||
label_mr: "Создать MR",
|
||||
pending_mr: "Создание MR...",
|
||||
success_mr: "MR создано",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "Объединить локально",
|
||||
@@ -645,7 +651,13 @@ export const ru: TranslationResources = {
|
||||
rebase: "Объединить PR (rebase)",
|
||||
pending: "Объединение PR...",
|
||||
success: "PR объединен",
|
||||
squash_mr: "Объединить MR (squash)",
|
||||
merge_mr: "Объединить MR (merge)",
|
||||
rebase_mr: "Объединить MR (rebase)",
|
||||
pending_mr: "Объединение MR...",
|
||||
success_mr: "MR объединен",
|
||||
},
|
||||
viewPr_mr: "Посмотреть MR",
|
||||
autoMerge: {
|
||||
enableSquash: "Автообъединение (squash)",
|
||||
enableMerge: "Автообъединение (merge)",
|
||||
@@ -656,7 +668,7 @@ export const ru: TranslationResources = {
|
||||
disabled: "Автоматическое объединение отключено",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "Просмотр PR сейчас недоступен, поскольку GitHub не подключен.",
|
||||
viewPrNoForge: "Просмотр {{noun}} сейчас недоступен, поскольку {{brand}} не подключен.",
|
||||
pullNoRemote:
|
||||
"Функция Pull здесь недоступна, поскольку эта ветка еще не подключена к удаленному серверу.",
|
||||
pullDirty:
|
||||
@@ -670,10 +682,14 @@ export const ru: TranslationResources = {
|
||||
"Функция Pull and Push здесь недоступна, поскольку эта ветка еще не подключена к удаленному устройству.",
|
||||
pullAndPushDirty:
|
||||
"Функция извлечения и отправки недоступна, пока у вас есть локальные изменения, поэтому сначала зафиксируйте или сохраните их.",
|
||||
pullAndPushNoIncoming:
|
||||
"Функция Pull and Push недоступна, поскольку сначала нечего получать.",
|
||||
pullAndPushInSync:
|
||||
"Функция Pull and Push недоступна, поскольку эта ветвь уже синхронизирована.",
|
||||
createPrNoGithub:
|
||||
"Функция «Создать PR» сейчас недоступна, поскольку GitHub не подключен.",
|
||||
pullAndPushNothingToPush:
|
||||
"Функция Pull and Push недоступна, поскольку после pull нечего отправлять.",
|
||||
createPrNoForge:
|
||||
"Функция «Создать {{noun}}» сейчас недоступна, поскольку {{brand}} не подключен.",
|
||||
createPrNoCommits:
|
||||
"Функция «Создать PR» недоступна, поскольку в этой ветке еще нет новых коммитов.",
|
||||
mergeNoBase: "Объединение недоступно, поскольку нам не удалось определить базовую ветку.",
|
||||
@@ -687,6 +703,10 @@ export const ru: TranslationResources = {
|
||||
updateCurrent:
|
||||
"Обновление недоступно, поскольку эта ветка уже обновлена до версии{{baseRef}}.",
|
||||
mergePrNoGithub: "Объединение PR сейчас недоступно, поскольку GitHub не подключен.",
|
||||
archiveNotWorktree:
|
||||
"Архив здесь недоступен, поскольку это рабочее пространство не было создано как рабочее дерево Paseo.",
|
||||
mergePrNoForge:
|
||||
"Объединение {{noun}} сейчас недоступно, поскольку {{brand}} не подключен.",
|
||||
mergePrMissing: "Объединение PR недоступно, поскольку еще нет запроса на включение",
|
||||
mergePrDraft:
|
||||
"Объединение PR недоступно, поскольку запрос на включение все еще находится на стадии черновика.",
|
||||
@@ -697,7 +717,7 @@ export const ru: TranslationResources = {
|
||||
mergePrQueue:
|
||||
"Слияние PR здесь недоступно, поскольку этот репозиторий использует очередь слияния.",
|
||||
mergePrNotReady:
|
||||
"Функция слияния PR недоступна до тех пор, пока GitHub не сообщит, что запрос на включение готов к слиянию.",
|
||||
"Функция слияния {{noun}} недоступна до тех пор, пока {{brand}} не сообщит, что {{noun}} готов к слиянию.",
|
||||
autoMergeCannotDisable:
|
||||
"Автоматическое объединение включено, но этот аккаунт не может его отключить.",
|
||||
},
|
||||
@@ -748,7 +768,7 @@ export const ru: TranslationResources = {
|
||||
expandAllFolders: "Развернуть все папки",
|
||||
refreshing: "Освежающий",
|
||||
refresh: "Обновить",
|
||||
refreshState: "Обновить состояние git и GitHub.",
|
||||
refreshState: "Обновить состояние git и {{brand}}",
|
||||
failedRefresh: "Не удалось обновить состояние git.",
|
||||
emptyHiddenWhitespace: "Никаких видимых изменений после скрытия пробелов",
|
||||
emptyUncommitted: "Нет незафиксированных изменений",
|
||||
@@ -784,13 +804,23 @@ export const ru: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "Открыть",
|
||||
openOn: "Открыть на {{brand}}",
|
||||
},
|
||||
sections: {
|
||||
checks: "Чеки",
|
||||
pipeline: "Пайплайн",
|
||||
reviews: "Отзывы",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "Нет задач",
|
||||
loadingPipeline: "Загрузка пайплайна...",
|
||||
pipelineJobsLoadFailed: "Не удалось загрузить задачи пайплайна",
|
||||
allowedToFail: "допускается сбой",
|
||||
},
|
||||
approvals: "{{given}} из {{required}} одобрений",
|
||||
accessibility: {
|
||||
pullRequest: "Запрос на извлечение №{{number}}",
|
||||
pullRequest_mr: "Запрос на слияние !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "Черновик",
|
||||
@@ -807,11 +837,19 @@ export const ru: TranslationResources = {
|
||||
time: {
|
||||
justNow: "прямо сейчас",
|
||||
},
|
||||
thread: {
|
||||
discussion: "Обсуждение",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "Невозможно загрузить статус запроса на включение",
|
||||
activityLoadFailed: "Невозможно загрузить активность запроса на включение",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "Установите CLI {{cli}}, чтобы использовать возможности {{brand}}.",
|
||||
signIn: "Выполните {{command}}, чтобы использовать возможности {{brand}}.",
|
||||
generic: "Настройте {{brand}} на этом хосте, чтобы использовать его функции.",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -943,10 +981,11 @@ export const ru: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "Начальная ссылка",
|
||||
chooseStart: "Выберите, с чего начать",
|
||||
checkoutHint: "Проверьте PR#{{number}}?",
|
||||
checkoutPr: "Проверьте PR#{{number}}",
|
||||
dismissCheckoutHint: "Отклонить подсказку по оформлению заказа PR#{{number}}",
|
||||
intoBase: "в{{baseRef}}",
|
||||
checkoutHint: "Проверьте {{noun}} {{numberPrefix}}{{number}}?",
|
||||
checkoutPr: "Проверьте {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint:
|
||||
"Отклонить подсказку по оформлению заказа {{noun}} {{numberPrefix}}{{number}}",
|
||||
intoBase: "в {{baseRef}}",
|
||||
searching: "Идет поиск...",
|
||||
noMatchingRefs: "Нет подходящих ссылок.",
|
||||
searchPlaceholder: "Поиск филиалов и PR",
|
||||
|
||||
@@ -102,6 +102,7 @@ export const zhCN: TranslationResources = {
|
||||
addImage: "添加图片",
|
||||
addFile: "Upload file",
|
||||
addIssueOrPr: "添加 issue 或 PR",
|
||||
addIssueOrPr_mr: "添加 issue 或 MR",
|
||||
dropImagesHere: "将图片拖放到这里",
|
||||
dropFilesHere: "Drop files here",
|
||||
editQueuedMessage: "编辑排队消息",
|
||||
@@ -109,8 +110,8 @@ export const zhCN: TranslationResources = {
|
||||
openImage: "打开图片附件",
|
||||
removeImage: "移除图片附件",
|
||||
removeFile: "Remove file attachment",
|
||||
openGithub: "打开 {{kind}} #{{number}}",
|
||||
removeGithub: "移除 {{kind}} #{{number}}",
|
||||
openGithub: "打开 {{kind}} {{number}}",
|
||||
removeGithub: "移除 {{kind}} {{number}}",
|
||||
element: "元素",
|
||||
openBrowserElement: "打开浏览器元素附件",
|
||||
removeBrowserElement: "移除浏览器元素附件",
|
||||
@@ -134,7 +135,9 @@ export const zhCN: TranslationResources = {
|
||||
searching: "正在搜索...",
|
||||
noResults: "没有结果。",
|
||||
searchPlaceholder: "搜索 issues 和 PRs...",
|
||||
searchPlaceholder_mr: "搜索 issues 和 MRs...",
|
||||
title: "附加 issue 或 PR",
|
||||
title_mr: "附加 issue 或 MR",
|
||||
},
|
||||
},
|
||||
agentControls: {
|
||||
@@ -616,6 +619,9 @@ export const zhCN: TranslationResources = {
|
||||
label: "创建 PR",
|
||||
pending: "正在创建 PR...",
|
||||
success: "PR 已创建",
|
||||
label_mr: "创建 MR",
|
||||
pending_mr: "正在创建 MR...",
|
||||
success_mr: "MR 已创建",
|
||||
},
|
||||
mergeBranch: {
|
||||
label: "本地 merge",
|
||||
@@ -638,7 +644,13 @@ export const zhCN: TranslationResources = {
|
||||
rebase: "Merge PR (rebase)",
|
||||
pending: "正在 merge PR...",
|
||||
success: "PR 已 merge",
|
||||
squash_mr: "Merge MR (squash)",
|
||||
merge_mr: "Merge MR (merge)",
|
||||
rebase_mr: "Merge MR (rebase)",
|
||||
pending_mr: "正在 merge MR...",
|
||||
success_mr: "MR 已 merge",
|
||||
},
|
||||
viewPr_mr: "查看 MR",
|
||||
autoMerge: {
|
||||
enableSquash: "Auto merge (squash)",
|
||||
enableMerge: "Auto merge (merge)",
|
||||
@@ -649,7 +661,7 @@ export const zhCN: TranslationResources = {
|
||||
disabled: "Auto-merge 已禁用",
|
||||
},
|
||||
unavailable: {
|
||||
viewPrNoGithub: "当前无法查看 PR,因为 GitHub 未连接",
|
||||
viewPrNoForge: "当前无法查看 {{noun}},因为 {{brand}} 未连接",
|
||||
pullNoRemote: "此处无法 pull,因为此分支尚未连接到 remote",
|
||||
pullDirty: "有本地变更时无法 pull,请先 commit 或 stash",
|
||||
pullUpToDate: "无法 pull,因为此分支已是最新",
|
||||
@@ -658,8 +670,10 @@ export const zhCN: TranslationResources = {
|
||||
pushNothing: "无法 push,因为没有新的内容可发送",
|
||||
pullAndPushNoRemote: "此处无法 pull 并 push,因为此分支尚未连接到 remote",
|
||||
pullAndPushDirty: "有本地变更时无法 pull 并 push,请先 commit 或 stash",
|
||||
pullAndPushNoIncoming: "无法 pull 并 push,因为没有需要先 pull 的传入变更",
|
||||
pullAndPushInSync: "无法 pull 并 push,因为此分支已同步",
|
||||
createPrNoGithub: "当前无法创建 PR,因为 GitHub 未连接",
|
||||
pullAndPushNothingToPush: "无法 pull 并 push,因为 pull 之后没有新的内容可发送",
|
||||
createPrNoForge: "当前无法创建 {{noun}},因为 {{brand}} 未连接",
|
||||
createPrNoCommits: "无法创建 PR,因为此分支还没有新的 commit",
|
||||
mergeNoBase: "无法 merge,因为无法确定 base branch",
|
||||
mergeDirty: "有本地变更时无法 merge,请先 commit 或 stash",
|
||||
@@ -668,13 +682,15 @@ export const zhCN: TranslationResources = {
|
||||
updateDirty: "有本地变更时无法更新,请先 commit 或 stash",
|
||||
updateCurrent: "无法更新,因为此分支已与 {{baseRef}} 保持最新",
|
||||
mergePrNoGithub: "当前无法 merge PR,因为 GitHub 未连接",
|
||||
archiveNotWorktree: "此处无法归档,因为此 workspace 不是作为 Paseo worktree 创建的",
|
||||
mergePrNoForge: "当前无法 merge {{noun}},因为 {{brand}} 未连接",
|
||||
mergePrMissing: "无法 merge PR,因为还没有 pull request",
|
||||
mergePrDraft: "无法 merge PR,因为 pull request 仍是 draft",
|
||||
mergePrMerged: "无法 merge PR,因为 pull request 已 merge",
|
||||
mergePrClosed: "无法 merge PR,因为 pull request 已关闭",
|
||||
mergePrConflicts: "无法 merge PR,因为 pull request 存在冲突",
|
||||
mergePrQueue: "此处无法 merge PR,因为此 repository 使用 merge queue",
|
||||
mergePrNotReady: "GitHub 报告 pull request 可 merge 后才能 merge PR",
|
||||
mergePrNotReady: "{{brand}} 报告 {{noun}} 可 merge 后才能 merge {{noun}}",
|
||||
autoMergeCannotDisable: "Auto-merge 已启用,但此账号无法禁用",
|
||||
},
|
||||
toasts: {
|
||||
@@ -724,7 +740,7 @@ export const zhCN: TranslationResources = {
|
||||
expandAllFolders: "展开所有文件夹",
|
||||
refreshing: "正在刷新",
|
||||
refresh: "刷新",
|
||||
refreshState: "刷新 git 和 GitHub 状态",
|
||||
refreshState: "刷新 git 和 {{brand}} 状态",
|
||||
failedRefresh: "刷新 git 状态失败。",
|
||||
emptyHiddenWhitespace: "隐藏空白差异后没有可见变更",
|
||||
emptyUncommitted: "没有未 commit 的变更",
|
||||
@@ -760,13 +776,23 @@ export const zhCN: TranslationResources = {
|
||||
pr: {
|
||||
actions: {
|
||||
viewPullRequest: "查看",
|
||||
openOn: "在 {{brand}} 上打开",
|
||||
},
|
||||
sections: {
|
||||
checks: "Checks",
|
||||
pipeline: "流水线",
|
||||
reviews: "Reviews",
|
||||
},
|
||||
empty: {
|
||||
noJobs: "无作业",
|
||||
loadingPipeline: "正在加载流水线...",
|
||||
pipelineJobsLoadFailed: "无法加载流水线作业",
|
||||
allowedToFail: "允许失败",
|
||||
},
|
||||
approvals: "{{given}} / {{required}} 批准",
|
||||
accessibility: {
|
||||
pullRequest: "Pull request #{{number}}",
|
||||
pullRequest_mr: "合并请求 !{{number}}",
|
||||
},
|
||||
states: {
|
||||
draft: "Draft",
|
||||
@@ -783,11 +809,19 @@ export const zhCN: TranslationResources = {
|
||||
time: {
|
||||
justNow: "刚刚",
|
||||
},
|
||||
thread: {
|
||||
discussion: "讨论主题",
|
||||
},
|
||||
errors: {
|
||||
statusLoadFailed: "无法加载 Pull Request 状态",
|
||||
activityLoadFailed: "无法加载 Pull Request 活动",
|
||||
},
|
||||
},
|
||||
forgeSetup: {
|
||||
installCli: "安装 {{cli}} CLI 以使用 {{brand}} 功能。",
|
||||
signIn: "运行 {{command}} 以使用 {{brand}} 功能。",
|
||||
generic: "在此主机上设置 {{brand}} 以使用其功能。",
|
||||
},
|
||||
},
|
||||
},
|
||||
sidebar: {
|
||||
@@ -916,9 +950,9 @@ export const zhCN: TranslationResources = {
|
||||
refPicker: {
|
||||
startingRef: "起始 ref",
|
||||
chooseStart: "选择起始位置",
|
||||
checkoutHint: "Checkout PR #{{number}}?",
|
||||
checkoutPr: "Checkout PR #{{number}}",
|
||||
dismissCheckoutHint: "忽略 PR #{{number}} checkout 提示",
|
||||
checkoutHint: "Checkout {{noun}} {{numberPrefix}}{{number}}?",
|
||||
checkoutPr: "Checkout {{noun}} {{numberPrefix}}{{number}}",
|
||||
dismissCheckoutHint: "忽略 {{noun}} {{numberPrefix}}{{number}} checkout 提示",
|
||||
intoBase: "进入 {{baseRef}}",
|
||||
searching: "正在搜索...",
|
||||
noMatchingRefs: "没有匹配的 refs。",
|
||||
|
||||
Reference in New Issue
Block a user