Saltar al contenido

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/ (.ts y .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, con trFor(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

Siguiente: permisos y gate →

Contrato con el host: apiVersion 2. Sitio estático: no recoge datos ni usa servicios de terceros.