5

Come lavorare con i18n nel bootstrap di Sails.js?Sails.js: Come lavorare con i18n nel bootstrap

Ecco "res.i18n" nelle azioni del controller, ma non trovo alcuna istanza globale (già inizializzata) come sails.i18n.

Credo codice qui sotto dovrebbe funzionare in bootstrap.js:

i18n = require('i18n'), 
i18n.configure({ 
    locales: sails.config.i18n.locales, 
    directory: sails.config.appPath + sails.config.i18n.localesDirectory, 
    defaultLocale: sails.config.i18n.defaultLocale, 
    updateFiles: false, 
    extension: '.json' 
}); 
__('Hello'); 

ma può essere c'è un modo migliore?

risposta

5

In vele, i18n è già stato impostato per voi. È possibile configurare i18n in config/i18n.js e creare impostazioni locali nella directory config/locales/.

Per quanto riguarda l'utilizzo, per le tue visualizzazioni è possibile utilizzare sia i18n() o __(). Nel controller utilizzando res.i18n(). More on that can be found here.

Per quanto riguarda il metodo globale, è possibile chiamare sails.__().

2

vele imposta maggior parte delle variabili per voi vedere il fonte: hooks/i18n
in questo momento si può solo config nella directory, ma c'è una pull request

è possibile accedere i18n con __('Hello') nella vista.

di testarlo cambiare la lingua del browser
i18n con vele utilizza l'intestazione Accept-Language