Multilanguage express app

后端 未结 3 1620
孤城傲影
孤城傲影 2021-01-31 04:15

I wonder what would be the best way to implement multiple versions / languages of the same content in the same layout in express.

Should I just do this?

         


        
相关标签:
3条回答
  • 2021-01-31 04:59

    i thought that we can define json objects in lang folder like , en.js , fr.js and this json files contains key value pairs than render to template according to user's language setting , lang settings can be into database.

    And we can save this fr.js or anything else into res.locals for calling every template .

    Is this suitable?

    0 讨论(0)
  • 2021-01-31 05:08

    The i18n-node is the simplest and greatest module that you should use. You can use directly in Javascript code or with Jade/Handlebar templates with express js.

    Why should you use i18n?

    • Auto detection of locale from the browser by header, cookie or query parameter depending on your setup.
    • It comes with examples as well.
    • It automatically generates a en.json by default inside ./locales/. This acts as a master file for you to start building new translations.
    • Supports Singular and plural forms
    • Support for parameters: __('Hello %s', 'Marcus') returns Hallo Marcus
    0 讨论(0)
  • 2021-01-31 05:17

    I would suggest to keep only one template, as if you use one template per language it will get out of hand very quickly, let alone duplicate much content (and the small amount of "logic" you would put in a template too). Many applications use a tool called gettext to do the internationalization thing. There is a node.js library for it at https://github.com/DanielBaulig/node-gettext

    Alternatively there is also i18n-node. It appears to have a bit more integration with express js.

    0 讨论(0)
提交回复
热议问题