Implement Phase 2 of i18n spec: - Extract UI interface strings to messages/pt.json across 15 namespaces - Extract canonical data files to data/pt/ (series, frameworks, conexoes) - Create lib/data/pt/ modules (glossario, diagnostico, componentes, topicos) - Implement lib/data/index.js async data loaders by locale - Add automated check:i18n script to validate key parity and enforce no-book rules Co-Authored-By: Antigravity <noreply@google.com>
65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
/**
|
|
* Carregadores de dados organizados por locale (seção 6.2 da spec).
|
|
* Suporta pt, en, es, fr, de, zh-CN com fallback para pt.
|
|
*/
|
|
|
|
export async function getSeries(locale = "pt") {
|
|
try {
|
|
return (await import(`@/data/${locale}/series.json`)).default;
|
|
} catch {
|
|
return (await import("@/data/pt/series.json")).default;
|
|
}
|
|
}
|
|
|
|
export async function getFrameworks(locale = "pt") {
|
|
try {
|
|
return (await import(`@/data/${locale}/frameworks.json`)).default;
|
|
} catch {
|
|
return (await import("@/data/pt/frameworks.json")).default;
|
|
}
|
|
}
|
|
|
|
export async function getConexoes(key, locale = "pt") {
|
|
try {
|
|
return (await import(`@/data/${locale}/conexoes/${key}.json`)).default;
|
|
} catch {
|
|
try {
|
|
return (await import(`@/data/pt/conexoes/${key}.json`)).default;
|
|
} catch {
|
|
return [];
|
|
}
|
|
}
|
|
}
|
|
|
|
export async function getGlossario(locale = "pt") {
|
|
try {
|
|
return await import(`@/lib/data/${locale}/glossario.js`);
|
|
} catch {
|
|
return await import("@/lib/data/pt/glossario.js");
|
|
}
|
|
}
|
|
|
|
export async function getDiagnostico(locale = "pt") {
|
|
try {
|
|
return await import(`@/lib/data/${locale}/diagnostico.js`);
|
|
} catch {
|
|
return await import("@/lib/data/pt/diagnostico.js");
|
|
}
|
|
}
|
|
|
|
export async function getComponentes(locale = "pt") {
|
|
try {
|
|
return await import(`@/lib/data/${locale}/componentes.js`);
|
|
} catch {
|
|
return await import("@/lib/data/pt/componentes.js");
|
|
}
|
|
}
|
|
|
|
export async function getTopicos(locale = "pt") {
|
|
try {
|
|
return await import(`@/lib/data/${locale}/topicos.js`);
|
|
} catch {
|
|
return await import("@/lib/data/pt/topicos.js");
|
|
}
|
|
}
|