angularjs

angularjs - angular element angular js



traductor angular archivo-cargador-estático PascalPrecht (2)

Estoy usando Angular-translate (módulo PascalPrecht).

Logré que funcionara de acuerdo con el ejemplo en: http://www.ng-newsletter.com/posts/angular-translate.html

Sin embargo, me gustaría tener todas mis traducciones en diferentes archivos json usando loader-static-files, pero esto no funciona para mí. No estoy seguro de que estoy haciendo aquí.

En mi módulo angular acabo de reemplazar el código de trabajo (ahora comentado) con la llamada loader-static:

angular.module(''myApp.i18n'', [''pascalprecht.translate'']) .config([''$translateProvider'', function ($translateProvider) { /*$translateProvider.translations(''en'', { HOME: ''Home'', COMPANIES: ''Companies'', WHAT_TO_DO: ''What to do'', ABOUT: ''About us'', CONTACT: ''Contact'' }) .translations(''es'', { HOME: ''Inicio'', COMPANIES: ''Empresas'', WHAT_TO_DO: ''Qué hacer'', ABOUT: ''Nosotros'', CONTACT: ''Contacto'' });*/ $translateProvider.preferredLanguage(''es''); $translateProvider.useStaticFilesLoader({ prefix: ''/languages/'', suffix: ''.json'' }); }]);

He añadido a mi carpeta de aplicaciones los archivos:

/app/languages/en_US.json /app/languages/es.json

Cuando cargo mi sitio web, veo el siguiente error en la consola:

http://localhost:1234/languages/es.json 404 (Not Found)

Si elimino la primera ''/'' en mi prefijo, así:

$translateProvider.useStaticFilesLoader({ prefix: ''languages/'', suffix: ''.json'' });

Entonces, me sale el siguiente error en la consola:

Token H inesperado

Lo siento, creo que no entiendo cómo debería funcionar esto.


Asegúrese de que su servidor envíe el .json como json y no como texto sin formato. Además, asegúrese de que los nombres de los archivos .json dependan de la clave de idioma correspondiente.

Como puede leer aquí: http://angular-translate.github.io/docs/#/guide/12_asynchronous-loading ("Using staticFilesLoader")

El código me parece bien, así que una vez que haya solucionado el problema de que su servidor no está enviando json como json, las cosas deberían funcionar.


Lo arreglé. Como dijo Pascal en los comentarios, el problema era que el archivo json tenía un formato incorrecto. Tienes que poner todos los valores entre comillas dobles.

El camino era correcto.