[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:
Anmol Singh Bhatia
2025-10-28 13:31:06 +05:30
committed by GitHub
parent cf7f891bcb
commit b7aa25f2c6
46 changed files with 131 additions and 127 deletions

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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>

View File

@@ -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">

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>
) : (

View File

@@ -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),
},
]}

View File

@@ -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"
/>

View File

@@ -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>
);

View File

@@ -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>
</>

View File

@@ -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",
},

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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);

View File

@@ -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);
},

View File

@@ -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({

View File

@@ -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>
) : (

View File

@@ -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",

View File

@@ -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")}
/>
);
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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={

View File

@@ -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",

View File

@@ -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"
/>

View File

@@ -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.",

View File

@@ -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:

View File

@@ -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.",

View File

@@ -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:

View File

@@ -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:

View File

@@ -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.",

View File

@@ -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:

View File

@@ -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: "チームが労力をどのように測定するかを定義し、すべての作業項目で一貫して追跡します。",

View File

@@ -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: "팀이 노력을 측정하는 방법을 정의하고 모든 작업 항목에서 일관되게 추적하세요.",

View File

@@ -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:

View File

@@ -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:

View File

@@ -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:

View File

@@ -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:

View File

@@ -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:

View File

@@ -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.",

View File

@@ -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:

View File

@@ -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:

View File

@@ -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: "定义团队如何衡量工作量,并在所有工作项中一致地跟踪它。",

View File

@@ -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: "定義團隊如何衡量工作量,並在所有工作項中一致地追蹤它。",