¿Es posible usar algo como gettext para traducir un script R.? ¿Si es así, cómo? Si no, ¿qué otras opciones tengo?Traducción del script R con gettext
Respuesta
Puede usar las funciones base :: gettext/ngettext, base :: bindtextdomain y tools :: xgettext2pot.
Por ejemplo:
myFunction <- function()
{
bindtextdomain("R-myProgram","/my/translation/dir")
gettext("Hello",domain="R-myProgram")
}
Entonces, suponiendo que esta función está dentro de un archivo cuya ruta es el uso "/my/dir/R/myfile.R": tools::xgettext2pot("/my/dir", "/my/translation/dir/pot/R-myProgram.pot")
a continuación, utilizar msginit, msgfmt, etc., para crear una archivo .mo /my/translation/dir/fr/LC_MESSAGES/R-myProgram.mo
. myFunction() ahora debería imprimir "Bonjour" en lugar de "Hello" si su configuración regional es francesa.
Un par de otros puntos:
- Parece que xgettext2pot supone que su proyecto es un paquete de R estándar y sólo busca * .R archivos dentro de la R/subdirectorio.
- El argumento
domain
parece que por defecto el espacio de nombres de la función de llamar gettext() - stop(), el mensaje(), advirtiendo() y packupStartupMessage() también son detectados por xgettext2pot. También hay una función gettextf() disponible como una variante similar a sprintf de gettext().
- Dado que la utilidad xgettext estándar no parece ser compatible con la sintaxis R, y dado que uno tiene que usar tools :: xgettext2pot, algunas cosas se perderán del enfoque estándar, como contextos de mensaje (pgettext()), indicadores indicando cadenas tipo printf y la posibilidad de escribir comentarios en código para los traductores (extraídos por xgettext -c) sin modificar el archivo .pot a mano.
Si configuro mi locale con 'sys.getlocale (" LC_All "," fr ")' al francés I simplemente no recupere el 'msstr' traducido. Todavía todo hola. ¿Porqué es eso? –
- 1. PHP Gettext - Sin traducción
- 2. Traducción en JavaScript como gettext en PHP?
- 3. gettext traducción no funciona en el sistema de producción
- 4. traducción (recodificación) error en r
- 5. Android getText del campo EditText
- 6. Internacionalización de aplicaciones web Php con Gettext();
- 7. Los reemplazos de gettext
- 8. Alternativas a gettext?
- 9. ¿Qué es bindtextdomain, textdomain en gettext?
- 10. analizando archivos gettext .po con python
- 11. Traducción modelo Django: almacenar traducciones en una base de datos o usar gettext?
- 12. Refactorización del código R con ESS/R
- 13. Uso settings.LANGUAGES con nombres correctamente traducidos utilizando gettext()
- 14. Script Schedule R usando cron
- 15. Servicio de traducción de Google para GNU gettext PO archivos que admiten plurales de estilo ngettext
- 16. ¿Cómo obtener la ruta del script en R?
- 17. Run R script desde Powershell
- 18. Ejecutando el script R programáticamente
- 19. streams, stream_bufs, codecvt facets y \ n to \ r \ n traducción
- 20. Recaptcha traducción
- 21. Django i18n: ¿hay una alternativa gettext?
- 22. poedit solución para gettext dinámico
- 23. carácter \ r en shell script
- 24. Agregando soporte para i18n en PHP con gettext?
- 25. Misma secuencia con traducción diferente
- 26. Ejecutar un script bash desde un script R
- 27. problema de internacionalización y traducción de django
- 28. Manejando el género gramatical con Gettext
- 29. traducción de dirección virtual del kernel
- 30. ejecutando un script R desde python
¿Qué quiere decir con "translate"? – Subs
Quiero decir que tengo cadenas escritas en inglés. Necesito marcarlos de alguna manera, extraer a un archivo separado, traducirlos al ruso. Y al ejecutar el script con un parámetro, mostraría los mensajes en inglés, y con otros, los rusos. Justo cuando gettext funciona :) – Shark
Eche un vistazo a '? Gettext' – Andrie