mirror of
https://github.com/makeplane/plane.git
synced 2026-01-31 02:39:32 -06:00
[WEB-5248] chore: translations and empty state refactor (#8021)
* chore: translations code refactoring * chore: empty state translation refactor * chore: code refactor
This commit is contained in:
committed by
GitHub
parent
cf7f891bcb
commit
b7aa25f2c6
@@ -98,11 +98,11 @@ const ProjectCyclesPage = observer(() => {
|
||||
<div className="h-full place-items-center">
|
||||
<EmptyStateDetailed
|
||||
assetKey="cycle"
|
||||
title={t("project.cycles.title")}
|
||||
description={t("project.cycles.description")}
|
||||
title={t("project_empty_state.cycles.title")}
|
||||
description={t("project_empty_state.cycles.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.cycles.cta_primary"),
|
||||
label: t("project_empty_state.cycles.cta_primary"),
|
||||
onClick: () => setCreateModal(true),
|
||||
variant: "primary",
|
||||
disabled: !hasMemberLevelPermission,
|
||||
|
||||
@@ -90,11 +90,11 @@ const WebhooksListPage = observer(() => {
|
||||
<div className="h-full w-full flex items-center justify-center">
|
||||
<EmptyStateCompact
|
||||
assetKey="webhook"
|
||||
title={t("settings.webhooks.title")}
|
||||
description={t("settings.webhooks.description")}
|
||||
title={t("settings_empty_state.webhooks.title")}
|
||||
description={t("settings_empty_state.webhooks.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("settings.webhooks.cta_primary"),
|
||||
label: t("settings_empty_state.webhooks.cta_primary"),
|
||||
onClick: () => {
|
||||
captureClick({
|
||||
elementName: WORKSPACE_SETTINGS_TRACKER_ELEMENTS.EMPTY_STATE_ADD_WEBHOOK_BUTTON,
|
||||
|
||||
@@ -85,11 +85,11 @@ const ApiTokensPage = observer(() => {
|
||||
<EmptyStateCompact
|
||||
assetKey="token"
|
||||
assetClassName="size-20"
|
||||
title={t("settings.tokens.title")}
|
||||
description={t("settings.tokens.description")}
|
||||
title={t("settings_empty_state.tokens.title")}
|
||||
description={t("settings_empty_state.tokens.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("settings.tokens.cta_primary"),
|
||||
label: t("settings_empty_state.tokens.cta_primary"),
|
||||
onClick: () => {
|
||||
captureClick({
|
||||
elementName: PROFILE_SETTINGS_TRACKER_ELEMENTS.EMPTY_STATE_ADD_PAT_BUTTON,
|
||||
|
||||
@@ -157,7 +157,7 @@ export function DataTable<TData, TValue>({ columns, data, searchPlaceholder, act
|
||||
assetKey="unknown"
|
||||
assetClassName="size-20"
|
||||
rootClassName="border border-custom-border-100 px-5 py-10 md:py-20 md:px-20"
|
||||
title={t("workspace.analytics_work_items.title")}
|
||||
title={t("workspace_empty_state.analytics_work_items.title")}
|
||||
/>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
|
||||
@@ -58,7 +58,7 @@ const ProjectInsights = observer(() => {
|
||||
assetKey="unknown"
|
||||
assetClassName="size-20"
|
||||
rootClassName="border border-custom-border-100 px-5 py-10 md:py-20 md:px-20"
|
||||
title={t("workspace.analytics_work_items.title")}
|
||||
title={t("workspace_empty_state.analytics_work_items.title")}
|
||||
/>
|
||||
) : (
|
||||
<div className="gap-8 lg:flex">
|
||||
|
||||
@@ -123,7 +123,7 @@ const CreatedVsResolved = observer(() => {
|
||||
assetKey="unknown"
|
||||
assetClassName="size-20"
|
||||
rootClassName="border border-custom-border-100 px-5 py-10 md:py-20 md:px-20"
|
||||
title={t("workspace.analytics_work_items.title")}
|
||||
title={t("workspace_empty_state.analytics_work_items.title")}
|
||||
/>
|
||||
)}
|
||||
</AnalyticsSectionWrapper>
|
||||
|
||||
@@ -234,7 +234,7 @@ const PriorityChart = observer((props: Props) => {
|
||||
assetKey="unknown"
|
||||
assetClassName="size-20"
|
||||
rootClassName="border border-custom-border-100 px-5 py-10 md:py-20 md:px-20"
|
||||
title={t("workspace.analytics_work_items.title")}
|
||||
title={t("workspace_empty_state.analytics_work_items.title")}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -69,8 +69,8 @@ export const ArchivedCycleLayoutRoot: React.FC = observer(() => {
|
||||
<div className="h-full place-items-center">
|
||||
<EmptyStateDetailed
|
||||
assetKey="archived-cycle"
|
||||
title={t("workspace.archive_cycles.title")}
|
||||
description={t("workspace.archive_cycles.description")}
|
||||
title={t("workspace_empty_state.archive_cycles.title")}
|
||||
description={t("workspace_empty_state.archive_cycles.description")}
|
||||
/>
|
||||
</div>
|
||||
) : (
|
||||
|
||||
@@ -79,11 +79,11 @@ export const EstimateRoot: FC<TEstimateRoot> = observer((props) => {
|
||||
<EmptyStateCompact
|
||||
assetKey="estimate"
|
||||
assetClassName="size-20"
|
||||
title={t("settings.estimates.title")}
|
||||
description={t("settings.estimates.description")}
|
||||
title={t("settings_empty_state.estimates.title")}
|
||||
description={t("settings_empty_state.estimates.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("settings.estimates.cta_primary"),
|
||||
label: t("settings_empty_state.estimates.cta_primary"),
|
||||
onClick: () => setIsEstimateCreateModalOpen(true),
|
||||
},
|
||||
]}
|
||||
|
||||
@@ -124,8 +124,8 @@ export const PrevExports = observer((props: Props) => {
|
||||
<div className="flex h-full w-full items-center justify-center">
|
||||
<EmptyStateCompact
|
||||
assetKey="export"
|
||||
title={t("settings.exports.title")}
|
||||
description={t("settings.exports.description")}
|
||||
title={t("settings_empty_state.exports.title")}
|
||||
description={t("settings_empty_state.exports.description")}
|
||||
align="start"
|
||||
rootClassName="py-20"
|
||||
/>
|
||||
|
||||
@@ -8,7 +8,7 @@ export const LinksEmptyState = () => {
|
||||
<EmptyStateCompact
|
||||
assetKey="link"
|
||||
assetClassName="w-20 h-20"
|
||||
title={t("workspace.home_widget_quick_links.title")}
|
||||
title={t("workspace_empty_state.home_widget_quick_links.title")}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -101,7 +101,11 @@ export const InboxIssueRoot: FC<TInboxIssueRoot> = observer((props) => {
|
||||
inboxIssueId={inboxIssueId.toString()}
|
||||
/>
|
||||
) : (
|
||||
<EmptyStateCompact assetKey="intake" title={t("project.intake_main.title")} assetClassName="size-20" />
|
||||
<EmptyStateCompact
|
||||
assetKey="intake"
|
||||
title={t("project_empty_state.intake_main.title")}
|
||||
assetClassName="size-20"
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
|
||||
@@ -144,12 +144,12 @@ export const InboxSidebar: FC<IInboxSidebarProps> = observer((props) => {
|
||||
) : currentTab === EInboxIssueCurrentTab.OPEN ? (
|
||||
<EmptyStateDetailed
|
||||
assetKey="inbox"
|
||||
title={t("project.intake_sidebar.title")}
|
||||
description={t("project.intake_sidebar.description")}
|
||||
title={t("project_empty_state.intake_sidebar.title")}
|
||||
description={t("project_empty_state.intake_sidebar.description")}
|
||||
assetClassName="size-20"
|
||||
actions={[
|
||||
{
|
||||
label: t("project.intake_sidebar.cta_primary"),
|
||||
label: t("project_empty_state.intake_sidebar.cta_primary"),
|
||||
onClick: () => router.push(`/${workspaceSlug}/projects/${projectId}/intake`),
|
||||
variant: "primary",
|
||||
},
|
||||
|
||||
@@ -48,11 +48,11 @@ export const ProjectArchivedEmptyState: React.FC = observer(() => {
|
||||
) : (
|
||||
<EmptyStateDetailed
|
||||
assetKey="archived-work-item"
|
||||
title={t("workspace.archive_work_items.title")}
|
||||
description={t("workspace.archive_work_items.description")}
|
||||
title={t("workspace_empty_state.archive_work_items.title")}
|
||||
description={t("workspace_empty_state.archive_work_items.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("workspace.archive_work_items.cta_primary"),
|
||||
label: t("workspace_empty_state.archive_work_items.cta_primary"),
|
||||
onClick: () => router.push(`/${workspaceSlug}/settings/projects/${projectId}/automations`),
|
||||
disabled: !canPerformEmptyStateActions,
|
||||
variant: "primary",
|
||||
|
||||
@@ -103,11 +103,11 @@ export const CycleEmptyState: React.FC = observer(() => {
|
||||
) : (
|
||||
<EmptyStateDetailed
|
||||
assetKey="work-item"
|
||||
title={t("project.cycle_work_items.title")}
|
||||
description={t("project.cycle_work_items.description")}
|
||||
title={t("project_empty_state.cycle_work_items.title")}
|
||||
description={t("project_empty_state.cycle_work_items.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.cycle_work_items.cta_primary"),
|
||||
label: t("project_empty_state.cycle_work_items.cta_primary"),
|
||||
onClick: () => {
|
||||
captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.EMPTY_STATE_ADD_BUTTON.CYCLE });
|
||||
toggleCreateIssueModal(true, EIssuesStoreType.CYCLE);
|
||||
@@ -117,7 +117,7 @@ export const CycleEmptyState: React.FC = observer(() => {
|
||||
"data-ph-element": WORK_ITEM_TRACKER_ELEMENTS.EMPTY_STATE_ADD_BUTTON.CYCLE,
|
||||
},
|
||||
{
|
||||
label: t("project.cycle_work_items.cta_secondary"),
|
||||
label: t("project_empty_state.cycle_work_items.cta_secondary"),
|
||||
onClick: () => setCycleIssuesListModal(true),
|
||||
disabled: !canPerformEmptyStateActions,
|
||||
variant: "outline-primary",
|
||||
|
||||
@@ -90,11 +90,11 @@ export const ModuleEmptyState: React.FC = observer(() => {
|
||||
) : (
|
||||
<EmptyStateDetailed
|
||||
assetKey="work-item"
|
||||
title={t("project.module_work_items.title")}
|
||||
description={t("project.module_work_items.description")}
|
||||
title={t("project_empty_state.module_work_items.title")}
|
||||
description={t("project_empty_state.module_work_items.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.module_work_items.cta_primary"),
|
||||
label: t("project_empty_state.module_work_items.cta_primary"),
|
||||
onClick: () => {
|
||||
captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.EMPTY_STATE_ADD_BUTTON.MODULE });
|
||||
toggleCreateIssueModal(true, EIssuesStoreType.MODULE);
|
||||
@@ -103,7 +103,7 @@ export const ModuleEmptyState: React.FC = observer(() => {
|
||||
variant: "primary",
|
||||
},
|
||||
{
|
||||
label: t("project.module_work_items.cta_secondary"),
|
||||
label: t("project_empty_state.module_work_items.cta_secondary"),
|
||||
onClick: () => setModuleIssuesListModal(true),
|
||||
disabled: !canPerformEmptyStateActions,
|
||||
variant: "outline-primary",
|
||||
|
||||
@@ -48,11 +48,11 @@ export const ProjectEmptyState: React.FC = observer(() => {
|
||||
) : (
|
||||
<EmptyStateDetailed
|
||||
assetKey="work-item"
|
||||
title={t("project.work_items.title")}
|
||||
description={t("project.work_items.description")}
|
||||
title={t("project_empty_state.work_items.title")}
|
||||
description={t("project_empty_state.work_items.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.work_items.cta_primary"),
|
||||
label: t("project_empty_state.work_items.cta_primary"),
|
||||
onClick: () => {
|
||||
captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.EMPTY_STATE_ADD_BUTTON.WORK_ITEMS });
|
||||
toggleCreateIssueModal(true, EIssuesStoreType.PROJECT);
|
||||
|
||||
@@ -34,13 +34,13 @@ export const WorkspaceDraftEmptyState: FC = observer(() => {
|
||||
/>
|
||||
<div className="relative h-full w-full overflow-y-auto">
|
||||
<EmptyStateDetailed
|
||||
title={t("workspace.drafts.title")}
|
||||
description={t("workspace.drafts.description")}
|
||||
title={t("workspace_empty_state.drafts.title")}
|
||||
description={t("workspace_empty_state.drafts.description")}
|
||||
assetKey="draft"
|
||||
assetClassName="size-20"
|
||||
actions={[
|
||||
{
|
||||
label: t("workspace.drafts.cta_primary"),
|
||||
label: t("workspace_empty_state.drafts.cta_primary"),
|
||||
onClick: () => {
|
||||
setIsDraftIssueModalOpen(true);
|
||||
},
|
||||
|
||||
@@ -112,11 +112,11 @@ export const ProjectSettingsLabelList: React.FC = observer(() => {
|
||||
<EmptyStateCompact
|
||||
assetKey="label"
|
||||
assetClassName="size-20"
|
||||
title={t("settings.labels.title")}
|
||||
description={t("settings.labels.description")}
|
||||
title={t("settings_empty_state.labels.title")}
|
||||
description={t("settings_empty_state.labels.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("settings.labels.cta_primary"),
|
||||
label: t("settings_empty_state.labels.cta_primary"),
|
||||
onClick: () => {
|
||||
newLabel();
|
||||
captureClick({
|
||||
|
||||
@@ -72,8 +72,8 @@ export const ArchivedModuleLayoutRoot: React.FC = observer(() => {
|
||||
<div className="h-full place-items-center">
|
||||
<EmptyStateDetailed
|
||||
assetKey="archived-module"
|
||||
title={t("workspace.archive_modules.title")}
|
||||
description={t("workspace.archive_modules.description")}
|
||||
title={t("workspace_empty_state.archive_modules.title")}
|
||||
description={t("workspace_empty_state.archive_modules.description")}
|
||||
/>
|
||||
</div>
|
||||
) : (
|
||||
|
||||
@@ -50,11 +50,11 @@ export const ModulesListView: React.FC = observer(() => {
|
||||
return (
|
||||
<EmptyStateDetailed
|
||||
assetKey="module"
|
||||
title={t("project.modules.title")}
|
||||
description={t("project.modules.description")}
|
||||
title={t("project_empty_state.modules.title")}
|
||||
description={t("project_empty_state.modules.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.modules.cta_primary"),
|
||||
label: t("project_empty_state.modules.cta_primary"),
|
||||
onClick: () => toggleCreateModuleModal(true),
|
||||
disabled: !canPerformEmptyStateActions,
|
||||
variant: "primary",
|
||||
|
||||
@@ -94,11 +94,11 @@ export const PagesListMainContent: React.FC<Props> = observer((props) => {
|
||||
return (
|
||||
<EmptyStateDetailed
|
||||
assetKey="page"
|
||||
title={t("project.pages.title")}
|
||||
description={t("project.pages.description")}
|
||||
title={t("project_empty_state.pages.title")}
|
||||
description={t("project_empty_state.pages.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.pages.cta_primary"),
|
||||
label: t("project_empty_state.pages.cta_primary"),
|
||||
onClick: () => {
|
||||
handleCreatePage();
|
||||
captureClick({ elementName: PROJECT_PAGE_TRACKER_ELEMENTS.EMPTY_STATE_CREATE_BUTTON });
|
||||
@@ -114,11 +114,11 @@ export const PagesListMainContent: React.FC<Props> = observer((props) => {
|
||||
return (
|
||||
<EmptyStateDetailed
|
||||
assetKey="page"
|
||||
title={t("project.pages.title")}
|
||||
description={t("project.pages.description")}
|
||||
title={t("project_empty_state.pages.title")}
|
||||
description={t("project_empty_state.pages.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.pages.cta_primary"),
|
||||
label: t("project_empty_state.pages.cta_primary"),
|
||||
onClick: () => {
|
||||
handleCreatePage();
|
||||
captureClick({ elementName: PROJECT_PAGE_TRACKER_ELEMENTS.EMPTY_STATE_CREATE_BUTTON });
|
||||
@@ -133,11 +133,11 @@ export const PagesListMainContent: React.FC<Props> = observer((props) => {
|
||||
return (
|
||||
<EmptyStateDetailed
|
||||
assetKey="page"
|
||||
title={t("project.pages.title")}
|
||||
description={t("project.pages.description")}
|
||||
title={t("project_empty_state.pages.title")}
|
||||
description={t("project_empty_state.pages.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.pages.cta_primary"),
|
||||
label: t("project_empty_state.pages.cta_primary"),
|
||||
onClick: () => {
|
||||
handleCreatePage();
|
||||
captureClick({ elementName: PROJECT_PAGE_TRACKER_ELEMENTS.EMPTY_STATE_CREATE_BUTTON });
|
||||
@@ -152,8 +152,8 @@ export const PagesListMainContent: React.FC<Props> = observer((props) => {
|
||||
return (
|
||||
<EmptyStateDetailed
|
||||
assetKey="page"
|
||||
title={t("project.archive_pages.title")}
|
||||
description={t("project.archive_pages.description")}
|
||||
title={t("project_empty_state.archive_pages.title")}
|
||||
description={t("project_empty_state.archive_pages.description")}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ export const ProfilePriorityDistribution: React.FC<Props> = ({ userProfile }) =>
|
||||
<EmptyStateCompact
|
||||
assetKey="priority"
|
||||
assetClassName="size-20"
|
||||
title={t("workspace.your_work_by_priority.title")}
|
||||
title={t("workspace_empty_state.your_work_by_priority.title")}
|
||||
/>
|
||||
)}
|
||||
</Card>
|
||||
|
||||
@@ -74,7 +74,7 @@ export const ProfileStateDistribution: React.FC<Props> = ({ stateDistribution, u
|
||||
<EmptyStateCompact
|
||||
assetKey="priority"
|
||||
assetClassName="size-20"
|
||||
title={t("workspace.your_work_by_priority.title")}
|
||||
title={t("workspace_empty_state.your_work_by_priority.title")}
|
||||
/>
|
||||
)}
|
||||
</Card>
|
||||
|
||||
@@ -77,13 +77,13 @@ export const ProjectCardList = observer((props: TProjectCardListProps) => {
|
||||
title={
|
||||
currentWorkspaceDisplayFilters?.archived_projects &&
|
||||
calculateTotalFilters(currentWorkspaceFilters ?? {}) === 0
|
||||
? t("workspace.projects_archived.title")
|
||||
? t("workspace_empty_state.projects_archived.title")
|
||||
: t("common_empty_state.search.title")
|
||||
}
|
||||
description={
|
||||
currentWorkspaceDisplayFilters?.archived_projects &&
|
||||
calculateTotalFilters(currentWorkspaceFilters ?? {}) === 0
|
||||
? t("workspace.projects_archived.description")
|
||||
? t("workspace_empty_state.projects_archived.description")
|
||||
: t("common_empty_state.search.description")
|
||||
}
|
||||
assetKey={
|
||||
|
||||
@@ -58,11 +58,11 @@ export const ProjectViewsList = observer(() => {
|
||||
) : (
|
||||
<EmptyStateDetailed
|
||||
assetKey="view"
|
||||
title={t("project.views.title")}
|
||||
description={t("project.views.description")}
|
||||
title={t("project_empty_state.views.title")}
|
||||
description={t("project_empty_state.views.description")}
|
||||
actions={[
|
||||
{
|
||||
label: t("project.views.cta_primary"),
|
||||
label: t("project_empty_state.views.cta_primary"),
|
||||
onClick: () => toggleCreateViewModal(true),
|
||||
disabled: !canPerformEmptyStateActions,
|
||||
variant: "primary",
|
||||
|
||||
@@ -22,8 +22,8 @@ export const NotificationEmptyState: FC<TNotificationEmptyStateProps> = observer
|
||||
assetClassName="size-24"
|
||||
title={
|
||||
currentNotificationTab === ENotificationTab.ALL
|
||||
? t("workspace.inbox_sidebar_all.title")
|
||||
: t("workspace.inbox_sidebar_mentions.title")
|
||||
? t("workspace_empty_state.inbox_sidebar_all.title")
|
||||
: t("workspace_empty_state.inbox_sidebar_mentions.title")
|
||||
}
|
||||
className="max-w-56"
|
||||
/>
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "Zkuste znovu načíst",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Začněte s vaší první pracovní položkou.",
|
||||
description:
|
||||
@@ -92,7 +92,7 @@ export default {
|
||||
title: "Vyberte příchozí pracovní položku pro zobrazení jejích podrobností",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Zatím žádné archivované pracovní položky",
|
||||
description:
|
||||
@@ -156,7 +156,7 @@ export default {
|
||||
title: "Nastavte příjem pro správu příchozích požadavků a sledování, jak jsou přijímány a odmítány",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Zatím žádné odhady",
|
||||
description: "Definujte, jak váš tým měří úsilí, a sledujte to konzistentně napříč všemi pracovními položkami.",
|
||||
|
||||
@@ -25,7 +25,7 @@ export default {
|
||||
cta_primary: "Versuchen Sie neu zu laden",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Beginnen Sie mit Ihrem ersten Arbeitselement.",
|
||||
description:
|
||||
@@ -94,7 +94,7 @@ export default {
|
||||
title: "Wählen Sie ein Intake-Arbeitselement aus, um seine Details anzuzeigen",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Noch keine archivierten Arbeitselemente",
|
||||
description:
|
||||
@@ -162,7 +162,7 @@ export default {
|
||||
"Richten Sie Intake ein, um eingehende Anfragen zu verwalten und zu verfolgen, wie sie akzeptiert und abgelehnt werden",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Noch keine Schätzungen",
|
||||
description:
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "Try reloading",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Start with your first work item.",
|
||||
description:
|
||||
@@ -90,7 +90,7 @@ export default {
|
||||
title: "Select an Intake work item to view its details",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "No archived work items yet",
|
||||
description:
|
||||
@@ -152,7 +152,7 @@ export default {
|
||||
title: "Set up intake to manage incoming requests and track how they're accepted and rejected",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "No estimates yet",
|
||||
description: "Define how your team measures effort and track it consistently across all work items.",
|
||||
|
||||
@@ -25,7 +25,7 @@ export default {
|
||||
cta_primary: "Intentar recargar",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Comienza con tu primer elemento de trabajo.",
|
||||
description:
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
title: "Selecciona un elemento de trabajo de Entrada para ver sus detalles",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Aún no hay elementos de trabajo archivados",
|
||||
description:
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
title: "Configura la entrada para gestionar las solicitudes entrantes y rastrear cómo se aceptan y rechazan",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Aún no hay estimaciones",
|
||||
description:
|
||||
|
||||
@@ -26,7 +26,7 @@ export default {
|
||||
cta_primary: "Essayer de recharger",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Commencez avec votre premier élément de travail.",
|
||||
description:
|
||||
@@ -95,7 +95,7 @@ export default {
|
||||
title: "Sélectionnez un élément de travail Intake pour voir ses détails",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Aucun élément de travail archivé pour le moment",
|
||||
description:
|
||||
@@ -160,7 +160,7 @@ export default {
|
||||
title: "Configurez l'intake pour gérer les demandes entrantes et suivre comment elles sont acceptées et rejetées",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Aucune estimation pour le moment",
|
||||
description:
|
||||
|
||||
@@ -24,7 +24,7 @@ export default {
|
||||
cta_primary: "Coba muat ulang",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Mulai dengan item kerja pertama Anda.",
|
||||
description:
|
||||
@@ -92,7 +92,7 @@ export default {
|
||||
title: "Pilih item kerja Masuk untuk melihat detailnya",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Belum ada item kerja yang diarsipkan",
|
||||
description:
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
title: "Siapkan masukan untuk mengelola permintaan masuk dan melacak bagaimana mereka diterima dan ditolak",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Belum ada estimasi",
|
||||
description: "Tentukan bagaimana tim Anda mengukur upaya dan lacak secara konsisten di semua item kerja.",
|
||||
|
||||
@@ -26,7 +26,7 @@ export default {
|
||||
cta_primary: "Prova a ricaricare",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Inizia con il tuo primo elemento di lavoro.",
|
||||
description:
|
||||
@@ -95,7 +95,7 @@ export default {
|
||||
title: "Seleziona un elemento di lavoro di Intake per visualizzarne i dettagli",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Nessun elemento di lavoro archiviato ancora",
|
||||
description:
|
||||
@@ -159,7 +159,7 @@ export default {
|
||||
title: "Imposta intake per gestire le richieste in arrivo e tracciare come vengono accettate e rifiutate",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Nessuna stima ancora",
|
||||
description:
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "再読み込みを試す",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "最初の作業項目から始めましょう。",
|
||||
description:
|
||||
@@ -89,7 +89,7 @@ export default {
|
||||
title: "インテーク作業項目を選択して詳細を表示",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "アーカイブされた作業項目はまだありません",
|
||||
description:
|
||||
@@ -151,7 +151,7 @@ export default {
|
||||
title: "インテークを設定して、受信リクエストを管理し、承認と拒否を追跡します",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "まだ見積もりはありません",
|
||||
description: "チームが労力をどのように測定するかを定義し、すべての作業項目で一貫して追跡します。",
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "다시 로드 시도",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "첫 번째 작업 항목으로 시작하세요.",
|
||||
description:
|
||||
@@ -89,7 +89,7 @@ export default {
|
||||
title: "접수 작업 항목을 선택하여 세부 정보 보기",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "아직 보관된 작업 항목이 없습니다",
|
||||
description:
|
||||
@@ -150,7 +150,7 @@ export default {
|
||||
title: "접수를 설정하여 들어오는 요청을 관리하고 승인 및 거부 방법을 추적하세요",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "아직 추정치가 없습니다",
|
||||
description: "팀이 노력을 측정하는 방법을 정의하고 모든 작업 항목에서 일관되게 추적하세요.",
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "Spróbuj przeładować",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Zacznij od swojego pierwszego elementu roboczego.",
|
||||
description:
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
title: "Wybierz element roboczy Intake, aby wyświetlić jego szczegóły",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Jeszcze brak zarchiwizowanych elementów roboczych",
|
||||
description:
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
"Skonfiguruj przyjmowanie, aby zarządzać przychodzącymi zgłoszeniami i śledzić, jak są akceptowane i odrzucane",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Jeszcze brak szacunków",
|
||||
description:
|
||||
|
||||
@@ -25,7 +25,7 @@ export default {
|
||||
cta_primary: "Tentar recarregar",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Comece com seu primeiro item de trabalho.",
|
||||
description:
|
||||
@@ -94,7 +94,7 @@ export default {
|
||||
title: "Selecione um item de trabalho de Entrada para ver seus detalhes",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Ainda não há itens de trabalho arquivados",
|
||||
description:
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
title: "Configure a entrada para gerenciar solicitações recebidas e rastrear como elas são aceitas e rejeitadas",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Ainda não há estimativas",
|
||||
description:
|
||||
|
||||
@@ -24,7 +24,7 @@ export default {
|
||||
cta_primary: "Încercați reîncărcarea",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Începeți cu primul dvs. element de lucru.",
|
||||
description:
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
title: "Selectați un element de lucru de Admitere pentru a vedea detaliile",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Încă nu există elemente de lucru arhivate",
|
||||
description:
|
||||
@@ -157,7 +157,7 @@ export default {
|
||||
title: "Configurați admiterea pentru a gestiona solicitările primite și a urmări cum sunt acceptate și respinse",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Încă nu există estimări",
|
||||
description:
|
||||
|
||||
@@ -24,7 +24,7 @@ export default {
|
||||
cta_primary: "Попробовать перезагрузить",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Начните с вашего первого рабочего элемента.",
|
||||
description:
|
||||
@@ -94,7 +94,7 @@ export default {
|
||||
title: "Выберите рабочий элемент приема, чтобы просмотреть его детали",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Пока нет архивированных рабочих элементов",
|
||||
description:
|
||||
@@ -160,7 +160,7 @@ export default {
|
||||
title: "Настройте прием для управления входящими запросами и отслеживания их принятия и отклонения",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Пока нет оценок",
|
||||
description:
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "Skúste znovu načítať",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Začnite s vašou prvou pracovnou položkou.",
|
||||
description:
|
||||
@@ -92,7 +92,7 @@ export default {
|
||||
title: "Vyberte príchodzí pracovnú položku na zobrazenie jej podrobností",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Zatiaľ žiadne archivované pracovné položky",
|
||||
description:
|
||||
@@ -157,7 +157,7 @@ export default {
|
||||
title: "Nastavte príjem na správu prichádzajúcich požiadaviek a sledovanie, ako sú prijímané a odmietané",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Zatiaľ žiadne odhady",
|
||||
description:
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "Yeniden yüklemeyi dene",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "İlk iş öğenizle başlayın.",
|
||||
description:
|
||||
@@ -91,7 +91,7 @@ export default {
|
||||
title: "Ayrıntılarını görmek için bir Giriş iş öğesi seçin",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Henüz arşivlenmiş iş öğesi yok",
|
||||
description:
|
||||
@@ -157,7 +157,7 @@ export default {
|
||||
"Gelen istekleri yönetmek ve bunların nasıl kabul edildiğini ve reddedildiğini izlemek için giriş ayarlayın",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Henüz tahmin yok",
|
||||
description: "Ekibinizin çabayı nasıl ölçtüğünü tanımlayın ve tüm iş öğelerinde tutarlı bir şekilde takip edin.",
|
||||
|
||||
@@ -24,7 +24,7 @@ export default {
|
||||
cta_primary: "Спробуйте перезавантажити",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Почніть з вашого першого робочого елемента.",
|
||||
description:
|
||||
@@ -93,7 +93,7 @@ export default {
|
||||
title: "Виберіть робочий елемент Intake, щоб переглянути його деталі",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Ще немає архівованих робочих елементів",
|
||||
description:
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
"Налаштуйте вхід для управління вхідними запитами та відстеження того, як вони приймаються та відхиляються",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Ще немає оцінок",
|
||||
description:
|
||||
|
||||
@@ -24,7 +24,7 @@ export default {
|
||||
cta_primary: "Thử tải lại",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "Bắt đầu với mục công việc đầu tiên của bạn.",
|
||||
description:
|
||||
@@ -92,7 +92,7 @@ export default {
|
||||
title: "Chọn một mục công việc Tiếp nhận để xem chi tiết của nó",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "Chưa có mục công việc được lưu trữ",
|
||||
description:
|
||||
@@ -157,7 +157,7 @@ export default {
|
||||
title: "Thiết lập tiếp nhận để quản lý các yêu cầu đến và theo dõi cách chúng được chấp nhận và từ chối",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "Chưa có ước tính",
|
||||
description:
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "尝试重新加载",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "从您的第一个工作项开始。",
|
||||
description: "工作项是项目的构建块 — 分配负责人、设置优先级并轻松跟踪进度。",
|
||||
@@ -87,7 +87,7 @@ export default {
|
||||
title: "选择一个接收工作项以查看其详细信息",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "暂无已归档工作项",
|
||||
description: "通过手动或自动化,您可以归档已完成或已取消的工作项。归档后在此处查找它们。",
|
||||
@@ -146,7 +146,7 @@ export default {
|
||||
title: "设置接收以管理传入请求并跟踪它们的接受和拒绝情况",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "暂无估算",
|
||||
description: "定义团队如何衡量工作量,并在所有工作项中一致地跟踪它。",
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
cta_primary: "嘗試重新載入",
|
||||
},
|
||||
},
|
||||
project: {
|
||||
project_empty_state: {
|
||||
work_items: {
|
||||
title: "從您的第一個工作項開始。",
|
||||
description: "工作項是專案的建構模組 — 指派負責人、設定優先順序並輕鬆追蹤進度。",
|
||||
@@ -87,7 +87,7 @@ export default {
|
||||
title: "選擇一個接收工作項以查看其詳細資訊",
|
||||
},
|
||||
},
|
||||
workspace: {
|
||||
workspace_empty_state: {
|
||||
archive_work_items: {
|
||||
title: "暫無已封存工作項",
|
||||
description: "透過手動或自動化,您可以封存已完成或已取消的工作項。封存後在此處尋找它們。",
|
||||
@@ -146,7 +146,7 @@ export default {
|
||||
title: "設定接收以管理傳入請求並追蹤它們的接受和拒絕情況",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
settings_empty_state: {
|
||||
estimates: {
|
||||
title: "暫無估算",
|
||||
description: "定義團隊如何衡量工作量,並在所有工作項中一致地追蹤它。",
|
||||
|
||||
Reference in New Issue
Block a user