Search code examples
javascriptnode.jsinternationalizationgettextpo

.po files and gettext VS JSON and custom i18n library?


I need to develop or find some sort of lightweight gettext-like library in JavaScript for browser-side translations. Preferably the same library could be used by node.js if I'd like to translate server-side instead.

1) But, what are really the pros and cons of using .po files and a JavaScript gettext library?
(As opposed to JSON and jQuery Globalize or similar?)

2) And is there any workflow/service that'll allow crowdsourcing of translations that can be exported to a format (.po/json) that can be used by a JavaScript i18n library (gettext implementation, Globalize.js etc.)?


Solution

  • 1) But, what are really the pros and cons of using .po files and a JavaScript gettext library? gettext format is rather common: - so if your serverside is using gettext format already you might share it with client - translators might feel more comfortable with gettext format (or yaml) than with json format - there is a lot of tooling around for it

    I personally don't like the translation functions build around gettext - feels clumpsy to me, where lightweight javascript libraries (like http://i18next.com) feel better.

    Libs you could use:

    • jed comes with pure gettext implementation
    • i18next supports gettext files but uses a json approach for translation functions

    2) And is there any workflow/service that'll allow crowdsourcing of translations that can be exported to a format (.po/json) that can be used by a JavaScript i18n library (gettext implementation, Globalize.js etc.)?