Necesito traducir mi aplicación Angular 4. Básicamente seguí la guía oficial .
Agregué atributos i18n a las etiquetas, etc.
El angular-cli creó un mensaje.xlf
Creé una carpeta "locale" en la carpeta src
Copié los mensajes.xlf a esta carpeta local...
... y lo renombré a "messages. de .xlf" para contener las traducciones al alemán
Cambié una traducción simple para probar las cosas. Sin embargo, después de cambiar mi navegador a "alemán", no hubo ninguna diferencia (usé npm start, así que básicamente 'ng serve'). Parece ser que todavía falta algo. Además, la guía explica cómo 'fusionar' la traducción . Pero este capítulo es increíblemente extraño y no suena muy convincente. Se lee como si se hubiera hecho para una versión anterior.
Por ejemplo, dice adaptar mi script de inicio. La cosa es que ni siquiera tengo un script de inicio. Mi index.html se ve así:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>PickUp2</title> <base href="/"> <link href="assets/iconfont/material-icons.css" rel="stylesheet"> <link href="roboto.css" rel="stylesheet"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="assets/material_supply_icon.ico"> </head> <body> <app-root>Loading...</app-root> </body> </html>¿Dónde necesito colocar este script de inicio? Ni siquiera sé si uso el compilador JIT o AOT. Nunca antes se mencionaron en ninguna guía.
He traducido nuestra aplicación Angular-4 con el método descrito en el Libro de cocina. Creo que la información clave que te falta es que necesitas "crear" la aplicación para cada idioma por separado.
Mi comando para ejecutar la aplicación localmente con una traducción se ve así:
>ng serve --i18n-file src/i18n/messages.fr.xlf --locale fr --i18n-format xlf --aotpara construirlo simplemente reemplace ng serve con ng build
Explicado:
entonces, en su caso, compilaría la aplicación en alemán y luego la implementaría, digamos, en una carpeta / de. otra versión de la aplicación podría estar en /en, etc.
luego puede redirigir a sus usuarios según el idioma que deseen tener a la aplicación dedicada.
espero que esto ayude