-
+
- Link GitLab merge request
-
- Paste a merge request URL from this workspace's configured GitLab host.
-
+ {t("gitlab:linkGitlabMergeRequest")}
+ {t("gitlab:pasteAMergeRequestUrlFrom")}
onOpenChange(false)}
className="cursor-pointer"
>
- Cancel
+ {t("common:cancel")}
diff --git a/apps/web/components/integrations/presets-scope-bar-base.tsx b/apps/web/components/integrations/presets-scope-bar-base.tsx
index dc166ac5b1..ddfc748792 100644
--- a/apps/web/components/integrations/presets-scope-bar-base.tsx
+++ b/apps/web/components/integrations/presets-scope-bar-base.tsx
@@ -10,6 +10,7 @@ import {
DropdownMenuTrigger,
} from "@kandev/ui/dropdown-menu";
import { cn } from "@/lib/utils";
+import { useTranslation } from "react-i18next";
/**
* Shared, domain-agnostic scope bar for the integration dashboards (/github,
@@ -118,6 +119,7 @@ function SavedMenu({
canSaveCurrent: boolean;
onSaveCurrent: () => void;
}) {
+ const { t } = useTranslation();
const activeSaved = selected.source === "saved";
const activeLabel = activeSaved ? saved.find((s) => s.id === selected.id)?.label : null;
return (
@@ -129,13 +131,15 @@ function SavedMenu({
className={cn(PILL_BASE, activeSaved ? PILL_ACTIVE : PILL_IDLE)}
>
- {activeLabel ?? "Saved"}
+
+ {activeLabel ?? t("integrations:savedQueries")}
+
{saved.length === 0 ? (
- No saved queries yet
+ {t("integrations:noSavedQueriesYet")}
) : (
saved.map((s) => (
({
onDeleteSaved(s.id);
}}
className="pointer-events-none cursor-pointer text-muted-foreground opacity-0 transition-opacity hover:text-foreground group-hover/saved:pointer-events-auto group-hover/saved:opacity-100"
- title="Delete saved query"
+ title={t("integrations:deleteSavedQuery")}
>
@@ -169,7 +173,7 @@ function SavedMenu({
className={cn("gap-2", canSaveCurrent && "cursor-pointer")}
>
- Save current query
+ {t("integrations:saveCurrentQuery")}
diff --git a/apps/web/eslint.i18n.options.mjs b/apps/web/eslint.i18n.options.mjs
index c182d5729c..b8c86ac3fb 100644
--- a/apps/web/eslint.i18n.options.mjs
+++ b/apps/web/eslint.i18n.options.mjs
@@ -1353,4 +1353,90 @@ export const i18nGuardFiles = [
"lib/executor-icons.ts",
"lib/plugins/sync-summary.ts",
"src/settings-routes.tsx",
+ // GitHub + GitLab TASK surfaces: the PR/MR detail panels and their sections,
+ // the topbar buttons and CI popovers, the My-GitHub / My-GitLab browse lists
+ // and their preset sidebars and dialogs, and the two `/github` + `/gitlab`
+ // page clients. Together with the settings entries listed far above, this
+ // completes both directories; the file lists are kept rather than collapsed to
+ // `components/github/**` because collapsing would mean REMOVING entries, which
+ // `check-guard-allowlist.mjs` cannot distinguish from un-protecting a path.
+ //
+ // `hooks/domains/gitlab/use-mr-actions.ts` is listed because the task surface
+ // reaches its toasts. Its `run()` first argument used to be the human label —
+ // one string serving as both `pendingAction` state and the interpolated
+ // failure title `${label} failed`. That is the dual-use shape AGENTS.md warns
+ // about, so it is now an `MRActionKind` id plus a per-action catalog key.
+ // `mr-reviewer-control.tsx` had the same shape in a prop typed
+ // `"Reviewers" | "Assignees"`, which TypeScript caught the moment the codemod
+ // translated it; it is now a `kind` discriminant.
+ //
+ // Deliberately left in English, all of it protocol or provider data: GitHub
+ // and GitLab state values (`open`/`merged`/`closed`/`opened`, review states,
+ // check conclusions) which are compared with `===`; every id, branch name,
+ // repo/project path, label and username from the provider API; and the
+ // `PR_FEEDBACK_PLACEHOLDER` token, which the agent prompt matches verbatim and
+ // which therefore travels as an interpolation value rather than as catalog
+ // text. The example values in `placeholder` attributes (`kdlbs, example-org`,
+ // `group/api, group/web`, `state=opened`) are data a user types, not copy.
+ "app/github/github-page-client.tsx",
+ "app/gitlab/gitlab-page-client.tsx",
+ "components/github/issue-task-icon.tsx",
+ "components/github/multi-pr-ci-popover.tsx",
+ "components/github/my-github/issue-list.tsx",
+ "components/github/my-github/list-toolbar.tsx",
+ "components/github/my-github/pr-list.tsx",
+ "components/github/my-github/pr-row-task-indicator.tsx",
+ "components/github/my-github/pr-status-badges.tsx",
+ "components/github/my-github/presets-sidebar.tsx",
+ "components/github/my-github/repo-filter-combobox.tsx",
+ "components/github/my-github/save-preset-dialog.tsx",
+ "components/github/my-github/task-row-indicator.tsx",
+ "components/github/my-github/use-pr-statuses.ts",
+ "components/github/pr-checks-section.tsx",
+ "components/github/pr-ci-automation-controls.tsx",
+ "components/github/pr-ci-popover.tsx",
+ "components/github/pr-comments-section.tsx",
+ "components/github/pr-detail-panel.tsx",
+ "components/github/pr-merge-button.tsx",
+ "components/github/pr-mergeability-notice.tsx",
+ "components/github/pr-mergeability-row.tsx",
+ "components/github/pr-reviews-section.tsx",
+ "components/github/pr-shared.tsx",
+ "components/github/pr-status-chip.tsx",
+ "components/github/pr-topbar-button.tsx",
+ "components/gitlab/mr-commits-section.tsx",
+ "components/gitlab/mr-detail-panel.tsx",
+ "components/gitlab/mr-discussions-section.tsx",
+ "components/gitlab/mr-files-section.tsx",
+ "components/gitlab/mr-overview-section.tsx",
+ "components/gitlab/mr-reviewer-control.tsx",
+ "components/gitlab/mr-topbar-button.tsx",
+ "components/gitlab/my-gitlab/issue-list.tsx",
+ "components/gitlab/my-gitlab/list-toolbar.tsx",
+ "components/gitlab/my-gitlab/mr-list.tsx",
+ "components/gitlab/my-gitlab/mr-row-task-indicator.tsx",
+ "components/gitlab/my-gitlab/presets-sidebar.tsx",
+ "components/gitlab/my-gitlab/save-preset-dialog.tsx",
+ "components/gitlab/my-gitlab/start-task-menu.tsx",
+ "components/gitlab/subscription-toggle.tsx",
+ "components/gitlab/task-mr-link-dialog.tsx",
+ "hooks/domains/gitlab/use-mr-actions.ts",
+ // The shared scope bar the `/github` and `/gitlab` dashboards render through
+ // their thin wrappers. Listed because this migration converts it COMPLETELY —
+ // all four of its own strings — not because integration chrome belongs to this
+ // PR. `azure-devops-scope-bar.tsx` also wraps it and is untouched; it passes
+ // its own labels in and inherits the base already done. Copy lives in a new
+ // `integrations` namespace, the home `NAMESPACE_RULES` in
+ // externalize-strings.mjs already designates for `components/integrations/`.
+ //
+ // Review caught this: the pseudo walk of `/github` and `/gitlab` reported them
+ // clean because both pages rendered the NOT-CONNECTED alert, so the scope bar
+ // never mounted. A surface that does not render cannot be verified by looking
+ // at it, and "clean" there meant "absent", not "migrated".
+ //
+ // The `KINDS` tables in the two wrappers are SCREAMING_CASE, so the guard
+ // skipped them entirely; their labels now travel as `labelKey`.
+ "components/integrations/presets-scope-bar-base.tsx",
+ "components/github/my-github/presets-scope-bar.tsx",
+ "components/gitlab/my-gitlab/presets-scope-bar.tsx",
];
diff --git a/apps/web/hooks/domains/gitlab/use-mr-actions.ts b/apps/web/hooks/domains/gitlab/use-mr-actions.ts
index 9193256794..1dac7d4805 100644
--- a/apps/web/hooks/domains/gitlab/use-mr-actions.ts
+++ b/apps/web/hooks/domains/gitlab/use-mr-actions.ts
@@ -1,24 +1,69 @@
"use client";
import { useCallback, useState } from "react";
+import { useTranslation } from "react-i18next";
import { useToast } from "@/components/toast-provider";
+/**
+ * A stable identifier for the action in flight, never display copy.
+ *
+ * This used to be the human label itself — `run("Approve", …)` — which made one
+ * string do two jobs: it was stored in `pendingAction` state AND interpolated
+ * into the failure toast as `` `${label} failed` ``. That is the dual-use shape
+ * apps/web/AGENTS.md warns about: translating it in place would have changed a
+ * state value, and leaving it English would have left the toast title
+ * un-migrated. Splitting them lets the id stay fixed while the copy becomes a
+ * catalog key, and it removes a sentence built by concatenation, which no
+ * language that inflects the verb could have translated anyway.
+ */
+export type MRActionKind =
+ | "approve"
+ | "unapprove"
+ | "reviewers"
+ | "assignees"
+ | "merge"
+ | "unlink"
+ | "reply"
+ | "resolve"
+ | "labels";
+
+/**
+ * Catalog keys per action. Written as plain `ns:key` literals so
+ * `check-i18n-keys.mjs` counts them as referenced — a key built by template
+ * would be invisible to it and every entry would report as an orphan.
+ */
+const ACTION_COPY: Record = {
+ approve: { name: "gitlab:actionApprove", success: "gitlab:mergeRequestApproved" },
+ unapprove: { name: "gitlab:actionUnapprove", success: "gitlab:approvalRemoved" },
+ reviewers: { name: "gitlab:actionReviewers", success: "gitlab:reviewersUpdated" },
+ assignees: { name: "gitlab:actionAssignees", success: "gitlab:assigneesUpdated" },
+ merge: { name: "gitlab:actionMerge", success: "gitlab:mergeRequestMerged" },
+ unlink: { name: "gitlab:actionUnlink", success: "gitlab:mergeRequestUnlinked" },
+ reply: { name: "gitlab:actionReply", success: "gitlab:replyAdded" },
+ resolve: { name: "gitlab:actionResolve", success: "gitlab:discussionResolved" },
+ labels: { name: "gitlab:actionLabels", success: "gitlab:labelsUpdated" },
+};
+
export function useMRActions(onRefresh: () => void) {
- const [pendingAction, setPendingAction] = useState(null);
+ const [pendingAction, setPendingAction] = useState(null);
const { toast } = useToast();
+ const { t } = useTranslation();
const run = useCallback(
- async (label: string, action: () => Promise, success: string) => {
- setPendingAction(label);
+ async (kind: MRActionKind, action: () => Promise) => {
+ const copy = ACTION_COPY[kind];
+ setPendingAction(kind);
try {
await action();
- toast({ description: success, variant: "success" });
+ toast({ description: t(copy.success), variant: "success" });
onRefresh();
return true;
} catch (error) {
toast({
- title: `${label} failed`,
- description: error instanceof Error ? error.message : "GitLab rejected the action.",
+ title: t("gitlab:actionFailed", { action: t(copy.name) }),
+ // A GitLab API error is a diagnostic and stays English; the fallback
+ // for a non-Error rejection is copy.
+ description: error instanceof Error ? error.message : t("gitlab:gitlabRejectedAction"),
variant: "error",
});
return false;
@@ -26,7 +71,7 @@ export function useMRActions(onRefresh: () => void) {
setPendingAction(null);
}
},
- [onRefresh, toast],
+ [onRefresh, t, toast],
);
return { pendingAction, run };
diff --git a/apps/web/src/locales/en/github.json b/apps/web/src/locales/en/github.json
index b9126c5131..32fc6c274e 100644
--- a/apps/web/src/locales/en/github.json
+++ b/apps/web/src/locales/en/github.json
@@ -4,26 +4,47 @@
"actionPromptPlaceholderHelp": "Type {{token}} to see available placeholders. <4>{{url}}4> and <7>{{title}}7> are substituted when the action runs.",
"actions": "Actions",
"active": "Active",
+ "addAll": "Add all",
+ "addAllCommentsToChatContext": "Add all comments to chat context",
+ "addAllFailedChecksToChat": "Add all failed checks to chat context",
+ "addAllReviewsToChatContext": "Add all reviews to chat context",
+ "addAllToChatContext": "Add all to chat context",
"addAnExistingGithubApp": "Add an existing GitHub App",
"addExistingApp": "Add existing App",
+ "addFailuresToChatContext": "Add {{workflow}} failures to chat context",
"addIssueAction": "Add issue action",
"addIssueQuery": "Add issue query",
"addPrAction": "Add PR action",
"addPrQuery": "Add PR query",
"addRepository": "Add repository",
+ "addToChatContext": "Add to chat context",
"addWatch": "Add Watch",
+ "addWholeThreadToChatContext": "Add whole thread to chat context",
+ "addedToChatContext": "Added to chat context",
"agentProfile": "Agent Profile",
+ "allRepos": "All repos",
"allRepositories": "All repositories",
"allRepositoriesAllowedByThisWorkspace": "All repositories allowed by this workspace",
"allowsInstallationElsewhereItDoesNot": "Allows installation elsewhere. It does not publish to Marketplace or grant repos.",
+ "anErrorOccurred": "An error occurred",
"anExecutorProfileGhTokenOr": "An executor-profile {{ghToken}} or {{githubToken}} overrides managed workspace credentials for that task.",
"anImportedAppMustHaveAt": "An imported App must have at least these repository permissions and subscribed events.",
"apiRateLimit": "API rate limit",
"appId": "App ID",
"appInstallationFailed": "App installation failed",
"approvalRate": "Approval Rate",
+ "approveAs": "Approve as {{mutationActor}}",
+ "approved": "Approved",
+ "approving": "Approving...",
"authenticationUnavailable": "Authentication unavailable",
"auto": "Auto",
+ "autoFix": "Auto-fix",
+ "autoFixCiAndAddressComments": "Auto-fix CI and address comments",
+ "autoFixPrompt": "Auto-fix prompt",
+ "autoFixPromptDescription": "This prompt is used only for this task. Leave it blank to use the default prompt. Add <0>{{placeholder}}0> when you want Kandev to include its PR feedback snapshot.",
+ "autoFixRoundExplanation": "Auto-fix has used {{current}} of {{max}} rounds for this PR. A round is counted when Kandev sends or queues a CI auto-fix message. Kandev waits for all PR checks to finish before starting a new CI auto-fix turn, so the agent gets the final failed checks and current comments together. Updating an already queued auto-fix message does not use another round. When this is at {{max}}/{{max}} and there is no pending auto-fix message left to update, Kandev pauses auto-fix for this PR so it cannot loop forever. Disable and re-enable auto-fix after manual review to start over.",
+ "autoMerge": "Auto-merge",
+ "autoMergeWhenReady": "Auto-merge when ready",
"automaticallyCreateTasksForGithubIssues": "Automatically create tasks for GitHub issues matching your criteria.",
"automaticallyCreateTasksForPrsThat": "Automatically create tasks for PRs that need your review.",
"automaticallyCreateTasksWhenNewGithub": "Automatically create tasks when new GitHub issues match your criteria.",
@@ -33,17 +54,43 @@
"availablePlaceholders": "Available placeholders:",
"avgTimeToMerge": "Avg Time to Merge",
"backToRegisteredApps": "Back to registered Apps",
+ "behindBase": "Behind base",
"bestForPersonalOrCompanyInternal": "Best for personal or company-internal automation.",
+ "blocked": "Blocked",
+ "blockedByBranchProtection": "Blocked by branch protection",
+ "blockedGeneric": "Required reviews, code owners, or repository rules still need to clear.",
+ "blockedNeedsApprovals_one": "Needs {{count}} more approval before it can merge.",
+ "blockedNeedsApprovals_other": "Needs {{count}} more approvals before it can merge.",
+ "blockedStatusCheck": "A required status check hasn't passed yet.",
+ "botComments": "Bot comments (",
+ "byAuthor": "by <1>1>",
+ "byAuthorOpenedAgo": "by {{author}} · opened {{time}}",
"changeConnection": "Change connection",
"changeGithubConnection": "Change GitHub connection",
+ "changesRequested": "Changes requested",
+ "checkBucketFailed": "Failed",
+ "checkBucketInProgress": "In progress",
+ "checkBucketPassed": "Passed",
"checkNow": "Check now",
"checkingForNewIssues": "Checking for new issues...",
"checkingForNewPrs": "Checking for new PRs...",
"checkingGithubConnection": "Checking GitHub connection...",
+ "checkingGithubStatus": "Checking GitHub status…",
+ "checksFailed": "Checks failed",
+ "checksFailedCount_one": "{{count}} failed",
+ "checksFailedCount_other": "{{count}} failed",
+ "checksPassed": "Checks passed",
+ "checksPassedCount_one": "{{count}} passed",
+ "checksPassedCount_other": "{{count}} passed",
+ "checksPendingCount_one": "{{count}} pending",
+ "checksPendingCount_other": "{{count}} pending",
+ "checksRunning": "Checks running",
"chooseAGithubApp": "Choose a GitHub App",
"chooseHowNewlyLaunchedTasksAuthenticate": "Choose how newly launched tasks authenticate to GitHub. This does not change the workspace automation connection above.",
+ "chooseMergeMethod": "Choose merge method",
"chooseTheAutomationAndPersonalIdentities": "Choose the automation and personal identities used by this workspace.",
"chooseTheExactAccountKandevDoes": "Choose the exact account. Kandev does not silently follow the CLI's active-account change.",
+ "ciChecks": "CI Checks{{summary}}",
"ciPassRate": "CI Pass Rate",
"cleanUpClosed": "Clean up closed",
"cleanUpMerged": "Clean up merged",
@@ -59,10 +106,16 @@
"cliAccountActiveSuffix": " - active",
"clientId": "Client ID",
"clientSecret": "Client secret",
+ "closePrStatus": "Close PR status",
+ "closedAgo": "closed {{time}}",
+ "commentCount_one": "{{count}} comment",
+ "commentCount_other": "{{count}} comments",
"comments": "Comments",
"configureTheExistingAppOnGithub": "Configure the existing App on GitHub",
+ "conflicts": "Conflicts",
"connectGithub": "Connect GitHub",
"connectIdentity": "Connect identity",
+ "connectYourPersonalGithubIdentityTo": "Connect your personal GitHub identity to see pull requests and issues assigned to you.",
"connectionMethod": "Connection method",
"continueOnGithub": "Continue on GitHub",
"controlsHowNewlyLaunchedTasksAuthenticate": "Controls how newly launched tasks authenticate to GitHub for Git HTTPS and gh commands. Managed workspace credentials use Kandev's workspace connection; executor credentials use the selected executor's Git or SSH setup.",
@@ -78,15 +131,23 @@
"credentialUsedForRepositorySyncWatches": "Credential used for repository sync, watches, and managed agent git and gh commands. Executor profile tokens take precedence.",
"currentGithubApiRateAndQuery": "Current GitHub API rate and query limits for this workspace connection.",
"customQuery": "Custom Query",
+ "customQueryPressEnterEG": "Custom query — press Enter. e.g. \"is:open review-requested:@me\"",
"defaultQueries": "Default queries",
"defaultQueriesAreStillLoading": "Default queries are still loading.",
"defaultQueriesSaved": "Default queries saved",
+ "defaultRepository": "Default repository",
"delete": "Delete",
+ "deleteSavedQuery": "Delete saved query",
"deletedTasks_one": "Deleted {{count}} task",
"deletedTasks_other": "Deleted {{count}} tasks",
+ "description": "Description",
"disconnect": "Disconnect",
"disconnectFailed": "Disconnect failed",
+ "draft": "Draft",
"eGBugEnhancementPriorityHigh": "e.g. {{examples}}",
+ "eGNeedsMyReview": "e.g. Needs my review",
+ "editAutoFixPromptForThis": "Edit auto-fix prompt for this task",
+ "editDefaultPrompt": "Edit default prompt",
"editDetails": "Edit details",
"editIssueWatch": "Edit Issue Watch",
"editPrompt": "Edit prompt",
@@ -104,26 +165,37 @@
"enterTheNumericGithubAppId": "Enter the numeric GitHub App ID.",
"enterTheWebhookSecret": "Enter the webhook secret.",
"executorProfile": "Executor Profile",
+ "explainAutoFixRounds": "Explain auto-fix rounds",
+ "explainCiAutomationOptions": "Explain CI automation options",
+ "explainFinalPrStateNotifications": "Explain final PR state notifications",
"explainHowManagedTaskCredentialsWork": "Explain how managed task credentials work",
"explainRepositoryScope": "Explain repository scope",
+ "explainReviewRequestNotifications": "Explain review request notifications",
"explainTaskGitAccess": "Explain task Git access",
"explainWorkspaceGithubIdentity": "Explain workspace GitHub identity",
+ "failedToApprove": "Failed to approve",
"failedToCheckForIssues": "Failed to check for issues",
"failedToCheckForPrs": "Failed to check for PRs",
"failedToDeleteIssueWatch": "Failed to delete issue watch",
"failedToDeleteReviewWatch": "Failed to delete review watch",
"failedToLoadGithubWorkspaceSettings": "Failed to load GitHub workspace settings",
+ "failedToMerge": "Failed to merge",
"failedToResetIssueWatch": "Failed to reset issue watch",
"failedToResetReviewWatch": "Failed to reset review watch",
"failedToSaveDefaultQueries": "Failed to save default queries",
"failedToSaveGithubWorkspaceSettings": "Failed to save GitHub workspace settings",
"failedToSaveQuickActions": "Failed to save quick actions",
+ "failedToUnlinkPullRequest": "Failed to unlink pull request",
"filter": "Filter",
+ "filterGithubResultsByRepository": "Filter GitHub results by repository",
+ "filterRepositories": "Filter repositories...",
+ "filters": "Filters",
"forWebhooksChooseContentType": "For webhooks, choose <1>{{contentType}}1> as the content type and keep SSL verification enabled.",
"foundNewIssues_one": "Found {{count}} new issue",
"foundNewIssues_other": "Found {{count}} new issues",
"foundNewPrs_one": "Found {{count}} new PR",
"foundNewPrs_other": "Found {{count}} new PRs",
+ "general": "(general)",
"generateSetupInstructions": "Generate setup instructions",
"githubAccessSettingsSaved": "GitHub access settings saved",
"githubApiAccessIsExhaustedFor": "GitHub API access is exhausted for {{resources}}. Background PR and issue checks are paused until the last limit resets {{reset}}.",
@@ -138,12 +210,14 @@
"githubAppSetupCancelled": "GitHub App setup cancelled",
"githubAppSetupCouldNotStart": "GitHub App setup could not start",
"githubAppSlug": "GitHub App slug",
+ "githubAuthenticationLost": "GitHub authentication lost.",
"githubCli": "GitHub CLI",
"githubCliAccount": "GitHub CLI account",
"githubDidNotReturnARedirectUrl": "GitHub did not return a redirect URL",
"githubDidNotReturnAnInstallationUrl": "GitHub did not return an installation URL",
"githubIdentityConnected": "GitHub identity connected",
"githubIntegration": "GitHub Integration",
+ "githubIsNotConnectedConfigureWorkspace": "GitHub is not connected. Configure workspace automation with gh CLI or a personal access token.",
"githubIsReadyToCreateThe": "GitHub is ready to create the App",
"githubMustReachThisHttpsOrigin": "GitHub must reach this HTTPS origin for signed webhooks and callbacks.",
"githubOwnerLogin": "GitHub owner login",
@@ -170,9 +244,12 @@
"inheritExecutorGitCredentials": "Inherit executor Git credentials",
"initialStepForNewTasks": "Initial step for new tasks.",
"initialStepForNewTasksAuto": "Initial step for new tasks. Auto-start is set on the step.",
+ "insertPrFeedback": "Insert PR feedback",
"installAGithubAppAboveTo": "Install a GitHub App above to change the workspace connection. Task access can be saved after the installation finishes.",
"installForThisWorkspace": "Install for this workspace",
"interval": "Interval",
+ "issue": "Issue #{{number}}",
+ "issue2": "Issue #",
"issueCleanupPolicyAlwaysDescription": "Delete on close even if you engaged with the task.",
"issueCleanupPolicyAutoDescription": "Delete closed-issue tasks unless you typed a message in them.",
"issueWatch": "issue watch",
@@ -190,10 +267,13 @@
"kandevManagedOperationsUseTheGithub": "Kandev-managed operations use the GitHub App installed for {{actor}}.",
"kandevStoresThisTokenForThis": "Kandev stores this token for this workspace. GitHub records actions as the token owner.",
"kandevUsesThisWorkspaceConnectionFor": "Kandev uses this workspace connection for repository sync, watches, background jobs, and managed agent GitHub commands. With a PAT or GitHub CLI account, My GitHub and actions you trigger use the same human identity.",
+ "kindIssue": "issue",
+ "kindPullRequest": "pull request",
"label": "Label",
"labels": "Labels",
"labelsCommaSeparated": "Labels (comma-separated)",
"lastPolled": "Last Polled",
+ "lastSynced": "Last synced",
"legacySharedConnection": "Legacy shared connection",
"limitsGithubPullRequestsAndIssues": "Limits GitHub pull requests and issues shown or imported in this workspace.",
"loadingAccounts": "Loading accounts...",
@@ -204,37 +284,75 @@
"managedWorkspaceCredentials": "Managed workspace credentials",
"me": "Me",
"meMyTeams": "Me & my teams",
+ "mergeConflictsWith": "Merge conflicts with",
+ "mergeMethodDefault": "Merge PR",
+ "mergeMethodMergeCommit": "Create a merge commit",
+ "mergeMethodMergeCommitShort": "Merge commit",
+ "mergeMethodRebase": "Rebase and merge",
+ "mergeMethodRebaseShort": "Rebase",
+ "mergeMethodSquash": "Squash and merge",
+ "mergeMethodSquashShort": "Squash",
+ "merged": "Merged",
+ "mergedAgo": "merged {{time}}",
+ "merging": "Merging...",
"missing": "Missing",
"mode": "Mode",
"myGithubIdentity": "My GitHub identity",
"myGithubNowUsesYourVerified": "My GitHub now uses your verified personal identity.",
+ "name": "Name",
"nameInKandev": "Name in Kandev",
"needsAttention": "Needs attention",
"never": "Never",
"noAutomationConnection": "No automation connection",
+ "noChecks": "No checks",
+ "noChecksHaveStarted": "No checks have started",
+ "noCommentsYet": "No comments yet",
"noGhAccountsFound": "No gh accounts found",
"noGithubAppsAreRegisteredYet": "No GitHub Apps are registered yet. Add an existing App or create one below.",
"noIssueWatchesConfiguredCreateOne": "No issue watches configured. Create one to start monitoring GitHub issues.",
+ "noIssuesMatchThisFilter": "No issues match this filter.",
"noNewIssuesFound": "No new issues found",
"noNewPrsFound": "No new PRs found",
+ "noPullRequestLinkedToThis": "No pull request linked to this session.",
+ "noPullRequestsMatchThisFilter": "No pull requests match this filter.",
"noReposFoundFor": "No repos found for \"{{org}}\"",
+ "noRepositoriesFound": "No repositories found.",
"noReviewWatchesConfiguredCreateOne": "No review watches configured. Create one to start monitoring PRs.",
+ "noReviewsYet": "No reviews yet",
+ "noSavedQueriesYet": "No saved queries yet.",
"noStatsAvailableYet": "No stats available yet.",
+ "noTaskCreatedYet": "No task created yet",
"noTasksToCleanUp": "No tasks to clean up",
+ "noWorkspaceConfiguredCreateAWorkspace": "No workspace configured. Create a workspace first to start tasks from PRs/issues.",
+ "notMergeable": "Not mergeable",
+ "omitThePlaceholderIfYouWant": "Omit the placeholder if you want the agent to pull or fetch the branch and inspect GitHub itself instead of receiving Kandev's snapshot.",
"onlyMatchIssuesWithTheseLabels": "Only match issues with these labels. Leave empty for all issues.",
"onlyPrsWhereYouAreExplicitly": "Only PRs where you are explicitly requested as a reviewer (not via team membership)",
"onlyTheAppOwner": "Only the App owner",
+ "openDetails": "Open {{title}} details",
"openGithubAppSettings": "Open GitHub App settings",
+ "openGithubFilters": "Open GitHub filters",
+ "openOnGithub": "Open {{workflow}} on GitHub",
+ "openSettingsToSeePrsAndIssues": "<0>Open GitHub settings0> to see your pull requests and issues.",
+ "openedAgo": "opened {{time}}",
"optionalFallsBackToStepDefault": "Optional — falls back to step default.",
"optionalFallsBackToStepDefault2": "Optional — falls back to step default. The executor environment where the agent will run.",
"optionallyConnectYourGithubUserFor": "Optionally connect your GitHub user for My GitHub and human-attributed actions. This identity is never given to managed agents; workspace automation continues as the App.",
+ "or": "or",
"organization": "Organization",
"organizations": "Organizations",
"otherGithubAccounts": "Other GitHub accounts",
+ "overallLabel": "Overall:",
+ "passRate": "Pass rate",
"pasteTheAppPrivateKey": "Paste the App private key.",
"pause": "Pause",
"pauseOrResumePolling": "Pause or resume polling.",
"paused": "Paused",
+ "pending": "{{pending}} pending",
+ "pendingReview": "Pending review",
+ "pendingReviewCount_one": "({{count}} pending)",
+ "pendingReviewCount_other": "({{count}} pending)",
+ "pendingReviewS": "{{pending}} pending review(s)",
"permissionsAvailableToKandevThroughThis": "Permissions available to Kandev through this workspace's GitHub App installation.",
"personalAccessToken": "Personal access token",
"personalAccount": "Personal account",
@@ -256,7 +374,11 @@
"placeholderSourceBranch": "Source branch",
"placeholderTargetBranch": "Target branch",
"pollIntervalSeconds": "Poll Interval (seconds)",
+ "pr": "PR #",
"prAnalytics": "PR Analytics",
+ "prApproved": "PR approved",
+ "prClosedWithoutMerging": "PR closed without merging",
+ "prMerged": "PR merged",
"prepareAppOnGithub": "Prepare App on GitHub",
"presetIconBug": "Bug",
"presetIconCheck": "Check",
@@ -266,9 +388,11 @@
"presetIconSearch": "Search",
"presetIconSparkle": "Sparkle",
"presetIconTool": "Tool",
+ "pressEnter": "Press Enter",
"private": "private",
"privateKeyPem": "Private key ({{extension}})",
"promptsShownOnGithubWhenStarting": "Prompts shown on {{route}} when starting a task from a PR or issue.",
+ "prs": "PRs",
"prsByDay": "PRs by Day",
"prsCreated": "PRs Created",
"prsOnDay_one": "{{date}}: {{count}} PR",
@@ -277,7 +401,13 @@
"prsWhereYouOrAnyOf": "PRs where you or any of your teams are requested as reviewers",
"publicKandevUrl": "Public Kandev URL",
"pullRequestActivityForThisWorkspace": "Pull request activity for this workspace.",
+ "pullRequestCiStatusReviewsAnd": "Pull request CI status, reviews, and checks summary.",
+ "pullRequestCount_one": "{{count}} pull request",
+ "pullRequestCount_other": "{{count}} pull requests",
"pullRequests": "Pull requests",
+ "pullRequestsAndIssuesAcrossYour": "Pull requests and issues across your repos.",
+ "pullRequestsLinkedToTask_one": "{{count}} pull request linked to this task — open one",
+ "pullRequestsLinkedToTask_other": "{{count}} pull requests linked to this task — open one",
"query": "Query",
"queryExample": "e.g. {{query}}",
"quickActions": "Quick actions",
@@ -287,21 +417,32 @@
"rateLimitUnitPoints": "points",
"rateLimitUnitRequests": "requests",
"rateLimitUnknown": "unknown",
+ "reRequestReview": "Re-request review",
+ "reRequestReviewFrom": "Re-request review from {{author}}",
+ "reconnectGithub": "Reconnect GitHub",
"reconnectIdentity": "Reconnect identity",
+ "refresh": "Refresh",
"refreshGithubConnection": "Refresh GitHub connection",
"remove": "Remove",
+ "removeFromTask": "Remove {{repo}} #{{prnumber}} from task",
"repositories": "Repositories",
"repository": "Repository",
"repositoryPermissions": "Repository permissions",
"repositoryScope": "Repository Scope",
"repositoryScopeHelp": "Limits the GitHub pull requests and issues Kandev discovers for this workspace, including My GitHub results and review and issue watches. It does not change GitHub permissions or repository access.",
+ "requesting": "Requesting...",
"requiredGithubAppPolicy": "Required GitHub App policy",
"resetCompleteDeletedTasks_one": "Reset complete — deleted {{count}} task; next poll will re-import.",
"resetCompleteDeletedTasks_other": "Reset complete — deleted {{count}} tasks; next poll will re-import.",
"resetCompleteNextPollWillRe": "Reset complete — next poll will re-import matches.",
"resetWatch": "Reset watch",
"resets": "· resets {{reset}}",
+ "resolveConflicts": "Resolve conflicts",
"resolvedFromOneNamedHostAccount": "Resolved from one named host account when needed. Managed tasks receive a scoped brokered identity; host Git is not inherited unless selected below.",
+ "retry": "Retry",
+ "reviewCount_one": "{{count}} review",
+ "reviewCount_other": "{{count}} reviews",
+ "reviewFollowUp": "Review follow-up",
"reviewPermissions": "Review permissions",
"reviewWatch": "review watch",
"reviewWatchCreated": "Review watch created",
@@ -310,7 +451,14 @@
"reviewWatchPromptHelp": "The prompt sent to the agent for each new PR. Type {{token}} to insert placeholders, or {{mention}} to reference a saved prompt by name — it expands the same way it does in workflow step prompts, since this prompt becomes the task description passed through that same assembly.",
"reviewWatchUpdated": "Review watch updated",
"reviewWatches": "Review Watches",
+ "reviews": "Reviews{{summary}}",
"saveChanges": "Save changes",
+ "saveCurrentQuery": "Save current query",
+ "savePresetDescription": "Save this {{kind}} query to the sidebar for quick access later.",
+ "savePrompt": "Save prompt",
+ "saveQuery": "Save query",
+ "saved": "Saved",
+ "savedQueryFallback": "Saved query",
"saving": "Saving...",
"savingChanges": "Saving changes…",
"searchLimit": "Search limit",
@@ -321,22 +469,31 @@
"selectedRepositories": "Selected repositories",
"setTheseExactUrlsCreateAClientSecret": "Set these exact URLs, create a client secret and webhook secret, and download a private key. This one-time setup expires {{expiresAt}}.",
"showGithubApiLimits": "Show GitHub API limits",
+ "showLess": "Show less",
+ "showMore": "Show more",
"showToken": "Show token",
"sidebarQueriesShownOnGithubFor": "Sidebar queries shown on {{route}} for pull requests and issues.",
"signInWithGhAuthLogin": "Sign in with <1>{{command}}1>, then reopen this dialog.",
"someSettingsWereSavedButAnother": "Some settings were saved, but another change failed: {{detail}}",
"startOver": "Start over",
+ "stepLabelled": "Step: {{stepTitle}}",
"storedAppCredentialsMintShortLived": "Stored App credentials mint short-lived installation tokens. Managed tasks receive a scoped brokered App identity for allowed repositories.",
"storedEncryptedByKandevWorkspaceAutomation": "Stored encrypted by Kandev. Workspace automation and managed task GitHub HTTPS/gh act as your account.",
"subscribedEvents": "Subscribed events",
+ "task": "Task",
"taskAccess": "Task access:",
"taskAccessUnavailable": "Task access unavailable",
+ "taskAutoFixPrompt": "Task auto-fix prompt",
"taskGitAccess": "Task Git access",
+ "taskLabelled": "Task: {{title}}",
"taskPrompt": "Task Prompt",
+ "tasks": "Tasks",
"tasksCreatedByThisWatcherLand": "Tasks created by this watcher land in the selected workspace.",
"theAppIsReadyToSelect": "The App is ready to select and install for this workspace.",
"theExistingWorkspaceConnectionWasNot": "The existing workspace connection was not changed.",
"theGithubResponseCouldNotBe": "The GitHub response could not be verified. Review the connection and try again.",
+ "thePlaceholderInsertsTheCurrentPr": "The placeholder inserts the current PR identifier, new or changed failing checks with GitHub job links, and new or changed review comments with file, line, and body text.",
+ "thePullRequestIsStillLinked": "The pull request is still linked.",
"theRepositoryWillBeAutomaticallyCloned": "The repository will be automatically cloned to {{path}} if it is not already present in the workspace.",
"theSettingsCouldNotBeSaved": "The settings could not be saved",
"theStoredAppCredentialsAreUnavailable": "The stored App credentials are unavailable.",
@@ -345,17 +502,33 @@
"thisAccountAlsoPowersMyGithub": "This account also powers My GitHub and user-triggered actions.",
"thisAppRegistrationIsShared_one": "This App registration is shared by {{count}} workspace. Registration changes affect every workspace using it; installation access remains workspace-specific.",
"thisAppRegistrationIsShared_other": "This App registration is shared by {{count}} workspaces. Registration changes affect every workspace using it; installation access remains workspace-specific.",
+ "thisBranchCanTBeMerged": "This branch can't be merged automatically. Resolve the conflicts before merging.",
+ "thisRepositoryOpensByDefaultYou": "This repository opens by default. You can change the filter after opening the query.",
"thisWorkspaceUsesOneCredentialFor": "This workspace uses one credential for repository sync, watches, background jobs, and managed agent GitHub access. Executor profile credentials can still take precedence.",
+ "titleIssues": "Issues",
+ "titlePullRequests": "Pull requests",
+ "toggleReviewFollowUpAutomation": "Toggle review follow-up automation",
+ "typeACustomQueryFirst": "Type a custom query first",
"typeOwnerRepoToSearch": "Type {{format}} to search",
"unableToLoadTheCurrentTask": "Unable to load the current task access setting.",
"unexpectedResponseFromTheServer": "Unexpected response from the server",
+ "unresolvedComments_one": "{{count}} unresolved comment",
+ "unresolvedComments_other": "{{count}} unresolved comments",
+ "untitledPr": "Untitled PR",
"update": "Update",
+ "updated": "Updated ",
+ "updatedAgo": "updated {{elapsed}} ago",
+ "updatedJustNow": "updated just now",
"useAnAppWhenAutomationNeeds": "Use an App when automation needs its own identity, short-lived tokens, and repository-level installation control. Setup is more involved and requires a publicly reachable HTTPS URL.",
"useCommaSeparatedOwnerRepoValues": "Use comma-separated owner/repo values.",
+ "useDefault": "Use default",
"usedByWorkspaces_one": "Used by {{count}} workspace. Editing or deleting it affects all of them.",
"usedByWorkspaces_other": "Used by {{count}} workspaces. Editing or deleting it affects all of them.",
"verifyAndImportApp": "Verify and import App",
"viewPermissions": "View permissions",
+ "viewPullRequestOnGithub": "View pull request on GitHub",
+ "waitingOnBranchProtection": "Waiting on branch protection",
+ "watchesThisTaskSLinkedPull": "Watches this task's linked pull request during the 1 minute PR refresh loop. Auto-fix queues task prompts for newly observed feedback, auto-merge waits for the PR to be ready, and the notification switches wake the task's agent when the workspace's connected GitHub account is requested for review or the PR reaches a terminal state. Review requests silently baseline the account's current request state before notifying on a later request.",
"webhook": "Webhook",
"webhookSecret": "Webhook secret",
"whichAllowedGithubRepositoriesToMonitor": "Which allowed GitHub repositories to monitor for this watch.",
@@ -367,5 +540,6 @@
"workspaceAutomationNowUsesTheVerified": "Workspace automation now uses the verified App installation.",
"workspaceGithubAccess": "Workspace GitHub access",
"workspaceGithubConnectionRemoved": "Workspace GitHub connection removed",
- "workspaceGithubIdentity": "Workspace GitHub identity"
+ "workspaceGithubIdentity": "Workspace GitHub identity",
+ "yourReviewIsRequested": "Your review is requested"
}
diff --git a/apps/web/src/locales/en/gitlab.json b/apps/web/src/locales/en/gitlab.json
index 4ac18d82ef..3b429ece5d 100644
--- a/apps/web/src/locales/en/gitlab.json
+++ b/apps/web/src/locales/en/gitlab.json
@@ -1,35 +1,71 @@
{
+ "actionApprove": "Approve",
+ "actionAssignees": "Assignees",
+ "actionFailed": "{{action}} failed",
"actionHint": "Action hint {{index}}",
"actionLabel": "Action label {{index}}",
+ "actionLabels": "Labels",
+ "actionMerge": "Merge",
"actionPrompt": "Action prompt {{index}}",
+ "actionReply": "Reply",
+ "actionResolve": "Resolve",
+ "actionReviewers": "Reviewers",
+ "actionUnapprove": "Unapprove",
+ "actionUnlink": "Unlink",
"actions": "Actions",
"active": "Active",
+ "addAllDiscussionsToTaskContext": "Add all discussions to task context",
+ "addDiscussionToTaskContext": "Add discussion to task context",
"addIssueAction": "Add issue action",
"addMrAction": "Add MR action",
"agentProfile": "Agent profile",
"allProjects": "All projects",
"alwaysDelete": "Always delete",
+ "apply": "Apply",
+ "approvalRemoved": "Approval removed",
+ "approvals": "Approvals",
+ "approve": "Approve",
+ "approvedCount_one": "{{count}} approved",
+ "approvedCount_other": "{{count}} approved",
+ "assignees": "Assignees",
+ "assigneesUpdated": "Assignees updated",
"authenticationMethod": "Authentication method",
"auto": "Auto",
"autoKeepEngagedTasks": "Auto; keep engaged tasks",
"between60And3600Seconds": "Between 60 and 3600 seconds.",
+ "bugBackend": "bug, backend",
+ "byAuthorOpenedAgo": "by {{author}} · opened {{time}}",
"checkNow": "Check now",
+ "checkingGitlabStatus": "Checking GitLab status…",
"chooseAWorkspacePatTheLocal": "Choose a workspace PAT, the local glab CLI login, or an environment-provided token. CLI and environment credentials must already be available to the kandev backend.",
"chooseWhetherToIncludeOnlyDirect": "Choose whether to include only direct reviewer requests or the broader compatible scope.",
"cleanupPolicy": "Cleanup policy",
"clearToken": "Clear token",
+ "commits": "Commits",
+ "conflicts": "Conflicts",
"connectAGitlabAccountSoKandev": "Connect a GitLab account so kandev can open merge requests, read review discussions, and reply to / resolve them on your behalf.",
"connected": "Connected",
"controlsTaskDeletionWhenTheGitlab": "Controls task deletion when the GitLab item closes.",
"couldNotReachHost": "Couldn't reach <1>{{host}}1>: {{error}}",
"createIssueWatch": "Create GitLab issue watch",
"createReviewWatch": "Create GitLab review watch",
+ "createTask": "Create task",
"createWatch": "Create watch",
+ "created": "Created",
+ "customQueryPressEnterEG": "Custom query — press Enter. e.g. \"labels=bug&state=opened\"",
+ "deleteSavedQuery": "Delete saved query",
+ "deleteSavedQuery2": "Delete saved query {{label}}",
"deleteWatch": "Delete watch",
"deleteWatchTitle": "Delete {{label}}?",
"deleting": "Deleting...",
+ "description": "Description",
"directAndGroupCompatibleRequests": "Direct and group-compatible requests",
"directRequests": "Direct requests",
+ "discussionReply": "Discussion reply",
+ "discussionResolved": "Discussion resolved",
+ "discussions": "Discussions",
+ "draft": "Draft",
+ "eGNeedsMyReview": "e.g. Needs my review",
"editIssueWatch": "Edit GitLab issue watch",
"editReviewWatch": "Edit GitLab review watch",
"editWatch": "Edit watch",
@@ -41,85 +77,154 @@
"everyQuickActionNeedsALabel": "Every quick action needs a label and prompt.",
"executorProfile": "Executor profile",
"failedToClearToken": "Failed to clear token",
+ "failedToLinkMergeRequest": "Failed to link merge request",
"failedToResetQuickActions": "Failed to reset quick actions",
"failedToSaveQuickActions": "Failed to save quick actions",
+ "failedToUnlinkMergeRequest": "Failed to unlink merge request",
"failedToUpdateAuthenticationMethod": "Failed to update authentication method",
+ "files": "Files",
+ "filters": "Filters",
"foundMatchingIssues_one": "Found {{count}} matching issue",
"foundMatchingIssues_other": "Found {{count}} matching issues",
"foundMatchingMergeRequests_one": "Found {{count}} matching merge request",
"foundMatchingMergeRequests_other": "Found {{count}} matching merge requests",
"gitlabAuthenticationMethodUpdated": "GitLab authentication method updated",
+ "gitlabCredentialsAreConfiguredButAuthentication": "GitLab credentials are configured, but authentication failed. Reconnect in ",
"gitlabHostUrlOverrideForSelf": "GitLab host URL. Override for self-managed instances; leave at the default for {{host}}.",
+ "gitlabIsNotConnectedConfigureGitlab": "GitLab is not connected. Configure GitLab authentication in ",
"gitlabIssueWatch": "GitLab issue watch",
+ "gitlabMergeRequest": "GitLab merge request !{{mriid}}",
+ "gitlabMergeRequests": "{{length}} GitLab merge requests",
"gitlabQueryParameters": "GitLab query parameters",
"gitlabQuickActionsReset": "GitLab quick actions reset",
"gitlabQuickActionsSaved": "GitLab quick actions saved",
+ "gitlabRejectedAction": "GitLab rejected the action.",
+ "gitlabRejectedTheAction": "GitLab rejected the action.",
+ "gitlabRejectedTheMergeRequestLink": "GitLab rejected the merge request link.",
+ "gitlabRejectedTheRequest": "GitLab rejected the request.",
"gitlabReviewWatch": "GitLab review watch",
"gitlabTokenCleared": "GitLab token cleared",
"gitlabWatchCouldNotBeSaved": "GitLab watch could not be saved",
+ "gitlabWillMergeDescription": "GitLab will merge {{mr}} into {{baseBranch}} using the project default.",
"glabCli": "glab CLI",
"hideToken": "Hide token",
+ "inbox": "Inbox",
"initialStepForEachNewTask": "Initial step for each new task.",
"interval": "Interval",
- "intervalMinutes_one": "{{count}}m",
- "intervalMinutes_other": "{{count}}m",
"intervalMinutesLabel_one": "{{count}}m interval",
"intervalMinutesLabel_other": "{{count}}m interval",
- "issues": "Issues",
+ "intervalMinutes_one": "{{count}}m",
+ "intervalMinutes_other": "{{count}}m",
+ "into": "into",
"issueWatchCheckFailed": "Issue watch check failed",
"issueWatchCreated": "Issue watch created",
"issueWatchCreationFailed": "Issue watch creation failed",
"issueWatchDeleted": "Issue watch deleted",
"issueWatchDeletionFailed": "Issue watch deletion failed",
"issueWatchDialogDescription": "Automatically create workspace tasks for newly matching GitLab issues.",
- "issueWatches": "Issue watches",
+ "issueWatchResetFailed": "Issue watch reset failed",
"issueWatchReset_one": "Issue watch reset; {{count}} task deleted",
"issueWatchReset_other": "Issue watch reset; {{count}} tasks deleted",
- "issueWatchResetFailed": "Issue watch reset failed",
- "issueWatchUpdated": "Issue watch updated",
"issueWatchUpdateFailed": "Issue watch update failed",
+ "issueWatchUpdated": "Issue watch updated",
+ "issueWatches": "Issue watches",
+ "issues": "Issues",
+ "kindIssue": "issue",
+ "kindMergeRequest": "merge request",
"label": "Label",
"labels": "Labels",
+ "labelsUpdated": "Labels updated",
"lastChecked": "Last checked",
"lastCheckedAt": "Last checked {{value}}",
"leaveEmptyToMatchMergeRequests": "Leave empty to match merge requests requesting your review. Adding parameters explicitly replaces that reviewer constraint.",
+ "linkAnotherMergeRequest": "Link another merge request",
+ "linkGitlabMergeRequest": "Link GitLab merge request",
+ "linkMergeRequest": "Link merge request",
+ "linkedMergeRequest": "Linked merge request",
+ "linking": "Linking…",
+ "loadingMergeRequest": "Loading merge request",
"loggedInAs": "Logged in as <1>{{username}}1>",
"match": "Match",
"maximumInFlightTasks": "Maximum in-flight tasks",
+ "merge": "Merge",
+ "mergeRequest": "Merge request !{{mriid}}",
+ "mergeRequestApproved": "Merge request approved",
+ "mergeRequestLabels": "Merge request labels",
+ "mergeRequestMerged": "Merge request merged",
"mergeRequestReviewWatches": "Merge request review watches",
+ "mergeRequestUnlinked": "Merge request unlinked",
+ "mergeRequestUrl": "Merge request URL",
"mergeRequests": "Merge requests",
+ "mergeRequestsAndIssues": "{{host}} · merge requests and issues",
+ "mergeThisMergeRequest": "Merge this merge request?",
+ "mergeability": "Mergeability",
"mockTest": "Mock (test)",
+ "mrs": "MRs",
+ "name": "Name",
"never": "Never",
"neverDelete": "Never delete",
"newWatch": "New watch",
+ "noChangedFiles": "No changed files",
+ "noCommits": "No commits",
+ "noDiscussionsYet": "No discussions yet",
+ "noIssuesMatchThisFilter": "No issues match this filter.",
"noLimit": "No limit",
+ "noMergeRequestLinked": "No merge request linked to this session.",
+ "noMergeRequestsMatchThisFilter": "No merge requests match this filter.",
"noNewIssuesMatched": "No new issues matched",
"noNewMergeRequestsMatched": "No new merge requests matched",
+ "noPipeline": "No pipeline",
+ "noSavedQueriesYet": "No saved queries yet.",
+ "noTaskCreatedYet": "No task created yet",
+ "noWatchesConfigured": "No watches configured.",
+ "noneAssigned": "None assigned",
"notConfigured": "Not configured",
"notConnected": "Not connected",
- "noWatchesConfigured": "No watches configured.",
+ "notificationStatusUnavailable": "Notification status unavailable",
+ "notificationUpdateFailed": "Notification update failed",
+ "openGitlabFilters": "Open GitLab filters",
+ "openInGitlab": "Open in GitLab",
+ "openMergeRequestInGitlab": "Open merge request in GitLab",
+ "openSettingsToSeeMrsAndIssues": "<0>Settings → GitLab0> to see your merge requests and issues.",
"optionalCapPollingResumesWhenActive": "Optional cap; polling resumes when active tasks fall below it.",
"optionalCommaSeparatedGitlabLabelsThat": "Optional comma-separated GitLab labels that matching issues must include.",
"optionalCommaSeparatedNamespaceProjectPaths": "Optional comma-separated namespace/project paths. Empty watches every accessible project.",
"optionalGitlabApiQueryParametersSuch": "Optional GitLab API query parameters, such as {{example}}.",
"optionalOtherwiseUsesTheWorkflowStep": "Optional; otherwise uses the workflow step default.",
- "paused": "Paused",
+ "pasteAMergeRequestUrlFrom": "Paste a merge request URL from this workspace's configured GitLab host.",
"pauseWatch": "Pause watch",
+ "paused": "Paused",
"personalAccessToken": "Personal access token",
+ "pipeline": "Pipeline",
"pollGitlabForMergeRequestsAwaiting": "Poll GitLab for merge requests awaiting review and create one task per new match.",
"pollGitlabIssuesAndCreateOne": "Poll GitLab issues and create one task per new match.",
- "pollingAndCleanup": "Polling and cleanup",
"pollIntervalSeconds": "Poll interval (seconds)",
+ "pollingAndCleanup": "Polling and cleanup",
+ "pressEnter": "Press Enter",
+ "project": "Project",
"projectPaths": "Project paths",
"projects": "Projects",
"promptSentToTheSelectedAgent": "Prompt sent to the selected agent profile for each new match.",
"promptUsingUrlAndTitle": "Prompt using {{url}} and {{title}}",
+ "query": "Query",
"quickActions": "Quick actions",
"reconnectRequired": "Reconnect required",
"refresh": "Refresh",
+ "refreshFailed": "Refresh failed: {{error}}",
+ "refreshFailedShowingCached": "GitLab refresh failed: {{error}}. Showing the last successfully loaded review data.",
+ "refreshMergeRequest": "Refresh merge request",
"remove": "Remove {{label}}",
+ "removeFromAssignees": "Remove {{username}} from assignees",
+ "removeFromReviewers": "Remove {{username}} from reviewers",
+ "reply": "Reply",
+ "replyAdded": "Reply added",
+ "replyToThisDiscussion": "Reply to this discussion",
"resetQuickActionsToDefaults": "Reset quick actions to defaults",
"resetWatch": "Reset watch",
+ "resolve": "Resolve",
+ "resolved": "Resolved",
+ "retry": "Retry",
+ "review": "Review",
"reviewScope": "Review scope",
"reviewWatchCheckFailed": "Review watch check failed",
"reviewWatchCreated": "Review watch created",
@@ -127,22 +232,50 @@
"reviewWatchDeleted": "Review watch deleted",
"reviewWatchDeletionFailed": "Review watch deletion failed",
"reviewWatchDialogDescription": "Automatically create workspace tasks for newly matching GitLab merge requests.",
+ "reviewWatchResetFailed": "Review watch reset failed",
"reviewWatchReset_one": "Review watch reset; {{count}} task deleted",
"reviewWatchReset_other": "Review watch reset; {{count}} tasks deleted",
- "reviewWatchResetFailed": "Review watch reset failed",
- "reviewWatchUpdated": "Review watch updated",
"reviewWatchUpdateFailed": "Review watch update failed",
+ "reviewWatchUpdated": "Review watch updated",
+ "reviewers": "Reviewers",
+ "reviewersUpdated": "Reviewers updated",
"saveChangesBeforeCheckingNow": "Save changes before checking now",
+ "saveCurrentQuery": "Save current query",
+ "saveGitlabQuery": "Save GitLab query",
+ "savePresetDescription": "Save this {{kind}} query to the sidebar for quick access later.",
+ "saved": "Saved",
+ "savedQueryFallback": "Saved query",
"saving": "Saving...",
+ "searchAssignees": "Search assignees",
+ "searchProjectMembers": "Search project members",
+ "searchReviewers": "Search reviewers",
"selectWorkflow": "Select workflow",
"shortHint": "Short hint",
"showToken": "Show token",
+ "subscribe": "Subscribe",
+ "subscribeToNotifications": "Subscribe to GitLab notifications",
+ "subscribedToGitlabNotifications": "Subscribed to GitLab notifications",
+ "task": "Task",
"taskAutomation": "Task automation",
"taskPrompt": "Task prompt",
"taskPromptsShownOnTheGitlab": "Task prompts shown on the GitLab browse page for merge requests and issues.",
+ "taskRepository": "Task repository",
+ "theMergeRequestIsStillLinked": "The merge request is still linked.",
+ "thisMergeRequestBelongsToA": "This merge request belongs to a different GitLab host than the active workspace connection.",
"thisWillDeleteEveryTaskCreated": "This will delete every task created by this watch, including archived tasks, and remove its polling history. This cannot be undone.",
+ "titleIssues": "Issues",
+ "titleMergeRequests": "Merge requests",
+ "typeACustomQueryFirst": "Type a custom query first",
+ "unapprove": "Unapprove",
+ "unlink": "Unlink !",
+ "unlinkMergeRequest": "Unlink merge request",
"unreachable": "Unreachable",
+ "unsubscribe": "Unsubscribe",
+ "unsubscribeFromNotifications": "Unsubscribe from GitLab notifications",
+ "unsubscribedFromGitlabNotifications": "Unsubscribed from GitLab notifications",
"updateWatch": "Update watch",
+ "updated": "Updated ",
+ "verifyingGitlabConnection": "Verifying GitLab connection",
"watchDeletionFailed": "Watch deletion failed",
"workflow": "Workflow",
"workflowStep": "Workflow step",
diff --git a/apps/web/src/locales/en/integrations.json b/apps/web/src/locales/en/integrations.json
new file mode 100644
index 0000000000..4ed01b1e71
--- /dev/null
+++ b/apps/web/src/locales/en/integrations.json
@@ -0,0 +1,6 @@
+{
+ "deleteSavedQuery": "Delete saved query",
+ "noSavedQueriesYet": "No saved queries yet",
+ "saveCurrentQuery": "Save current query",
+ "savedQueries": "Saved"
+}
diff --git a/apps/web/src/locales/pseudo/github.json b/apps/web/src/locales/pseudo/github.json
index cc6fae8643..13d6a4c5db 100644
--- a/apps/web/src/locales/pseudo/github.json
+++ b/apps/web/src/locales/pseudo/github.json
@@ -4,26 +4,47 @@
"actionPromptPlaceholderHelp": "Ţŷƥē {{token}} ţō śēē àvàĩĺàƀĺē ƥĺàćēĥōĺďēŕś. <4>{{url}}4> àńď <7>{{title}}7> àŕē śũƀśţĩţũţēď ŵĥēń ţĥē àćţĩōń ŕũńś.",
"actions": "Àćţĩōńś",
"active": "Àćţĩvē",
+ "addAll": "Àďď àĺĺ",
+ "addAllCommentsToChatContext": "Àďď àĺĺ ćōḿḿēńţś ţō ćĥàţ ćōńţēxţ",
+ "addAllFailedChecksToChat": "Àďď àĺĺ ƒàĩĺēď ćĥēćķś ţō ćĥàţ ćōńţēxţ",
+ "addAllReviewsToChatContext": "Àďď àĺĺ ŕēvĩēŵś ţō ćĥàţ ćōńţēxţ",
+ "addAllToChatContext": "Àďď àĺĺ ţō ćĥàţ ćōńţēxţ",
"addAnExistingGithubApp": "Àďď àń ēxĩśţĩńĝ ĜĩţĤũƀ Àƥƥ",
"addExistingApp": "Àďď ēxĩśţĩńĝ Àƥƥ",
+ "addFailuresToChatContext": "Àďď {{workflow}} ƒàĩĺũŕēś ţō ćĥàţ ćōńţēxţ",
"addIssueAction": "Àďď ĩśśũē àćţĩōń",
"addIssueQuery": "Àďď ĩśśũē qũēŕŷ",
"addPrAction": "Àďď ƤŔ àćţĩōń",
"addPrQuery": "Àďď ƤŔ qũēŕŷ",
"addRepository": "Àďď ŕēƥōśĩţōŕŷ",
+ "addToChatContext": "Àďď ţō ćĥàţ ćōńţēxţ",
"addWatch": "Àďď Ŵàţćĥ",
+ "addWholeThreadToChatContext": "Àďď ŵĥōĺē ţĥŕēàď ţō ćĥàţ ćōńţēxţ",
+ "addedToChatContext": "Àďďēď ţō ćĥàţ ćōńţēxţ",
"agentProfile": "Àĝēńţ Ƥŕōƒĩĺē",
+ "allRepos": "Àĺĺ ŕēƥōś",
"allRepositories": "Àĺĺ ŕēƥōśĩţōŕĩēś",
"allRepositoriesAllowedByThisWorkspace": "Àĺĺ ŕēƥōśĩţōŕĩēś àĺĺōŵēď ƀŷ ţĥĩś ŵōŕķśƥàćē",
"allowsInstallationElsewhereItDoesNot": "Àĺĺōŵś ĩńśţàĺĺàţĩōń ēĺśēŵĥēŕē. Ĩţ ďōēś ńōţ ƥũƀĺĩśĥ ţō Ḿàŕķēţƥĺàćē ōŕ ĝŕàńţ ŕēƥōś.",
+ "anErrorOccurred": "Àń ēŕŕōŕ ōććũŕŕēď",
"anExecutorProfileGhTokenOr": "Àń ēxēćũţōŕ-ƥŕōƒĩĺē {{ghToken}} ōŕ {{githubToken}} ōvēŕŕĩďēś ḿàńàĝēď ŵōŕķśƥàćē ćŕēďēńţĩàĺś ƒōŕ ţĥàţ ţàśķ.",
"anImportedAppMustHaveAt": "Àń ĩḿƥōŕţēď Àƥƥ ḿũśţ ĥàvē àţ ĺēàśţ ţĥēśē ŕēƥōśĩţōŕŷ ƥēŕḿĩśśĩōńś àńď śũƀśćŕĩƀēď ēvēńţś.",
"apiRateLimit": "ÀƤĨ ŕàţē ĺĩḿĩţ",
"appId": "Àƥƥ ĨĎ",
"appInstallationFailed": "Àƥƥ ĩńśţàĺĺàţĩōń ƒàĩĺēď",
"approvalRate": "Àƥƥŕōvàĺ Ŕàţē",
+ "approveAs": "Àƥƥŕōvē àś {{mutationActor}}",
+ "approved": "Àƥƥŕōvēď",
+ "approving": "Àƥƥŕōvĩńĝ...",
"authenticationUnavailable": "Àũţĥēńţĩćàţĩōń ũńàvàĩĺàƀĺē",
"auto": "Àũţō",
+ "autoFix": "Àũţō-ƒĩx",
+ "autoFixCiAndAddressComments": "Àũţō-ƒĩx ĆĨ àńď àďďŕēśś ćōḿḿēńţś",
+ "autoFixPrompt": "Àũţō-ƒĩx ƥŕōḿƥţ",
+ "autoFixPromptDescription": "Ţĥĩś ƥŕōḿƥţ ĩś ũśēď ōńĺŷ ƒōŕ ţĥĩś ţàśķ. Ĺēàvē ĩţ ƀĺàńķ ţō ũśē ţĥē ďēƒàũĺţ ƥŕōḿƥţ. Àďď <0>{{placeholder}}0> ŵĥēń ŷōũ ŵàńţ Ķàńďēv ţō ĩńćĺũďē ĩţś ƤŔ ƒēēďƀàćķ śńàƥśĥōţ.",
+ "autoFixRoundExplanation": "Àũţō-ƒĩx ĥàś ũśēď {{current}} ōƒ {{max}} ŕōũńďś ƒōŕ ţĥĩś ƤŔ. À ŕōũńď ĩś ćōũńţēď ŵĥēń Ķàńďēv śēńďś ōŕ qũēũēś à ĆĨ àũţō-ƒĩx ḿēśśàĝē. Ķàńďēv ŵàĩţś ƒōŕ àĺĺ ƤŔ ćĥēćķś ţō ƒĩńĩśĥ ƀēƒōŕē śţàŕţĩńĝ à ńēŵ ĆĨ àũţō-ƒĩx ţũŕń, śō ţĥē àĝēńţ ĝēţś ţĥē ƒĩńàĺ ƒàĩĺēď ćĥēćķś àńď ćũŕŕēńţ ćōḿḿēńţś ţōĝēţĥēŕ. Ũƥďàţĩńĝ àń àĺŕēàďŷ qũēũēď àũţō-ƒĩx ḿēśśàĝē ďōēś ńōţ ũśē àńōţĥēŕ ŕōũńď. Ŵĥēń ţĥĩś ĩś àţ {{max}}/{{max}} àńď ţĥēŕē ĩś ńō ƥēńďĩńĝ àũţō-ƒĩx ḿēśśàĝē ĺēƒţ ţō ũƥďàţē, Ķàńďēv ƥàũśēś àũţō-ƒĩx ƒōŕ ţĥĩś ƤŔ śō ĩţ ćàńńōţ ĺōōƥ ƒōŕēvēŕ. Ďĩśàƀĺē àńď ŕē-ēńàƀĺē àũţō-ƒĩx àƒţēŕ ḿàńũàĺ ŕēvĩēŵ ţō śţàŕţ ōvēŕ.",
+ "autoMerge": "Àũţō-ḿēŕĝē",
+ "autoMergeWhenReady": "Àũţō-ḿēŕĝē ŵĥēń ŕēàďŷ",
"automaticallyCreateTasksForGithubIssues": "Àũţōḿàţĩćàĺĺŷ ćŕēàţē ţàśķś ƒōŕ ĜĩţĤũƀ ĩśśũēś ḿàţćĥĩńĝ ŷōũŕ ćŕĩţēŕĩà.",
"automaticallyCreateTasksForPrsThat": "Àũţōḿàţĩćàĺĺŷ ćŕēàţē ţàśķś ƒōŕ ƤŔś ţĥàţ ńēēď ŷōũŕ ŕēvĩēŵ.",
"automaticallyCreateTasksWhenNewGithub": "Àũţōḿàţĩćàĺĺŷ ćŕēàţē ţàśķś ŵĥēń ńēŵ ĜĩţĤũƀ ĩśśũēś ḿàţćĥ ŷōũŕ ćŕĩţēŕĩà.",
@@ -33,17 +54,43 @@
"availablePlaceholders": "Àvàĩĺàƀĺē ƥĺàćēĥōĺďēŕś:",
"avgTimeToMerge": "Àvĝ Ţĩḿē ţō Ḿēŕĝē",
"backToRegisteredApps": "Ɓàćķ ţō ŕēĝĩśţēŕēď Àƥƥś",
+ "behindBase": "Ɓēĥĩńď ƀàśē",
"bestForPersonalOrCompanyInternal": "Ɓēśţ ƒōŕ ƥēŕśōńàĺ ōŕ ćōḿƥàńŷ-ĩńţēŕńàĺ àũţōḿàţĩōń.",
+ "blocked": "Ɓĺōćķēď",
+ "blockedByBranchProtection": "Ɓĺōćķēď ƀŷ ƀŕàńćĥ ƥŕōţēćţĩōń",
+ "blockedGeneric": "Ŕēqũĩŕēď ŕēvĩēŵś, ćōďē ōŵńēŕś, ōŕ ŕēƥōśĩţōŕŷ ŕũĺēś śţĩĺĺ ńēēď ţō ćĺēàŕ.",
+ "blockedNeedsApprovals_one": "Ńēēďś {{count}} ḿōŕē àƥƥŕōvàĺ ƀēƒōŕē ĩţ ćàń ḿēŕĝē.",
+ "blockedNeedsApprovals_other": "Ńēēďś {{count}} ḿōŕē àƥƥŕōvàĺś ƀēƒōŕē ĩţ ćàń ḿēŕĝē.",
+ "blockedStatusCheck": "À ŕēqũĩŕēď śţàţũś ćĥēćķ ĥàśń'ţ ƥàśśēď ŷēţ.",
+ "botComments": "Ɓōţ ćōḿḿēńţś (",
+ "byAuthor": "ƀŷ <1>1>",
+ "byAuthorOpenedAgo": "ƀŷ {{author}} · ōƥēńēď {{time}}",
"changeConnection": "Ćĥàńĝē ćōńńēćţĩōń",
"changeGithubConnection": "Ćĥàńĝē ĜĩţĤũƀ ćōńńēćţĩōń",
+ "changesRequested": "Ćĥàńĝēś ŕēqũēśţēď",
+ "checkBucketFailed": "Ƒàĩĺēď",
+ "checkBucketInProgress": "Ĩń ƥŕōĝŕēśś",
+ "checkBucketPassed": "Ƥàśśēď",
"checkNow": "Ćĥēćķ ńōŵ",
"checkingForNewIssues": "Ćĥēćķĩńĝ ƒōŕ ńēŵ ĩśśũēś...",
"checkingForNewPrs": "Ćĥēćķĩńĝ ƒōŕ ńēŵ ƤŔś...",
"checkingGithubConnection": "Ćĥēćķĩńĝ ĜĩţĤũƀ ćōńńēćţĩōń...",
+ "checkingGithubStatus": "Ćĥēćķĩńĝ ĜĩţĤũƀ śţàţũś…",
+ "checksFailed": "Ćĥēćķś ƒàĩĺēď",
+ "checksFailedCount_one": "{{count}} ƒàĩĺēď",
+ "checksFailedCount_other": "{{count}} ƒàĩĺēď",
+ "checksPassed": "Ćĥēćķś ƥàśśēď",
+ "checksPassedCount_one": "{{count}} ƥàśśēď",
+ "checksPassedCount_other": "{{count}} ƥàśśēď",
+ "checksPendingCount_one": "{{count}} ƥēńďĩńĝ",
+ "checksPendingCount_other": "{{count}} ƥēńďĩńĝ",
+ "checksRunning": "Ćĥēćķś ŕũńńĩńĝ",
"chooseAGithubApp": "Ćĥōōśē à ĜĩţĤũƀ Àƥƥ",
"chooseHowNewlyLaunchedTasksAuthenticate": "Ćĥōōśē ĥōŵ ńēŵĺŷ ĺàũńćĥēď ţàśķś àũţĥēńţĩćàţē ţō ĜĩţĤũƀ. Ţĥĩś ďōēś ńōţ ćĥàńĝē ţĥē ŵōŕķśƥàćē àũţōḿàţĩōń ćōńńēćţĩōń àƀōvē.",
+ "chooseMergeMethod": "Ćĥōōśē ḿēŕĝē ḿēţĥōď",
"chooseTheAutomationAndPersonalIdentities": "Ćĥōōśē ţĥē àũţōḿàţĩōń àńď ƥēŕśōńàĺ ĩďēńţĩţĩēś ũśēď ƀŷ ţĥĩś ŵōŕķśƥàćē.",
"chooseTheExactAccountKandevDoes": "Ćĥōōśē ţĥē ēxàćţ àććōũńţ. Ķàńďēv ďōēś ńōţ śĩĺēńţĺŷ ƒōĺĺōŵ ţĥē ĆĹĨ'ś àćţĩvē-àććōũńţ ćĥàńĝē.",
+ "ciChecks": "ĆĨ Ćĥēćķś{{summary}}",
"ciPassRate": "ĆĨ Ƥàśś Ŕàţē",
"cleanUpClosed": "Ćĺēàń ũƥ ćĺōśēď",
"cleanUpMerged": "Ćĺēàń ũƥ ḿēŕĝēď",
@@ -59,10 +106,16 @@
"cliAccountActiveSuffix": " - àćţĩvē",
"clientId": "Ćĺĩēńţ ĨĎ",
"clientSecret": "Ćĺĩēńţ śēćŕēţ",
+ "closePrStatus": "Ćĺōśē ƤŔ śţàţũś",
+ "closedAgo": "ćĺōśēď {{time}}",
+ "commentCount_one": "{{count}} ćōḿḿēńţ",
+ "commentCount_other": "{{count}} ćōḿḿēńţś",
"comments": "Ćōḿḿēńţś",
"configureTheExistingAppOnGithub": "Ćōńƒĩĝũŕē ţĥē ēxĩśţĩńĝ Àƥƥ ōń ĜĩţĤũƀ",
+ "conflicts": "Ćōńƒĺĩćţś",
"connectGithub": "Ćōńńēćţ ĜĩţĤũƀ",
"connectIdentity": "Ćōńńēćţ ĩďēńţĩţŷ",
+ "connectYourPersonalGithubIdentityTo": "Ćōńńēćţ ŷōũŕ ƥēŕśōńàĺ ĜĩţĤũƀ ĩďēńţĩţŷ ţō śēē ƥũĺĺ ŕēqũēśţś àńď ĩśśũēś àśśĩĝńēď ţō ŷōũ.",
"connectionMethod": "Ćōńńēćţĩōń ḿēţĥōď",
"continueOnGithub": "Ćōńţĩńũē ōń ĜĩţĤũƀ",
"controlsHowNewlyLaunchedTasksAuthenticate": "Ćōńţŕōĺś ĥōŵ ńēŵĺŷ ĺàũńćĥēď ţàśķś àũţĥēńţĩćàţē ţō ĜĩţĤũƀ ƒōŕ Ĝĩţ ĤŢŢƤŚ àńď ĝĥ ćōḿḿàńďś. Ḿàńàĝēď ŵōŕķśƥàćē ćŕēďēńţĩàĺś ũśē Ķàńďēv'ś ŵōŕķśƥàćē ćōńńēćţĩōń; ēxēćũţōŕ ćŕēďēńţĩàĺś ũśē ţĥē śēĺēćţēď ēxēćũţōŕ'ś Ĝĩţ ōŕ ŚŚĤ śēţũƥ.",
@@ -78,15 +131,23 @@
"credentialUsedForRepositorySyncWatches": "Ćŕēďēńţĩàĺ ũśēď ƒōŕ ŕēƥōśĩţōŕŷ śŷńć, ŵàţćĥēś, àńď ḿàńàĝēď àĝēńţ ĝĩţ àńď ĝĥ ćōḿḿàńďś. Ēxēćũţōŕ ƥŕōƒĩĺē ţōķēńś ţàķē ƥŕēćēďēńćē.",
"currentGithubApiRateAndQuery": "Ćũŕŕēńţ ĜĩţĤũƀ ÀƤĨ ŕàţē àńď qũēŕŷ ĺĩḿĩţś ƒōŕ ţĥĩś ŵōŕķśƥàćē ćōńńēćţĩōń.",
"customQuery": "Ćũśţōḿ Qũēŕŷ",
+ "customQueryPressEnterEG": "Ćũśţōḿ qũēŕŷ — ƥŕēśś Ēńţēŕ. ē.ĝ. \"ĩś:ōƥēń ŕēvĩēŵ-ŕēqũēśţēď:@ḿē\"",
"defaultQueries": "Ďēƒàũĺţ qũēŕĩēś",
"defaultQueriesAreStillLoading": "Ďēƒàũĺţ qũēŕĩēś àŕē śţĩĺĺ ĺōàďĩńĝ.",
"defaultQueriesSaved": "Ďēƒàũĺţ qũēŕĩēś śàvēď",
+ "defaultRepository": "Ďēƒàũĺţ ŕēƥōśĩţōŕŷ",
"delete": "Ďēĺēţē",
+ "deleteSavedQuery": "Ďēĺēţē śàvēď qũēŕŷ",
"deletedTasks_one": "Ďēĺēţēď {{count}} ţàśķ",
"deletedTasks_other": "Ďēĺēţēď {{count}} ţàśķś",
+ "description": "Ďēśćŕĩƥţĩōń",
"disconnect": "Ďĩśćōńńēćţ",
"disconnectFailed": "Ďĩśćōńńēćţ ƒàĩĺēď",
+ "draft": "Ďŕàƒţ",
"eGBugEnhancementPriorityHigh": "ē.ĝ. {{examples}}",
+ "eGNeedsMyReview": "ē.ĝ. Ńēēďś ḿŷ ŕēvĩēŵ",
+ "editAutoFixPromptForThis": "Ēďĩţ àũţō-ƒĩx ƥŕōḿƥţ ƒōŕ ţĥĩś ţàśķ",
+ "editDefaultPrompt": "Ēďĩţ ďēƒàũĺţ ƥŕōḿƥţ",
"editDetails": "Ēďĩţ ďēţàĩĺś",
"editIssueWatch": "Ēďĩţ Ĩśśũē Ŵàţćĥ",
"editPrompt": "Ēďĩţ ƥŕōḿƥţ",
@@ -104,26 +165,37 @@
"enterTheNumericGithubAppId": "Ēńţēŕ ţĥē ńũḿēŕĩć ĜĩţĤũƀ Àƥƥ ĨĎ.",
"enterTheWebhookSecret": "Ēńţēŕ ţĥē ŵēƀĥōōķ śēćŕēţ.",
"executorProfile": "Ēxēćũţōŕ Ƥŕōƒĩĺē",
+ "explainAutoFixRounds": "Ēxƥĺàĩń àũţō-ƒĩx ŕōũńďś",
+ "explainCiAutomationOptions": "Ēxƥĺàĩń ĆĨ àũţōḿàţĩōń ōƥţĩōńś",
+ "explainFinalPrStateNotifications": "Ēxƥĺàĩń ƒĩńàĺ ƤŔ śţàţē ńōţĩƒĩćàţĩōńś",
"explainHowManagedTaskCredentialsWork": "Ēxƥĺàĩń ĥōŵ ḿàńàĝēď ţàśķ ćŕēďēńţĩàĺś ŵōŕķ",
"explainRepositoryScope": "Ēxƥĺàĩń ŕēƥōśĩţōŕŷ śćōƥē",
+ "explainReviewRequestNotifications": "Ēxƥĺàĩń ŕēvĩēŵ ŕēqũēśţ ńōţĩƒĩćàţĩōńś",
"explainTaskGitAccess": "Ēxƥĺàĩń ţàśķ Ĝĩţ àććēśś",
"explainWorkspaceGithubIdentity": "Ēxƥĺàĩń ŵōŕķśƥàćē ĜĩţĤũƀ ĩďēńţĩţŷ",
+ "failedToApprove": "Ƒàĩĺēď ţō àƥƥŕōvē",
"failedToCheckForIssues": "Ƒàĩĺēď ţō ćĥēćķ ƒōŕ ĩśśũēś",
"failedToCheckForPrs": "Ƒàĩĺēď ţō ćĥēćķ ƒōŕ ƤŔś",
"failedToDeleteIssueWatch": "Ƒàĩĺēď ţō ďēĺēţē ĩśśũē ŵàţćĥ",
"failedToDeleteReviewWatch": "Ƒàĩĺēď ţō ďēĺēţē ŕēvĩēŵ ŵàţćĥ",
"failedToLoadGithubWorkspaceSettings": "Ƒàĩĺēď ţō ĺōàď ĜĩţĤũƀ ŵōŕķśƥàćē śēţţĩńĝś",
+ "failedToMerge": "Ƒàĩĺēď ţō ḿēŕĝē",
"failedToResetIssueWatch": "Ƒàĩĺēď ţō ŕēśēţ ĩśśũē ŵàţćĥ",
"failedToResetReviewWatch": "Ƒàĩĺēď ţō ŕēśēţ ŕēvĩēŵ ŵàţćĥ",
"failedToSaveDefaultQueries": "Ƒàĩĺēď ţō śàvē ďēƒàũĺţ qũēŕĩēś",
"failedToSaveGithubWorkspaceSettings": "Ƒàĩĺēď ţō śàvē ĜĩţĤũƀ ŵōŕķśƥàćē śēţţĩńĝś",
"failedToSaveQuickActions": "Ƒàĩĺēď ţō śàvē qũĩćķ àćţĩōńś",
+ "failedToUnlinkPullRequest": "Ƒàĩĺēď ţō ũńĺĩńķ ƥũĺĺ ŕēqũēśţ",
"filter": "Ƒĩĺţēŕ",
+ "filterGithubResultsByRepository": "Ƒĩĺţēŕ ĜĩţĤũƀ ŕēśũĺţś ƀŷ ŕēƥōśĩţōŕŷ",
+ "filterRepositories": "Ƒĩĺţēŕ ŕēƥōśĩţōŕĩēś...",
+ "filters": "Ƒĩĺţēŕś",
"forWebhooksChooseContentType": "Ƒōŕ ŵēƀĥōōķś, ćĥōōśē <1>{{contentType}}1> àś ţĥē ćōńţēńţ ţŷƥē àńď ķēēƥ ŚŚĹ vēŕĩƒĩćàţĩōń ēńàƀĺēď.",
"foundNewIssues_one": "Ƒōũńď {{count}} ńēŵ ĩśśũē",
"foundNewIssues_other": "Ƒōũńď {{count}} ńēŵ ĩśśũēś",
"foundNewPrs_one": "Ƒōũńď {{count}} ńēŵ ƤŔ",
"foundNewPrs_other": "Ƒōũńď {{count}} ńēŵ ƤŔś",
+ "general": "(ĝēńēŕàĺ)",
"generateSetupInstructions": "Ĝēńēŕàţē śēţũƥ ĩńśţŕũćţĩōńś",
"githubAccessSettingsSaved": "ĜĩţĤũƀ àććēśś śēţţĩńĝś śàvēď",
"githubApiAccessIsExhaustedFor": "ĜĩţĤũƀ ÀƤĨ àććēśś ĩś ēxĥàũśţēď ƒōŕ {{resources}}. Ɓàćķĝŕōũńď ƤŔ àńď ĩśśũē ćĥēćķś àŕē ƥàũśēď ũńţĩĺ ţĥē ĺàśţ ĺĩḿĩţ ŕēśēţś {{reset}}.",
@@ -138,12 +210,14 @@
"githubAppSetupCancelled": "ĜĩţĤũƀ Àƥƥ śēţũƥ ćàńćēĺĺēď",
"githubAppSetupCouldNotStart": "ĜĩţĤũƀ Àƥƥ śēţũƥ ćōũĺď ńōţ śţàŕţ",
"githubAppSlug": "ĜĩţĤũƀ Àƥƥ śĺũĝ",
+ "githubAuthenticationLost": "ĜĩţĤũƀ àũţĥēńţĩćàţĩōń ĺōśţ.",
"githubCli": "ĜĩţĤũƀ ĆĹĨ",
"githubCliAccount": "ĜĩţĤũƀ ĆĹĨ àććōũńţ",
"githubDidNotReturnARedirectUrl": "ĜĩţĤũƀ ďĩď ńōţ ŕēţũŕń à ŕēďĩŕēćţ ŨŔĹ",
"githubDidNotReturnAnInstallationUrl": "ĜĩţĤũƀ ďĩď ńōţ ŕēţũŕń àń ĩńśţàĺĺàţĩōń ŨŔĹ",
"githubIdentityConnected": "ĜĩţĤũƀ ĩďēńţĩţŷ ćōńńēćţēď",
"githubIntegration": "ĜĩţĤũƀ Ĩńţēĝŕàţĩōń",
+ "githubIsNotConnectedConfigureWorkspace": "ĜĩţĤũƀ ĩś ńōţ ćōńńēćţēď. Ćōńƒĩĝũŕē ŵōŕķśƥàćē àũţōḿàţĩōń ŵĩţĥ ĝĥ ĆĹĨ ōŕ à ƥēŕśōńàĺ àććēśś ţōķēń.",
"githubIsReadyToCreateThe": "ĜĩţĤũƀ ĩś ŕēàďŷ ţō ćŕēàţē ţĥē Àƥƥ",
"githubMustReachThisHttpsOrigin": "ĜĩţĤũƀ ḿũśţ ŕēàćĥ ţĥĩś ĤŢŢƤŚ ōŕĩĝĩń ƒōŕ śĩĝńēď ŵēƀĥōōķś àńď ćàĺĺƀàćķś.",
"githubOwnerLogin": "ĜĩţĤũƀ ōŵńēŕ ĺōĝĩń",
@@ -170,9 +244,12 @@
"inheritExecutorGitCredentials": "Ĩńĥēŕĩţ ēxēćũţōŕ Ĝĩţ ćŕēďēńţĩàĺś",
"initialStepForNewTasks": "Ĩńĩţĩàĺ śţēƥ ƒōŕ ńēŵ ţàśķś.",
"initialStepForNewTasksAuto": "Ĩńĩţĩàĺ śţēƥ ƒōŕ ńēŵ ţàśķś. Àũţō-śţàŕţ ĩś śēţ ōń ţĥē śţēƥ.",
+ "insertPrFeedback": "Ĩńśēŕţ ƤŔ ƒēēďƀàćķ",
"installAGithubAppAboveTo": "Ĩńśţàĺĺ à ĜĩţĤũƀ Àƥƥ àƀōvē ţō ćĥàńĝē ţĥē ŵōŕķśƥàćē ćōńńēćţĩōń. Ţàśķ àććēśś ćàń ƀē śàvēď àƒţēŕ ţĥē ĩńśţàĺĺàţĩōń ƒĩńĩśĥēś.",
"installForThisWorkspace": "Ĩńśţàĺĺ ƒōŕ ţĥĩś ŵōŕķśƥàćē",
"interval": "Ĩńţēŕvàĺ",
+ "issue": "Ĩśśũē #{{number}}",
+ "issue2": "Ĩśśũē #",
"issueCleanupPolicyAlwaysDescription": "Ďēĺēţē ōń ćĺōśē ēvēń ĩƒ ŷōũ ēńĝàĝēď ŵĩţĥ ţĥē ţàśķ.",
"issueCleanupPolicyAutoDescription": "Ďēĺēţē ćĺōśēď-ĩśśũē ţàśķś ũńĺēśś ŷōũ ţŷƥēď à ḿēśśàĝē ĩń ţĥēḿ.",
"issueWatch": "ĩśśũē ŵàţćĥ",
@@ -190,10 +267,13 @@
"kandevManagedOperationsUseTheGithub": "Ķàńďēv-ḿàńàĝēď ōƥēŕàţĩōńś ũśē ţĥē ĜĩţĤũƀ Àƥƥ ĩńśţàĺĺēď ƒōŕ {{actor}}.",
"kandevStoresThisTokenForThis": "Ķàńďēv śţōŕēś ţĥĩś ţōķēń ƒōŕ ţĥĩś ŵōŕķśƥàćē. ĜĩţĤũƀ ŕēćōŕďś àćţĩōńś àś ţĥē ţōķēń ōŵńēŕ.",
"kandevUsesThisWorkspaceConnectionFor": "Ķàńďēv ũśēś ţĥĩś ŵōŕķśƥàćē ćōńńēćţĩōń ƒōŕ ŕēƥōśĩţōŕŷ śŷńć, ŵàţćĥēś, ƀàćķĝŕōũńď ĵōƀś, àńď ḿàńàĝēď àĝēńţ ĜĩţĤũƀ ćōḿḿàńďś. Ŵĩţĥ à ƤÀŢ ōŕ ĜĩţĤũƀ ĆĹĨ àććōũńţ, Ḿŷ ĜĩţĤũƀ àńď àćţĩōńś ŷōũ ţŕĩĝĝēŕ ũśē ţĥē śàḿē ĥũḿàń ĩďēńţĩţŷ.",
+ "kindIssue": "ĩśśũē",
+ "kindPullRequest": "ƥũĺĺ ŕēqũēśţ",
"label": "Ĺàƀēĺ",
"labels": "Ĺàƀēĺś",
"labelsCommaSeparated": "Ĺàƀēĺś (ćōḿḿà-śēƥàŕàţēď)",
"lastPolled": "Ĺàśţ Ƥōĺĺēď",
+ "lastSynced": "Ĺàśţ śŷńćēď",
"legacySharedConnection": "Ĺēĝàćŷ śĥàŕēď ćōńńēćţĩōń",
"limitsGithubPullRequestsAndIssues": "Ĺĩḿĩţś ĜĩţĤũƀ ƥũĺĺ ŕēqũēśţś àńď ĩśśũēś śĥōŵń ōŕ ĩḿƥōŕţēď ĩń ţĥĩś ŵōŕķśƥàćē.",
"loadingAccounts": "Ĺōàďĩńĝ àććōũńţś...",
@@ -204,37 +284,75 @@
"managedWorkspaceCredentials": "Ḿàńàĝēď ŵōŕķśƥàćē ćŕēďēńţĩàĺś",
"me": "Ḿē",
"meMyTeams": "Ḿē & ḿŷ ţēàḿś",
+ "mergeConflictsWith": "Ḿēŕĝē ćōńƒĺĩćţś ŵĩţĥ",
+ "mergeMethodDefault": "Ḿēŕĝē ƤŔ",
+ "mergeMethodMergeCommit": "Ćŕēàţē à ḿēŕĝē ćōḿḿĩţ",
+ "mergeMethodMergeCommitShort": "Ḿēŕĝē ćōḿḿĩţ",
+ "mergeMethodRebase": "Ŕēƀàśē àńď ḿēŕĝē",
+ "mergeMethodRebaseShort": "Ŕēƀàśē",
+ "mergeMethodSquash": "Śqũàśĥ àńď ḿēŕĝē",
+ "mergeMethodSquashShort": "Śqũàśĥ",
+ "merged": "Ḿēŕĝēď",
+ "mergedAgo": "ḿēŕĝēď {{time}}",
+ "merging": "Ḿēŕĝĩńĝ...",
"missing": "Ḿĩśśĩńĝ",
"mode": "Ḿōďē",
"myGithubIdentity": "Ḿŷ ĜĩţĤũƀ ĩďēńţĩţŷ",
"myGithubNowUsesYourVerified": "Ḿŷ ĜĩţĤũƀ ńōŵ ũśēś ŷōũŕ vēŕĩƒĩēď ƥēŕśōńàĺ ĩďēńţĩţŷ.",
+ "name": "Ńàḿē",
"nameInKandev": "Ńàḿē ĩń Ķàńďēv",
"needsAttention": "Ńēēďś àţţēńţĩōń",
"never": "Ńēvēŕ",
"noAutomationConnection": "Ńō àũţōḿàţĩōń ćōńńēćţĩōń",
+ "noChecks": "Ńō ćĥēćķś",
+ "noChecksHaveStarted": "Ńō ćĥēćķś ĥàvē śţàŕţēď",
+ "noCommentsYet": "Ńō ćōḿḿēńţś ŷēţ",
"noGhAccountsFound": "Ńō ĝĥ àććōũńţś ƒōũńď",
"noGithubAppsAreRegisteredYet": "Ńō ĜĩţĤũƀ Àƥƥś àŕē ŕēĝĩśţēŕēď ŷēţ. Àďď àń ēxĩśţĩńĝ Àƥƥ ōŕ ćŕēàţē ōńē ƀēĺōŵ.",
"noIssueWatchesConfiguredCreateOne": "Ńō ĩśśũē ŵàţćĥēś ćōńƒĩĝũŕēď. Ćŕēàţē ōńē ţō śţàŕţ ḿōńĩţōŕĩńĝ ĜĩţĤũƀ ĩśśũēś.",
+ "noIssuesMatchThisFilter": "Ńō ĩśśũēś ḿàţćĥ ţĥĩś ƒĩĺţēŕ.",
"noNewIssuesFound": "Ńō ńēŵ ĩśśũēś ƒōũńď",
"noNewPrsFound": "Ńō ńēŵ ƤŔś ƒōũńď",
+ "noPullRequestLinkedToThis": "Ńō ƥũĺĺ ŕēqũēśţ ĺĩńķēď ţō ţĥĩś śēśśĩōń.",
+ "noPullRequestsMatchThisFilter": "Ńō ƥũĺĺ ŕēqũēśţś ḿàţćĥ ţĥĩś ƒĩĺţēŕ.",
"noReposFoundFor": "Ńō ŕēƥōś ƒōũńď ƒōŕ \"{{org}}\"",
+ "noRepositoriesFound": "Ńō ŕēƥōśĩţōŕĩēś ƒōũńď.",
"noReviewWatchesConfiguredCreateOne": "Ńō ŕēvĩēŵ ŵàţćĥēś ćōńƒĩĝũŕēď. Ćŕēàţē ōńē ţō śţàŕţ ḿōńĩţōŕĩńĝ ƤŔś.",
+ "noReviewsYet": "Ńō ŕēvĩēŵś ŷēţ",
+ "noSavedQueriesYet": "Ńō śàvēď qũēŕĩēś ŷēţ.",
"noStatsAvailableYet": "Ńō śţàţś àvàĩĺàƀĺē ŷēţ.",
+ "noTaskCreatedYet": "Ńō ţàśķ ćŕēàţēď ŷēţ",
"noTasksToCleanUp": "Ńō ţàśķś ţō ćĺēàń ũƥ",
+ "noWorkspaceConfiguredCreateAWorkspace": "Ńō ŵōŕķśƥàćē ćōńƒĩĝũŕēď. Ćŕēàţē à ŵōŕķśƥàćē ƒĩŕśţ ţō śţàŕţ ţàśķś ƒŕōḿ ƤŔś/ĩśśũēś.",
+ "notMergeable": "Ńōţ ḿēŕĝēàƀĺē",
+ "omitThePlaceholderIfYouWant": "Ōḿĩţ ţĥē ƥĺàćēĥōĺďēŕ ĩƒ ŷōũ ŵàńţ ţĥē àĝēńţ ţō ƥũĺĺ ōŕ ƒēţćĥ ţĥē ƀŕàńćĥ àńď ĩńśƥēćţ ĜĩţĤũƀ ĩţśēĺƒ ĩńśţēàď ōƒ ŕēćēĩvĩńĝ Ķàńďēv'ś śńàƥśĥōţ.",
"onlyMatchIssuesWithTheseLabels": "Ōńĺŷ ḿàţćĥ ĩśśũēś ŵĩţĥ ţĥēśē ĺàƀēĺś. Ĺēàvē ēḿƥţŷ ƒōŕ àĺĺ ĩśśũēś.",
"onlyPrsWhereYouAreExplicitly": "Ōńĺŷ ƤŔś ŵĥēŕē ŷōũ àŕē ēxƥĺĩćĩţĺŷ ŕēqũēśţēď àś à ŕēvĩēŵēŕ (ńōţ vĩà ţēàḿ ḿēḿƀēŕśĥĩƥ)",
"onlyTheAppOwner": "Ōńĺŷ ţĥē Àƥƥ ōŵńēŕ",
+ "openDetails": "Ōƥēń {{title}} ďēţàĩĺś",
"openGithubAppSettings": "Ōƥēń ĜĩţĤũƀ Àƥƥ śēţţĩńĝś",
+ "openGithubFilters": "Ōƥēń ĜĩţĤũƀ ƒĩĺţēŕś",
+ "openOnGithub": "Ōƥēń {{workflow}} ōń ĜĩţĤũƀ",
+ "openSettingsToSeePrsAndIssues": "<0>Ōƥēń ĜĩţĤũƀ śēţţĩńĝś0> ţō śēē ŷōũŕ ƥũĺĺ ŕēqũēśţś àńď ĩśśũēś.",
+ "openedAgo": "ōƥēńēď {{time}}",
"optionalFallsBackToStepDefault": "Ōƥţĩōńàĺ — ƒàĺĺś ƀàćķ ţō śţēƥ ďēƒàũĺţ.",
"optionalFallsBackToStepDefault2": "Ōƥţĩōńàĺ — ƒàĺĺś ƀàćķ ţō śţēƥ ďēƒàũĺţ. Ţĥē ēxēćũţōŕ ēńvĩŕōńḿēńţ ŵĥēŕē ţĥē àĝēńţ ŵĩĺĺ ŕũń.",
"optionallyConnectYourGithubUserFor": "Ōƥţĩōńàĺĺŷ ćōńńēćţ ŷōũŕ ĜĩţĤũƀ ũśēŕ ƒōŕ Ḿŷ ĜĩţĤũƀ àńď ĥũḿàń-àţţŕĩƀũţēď àćţĩōńś. Ţĥĩś ĩďēńţĩţŷ ĩś ńēvēŕ ĝĩvēń ţō ḿàńàĝēď àĝēńţś; ŵōŕķśƥàćē àũţōḿàţĩōń ćōńţĩńũēś àś ţĥē Àƥƥ.",
+ "or": "ōŕ",
"organization": "Ōŕĝàńĩźàţĩōń",
"organizations": "Ōŕĝàńĩźàţĩōńś",
"otherGithubAccounts": "Ōţĥēŕ ĜĩţĤũƀ àććōũńţś",
+ "overallLabel": "Ōvēŕàĺĺ:",
+ "passRate": "Ƥàśś ŕàţē",
"pasteTheAppPrivateKey": "Ƥàśţē ţĥē Àƥƥ ƥŕĩvàţē ķēŷ.",
"pause": "Ƥàũśē",
"pauseOrResumePolling": "Ƥàũśē ōŕ ŕēśũḿē ƥōĺĺĩńĝ.",
"paused": "Ƥàũśēď",
+ "pending": "{{pending}} ƥēńďĩńĝ",
+ "pendingReview": "Ƥēńďĩńĝ ŕēvĩēŵ",
+ "pendingReviewCount_one": "({{count}} ƥēńďĩńĝ)",
+ "pendingReviewCount_other": "({{count}} ƥēńďĩńĝ)",
+ "pendingReviewS": "{{pending}} ƥēńďĩńĝ ŕēvĩēŵ(ś)",
"permissionsAvailableToKandevThroughThis": "Ƥēŕḿĩśśĩōńś àvàĩĺàƀĺē ţō Ķàńďēv ţĥŕōũĝĥ ţĥĩś ŵōŕķśƥàćē'ś ĜĩţĤũƀ Àƥƥ ĩńśţàĺĺàţĩōń.",
"personalAccessToken": "Ƥēŕśōńàĺ àććēśś ţōķēń",
"personalAccount": "Ƥēŕśōńàĺ àććōũńţ",
@@ -256,7 +374,11 @@
"placeholderSourceBranch": "Śōũŕćē ƀŕàńćĥ",
"placeholderTargetBranch": "Ţàŕĝēţ ƀŕàńćĥ",
"pollIntervalSeconds": "Ƥōĺĺ Ĩńţēŕvàĺ (śēćōńďś)",
+ "pr": "ƤŔ #",
"prAnalytics": "ƤŔ Àńàĺŷţĩćś",
+ "prApproved": "ƤŔ àƥƥŕōvēď",
+ "prClosedWithoutMerging": "ƤŔ ćĺōśēď ŵĩţĥōũţ ḿēŕĝĩńĝ",
+ "prMerged": "ƤŔ ḿēŕĝēď",
"prepareAppOnGithub": "Ƥŕēƥàŕē Àƥƥ ōń ĜĩţĤũƀ",
"presetIconBug": "Ɓũĝ",
"presetIconCheck": "Ćĥēćķ",
@@ -266,9 +388,11 @@
"presetIconSearch": "Śēàŕćĥ",
"presetIconSparkle": "Śƥàŕķĺē",
"presetIconTool": "Ţōōĺ",
+ "pressEnter": "Ƥŕēśś Ēńţēŕ",
"private": "ƥŕĩvàţē",
"privateKeyPem": "Ƥŕĩvàţē ķēŷ ({{extension}})",
"promptsShownOnGithubWhenStarting": "Ƥŕōḿƥţś śĥōŵń ōń {{route}} ŵĥēń śţàŕţĩńĝ à ţàśķ ƒŕōḿ à ƤŔ ōŕ ĩśśũē.",
+ "prs": "ƤŔś",
"prsByDay": "ƤŔś ƀŷ Ďàŷ",
"prsCreated": "ƤŔś Ćŕēàţēď",
"prsOnDay_one": "{{date}}: {{count}} ƤŔ",
@@ -277,7 +401,13 @@
"prsWhereYouOrAnyOf": "ƤŔś ŵĥēŕē ŷōũ ōŕ àńŷ ōƒ ŷōũŕ ţēàḿś àŕē ŕēqũēśţēď àś ŕēvĩēŵēŕś",
"publicKandevUrl": "Ƥũƀĺĩć Ķàńďēv ŨŔĹ",
"pullRequestActivityForThisWorkspace": "Ƥũĺĺ ŕēqũēśţ àćţĩvĩţŷ ƒōŕ ţĥĩś ŵōŕķśƥàćē.",
+ "pullRequestCiStatusReviewsAnd": "Ƥũĺĺ ŕēqũēśţ ĆĨ śţàţũś, ŕēvĩēŵś, àńď ćĥēćķś śũḿḿàŕŷ.",
+ "pullRequestCount_one": "{{count}} ƥũĺĺ ŕēqũēśţ",
+ "pullRequestCount_other": "{{count}} ƥũĺĺ ŕēqũēśţś",
"pullRequests": "Ƥũĺĺ ŕēqũēśţś",
+ "pullRequestsAndIssuesAcrossYour": "Ƥũĺĺ ŕēqũēśţś àńď ĩśśũēś àćŕōśś ŷōũŕ ŕēƥōś.",
+ "pullRequestsLinkedToTask_one": "{{count}} ƥũĺĺ ŕēqũēśţ ĺĩńķēď ţō ţĥĩś ţàśķ — ōƥēń ōńē",
+ "pullRequestsLinkedToTask_other": "{{count}} ƥũĺĺ ŕēqũēśţś ĺĩńķēď ţō ţĥĩś ţàśķ — ōƥēń ōńē",
"query": "Qũēŕŷ",
"queryExample": "ē.ĝ. {{query}}",
"quickActions": "Qũĩćķ àćţĩōńś",
@@ -287,21 +417,32 @@
"rateLimitUnitPoints": "ƥōĩńţś",
"rateLimitUnitRequests": "ŕēqũēśţś",
"rateLimitUnknown": "ũńķńōŵń",
+ "reRequestReview": "Ŕē-ŕēqũēśţ ŕēvĩēŵ",
+ "reRequestReviewFrom": "Ŕē-ŕēqũēśţ ŕēvĩēŵ ƒŕōḿ {{author}}",
+ "reconnectGithub": "Ŕēćōńńēćţ ĜĩţĤũƀ",
"reconnectIdentity": "Ŕēćōńńēćţ ĩďēńţĩţŷ",
+ "refresh": "Ŕēƒŕēśĥ",
"refreshGithubConnection": "Ŕēƒŕēśĥ ĜĩţĤũƀ ćōńńēćţĩōń",
"remove": "Ŕēḿōvē",
+ "removeFromTask": "Ŕēḿōvē {{repo}} #{{prnumber}} ƒŕōḿ ţàśķ",
"repositories": "Ŕēƥōśĩţōŕĩēś",
"repository": "Ŕēƥōśĩţōŕŷ",
"repositoryPermissions": "Ŕēƥōśĩţōŕŷ ƥēŕḿĩśśĩōńś",
"repositoryScope": "Ŕēƥōśĩţōŕŷ Śćōƥē",
"repositoryScopeHelp": "Ĺĩḿĩţś ţĥē ĜĩţĤũƀ ƥũĺĺ ŕēqũēśţś àńď ĩśśũēś Ķàńďēv ďĩśćōvēŕś ƒōŕ ţĥĩś ŵōŕķśƥàćē, ĩńćĺũďĩńĝ Ḿŷ ĜĩţĤũƀ ŕēśũĺţś àńď ŕēvĩēŵ àńď ĩśśũē ŵàţćĥēś. Ĩţ ďōēś ńōţ ćĥàńĝē ĜĩţĤũƀ ƥēŕḿĩśśĩōńś ōŕ ŕēƥōśĩţōŕŷ àććēśś.",
+ "requesting": "Ŕēqũēśţĩńĝ...",
"requiredGithubAppPolicy": "Ŕēqũĩŕēď ĜĩţĤũƀ Àƥƥ ƥōĺĩćŷ",
"resetCompleteDeletedTasks_one": "Ŕēśēţ ćōḿƥĺēţē — ďēĺēţēď {{count}} ţàśķ; ńēxţ ƥōĺĺ ŵĩĺĺ ŕē-ĩḿƥōŕţ.",
"resetCompleteDeletedTasks_other": "Ŕēśēţ ćōḿƥĺēţē — ďēĺēţēď {{count}} ţàśķś; ńēxţ ƥōĺĺ ŵĩĺĺ ŕē-ĩḿƥōŕţ.",
"resetCompleteNextPollWillRe": "Ŕēśēţ ćōḿƥĺēţē — ńēxţ ƥōĺĺ ŵĩĺĺ ŕē-ĩḿƥōŕţ ḿàţćĥēś.",
"resetWatch": "Ŕēśēţ ŵàţćĥ",
"resets": "· ŕēśēţś {{reset}}",
+ "resolveConflicts": "Ŕēśōĺvē ćōńƒĺĩćţś",
"resolvedFromOneNamedHostAccount": "Ŕēśōĺvēď ƒŕōḿ ōńē ńàḿēď ĥōśţ àććōũńţ ŵĥēń ńēēďēď. Ḿàńàĝēď ţàśķś ŕēćēĩvē à śćōƥēď ƀŕōķēŕēď ĩďēńţĩţŷ; ĥōśţ Ĝĩţ ĩś ńōţ ĩńĥēŕĩţēď ũńĺēśś śēĺēćţēď ƀēĺōŵ.",
+ "retry": "Ŕēţŕŷ",
+ "reviewCount_one": "{{count}} ŕēvĩēŵ",
+ "reviewCount_other": "{{count}} ŕēvĩēŵś",
+ "reviewFollowUp": "Ŕēvĩēŵ ƒōĺĺōŵ-ũƥ",
"reviewPermissions": "Ŕēvĩēŵ ƥēŕḿĩśśĩōńś",
"reviewWatch": "ŕēvĩēŵ ŵàţćĥ",
"reviewWatchCreated": "Ŕēvĩēŵ ŵàţćĥ ćŕēàţēď",
@@ -310,7 +451,14 @@
"reviewWatchPromptHelp": "Ţĥē ƥŕōḿƥţ śēńţ ţō ţĥē àĝēńţ ƒōŕ ēàćĥ ńēŵ ƤŔ. Ţŷƥē {{token}} ţō ĩńśēŕţ ƥĺàćēĥōĺďēŕś, ōŕ {{mention}} ţō ŕēƒēŕēńćē à śàvēď ƥŕōḿƥţ ƀŷ ńàḿē — ĩţ ēxƥàńďś ţĥē śàḿē ŵàŷ ĩţ ďōēś ĩń ŵōŕķƒĺōŵ śţēƥ ƥŕōḿƥţś, śĩńćē ţĥĩś ƥŕōḿƥţ ƀēćōḿēś ţĥē ţàśķ ďēśćŕĩƥţĩōń ƥàśśēď ţĥŕōũĝĥ ţĥàţ śàḿē àśśēḿƀĺŷ.",
"reviewWatchUpdated": "Ŕēvĩēŵ ŵàţćĥ ũƥďàţēď",
"reviewWatches": "Ŕēvĩēŵ Ŵàţćĥēś",
+ "reviews": "Ŕēvĩēŵś{{summary}}",
"saveChanges": "Śàvē ćĥàńĝēś",
+ "saveCurrentQuery": "Śàvē ćũŕŕēńţ qũēŕŷ",
+ "savePresetDescription": "Śàvē ţĥĩś {{kind}} qũēŕŷ ţō ţĥē śĩďēƀàŕ ƒōŕ qũĩćķ àććēśś ĺàţēŕ.",
+ "savePrompt": "Śàvē ƥŕōḿƥţ",
+ "saveQuery": "Śàvē qũēŕŷ",
+ "saved": "Śàvēď",
+ "savedQueryFallback": "Śàvēď qũēŕŷ",
"saving": "Śàvĩńĝ...",
"savingChanges": "Śàvĩńĝ ćĥàńĝēś…",
"searchLimit": "Śēàŕćĥ ĺĩḿĩţ",
@@ -321,22 +469,31 @@
"selectedRepositories": "Śēĺēćţēď ŕēƥōśĩţōŕĩēś",
"setTheseExactUrlsCreateAClientSecret": "Śēţ ţĥēśē ēxàćţ ŨŔĹś, ćŕēàţē à ćĺĩēńţ śēćŕēţ àńď ŵēƀĥōōķ śēćŕēţ, àńď ďōŵńĺōàď à ƥŕĩvàţē ķēŷ. Ţĥĩś ōńē-ţĩḿē śēţũƥ ēxƥĩŕēś {{expiresAt}}.",
"showGithubApiLimits": "Śĥōŵ ĜĩţĤũƀ ÀƤĨ ĺĩḿĩţś",
+ "showLess": "Śĥōŵ ĺēśś",
+ "showMore": "Śĥōŵ ḿōŕē",
"showToken": "Śĥōŵ ţōķēń",
"sidebarQueriesShownOnGithubFor": "Śĩďēƀàŕ qũēŕĩēś śĥōŵń ōń {{route}} ƒōŕ ƥũĺĺ ŕēqũēśţś àńď ĩśśũēś.",
"signInWithGhAuthLogin": "Śĩĝń ĩń ŵĩţĥ <1>{{command}}1>, ţĥēń ŕēōƥēń ţĥĩś ďĩàĺōĝ.",
"someSettingsWereSavedButAnother": "Śōḿē śēţţĩńĝś ŵēŕē śàvēď, ƀũţ àńōţĥēŕ ćĥàńĝē ƒàĩĺēď: {{detail}}",
"startOver": "Śţàŕţ ōvēŕ",
+ "stepLabelled": "Śţēƥ: {{stepTitle}}",
"storedAppCredentialsMintShortLived": "Śţōŕēď Àƥƥ ćŕēďēńţĩàĺś ḿĩńţ śĥōŕţ-ĺĩvēď ĩńśţàĺĺàţĩōń ţōķēńś. Ḿàńàĝēď ţàśķś ŕēćēĩvē à śćōƥēď ƀŕōķēŕēď Àƥƥ ĩďēńţĩţŷ ƒōŕ àĺĺōŵēď ŕēƥōśĩţōŕĩēś.",
"storedEncryptedByKandevWorkspaceAutomation": "Śţōŕēď ēńćŕŷƥţēď ƀŷ Ķàńďēv. Ŵōŕķśƥàćē àũţōḿàţĩōń àńď ḿàńàĝēď ţàśķ ĜĩţĤũƀ ĤŢŢƤŚ/ĝĥ àćţ àś ŷōũŕ àććōũńţ.",
"subscribedEvents": "Śũƀśćŕĩƀēď ēvēńţś",
+ "task": "Ţàśķ",
"taskAccess": "Ţàśķ àććēśś:",
"taskAccessUnavailable": "Ţàśķ àććēśś ũńàvàĩĺàƀĺē",
+ "taskAutoFixPrompt": "Ţàśķ àũţō-ƒĩx ƥŕōḿƥţ",
"taskGitAccess": "Ţàśķ Ĝĩţ àććēśś",
+ "taskLabelled": "Ţàśķ: {{title}}",
"taskPrompt": "Ţàśķ Ƥŕōḿƥţ",
+ "tasks": "Ţàśķś",
"tasksCreatedByThisWatcherLand": "Ţàśķś ćŕēàţēď ƀŷ ţĥĩś ŵàţćĥēŕ ĺàńď ĩń ţĥē śēĺēćţēď ŵōŕķśƥàćē.",
"theAppIsReadyToSelect": "Ţĥē Àƥƥ ĩś ŕēàďŷ ţō śēĺēćţ àńď ĩńśţàĺĺ ƒōŕ ţĥĩś ŵōŕķśƥàćē.",
"theExistingWorkspaceConnectionWasNot": "Ţĥē ēxĩśţĩńĝ ŵōŕķśƥàćē ćōńńēćţĩōń ŵàś ńōţ ćĥàńĝēď.",
"theGithubResponseCouldNotBe": "Ţĥē ĜĩţĤũƀ ŕēśƥōńśē ćōũĺď ńōţ ƀē vēŕĩƒĩēď. Ŕēvĩēŵ ţĥē ćōńńēćţĩōń àńď ţŕŷ àĝàĩń.",
+ "thePlaceholderInsertsTheCurrentPr": "Ţĥē ƥĺàćēĥōĺďēŕ ĩńśēŕţś ţĥē ćũŕŕēńţ ƤŔ ĩďēńţĩƒĩēŕ, ńēŵ ōŕ ćĥàńĝēď ƒàĩĺĩńĝ ćĥēćķś ŵĩţĥ ĜĩţĤũƀ ĵōƀ ĺĩńķś, àńď ńēŵ ōŕ ćĥàńĝēď ŕēvĩēŵ ćōḿḿēńţś ŵĩţĥ ƒĩĺē, ĺĩńē, àńď ƀōďŷ ţēxţ.",
+ "thePullRequestIsStillLinked": "Ţĥē ƥũĺĺ ŕēqũēśţ ĩś śţĩĺĺ ĺĩńķēď.",
"theRepositoryWillBeAutomaticallyCloned": "Ţĥē ŕēƥōśĩţōŕŷ ŵĩĺĺ ƀē àũţōḿàţĩćàĺĺŷ ćĺōńēď ţō {{path}} ĩƒ ĩţ ĩś ńōţ àĺŕēàďŷ ƥŕēśēńţ ĩń ţĥē ŵōŕķśƥàćē.",
"theSettingsCouldNotBeSaved": "Ţĥē śēţţĩńĝś ćōũĺď ńōţ ƀē śàvēď",
"theStoredAppCredentialsAreUnavailable": "Ţĥē śţōŕēď Àƥƥ ćŕēďēńţĩàĺś àŕē ũńàvàĩĺàƀĺē.",
@@ -345,17 +502,33 @@
"thisAccountAlsoPowersMyGithub": "Ţĥĩś àććōũńţ àĺśō ƥōŵēŕś Ḿŷ ĜĩţĤũƀ àńď ũśēŕ-ţŕĩĝĝēŕēď àćţĩōńś.",
"thisAppRegistrationIsShared_one": "Ţĥĩś Àƥƥ ŕēĝĩśţŕàţĩōń ĩś śĥàŕēď ƀŷ {{count}} ŵōŕķśƥàćē. Ŕēĝĩśţŕàţĩōń ćĥàńĝēś àƒƒēćţ ēvēŕŷ ŵōŕķśƥàćē ũśĩńĝ ĩţ; ĩńśţàĺĺàţĩōń àććēśś ŕēḿàĩńś ŵōŕķśƥàćē-śƥēćĩƒĩć.",
"thisAppRegistrationIsShared_other": "Ţĥĩś Àƥƥ ŕēĝĩśţŕàţĩōń ĩś śĥàŕēď ƀŷ {{count}} ŵōŕķśƥàćēś. Ŕēĝĩśţŕàţĩōń ćĥàńĝēś àƒƒēćţ ēvēŕŷ ŵōŕķśƥàćē ũśĩńĝ ĩţ; ĩńśţàĺĺàţĩōń àććēśś ŕēḿàĩńś ŵōŕķśƥàćē-śƥēćĩƒĩć.",
+ "thisBranchCanTBeMerged": "Ţĥĩś ƀŕàńćĥ ćàń'ţ ƀē ḿēŕĝēď àũţōḿàţĩćàĺĺŷ. Ŕēśōĺvē ţĥē ćōńƒĺĩćţś ƀēƒōŕē ḿēŕĝĩńĝ.",
+ "thisRepositoryOpensByDefaultYou": "Ţĥĩś ŕēƥōśĩţōŕŷ ōƥēńś ƀŷ ďēƒàũĺţ. Ŷōũ ćàń ćĥàńĝē ţĥē ƒĩĺţēŕ àƒţēŕ ōƥēńĩńĝ ţĥē qũēŕŷ.",
"thisWorkspaceUsesOneCredentialFor": "Ţĥĩś ŵōŕķśƥàćē ũśēś ōńē ćŕēďēńţĩàĺ ƒōŕ ŕēƥōśĩţōŕŷ śŷńć, ŵàţćĥēś, ƀàćķĝŕōũńď ĵōƀś, àńď ḿàńàĝēď àĝēńţ ĜĩţĤũƀ àććēśś. Ēxēćũţōŕ ƥŕōƒĩĺē ćŕēďēńţĩàĺś ćàń śţĩĺĺ ţàķē ƥŕēćēďēńćē.",
+ "titleIssues": "Ĩśśũēś",
+ "titlePullRequests": "Ƥũĺĺ ŕēqũēśţś",
+ "toggleReviewFollowUpAutomation": "Ţōĝĝĺē ŕēvĩēŵ ƒōĺĺōŵ-ũƥ àũţōḿàţĩōń",
+ "typeACustomQueryFirst": "Ţŷƥē à ćũśţōḿ qũēŕŷ ƒĩŕśţ",
"typeOwnerRepoToSearch": "Ţŷƥē {{format}} ţō śēàŕćĥ",
"unableToLoadTheCurrentTask": "Ũńàƀĺē ţō ĺōàď ţĥē ćũŕŕēńţ ţàśķ àććēśś śēţţĩńĝ.",
"unexpectedResponseFromTheServer": "Ũńēxƥēćţēď ŕēśƥōńśē ƒŕōḿ ţĥē śēŕvēŕ",
+ "unresolvedComments_one": "{{count}} ũńŕēśōĺvēď ćōḿḿēńţ",
+ "unresolvedComments_other": "{{count}} ũńŕēśōĺvēď ćōḿḿēńţś",
+ "untitledPr": "Ũńţĩţĺēď ƤŔ",
"update": "Ũƥďàţē",
+ "updated": "Ũƥďàţēď ",
+ "updatedAgo": "ũƥďàţēď {{elapsed}} àĝō",
+ "updatedJustNow": "ũƥďàţēď ĵũśţ ńōŵ",
"useAnAppWhenAutomationNeeds": "Ũśē àń Àƥƥ ŵĥēń àũţōḿàţĩōń ńēēďś ĩţś ōŵń ĩďēńţĩţŷ, śĥōŕţ-ĺĩvēď ţōķēńś, àńď ŕēƥōśĩţōŕŷ-ĺēvēĺ ĩńśţàĺĺàţĩōń ćōńţŕōĺ. Śēţũƥ ĩś ḿōŕē ĩńvōĺvēď àńď ŕēqũĩŕēś à ƥũƀĺĩćĺŷ ŕēàćĥàƀĺē ĤŢŢƤŚ ŨŔĹ.",
"useCommaSeparatedOwnerRepoValues": "Ũśē ćōḿḿà-śēƥàŕàţēď ōŵńēŕ/ŕēƥō vàĺũēś.",
+ "useDefault": "Ũśē ďēƒàũĺţ",
"usedByWorkspaces_one": "Ũśēď ƀŷ {{count}} ŵōŕķśƥàćē. Ēďĩţĩńĝ ōŕ ďēĺēţĩńĝ ĩţ àƒƒēćţś àĺĺ ōƒ ţĥēḿ.",
"usedByWorkspaces_other": "Ũśēď ƀŷ {{count}} ŵōŕķśƥàćēś. Ēďĩţĩńĝ ōŕ ďēĺēţĩńĝ ĩţ àƒƒēćţś àĺĺ ōƒ ţĥēḿ.",
"verifyAndImportApp": "Vēŕĩƒŷ àńď ĩḿƥōŕţ Àƥƥ",
"viewPermissions": "Vĩēŵ ƥēŕḿĩśśĩōńś",
+ "viewPullRequestOnGithub": "Vĩēŵ ƥũĺĺ ŕēqũēśţ ōń ĜĩţĤũƀ",
+ "waitingOnBranchProtection": "Ŵàĩţĩńĝ ōń ƀŕàńćĥ ƥŕōţēćţĩōń",
+ "watchesThisTaskSLinkedPull": "Ŵàţćĥēś ţĥĩś ţàśķ'ś ĺĩńķēď ƥũĺĺ ŕēqũēśţ ďũŕĩńĝ ţĥē 1 ḿĩńũţē ƤŔ ŕēƒŕēśĥ ĺōōƥ. Àũţō-ƒĩx qũēũēś ţàśķ ƥŕōḿƥţś ƒōŕ ńēŵĺŷ ōƀśēŕvēď ƒēēďƀàćķ, àũţō-ḿēŕĝē ŵàĩţś ƒōŕ ţĥē ƤŔ ţō ƀē ŕēàďŷ, àńď ţĥē ńōţĩƒĩćàţĩōń śŵĩţćĥēś ŵàķē ţĥē ţàśķ'ś àĝēńţ ŵĥēń ţĥē ŵōŕķśƥàćē'ś ćōńńēćţēď ĜĩţĤũƀ àććōũńţ ĩś ŕēqũēśţēď ƒōŕ ŕēvĩēŵ ōŕ ţĥē ƤŔ ŕēàćĥēś à ţēŕḿĩńàĺ śţàţē. Ŕēvĩēŵ ŕēqũēśţś śĩĺēńţĺŷ ƀàśēĺĩńē ţĥē àććōũńţ'ś ćũŕŕēńţ ŕēqũēśţ śţàţē ƀēƒōŕē ńōţĩƒŷĩńĝ ōń à ĺàţēŕ ŕēqũēśţ.",
"webhook": "Ŵēƀĥōōķ",
"webhookSecret": "Ŵēƀĥōōķ śēćŕēţ",
"whichAllowedGithubRepositoriesToMonitor": "Ŵĥĩćĥ àĺĺōŵēď ĜĩţĤũƀ ŕēƥōśĩţōŕĩēś ţō ḿōńĩţōŕ ƒōŕ ţĥĩś ŵàţćĥ.",
@@ -367,5 +540,6 @@
"workspaceAutomationNowUsesTheVerified": "Ŵōŕķśƥàćē àũţōḿàţĩōń ńōŵ ũśēś ţĥē vēŕĩƒĩēď Àƥƥ ĩńśţàĺĺàţĩōń.",
"workspaceGithubAccess": "Ŵōŕķśƥàćē ĜĩţĤũƀ àććēśś",
"workspaceGithubConnectionRemoved": "Ŵōŕķśƥàćē ĜĩţĤũƀ ćōńńēćţĩōń ŕēḿōvēď",
- "workspaceGithubIdentity": "Ŵōŕķśƥàćē ĜĩţĤũƀ ĩďēńţĩţŷ"
+ "workspaceGithubIdentity": "Ŵōŕķśƥàćē ĜĩţĤũƀ ĩďēńţĩţŷ",
+ "yourReviewIsRequested": "Ŷōũŕ ŕēvĩēŵ ĩś ŕēqũēśţēď"
}
diff --git a/apps/web/src/locales/pseudo/gitlab.json b/apps/web/src/locales/pseudo/gitlab.json
index 1ff16b0a07..c4e0f415b7 100644
--- a/apps/web/src/locales/pseudo/gitlab.json
+++ b/apps/web/src/locales/pseudo/gitlab.json
@@ -1,35 +1,71 @@
{
+ "actionApprove": "Àƥƥŕōvē",
+ "actionAssignees": "Àśśĩĝńēēś",
+ "actionFailed": "{{action}} ƒàĩĺēď",
"actionHint": "Àćţĩōń ĥĩńţ {{index}}",
"actionLabel": "Àćţĩōń ĺàƀēĺ {{index}}",
+ "actionLabels": "Ĺàƀēĺś",
+ "actionMerge": "Ḿēŕĝē",
"actionPrompt": "Àćţĩōń ƥŕōḿƥţ {{index}}",
+ "actionReply": "Ŕēƥĺŷ",
+ "actionResolve": "Ŕēśōĺvē",
+ "actionReviewers": "Ŕēvĩēŵēŕś",
+ "actionUnapprove": "Ũńàƥƥŕōvē",
+ "actionUnlink": "Ũńĺĩńķ",
"actions": "Àćţĩōńś",
"active": "Àćţĩvē",
+ "addAllDiscussionsToTaskContext": "Àďď àĺĺ ďĩśćũśśĩōńś ţō ţàśķ ćōńţēxţ",
+ "addDiscussionToTaskContext": "Àďď ďĩśćũśśĩōń ţō ţàśķ ćōńţēxţ",
"addIssueAction": "Àďď ĩśśũē àćţĩōń",
"addMrAction": "Àďď ḾŔ àćţĩōń",
"agentProfile": "Àĝēńţ ƥŕōƒĩĺē",
"allProjects": "Àĺĺ ƥŕōĵēćţś",
"alwaysDelete": "Àĺŵàŷś ďēĺēţē",
+ "apply": "Àƥƥĺŷ",
+ "approvalRemoved": "Àƥƥŕōvàĺ ŕēḿōvēď",
+ "approvals": "Àƥƥŕōvàĺś",
+ "approve": "Àƥƥŕōvē",
+ "approvedCount_one": "{{count}} àƥƥŕōvēď",
+ "approvedCount_other": "{{count}} àƥƥŕōvēď",
+ "assignees": "Àśśĩĝńēēś",
+ "assigneesUpdated": "Àśśĩĝńēēś ũƥďàţēď",
"authenticationMethod": "Àũţĥēńţĩćàţĩōń ḿēţĥōď",
"auto": "Àũţō",
"autoKeepEngagedTasks": "Àũţō; ķēēƥ ēńĝàĝēď ţàśķś",
"between60And3600Seconds": "Ɓēţŵēēń 60 àńď 3600 śēćōńďś.",
+ "bugBackend": "ƀũĝ, ƀàćķēńď",
+ "byAuthorOpenedAgo": "ƀŷ {{author}} · ōƥēńēď {{time}}",
"checkNow": "Ćĥēćķ ńōŵ",
+ "checkingGitlabStatus": "Ćĥēćķĩńĝ ĜĩţĹàƀ śţàţũś…",
"chooseAWorkspacePatTheLocal": "Ćĥōōśē à ŵōŕķśƥàćē ƤÀŢ, ţĥē ĺōćàĺ ĝĺàƀ ĆĹĨ ĺōĝĩń, ōŕ àń ēńvĩŕōńḿēńţ-ƥŕōvĩďēď ţōķēń. ĆĹĨ àńď ēńvĩŕōńḿēńţ ćŕēďēńţĩàĺś ḿũśţ àĺŕēàďŷ ƀē àvàĩĺàƀĺē ţō ţĥē ķàńďēv ƀàćķēńď.",
"chooseWhetherToIncludeOnlyDirect": "Ćĥōōśē ŵĥēţĥēŕ ţō ĩńćĺũďē ōńĺŷ ďĩŕēćţ ŕēvĩēŵēŕ ŕēqũēśţś ōŕ ţĥē ƀŕōàďēŕ ćōḿƥàţĩƀĺē śćōƥē.",
"cleanupPolicy": "Ćĺēàńũƥ ƥōĺĩćŷ",
"clearToken": "Ćĺēàŕ ţōķēń",
+ "commits": "Ćōḿḿĩţś",
+ "conflicts": "Ćōńƒĺĩćţś",
"connectAGitlabAccountSoKandev": "Ćōńńēćţ à ĜĩţĹàƀ àććōũńţ śō ķàńďēv ćàń ōƥēń ḿēŕĝē ŕēqũēśţś, ŕēàď ŕēvĩēŵ ďĩśćũśśĩōńś, àńď ŕēƥĺŷ ţō / ŕēśōĺvē ţĥēḿ ōń ŷōũŕ ƀēĥàĺƒ.",
"connected": "Ćōńńēćţēď",
"controlsTaskDeletionWhenTheGitlab": "Ćōńţŕōĺś ţàśķ ďēĺēţĩōń ŵĥēń ţĥē ĜĩţĹàƀ ĩţēḿ ćĺōśēś.",
"couldNotReachHost": "Ćōũĺďń'ţ ŕēàćĥ <1>{{host}}1>: {{error}}",
"createIssueWatch": "Ćŕēàţē ĜĩţĹàƀ ĩśśũē ŵàţćĥ",
"createReviewWatch": "Ćŕēàţē ĜĩţĹàƀ ŕēvĩēŵ ŵàţćĥ",
+ "createTask": "Ćŕēàţē ţàśķ",
"createWatch": "Ćŕēàţē ŵàţćĥ",
+ "created": "Ćŕēàţēď",
+ "customQueryPressEnterEG": "Ćũśţōḿ qũēŕŷ — ƥŕēśś Ēńţēŕ. ē.ĝ. \"ĺàƀēĺś=ƀũĝ&śţàţē=ōƥēńēď\"",
+ "deleteSavedQuery": "Ďēĺēţē śàvēď qũēŕŷ",
+ "deleteSavedQuery2": "Ďēĺēţē śàvēď qũēŕŷ {{label}}",
"deleteWatch": "Ďēĺēţē ŵàţćĥ",
"deleteWatchTitle": "Ďēĺēţē {{label}}?",
"deleting": "Ďēĺēţĩńĝ...",
+ "description": "Ďēśćŕĩƥţĩōń",
"directAndGroupCompatibleRequests": "Ďĩŕēćţ àńď ĝŕōũƥ-ćōḿƥàţĩƀĺē ŕēqũēśţś",
"directRequests": "Ďĩŕēćţ ŕēqũēśţś",
+ "discussionReply": "Ďĩśćũśśĩōń ŕēƥĺŷ",
+ "discussionResolved": "Ďĩśćũśśĩōń ŕēśōĺvēď",
+ "discussions": "Ďĩśćũśśĩōńś",
+ "draft": "Ďŕàƒţ",
+ "eGNeedsMyReview": "ē.ĝ. Ńēēďś ḿŷ ŕēvĩēŵ",
"editIssueWatch": "Ēďĩţ ĜĩţĹàƀ ĩśśũē ŵàţćĥ",
"editReviewWatch": "Ēďĩţ ĜĩţĹàƀ ŕēvĩēŵ ŵàţćĥ",
"editWatch": "Ēďĩţ ŵàţćĥ",
@@ -41,85 +77,154 @@
"everyQuickActionNeedsALabel": "Ēvēŕŷ qũĩćķ àćţĩōń ńēēďś à ĺàƀēĺ àńď ƥŕōḿƥţ.",
"executorProfile": "Ēxēćũţōŕ ƥŕōƒĩĺē",
"failedToClearToken": "Ƒàĩĺēď ţō ćĺēàŕ ţōķēń",
+ "failedToLinkMergeRequest": "Ƒàĩĺēď ţō ĺĩńķ ḿēŕĝē ŕēqũēśţ",
"failedToResetQuickActions": "Ƒàĩĺēď ţō ŕēśēţ qũĩćķ àćţĩōńś",
"failedToSaveQuickActions": "Ƒàĩĺēď ţō śàvē qũĩćķ àćţĩōńś",
+ "failedToUnlinkMergeRequest": "Ƒàĩĺēď ţō ũńĺĩńķ ḿēŕĝē ŕēqũēśţ",
"failedToUpdateAuthenticationMethod": "Ƒàĩĺēď ţō ũƥďàţē àũţĥēńţĩćàţĩōń ḿēţĥōď",
+ "files": "Ƒĩĺēś",
+ "filters": "Ƒĩĺţēŕś",
"foundMatchingIssues_one": "Ƒōũńď {{count}} ḿàţćĥĩńĝ ĩśśũē",
"foundMatchingIssues_other": "Ƒōũńď {{count}} ḿàţćĥĩńĝ ĩśśũēś",
"foundMatchingMergeRequests_one": "Ƒōũńď {{count}} ḿàţćĥĩńĝ ḿēŕĝē ŕēqũēśţ",
"foundMatchingMergeRequests_other": "Ƒōũńď {{count}} ḿàţćĥĩńĝ ḿēŕĝē ŕēqũēśţś",
"gitlabAuthenticationMethodUpdated": "ĜĩţĹàƀ àũţĥēńţĩćàţĩōń ḿēţĥōď ũƥďàţēď",
+ "gitlabCredentialsAreConfiguredButAuthentication": "ĜĩţĹàƀ ćŕēďēńţĩàĺś àŕē ćōńƒĩĝũŕēď, ƀũţ àũţĥēńţĩćàţĩōń ƒàĩĺēď. Ŕēćōńńēćţ ĩń ",
"gitlabHostUrlOverrideForSelf": "ĜĩţĹàƀ ĥōśţ ŨŔĹ. Ōvēŕŕĩďē ƒōŕ śēĺƒ-ḿàńàĝēď ĩńśţàńćēś; ĺēàvē àţ ţĥē ďēƒàũĺţ ƒōŕ {{host}}.",
+ "gitlabIsNotConnectedConfigureGitlab": "ĜĩţĹàƀ ĩś ńōţ ćōńńēćţēď. Ćōńƒĩĝũŕē ĜĩţĹàƀ àũţĥēńţĩćàţĩōń ĩń ",
"gitlabIssueWatch": "ĜĩţĹàƀ ĩśśũē ŵàţćĥ",
+ "gitlabMergeRequest": "ĜĩţĹàƀ ḿēŕĝē ŕēqũēśţ !{{mriid}}",
+ "gitlabMergeRequests": "{{length}} ĜĩţĹàƀ ḿēŕĝē ŕēqũēśţś",
"gitlabQueryParameters": "ĜĩţĹàƀ qũēŕŷ ƥàŕàḿēţēŕś",
"gitlabQuickActionsReset": "ĜĩţĹàƀ qũĩćķ àćţĩōńś ŕēśēţ",
"gitlabQuickActionsSaved": "ĜĩţĹàƀ qũĩćķ àćţĩōńś śàvēď",
+ "gitlabRejectedAction": "ĜĩţĹàƀ ŕēĵēćţēď ţĥē àćţĩōń.",
+ "gitlabRejectedTheAction": "ĜĩţĹàƀ ŕēĵēćţēď ţĥē àćţĩōń.",
+ "gitlabRejectedTheMergeRequestLink": "ĜĩţĹàƀ ŕēĵēćţēď ţĥē ḿēŕĝē ŕēqũēśţ ĺĩńķ.",
+ "gitlabRejectedTheRequest": "ĜĩţĹàƀ ŕēĵēćţēď ţĥē ŕēqũēśţ.",
"gitlabReviewWatch": "ĜĩţĹàƀ ŕēvĩēŵ ŵàţćĥ",
"gitlabTokenCleared": "ĜĩţĹàƀ ţōķēń ćĺēàŕēď",
"gitlabWatchCouldNotBeSaved": "ĜĩţĹàƀ ŵàţćĥ ćōũĺď ńōţ ƀē śàvēď",
+ "gitlabWillMergeDescription": "ĜĩţĹàƀ ŵĩĺĺ ḿēŕĝē {{mr}} ĩńţō {{baseBranch}} ũśĩńĝ ţĥē ƥŕōĵēćţ ďēƒàũĺţ.",
"glabCli": "ĝĺàƀ ĆĹĨ",
"hideToken": "Ĥĩďē ţōķēń",
+ "inbox": "Ĩńƀōx",
"initialStepForEachNewTask": "Ĩńĩţĩàĺ śţēƥ ƒōŕ ēàćĥ ńēŵ ţàśķ.",
"interval": "Ĩńţēŕvàĺ",
- "intervalMinutes_one": "{{count}}ḿ",
- "intervalMinutes_other": "{{count}}ḿ",
"intervalMinutesLabel_one": "{{count}}ḿ ĩńţēŕvàĺ",
"intervalMinutesLabel_other": "{{count}}ḿ ĩńţēŕvàĺ",
- "issues": "Ĩśśũēś",
+ "intervalMinutes_one": "{{count}}ḿ",
+ "intervalMinutes_other": "{{count}}ḿ",
+ "into": "ĩńţō",
"issueWatchCheckFailed": "Ĩśśũē ŵàţćĥ ćĥēćķ ƒàĩĺēď",
"issueWatchCreated": "Ĩśśũē ŵàţćĥ ćŕēàţēď",
"issueWatchCreationFailed": "Ĩśśũē ŵàţćĥ ćŕēàţĩōń ƒàĩĺēď",
"issueWatchDeleted": "Ĩśśũē ŵàţćĥ ďēĺēţēď",
"issueWatchDeletionFailed": "Ĩśśũē ŵàţćĥ ďēĺēţĩōń ƒàĩĺēď",
"issueWatchDialogDescription": "Àũţōḿàţĩćàĺĺŷ ćŕēàţē ŵōŕķśƥàćē ţàśķś ƒōŕ ńēŵĺŷ ḿàţćĥĩńĝ ĜĩţĹàƀ ĩśśũēś.",
- "issueWatches": "Ĩśśũē ŵàţćĥēś",
+ "issueWatchResetFailed": "Ĩśśũē ŵàţćĥ ŕēśēţ ƒàĩĺēď",
"issueWatchReset_one": "Ĩśśũē ŵàţćĥ ŕēśēţ; {{count}} ţàśķ ďēĺēţēď",
"issueWatchReset_other": "Ĩśśũē ŵàţćĥ ŕēśēţ; {{count}} ţàśķś ďēĺēţēď",
- "issueWatchResetFailed": "Ĩśśũē ŵàţćĥ ŕēśēţ ƒàĩĺēď",
- "issueWatchUpdated": "Ĩśśũē ŵàţćĥ ũƥďàţēď",
"issueWatchUpdateFailed": "Ĩśśũē ŵàţćĥ ũƥďàţē ƒàĩĺēď",
+ "issueWatchUpdated": "Ĩśśũē ŵàţćĥ ũƥďàţēď",
+ "issueWatches": "Ĩśśũē ŵàţćĥēś",
+ "issues": "Ĩśśũēś",
+ "kindIssue": "ĩśśũē",
+ "kindMergeRequest": "ḿēŕĝē ŕēqũēśţ",
"label": "Ĺàƀēĺ",
"labels": "Ĺàƀēĺś",
+ "labelsUpdated": "Ĺàƀēĺś ũƥďàţēď",
"lastChecked": "Ĺàśţ ćĥēćķēď",
"lastCheckedAt": "Ĺàśţ ćĥēćķēď {{value}}",
"leaveEmptyToMatchMergeRequests": "Ĺēàvē ēḿƥţŷ ţō ḿàţćĥ ḿēŕĝē ŕēqũēśţś ŕēqũēśţĩńĝ ŷōũŕ ŕēvĩēŵ. Àďďĩńĝ ƥàŕàḿēţēŕś ēxƥĺĩćĩţĺŷ ŕēƥĺàćēś ţĥàţ ŕēvĩēŵēŕ ćōńśţŕàĩńţ.",
+ "linkAnotherMergeRequest": "Ĺĩńķ àńōţĥēŕ ḿēŕĝē ŕēqũēśţ",
+ "linkGitlabMergeRequest": "Ĺĩńķ ĜĩţĹàƀ ḿēŕĝē ŕēqũēśţ",
+ "linkMergeRequest": "Ĺĩńķ ḿēŕĝē ŕēqũēśţ",
+ "linkedMergeRequest": "Ĺĩńķēď ḿēŕĝē ŕēqũēśţ",
+ "linking": "Ĺĩńķĩńĝ…",
+ "loadingMergeRequest": "Ĺōàďĩńĝ ḿēŕĝē ŕēqũēśţ",
"loggedInAs": "Ĺōĝĝēď ĩń àś <1>{{username}}1>",
"match": "Ḿàţćĥ",
"maximumInFlightTasks": "Ḿàxĩḿũḿ ĩń-ƒĺĩĝĥţ ţàśķś",
+ "merge": "Ḿēŕĝē",
+ "mergeRequest": "Ḿēŕĝē ŕēqũēśţ !{{mriid}}",
+ "mergeRequestApproved": "Ḿēŕĝē ŕēqũēśţ àƥƥŕōvēď",
+ "mergeRequestLabels": "Ḿēŕĝē ŕēqũēśţ ĺàƀēĺś",
+ "mergeRequestMerged": "Ḿēŕĝē ŕēqũēśţ ḿēŕĝēď",
"mergeRequestReviewWatches": "Ḿēŕĝē ŕēqũēśţ ŕēvĩēŵ ŵàţćĥēś",
+ "mergeRequestUnlinked": "Ḿēŕĝē ŕēqũēśţ ũńĺĩńķēď",
+ "mergeRequestUrl": "Ḿēŕĝē ŕēqũēśţ ŨŔĹ",
"mergeRequests": "Ḿēŕĝē ŕēqũēśţś",
+ "mergeRequestsAndIssues": "{{host}} · ḿēŕĝē ŕēqũēśţś àńď ĩśśũēś",
+ "mergeThisMergeRequest": "Ḿēŕĝē ţĥĩś ḿēŕĝē ŕēqũēśţ?",
+ "mergeability": "Ḿēŕĝēàƀĩĺĩţŷ",
"mockTest": "Ḿōćķ (ţēśţ)",
+ "mrs": "ḾŔś",
+ "name": "Ńàḿē",
"never": "Ńēvēŕ",
"neverDelete": "Ńēvēŕ ďēĺēţē",
"newWatch": "Ńēŵ ŵàţćĥ",
+ "noChangedFiles": "Ńō ćĥàńĝēď ƒĩĺēś",
+ "noCommits": "Ńō ćōḿḿĩţś",
+ "noDiscussionsYet": "Ńō ďĩśćũśśĩōńś ŷēţ",
+ "noIssuesMatchThisFilter": "Ńō ĩśśũēś ḿàţćĥ ţĥĩś ƒĩĺţēŕ.",
"noLimit": "Ńō ĺĩḿĩţ",
+ "noMergeRequestLinked": "Ńō ḿēŕĝē ŕēqũēśţ ĺĩńķēď ţō ţĥĩś śēśśĩōń.",
+ "noMergeRequestsMatchThisFilter": "Ńō ḿēŕĝē ŕēqũēśţś ḿàţćĥ ţĥĩś ƒĩĺţēŕ.",
"noNewIssuesMatched": "Ńō ńēŵ ĩśśũēś ḿàţćĥēď",
"noNewMergeRequestsMatched": "Ńō ńēŵ ḿēŕĝē ŕēqũēśţś ḿàţćĥēď",
+ "noPipeline": "Ńō ƥĩƥēĺĩńē",
+ "noSavedQueriesYet": "Ńō śàvēď qũēŕĩēś ŷēţ.",
+ "noTaskCreatedYet": "Ńō ţàśķ ćŕēàţēď ŷēţ",
+ "noWatchesConfigured": "Ńō ŵàţćĥēś ćōńƒĩĝũŕēď.",
+ "noneAssigned": "Ńōńē àśśĩĝńēď",
"notConfigured": "Ńōţ ćōńƒĩĝũŕēď",
"notConnected": "Ńōţ ćōńńēćţēď",
- "noWatchesConfigured": "Ńō ŵàţćĥēś ćōńƒĩĝũŕēď.",
+ "notificationStatusUnavailable": "Ńōţĩƒĩćàţĩōń śţàţũś ũńàvàĩĺàƀĺē",
+ "notificationUpdateFailed": "Ńōţĩƒĩćàţĩōń ũƥďàţē ƒàĩĺēď",
+ "openGitlabFilters": "Ōƥēń ĜĩţĹàƀ ƒĩĺţēŕś",
+ "openInGitlab": "Ōƥēń ĩń ĜĩţĹàƀ",
+ "openMergeRequestInGitlab": "Ōƥēń ḿēŕĝē ŕēqũēśţ ĩń ĜĩţĹàƀ",
+ "openSettingsToSeeMrsAndIssues": "<0>Śēţţĩńĝś → ĜĩţĹàƀ0> ţō śēē ŷōũŕ ḿēŕĝē ŕēqũēśţś àńď ĩśśũēś.",
"optionalCapPollingResumesWhenActive": "Ōƥţĩōńàĺ ćàƥ; ƥōĺĺĩńĝ ŕēśũḿēś ŵĥēń àćţĩvē ţàśķś ƒàĺĺ ƀēĺōŵ ĩţ.",
"optionalCommaSeparatedGitlabLabelsThat": "Ōƥţĩōńàĺ ćōḿḿà-śēƥàŕàţēď ĜĩţĹàƀ ĺàƀēĺś ţĥàţ ḿàţćĥĩńĝ ĩśśũēś ḿũśţ ĩńćĺũďē.",
"optionalCommaSeparatedNamespaceProjectPaths": "Ōƥţĩōńàĺ ćōḿḿà-śēƥàŕàţēď ńàḿēśƥàćē/ƥŕōĵēćţ ƥàţĥś. Ēḿƥţŷ ŵàţćĥēś ēvēŕŷ àććēśśĩƀĺē ƥŕōĵēćţ.",
"optionalGitlabApiQueryParametersSuch": "Ōƥţĩōńàĺ ĜĩţĹàƀ ÀƤĨ qũēŕŷ ƥàŕàḿēţēŕś, śũćĥ àś {{example}}.",
"optionalOtherwiseUsesTheWorkflowStep": "Ōƥţĩōńàĺ; ōţĥēŕŵĩśē ũśēś ţĥē ŵōŕķƒĺōŵ śţēƥ ďēƒàũĺţ.",
- "paused": "Ƥàũśēď",
+ "pasteAMergeRequestUrlFrom": "Ƥàśţē à ḿēŕĝē ŕēqũēśţ ŨŔĹ ƒŕōḿ ţĥĩś ŵōŕķśƥàćē'ś ćōńƒĩĝũŕēď ĜĩţĹàƀ ĥōśţ.",
"pauseWatch": "Ƥàũśē ŵàţćĥ",
+ "paused": "Ƥàũśēď",
"personalAccessToken": "Ƥēŕśōńàĺ àććēśś ţōķēń",
+ "pipeline": "Ƥĩƥēĺĩńē",
"pollGitlabForMergeRequestsAwaiting": "Ƥōĺĺ ĜĩţĹàƀ ƒōŕ ḿēŕĝē ŕēqũēśţś àŵàĩţĩńĝ ŕēvĩēŵ àńď ćŕēàţē ōńē ţàśķ ƥēŕ ńēŵ ḿàţćĥ.",
"pollGitlabIssuesAndCreateOne": "Ƥōĺĺ ĜĩţĹàƀ ĩśśũēś àńď ćŕēàţē ōńē ţàśķ ƥēŕ ńēŵ ḿàţćĥ.",
- "pollingAndCleanup": "Ƥōĺĺĩńĝ àńď ćĺēàńũƥ",
"pollIntervalSeconds": "Ƥōĺĺ ĩńţēŕvàĺ (śēćōńďś)",
+ "pollingAndCleanup": "Ƥōĺĺĩńĝ àńď ćĺēàńũƥ",
+ "pressEnter": "Ƥŕēśś Ēńţēŕ",
+ "project": "Ƥŕōĵēćţ",
"projectPaths": "Ƥŕōĵēćţ ƥàţĥś",
"projects": "Ƥŕōĵēćţś",
"promptSentToTheSelectedAgent": "Ƥŕōḿƥţ śēńţ ţō ţĥē śēĺēćţēď àĝēńţ ƥŕōƒĩĺē ƒōŕ ēàćĥ ńēŵ ḿàţćĥ.",
"promptUsingUrlAndTitle": "Ƥŕōḿƥţ ũśĩńĝ {{url}} àńď {{title}}",
+ "query": "Qũēŕŷ",
"quickActions": "Qũĩćķ àćţĩōńś",
"reconnectRequired": "Ŕēćōńńēćţ ŕēqũĩŕēď",
"refresh": "Ŕēƒŕēśĥ",
+ "refreshFailed": "Ŕēƒŕēśĥ ƒàĩĺēď: {{error}}",
+ "refreshFailedShowingCached": "ĜĩţĹàƀ ŕēƒŕēśĥ ƒàĩĺēď: {{error}}. Śĥōŵĩńĝ ţĥē ĺàśţ śũććēśśƒũĺĺŷ ĺōàďēď ŕēvĩēŵ ďàţà.",
+ "refreshMergeRequest": "Ŕēƒŕēśĥ ḿēŕĝē ŕēqũēśţ",
"remove": "Ŕēḿōvē {{label}}",
+ "removeFromAssignees": "Ŕēḿōvē {{username}} ƒŕōḿ àśśĩĝńēēś",
+ "removeFromReviewers": "Ŕēḿōvē {{username}} ƒŕōḿ ŕēvĩēŵēŕś",
+ "reply": "Ŕēƥĺŷ",
+ "replyAdded": "Ŕēƥĺŷ àďďēď",
+ "replyToThisDiscussion": "Ŕēƥĺŷ ţō ţĥĩś ďĩśćũśśĩōń",
"resetQuickActionsToDefaults": "Ŕēśēţ qũĩćķ àćţĩōńś ţō ďēƒàũĺţś",
"resetWatch": "Ŕēśēţ ŵàţćĥ",
+ "resolve": "Ŕēśōĺvē",
+ "resolved": "Ŕēśōĺvēď",
+ "retry": "Ŕēţŕŷ",
+ "review": "Ŕēvĩēŵ",
"reviewScope": "Ŕēvĩēŵ śćōƥē",
"reviewWatchCheckFailed": "Ŕēvĩēŵ ŵàţćĥ ćĥēćķ ƒàĩĺēď",
"reviewWatchCreated": "Ŕēvĩēŵ ŵàţćĥ ćŕēàţēď",
@@ -127,22 +232,50 @@
"reviewWatchDeleted": "Ŕēvĩēŵ ŵàţćĥ ďēĺēţēď",
"reviewWatchDeletionFailed": "Ŕēvĩēŵ ŵàţćĥ ďēĺēţĩōń ƒàĩĺēď",
"reviewWatchDialogDescription": "Àũţōḿàţĩćàĺĺŷ ćŕēàţē ŵōŕķśƥàćē ţàśķś ƒōŕ ńēŵĺŷ ḿàţćĥĩńĝ ĜĩţĹàƀ ḿēŕĝē ŕēqũēśţś.",
+ "reviewWatchResetFailed": "Ŕēvĩēŵ ŵàţćĥ ŕēśēţ ƒàĩĺēď",
"reviewWatchReset_one": "Ŕēvĩēŵ ŵàţćĥ ŕēśēţ; {{count}} ţàśķ ďēĺēţēď",
"reviewWatchReset_other": "Ŕēvĩēŵ ŵàţćĥ ŕēśēţ; {{count}} ţàśķś ďēĺēţēď",
- "reviewWatchResetFailed": "Ŕēvĩēŵ ŵàţćĥ ŕēśēţ ƒàĩĺēď",
- "reviewWatchUpdated": "Ŕēvĩēŵ ŵàţćĥ ũƥďàţēď",
"reviewWatchUpdateFailed": "Ŕēvĩēŵ ŵàţćĥ ũƥďàţē ƒàĩĺēď",
+ "reviewWatchUpdated": "Ŕēvĩēŵ ŵàţćĥ ũƥďàţēď",
+ "reviewers": "Ŕēvĩēŵēŕś",
+ "reviewersUpdated": "Ŕēvĩēŵēŕś ũƥďàţēď",
"saveChangesBeforeCheckingNow": "Śàvē ćĥàńĝēś ƀēƒōŕē ćĥēćķĩńĝ ńōŵ",
+ "saveCurrentQuery": "Śàvē ćũŕŕēńţ qũēŕŷ",
+ "saveGitlabQuery": "Śàvē ĜĩţĹàƀ qũēŕŷ",
+ "savePresetDescription": "Śàvē ţĥĩś {{kind}} qũēŕŷ ţō ţĥē śĩďēƀàŕ ƒōŕ qũĩćķ àććēśś ĺàţēŕ.",
+ "saved": "Śàvēď",
+ "savedQueryFallback": "Śàvēď qũēŕŷ",
"saving": "Śàvĩńĝ...",
+ "searchAssignees": "Śēàŕćĥ àśśĩĝńēēś",
+ "searchProjectMembers": "Śēàŕćĥ ƥŕōĵēćţ ḿēḿƀēŕś",
+ "searchReviewers": "Śēàŕćĥ ŕēvĩēŵēŕś",
"selectWorkflow": "Śēĺēćţ ŵōŕķƒĺōŵ",
"shortHint": "Śĥōŕţ ĥĩńţ",
"showToken": "Śĥōŵ ţōķēń",
+ "subscribe": "Śũƀśćŕĩƀē",
+ "subscribeToNotifications": "Śũƀśćŕĩƀē ţō ĜĩţĹàƀ ńōţĩƒĩćàţĩōńś",
+ "subscribedToGitlabNotifications": "Śũƀśćŕĩƀēď ţō ĜĩţĹàƀ ńōţĩƒĩćàţĩōńś",
+ "task": "Ţàśķ",
"taskAutomation": "Ţàśķ àũţōḿàţĩōń",
"taskPrompt": "Ţàśķ ƥŕōḿƥţ",
"taskPromptsShownOnTheGitlab": "Ţàśķ ƥŕōḿƥţś śĥōŵń ōń ţĥē ĜĩţĹàƀ ƀŕōŵśē ƥàĝē ƒōŕ ḿēŕĝē ŕēqũēśţś àńď ĩśśũēś.",
+ "taskRepository": "Ţàśķ ŕēƥōśĩţōŕŷ",
+ "theMergeRequestIsStillLinked": "Ţĥē ḿēŕĝē ŕēqũēśţ ĩś śţĩĺĺ ĺĩńķēď.",
+ "thisMergeRequestBelongsToA": "Ţĥĩś ḿēŕĝē ŕēqũēśţ ƀēĺōńĝś ţō à ďĩƒƒēŕēńţ ĜĩţĹàƀ ĥōśţ ţĥàń ţĥē àćţĩvē ŵōŕķśƥàćē ćōńńēćţĩōń.",
"thisWillDeleteEveryTaskCreated": "Ţĥĩś ŵĩĺĺ ďēĺēţē ēvēŕŷ ţàśķ ćŕēàţēď ƀŷ ţĥĩś ŵàţćĥ, ĩńćĺũďĩńĝ àŕćĥĩvēď ţàśķś, àńď ŕēḿōvē ĩţś ƥōĺĺĩńĝ ĥĩśţōŕŷ. Ţĥĩś ćàńńōţ ƀē ũńďōńē.",
+ "titleIssues": "Ĩśśũēś",
+ "titleMergeRequests": "Ḿēŕĝē ŕēqũēśţś",
+ "typeACustomQueryFirst": "Ţŷƥē à ćũśţōḿ qũēŕŷ ƒĩŕśţ",
+ "unapprove": "Ũńàƥƥŕōvē",
+ "unlink": "Ũńĺĩńķ !",
+ "unlinkMergeRequest": "Ũńĺĩńķ ḿēŕĝē ŕēqũēśţ",
"unreachable": "Ũńŕēàćĥàƀĺē",
+ "unsubscribe": "Ũńśũƀśćŕĩƀē",
+ "unsubscribeFromNotifications": "Ũńśũƀśćŕĩƀē ƒŕōḿ ĜĩţĹàƀ ńōţĩƒĩćàţĩōńś",
+ "unsubscribedFromGitlabNotifications": "Ũńśũƀśćŕĩƀēď ƒŕōḿ ĜĩţĹàƀ ńōţĩƒĩćàţĩōńś",
"updateWatch": "Ũƥďàţē ŵàţćĥ",
+ "updated": "Ũƥďàţēď ",
+ "verifyingGitlabConnection": "Vēŕĩƒŷĩńĝ ĜĩţĹàƀ ćōńńēćţĩōń",
"watchDeletionFailed": "Ŵàţćĥ ďēĺēţĩōń ƒàĩĺēď",
"workflow": "Ŵōŕķƒĺōŵ",
"workflowStep": "Ŵōŕķƒĺōŵ śţēƥ",
diff --git a/apps/web/src/locales/pseudo/integrations.json b/apps/web/src/locales/pseudo/integrations.json
new file mode 100644
index 0000000000..a87d5b4d90
--- /dev/null
+++ b/apps/web/src/locales/pseudo/integrations.json
@@ -0,0 +1,6 @@
+{
+ "deleteSavedQuery": "Ďēĺēţē śàvēď qũēŕŷ",
+ "noSavedQueriesYet": "Ńō śàvēď qũēŕĩēś ŷēţ",
+ "saveCurrentQuery": "Śàvē ćũŕŕēńţ qũēŕŷ",
+ "savedQueries": "Śàvēď"
+}