Encontré esta genial biblioteca gettext js ->http://code.google.com/p/gettext-js/ pero no entiendo cómo implementarla. Estoy usando Poedit para editar las traducciones y puedo ver que funciona cuando pago el proyecto y ejecuto el archivo de demostración, pero cuando hago cambios en el texto, los archivos .po no se actualizan y no puedo ver el nuevo texto. ¿Alguien tiene alguna idea? ¡Gracias!traduzco archivos .js usando gettext
Respuesta
"también tuve que forzar pitón en el comando gettext":
- Archivo | Preferencias | Parsers
- Editar Python
- Editar "Lista de extensiones ..":
*.py;*.js
- Editar "Analizador elogio:"
xgettext --language=Python --force-po -o %o %C %K %F
Hecho.
Gracias por leading me no Kentor :)
Debe invocar xgettext
para extraer las cadenas en un archivo .pot y luego ejecutar msgmerge
para actualizar los archivos .po. El gettext
manual tiene todos los detalles sangrientos.
creo xgettext --language = Perl --force-po -o% o% C% K% F (usando Perl en lugar de pitón) será de unos mejores opciones , ya que python causa un problema con el comentario de javascript que contiene una comilla simple (error de cadena sin terminación).
He intentado su solución y las advertencias no se mostraron. Pero algunas traducciones no se encontraron en archivos js (para la versión de Python se encontraron) ... Así que prefiero la versión de Python, incluso con advertencias ... :( – Andron
Intenté inicialmente con ambas configuraciones, Python & Perl pero con algunas plantillas de subrayado complejas, comillas anidadas y comillas dobles, caracteres escapados, etc. Ambos analizadores informaron cargas de cadenas falsas obsoletas, por lo que no puedo actualizar los archivos .pot o .po apropiadamente desde el código fuente.
que también probó sin éxito http://code.google.com/p/gettext-js/
Después de una gran cantidad de errores de prueba & descubrí que puedo usar el encadenamiento de análisis y funcionó bien en poedit 1.5.7. Estos son los parámetros de configuración que deben habilitarse al mismo tiempo para la mejor coincidencia
Extraído de la biblioteca/Preferencias/net.poedit.Poedit.cfg de la versión de Mac, simplemente puede copiar y pegar en su cuadro de diálogo
[Parsers/js]
Extensions=*.js;*.html
Command=xgettext --language=Python --force-po -o %o %C %K %F
KeywordItem=-k%k
FileItem=%f
CharsetItem=--from-code=%c
[Parsers/PHP]
Extensions=*.php;*.js;*.html
Command=xgettext --language=PHP --force-po -o %o %C %K %F
KeywordItem=-k%k
FileItem=%f
CharsetItem=--from-code=%c
Tenga en cuenta que puede que no necesite incluir * .html en sus extensiones, lo hice para analizar mis plantillas de guiones bajos. Espero que ayude porque fue realmente frustrante para mí :)
- 1. Combinar 2 archivos GetText
- 2. anula los archivos gettext .mo
- 3. ¿Cómo traduzco parabólicamente?
- 4. analizando archivos gettext .po con python
- 5. Edición en línea de archivos gettext?
- 6. Concatenar archivos JS usando ANT (manteniendo un orden específico)
- 7. Minificar/combinar archivos JS
- 8. .jsm vs .js archivos
- 9. PHP Gettext - Sin traducción
- 10. Incluyendo archivos JS (JQuery) en JSPX archivos
- 11. Archivos Gettext .po bajo el control de versión
- 12. gettext: extrae cadenas de dgettext() a archivos domain.po
- 13. ¿Qué tiene de bueno gettext para los archivos de idioma?
- 14. ¿Hay una biblioteca Java para analizar los archivos PO gettext?
- 15. Los reemplazos de gettext
- 16. variables en PHP gettext
- 17. PHP usando Gettext dentro de <<< string EOF
- 18. Usando PHP Gettext Extension vs PHP Arrays in Multilingual Websites?
- 19. jquery: cómo incluir otros archivos .js en .js
- 20. Buena codificación: archivos js modulares o un archivo js grande?
- 21. cómo cargar archivos JS externos en moodle?
- 22. CMake module for gettext support?
- 23. Usando rutas en Express-js
- 24. alternativa gettext lib en C?
- 25. drupal: tantos archivos js y css?
- 26. Recuperando archivos del Nodo de directorio Js
- 27. Desplegando versiones minificadas JS/CSS usando Netbeans
- 28. Regex usando js para quitar js de html
- 29. CSS y JS archivos de caché
- 30. Alternativas a gettext?
Pude descubrir el problema que estaba teniendo. El caso es que al hacer cambios en el idioma tuve que volver a analizar todos los archivos con Poedit. Así que primero tuve que agregar las rutas correctas para ese proyecto y luego tuve que usar el analizador de Python para los archivos * .js. También tuve que forzar Python en el comando gettext, de lo contrario Poedit se quejará de que los archivos .js no se entienden y tratará de usar C/C++ para analizarlos. – Kentor