Skip to content

Commit

Permalink
i18n
Browse files Browse the repository at this point in the history
  • Loading branch information
r00gm committed Feb 20, 2025
1 parent 2d41c1d commit e1bc393
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,33 @@ const hasReachedLimit = computed(() => false);
{{ locale.baseText('testDefinition.list.actionButton') }}
</N8nButton>
<N8nText tag="div" color="text-light" size="small" class="mt-2xs">
Your plan allows one evaluation
{{ locale.baseText('testDefinition.list.actionDescription.registered') }}
</N8nText>
</template>
<template v-else-if="isNotRegisteredCommunity">
<div :class="$style.divider" class="mb-s"></div>
<N8nText tag="div" color="text-light" size="small" class="mb-s">
Unlock a free test when you register
{{ locale.baseText('testDefinition.list.actionDescription.unregistered') }}
</N8nText>
<N8nButton>Unlock evaluation</N8nButton>
<N8nButton>
{{ locale.baseText('testDefinition.list.actionButton.unregistered') }}
</N8nButton>
</template>
<template v-else-if="hasReachedLimit">
<div :class="$style.divider" class="mb-s"></div>
<N8nText tag="div" color="text-light" size="small" class="mb-s">
You’ve reached your evaluation limit, upgrade to add more
{{ locale.baseText('testDefinition.list.actionDescription.atLimit') }}
</N8nText>
<N8nButton>Upgrade</N8nButton>
<N8nButton>
{{ locale.baseText('generic.upgrade') }}
</N8nButton>
</template>
</div>
</div>
<div :class="{ [$style.card]: true, [$style.cardInActive]: true }">
<N8nBadge>Coming soon</N8nBadge>
<N8nBadge>
{{ locale.baseText('testDefinition.list.unitTests.badge') }}
</N8nBadge>
<div :class="$style.cardContent">
<N8nText tag="h2" size="xlarge" color="text-base" class="mb-2xs">
{{ locale.baseText('testDefinition.list.unitTests.title') }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<script setup lang="ts">
import type { TestRunRecord } from '@/api/testDefinition.ee';
import TimeAgo from '@/components/TimeAgo.vue';
import { useI18n } from '@/composables/useI18n';
import { N8nIcon, N8nText } from 'n8n-design-system';
import type { IconColor } from 'n8n-design-system/types/icon';
import { computed } from 'vue';
Expand All @@ -12,6 +13,8 @@ const props = defineProps<{
errors?: Array<{ field: string; message: string }>;
}>();
const locale = useI18n();
type IconDefinition = { icon: string; color: IconColor };
const statusesColorDictionary: Record<TestRunRecord['status'], IconDefinition> = {
Expand Down Expand Up @@ -74,7 +77,13 @@ const statusRender = computed<IconDefinition & { label: string }>(() => {
<div :class="$style.testCardContent">
<div>
<N8nText bold tag="div">{{ name }}</N8nText>
<N8nText tag="div" color="text-base" size="small"> {{ testCases }} test cases </N8nText>
<N8nText tag="div" color="text-base" size="small">
{{
locale.baseText('testDefinition.list.item.tests', {
adjustToNumber: testCases,
})
}}
</N8nText>
</div>
<div>
<div :class="$style.status">
Expand All @@ -87,7 +96,11 @@ const statusRender = computed<IconDefinition & { label: string }>(() => {
</div>

<N8nText v-if="errors?.length" tag="div" color="text-base" size="small" class="ml-m">
{{ errors.length }} fields missing
{{
locale.baseText('testDefinition.list.item.missingFields', {
adjustToNumber: errors.length,
})
}}
</N8nText>
<N8nText v-else-if="execution" tag="div" color="text-base" size="small" class="ml-m">
<TimeAgo :date="execution.updatedAt" />
Expand Down
8 changes: 8 additions & 0 deletions packages/editor-ui/src/plugins/i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -2860,12 +2860,18 @@
"testDefinition.list.testDeleted": "Test deleted",
"testDefinition.list.tests": "Tests",
"testDefinition.list.evaluations": "Evaluation",
"testDefinition.list.unitTests.badge": "Coming soon",
"testDefinition.list.unitTests.title": "Unit test",
"testDefinition.list.unitTests.description": "Validate workflow logic by checking for specific conditions",
"testDefinition.list.unitTests.cta": "Register interest",
"testDefinition.list.createNew": "Create new evaluation",
"testDefinition.list.runAll": "Run all evaluations",
"testDefinition.list.actionDescription": "Measure changes in output by comparing results over time (for AI workflows)",
"testDefinition.list.actionButton": "Create an Evaluation",
"testDefinition.list.actionButton.unregistered": "Unlock evaluation",
"testDefinition.list.actionDescription.registered": "Your plan allows one evaluation",
"testDefinition.list.actionDescription.unregistered": "Unlock a free test when you register",
"testDefinition.list.actionDescription.atLimit": "You've reached your evaluation limit, upgrade to add more",
"testDefinition.list.testRuns": "No test runs | {count} test run | {count} test runs",
"testDefinition.list.lastRun": "Ran",
"testDefinition.list.running": "Running",
Expand All @@ -2874,6 +2880,8 @@
"testDefinition.list.testStarted": "Test run started",
"testDefinition.list.testCancelled": "Test run cancelled",
"testDefinition.list.loadError": "Failed to load tests",
"testDefinition.list.item.tests": "No test cases | {count} test case | {count} test cases",
"testDefinition.list.item.missingFields": "No fields missing | {count} field missing| {count} fields missing",
"testDefinition.listRuns.status.new": "New",
"testDefinition.listRuns.status.running": "Running",
"testDefinition.listRuns.status.evaluating": "Evaluating",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,11 @@ async function onDeleteTest(testId: string) {
class="mr-xs"
@click="onCreateTest"
/>
<N8nButton label="Run all evaluations" disabled type="secondary" />
<N8nButton
:label="locale.baseText('testDefinition.list.runAll')"
disabled
type="secondary"
/>
</div>
</div>
<div :class="$style.testList" data-test-id="test-definition-list">
Expand Down

0 comments on commit e1bc393

Please sign in to comment.