feat: translate all pages, UI messages and docs and fix SEO redirects and indexing

This commit is contained in:
alam00000 committed 2026-10-25 12:55:21 +05:30
1 parent 5e019de5ae
commit 4edb1718cc
3344 files changed
+415643 -4759

No files matched your search

+6 -5
View File
@@ -10,6 +10,7 @@ import { DataflowEngine } from 'rete-engine';
import type { DataflowEngineScheme } from 'rete-engine';
import { LitElement, html } from 'lit';
import type { BaseWorkflowNode } from './nodes/base-node';
import { trText } from '../i18n/i18n';
import phosphorCSS from '@phosphor-icons/web/regular?inline';
// Shared stylesheet for Phosphor icons (font-face already loaded globally, strip it)
@@ -36,14 +37,14 @@ const categoryColors: Record<string, string> = {
function getStatusInfo(status: string, connected: boolean) {
if (status === 'running')
return { color: '#eab308', label: 'Running...', animate: true };
return { color: '#eab308', label: trText('Running...'), animate: true };
if (status === 'completed')
return { color: '#22c55e', label: 'Complete', animate: false };
return { color: '#22c55e', label: trText('Complete'), animate: false };
if (status === 'error')
return { color: '#ef4444', label: 'Failed', animate: false };
return { color: '#ef4444', label: trText('Failed'), animate: false };
return {
color: connected ? '#22c55e' : '#6b7280',
label: connected ? 'Connected' : 'Not connected',
label: connected ? trText('Connected') : trText('Not connected'),
animate: false,
};
}
@@ -133,7 +134,7 @@ class WorkflowNodeElement extends LitElement {
<span
data-wf="label"
style="font-size: 10px; color: #6b7280; font-weight: 500; flex: 1;"
>Not connected</span
>${trText('Not connected')}</span
>
<span
data-wf-delete="${node.id}"
+2 -1
View File
@@ -8,6 +8,7 @@ import { WorkflowError } from './types';
import type { ExecutionProgress } from './types';
import { updateNodeDisplay } from './editor';
import { wfError } from './errors';
import { trText } from '../i18n/i18n';
type AreaExtra = LitArea2D<ClassicScheme>;
@@ -140,7 +141,7 @@ export async function executeWorkflow(
nodeId: node.id,
nodeName: node.label,
status: 'running',
message: `Processing ${node.label}...`,
message: trText('Processing {{name}}...', { name: node.label }),
});
await tick();
+4 -5
View File
@@ -1,4 +1,4 @@
import { t } from '../i18n/i18n';
import { hasKey, t, trText } from '../i18n/i18n';
import type { NodeCategory } from './types';
import type { NodeRegistryEntry } from './nodes/registry';
@@ -23,8 +23,7 @@ function toCamelCase(str: string): string {
}
function translateOrFallback(key: string, fallback: string): string {
const value = t(key);
return value && value !== key ? value : fallback;
return hasKey(key) ? t(key) : trText(fallback);
}
export function translateCategory(category: NodeCategory): string {
@@ -46,7 +45,7 @@ export function translateNodeLabel(
entry.label
);
}
return entry.label;
return trText(entry.label);
}
export function translateNodeDescription(
@@ -63,5 +62,5 @@ export function translateNodeDescription(
entry.description
);
}
return entry.description;
return trText(entry.description);
}