Apariencia
5. Idiomas
El español es la clave. t("Nueva nota") es el texto en español y también la clave del diccionario; el español no lleva fichero. Cada plugin trae un diccionario plano por idioma, admin/i18n/{en,ca,fr}.json, con { "texto en español": "traducción" }. El runtime carga solo el idioma activo del usuario.
- Parámetros con llaves:
t("¿Borrar «{name}»?", { name }). En la traducción se conserva{name}. - Si falta una traducción se ve el español: nada se rompe, pero no dejes claves sin traducir; el test de la plantilla las busca en todo
admin/(.tsy.vue) y falla si falta alguna. - Un texto que ya existe en el panel con la misma clave no se pisa desde un plugin: gana el del panel.
- Los textos de la API van con
trKey("texto en español")y, en notificaciones, contrFor(locale, texto, params).
Escribe los tres diccionarios, uno por idioma:
json
{
"Notas": "Notes",
"Tablón de notas del local con notas fijadas y aviso diario.": "Venue notice board with pinned notes and a daily reminder.",
"Nota": "Note",
"Estado": "Status",
"Creada": "Created",
"Fijada": "Pinned",
"Fijadas": "Pinned",
"Normal": "Normal",
"Nueva nota": "New note",
"Texto de la nota": "Note text",
"Añadir": "Add",
"Tablón": "Board",
"Fijar": "Pin",
"Soltar": "Unpin",
"Nota creada": "Note created",
"¿Borrar «{name}»?": "Delete \"{name}\"?",
"Borrar": "Delete",
"Todavía no hay notas": "There are no notes yet",
"Crea la primera para el equipo.": "Create the first one for the team."
}json
{
"Notas": "Notes",
"Tablón de notas del local con notas fijadas y aviso diario.": "Tauler de notes del local amb notes fixades i avís diari.",
"Nota": "Nota",
"Estado": "Estat",
"Creada": "Creada",
"Fijada": "Fixada",
"Fijadas": "Fixades",
"Normal": "Normal",
"Nueva nota": "Nova nota",
"Texto de la nota": "Text de la nota",
"Añadir": "Afegir",
"Tablón": "Tauler",
"Fijar": "Fixar",
"Soltar": "Deixar anar",
"Nota creada": "Nota creada",
"¿Borrar «{name}»?": "Esborrar «{name}»?",
"Borrar": "Esborrar",
"Todavía no hay notas": "Encara no hi ha notes",
"Crea la primera para el equipo.": "Crea la primera per a l'equip."
}json
{
"Notas": "Notes",
"Tablón de notas del local con notas fijadas y aviso diario.": "Tableau de notes du local avec notes épinglées et rappel quotidien.",
"Nota": "Note",
"Estado": "Statut",
"Creada": "Créée",
"Fijada": "Épinglée",
"Fijadas": "Épinglées",
"Normal": "Normale",
"Nueva nota": "Nouvelle note",
"Texto de la nota": "Texte de la note",
"Añadir": "Ajouter",
"Tablón": "Tableau",
"Fijar": "Épingler",
"Soltar": "Détacher",
"Nota creada": "Note créée",
"¿Borrar «{name}»?": "Supprimer « {name} » ?",
"Borrar": "Supprimer",
"Todavía no hay notas": "Il n'y a pas encore de notes",
"Crea la primera para el equipo.": "Créez la première pour l'équipe."
}Ya pasan las pruebas, también las de traducciones:
bash
npm run typecheck
npm test