Traducciones
La mayoría de las plantillas tienen algunos textos aislados que no forman parte del contenido. Algunos ejemplos:
- La palabra "Buscar" en un botón al lado de un campo de entrada de texto
- "Suscríbete a nuestro boletín de noticias"
- "Identifícate", "Iniciar sesión" y similares.
Navigate CMS permite la colocación de este tipo de textos en un archivo (un diccionario JSON) para facilitar la tarea de traducir un tema. Por lo tanto, únicamente tendremos que enviar el fichero de diccionario a un traductor para completar el trabajo más rápido, ya que no tendrá que modificar ningún fichero HTML y así poder centrarse en lo que sabe hacer mejor.
Además, el diccionario también se usa para los títulos dados en la definición del tema. Si tenemos una definición de propiedad que se muestra en Navigate CMS al editar un contenido, podemos hacer que la aplicación ponga la traducción del título en lugar de un texto fijo. Por ejemplo, la propiedad "facebook_url" podría tener el título de "Your profile URL on Facebook" al utilizar Navigate CMS en inglés y tener "Dirección de tu Perfil en Facebook" si el usuario ha seleccionado idioma español.
En la definición del tema se declaran los diccionarios disponibles de esta manera:
"languages":
{
"código_idioma": "ruta al diccionario json desde la RAÍZ DEL TEMA",
"es": "i18n/es.json"
}
Los códigos de idioma se definen en la configuración del sitio web, y son completamente libres, por lo que se puede decidir utilizar "eng" en lugar de "en" para el idioma Inglés. De todos modos, te recomendamos que utilices el identificador de 2 letras para un idioma ( ISO 639-1 ) y así lograr la máxima compatibilidad ya que es el estándar más aceptado.
El tema puede soportar cualquier número de códigos de idiomas, incluso se puede asignar un fichero de diccionario para el código de lenguaje "en" y el mismo archivo de diccionario para el código de lenguaje"eng".
Diccionario JSON
Vamos a ver como se ve un diccionario JSON:
{
"código_de_texto": "Texto traducido",
"read_more": "Leer más",
"send": "Enviar",
"slideshow_pause": "Pausa entre diapositivas (segundos)",
"address": "Dirección",
"contact_form": "Formulario de contacto",
"submit": "Proceder"
}
Como podemos ver, la linea "slideshow_pause" se utiliza como título de una propiedad editable. En Navigate CMS el campo se mostraría como este ejemplo (la imagen está en inglés):
Usando el diccionario en tus plantillas
Solicitar una traducción de texto en tus plantillas es fácil usando una etiqueta nv. Tomemos el código HTML original:
<a href="#">Leer más</a>
sólo tenemos que sustituir "Leer más" por una etiqueta nv solicitando la traducción:
<a href="#"><nv object="dictionary" id="read_more" default="Leer más" /></a>
0 Comentarios