feat(i18n): Simplified Chinese (zh-CN), search answers per locale, fr/de/es data fixes
CI / Lint e auditorias (push) Successful in 1m10s
CI / Trivy (dependências e segredos) (push) Successful in 12s
CI / Imagem Docker (linux/arm64) (push) Successful in 2m39s
Release / Plano (reaproveitar a imagem?) (push) Successful in 6s
Release / ci (push) Skipped
Release / Publica a imagem (linux/arm64) (push) Successful in 18s
Release / Cria a release no Gitea (push) Successful in 5s

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Sonnet 5.5 committed 2026-11-01 23:28:39 -03:00
1 parent ae61416468
commit 5a9fe676fc
61 files changed
+2517 -920

No files matched your search

+146
View File
@@ -0,0 +1,146 @@
/**
* Textos e rotas das respostas diretas da busca, por idioma.
*
* Módulo puro (sem alias de import): o servidor monta o índice com ele e o
* motor (`searchEngine.js`) só preenche os {placeholders}. Idioma sem entrada
* cai no português.
*/
const base = (loc, series, comparacao) => ({ series: `/${loc}/${series}`, comparacao: `/${loc}/${comparacao}` });
export const BUSCA_I18N = {
pt: {
rotas: base("pt", "series", "comparacao"),
t: {
specTitulo: "{topico} no {serie}",
specDesc: "Dados da série",
pinosTitulo: "Pinos do {serie} {rotulo}",
pinosMistos: "{forte} ocupados + {fraco} que dependem do modo de uso (ex.: SPI de 8 linhas) · abre o diagrama filtrado",
pinoUm: "{n} pino · abre o diagrama já filtrado",
pinosVarios: "{n} pinos · abre o diagrama já filtrado",
pinosFraco: "{n} pinos que só são afetados em certos modos de uso · abre o diagrama filtrado",
condicionais: "+{n} condicionais",
motivoTopico: "{topico}: pinos {rotulo}",
diagTitulo: "Diagrama de pinos do {serie}",
diagDesc: "{n} pinos com funções, restrições e avisos",
especTitulo: "Especificações do {serie}",
especDesc: "Processador, memória, conectividade, periféricos e mais",
emCada: "{topico} em cada série",
compDesc: "Comparativo rápido · adicione o chip na busca para detalhar",
pinoNo: "{pino} no {serie}",
motivoPino: "Pino {pino}",
},
},
en: {
rotas: base("en", "series", "compare"),
t: {
specTitulo: "{topico} on the {serie}",
specDesc: "Series data",
pinosTitulo: "{serie}: {rotulo}",
pinosMistos: "{forte} occupied + {fraco} that depend on the usage mode (e.g. 8-line SPI) · opens the filtered diagram",
pinoUm: "{n} pin · opens the already filtered diagram",
pinosVarios: "{n} pins · opens the already filtered diagram",
pinosFraco: "{n} pins only affected in certain usage modes · opens the filtered diagram",
condicionais: "+{n} conditional",
motivoTopico: "{topico}: {rotulo}",
diagTitulo: "{serie} pinout diagram",
diagDesc: "{n} pins with functions, restrictions and warnings",
especTitulo: "{serie} specifications",
especDesc: "Processor, memory, connectivity, peripherals and more",
emCada: "{topico} across all series",
compDesc: "Quick comparison · add the chip to your search for details",
pinoNo: "{pino} on the {serie}",
motivoPino: "Pin {pino}",
},
},
es: {
rotas: base("es", "series", "comparacion"),
t: {
specTitulo: "{topico} en el {serie}",
specDesc: "Datos de la serie",
pinosTitulo: "Pines del {serie} {rotulo}",
pinosMistos: "{forte} ocupados + {fraco} que dependen del modo de uso (p. ej., SPI de 8 líneas) · abre el diagrama filtrado",
pinoUm: "{n} pin · abre el diagrama ya filtrado",
pinosVarios: "{n} pines · abre el diagrama ya filtrado",
pinosFraco: "{n} pines que solo se ven afectados en ciertos modos de uso · abre el diagrama filtrado",
condicionais: "+{n} condicionales",
motivoTopico: "{topico}: pines {rotulo}",
diagTitulo: "Diagrama de pines del {serie}",
diagDesc: "{n} pines con funciones, restricciones y avisos",
especTitulo: "Especificaciones del {serie}",
especDesc: "Procesador, memoria, conectividad, periféricos y más",
emCada: "{topico} en cada serie",
compDesc: "Comparativa rápida · añade el chip a la búsqueda para ver el detalle",
pinoNo: "{pino} en el {serie}",
motivoPino: "Pin {pino}",
},
},
fr: {
rotas: base("fr", "series", "comparaison"),
t: {
specTitulo: "{topico} sur le {serie}",
specDesc: "Données de la série",
pinosTitulo: "Broches du {serie} {rotulo}",
pinosMistos: "{forte} occupées + {fraco} qui dépendent du mode d'utilisation (ex. : SPI 8 lignes) · ouvre le schéma filtré",
pinoUm: "{n} broche · ouvre le schéma déjà filtré",
pinosVarios: "{n} broches · ouvre le schéma déjà filtré",
pinosFraco: "{n} broches concernées seulement dans certains modes d'utilisation · ouvre le schéma filtré",
condicionais: "+{n} conditionnelles",
motivoTopico: "{topico} : broches {rotulo}",
diagTitulo: "Schéma des broches du {serie}",
diagDesc: "{n} broches avec fonctions, restrictions et avertissements",
especTitulo: "Caractéristiques du {serie}",
especDesc: "Processeur, mémoire, connectivité, périphériques et plus",
emCada: "{topico} dans chaque série",
compDesc: "Comparatif rapide · ajoutez la puce à la recherche pour détailler",
pinoNo: "{pino} sur le {serie}",
motivoPino: "Broche {pino}",
},
},
de: {
rotas: base("de", "serien", "vergleich"),
t: {
specTitulo: "{topico} beim {serie}",
specDesc: "Seriendaten",
pinosTitulo: "{serie}: {rotulo}",
pinosMistos: "{forte} belegt + {fraco} abhängig vom Nutzungsmodus (z. B. 8-Bit-SPI) · öffnet das gefilterte Diagramm",
pinoUm: "{n} Pin · öffnet das bereits gefilterte Diagramm",
pinosVarios: "{n} Pins · öffnet das bereits gefilterte Diagramm",
pinosFraco: "{n} Pins, die nur in bestimmten Nutzungsmodi betroffen sind · öffnet das gefilterte Diagramm",
condicionais: "+{n} bedingte",
motivoTopico: "{topico}: {rotulo}",
diagTitulo: "Pin-Diagramm des {serie}",
diagDesc: "{n} Pins mit Funktionen, Einschränkungen und Hinweisen",
especTitulo: "Spezifikationen des {serie}",
especDesc: "Prozessor, Speicher, Konnektivität, Peripherie und mehr",
emCada: "{topico} in jeder Serie",
compDesc: "Schnellvergleich · fügen Sie den Chip zur Suche hinzu, um Details zu sehen",
pinoNo: "{pino} beim {serie}",
motivoPino: "Pin {pino}",
},
},
"zh-CN": {
rotas: base("zh-CN", "series", "compare"),
t: {
specTitulo: "{serie}:{topico}",
specDesc: "系列数据",
pinosTitulo: "{serie} 的引脚:{rotulo}",
pinosMistos: "{forte} 个被占用 + {fraco} 个取决于使用模式(例如八线 SPI)· 打开已筛选的引脚图",
pinoUm: "{n} 个引脚 · 打开已筛选的引脚图",
pinosVarios: "{n} 个引脚 · 打开已筛选的引脚图",
pinosFraco: "{n} 个引脚仅在某些使用模式下受影响 · 打开已筛选的引脚图",
condicionais: "另有 {n} 个有条件",
motivoTopico: "{topico}:{rotulo}",
diagTitulo: "{serie} 引脚图",
diagDesc: "{n} 个引脚,含功能、限制与警告",
especTitulo: "{serie} 规格",
especDesc: "处理器、内存、无线连接、外设等",
emCada: "{topico}:各系列对比",
compDesc: "快速对比 · 在搜索中加上芯片可查看详情",
pinoNo: "{serie} 的 {pino}",
motivoPino: "引脚 {pino}",
},
},
};
export const buscaI18n = (locale) => BUSCA_I18N[locale] ?? BUSCA_I18N.pt;