2015-04-07 8 views
5

Ho bisogno di usare i18n() nel mio codice all'interno di assets/js del mio progetto sailsjs. Come posso farlo?Sails.js: come usare la funzione i18n in assets/js/files.js

Nel mio punto di vista è ok ma nel mio js no, perché?

grazie mille.

devo [email protected]

+0

In js, è possibile utilizzare '__()' per tradurre le cose –

+0

@TravisWebb, non eseguire. Nelle mie opinioni si, ma nel mio /assets/js/files.js non. –

+0

@Lamujeresponja hai trovato una soluzione? – galgo

risposta

0

Sono d'accordo con Wesley, ma se non volete tutte le traduzioni lato client. Vorrei suggerire a scrivere una chiamata AJAX e fare uso delle seguenti:

sails.__({ 
    phrase: 'Good day', 
    locale: 'de' 
}); 

Questo deve poi essere restituito come la versione tedesca di 'Buon giorno'. Oppure puoi semplicemente inviare la frase chiave e restituire tutte le tue traduzioni in lingua.

+0

si utilizza un controller angolare in assets/js/ExampleCtrl.js non è possibile chiamare __() o vele .__() poiché risiede sul lato server (nodejs). La domanda è come usarlo sul lato client – galgo

+0

@Wigiri Questo è il motivo per cui sono d'accordo con Wesley, anche per questo suggerisco ha fatto una chiamata Ajax. – 4Dev

1

Quello che faccio, è scaricare le traduzioni dal server e usarli lato client. Non ho mai hardcode le traduzioni nelle mie risorse e non lo farei se fossi in te.

Aggiungi un percorso per scaricare le tue traduzioni (json statico) e analizzare il lato client JSON. There are plenty of libraries that can help you from there.

Ricorda che è sempre possibile includere le traduzioni in una build per qualcosa come require.js.

Problemi correlati