With the dictionary module you can translate your app into any language using the echo()
function and the dictionary
table inside your mysql database.
If you have diet
then it's already installed.
npm install diet-dictionary
- Make sure you have
mysql
installed - Make sure you have
diet
installed - Make sure you have correct
mysql configuration
when you initialize yourdiet
app - Create a
dictionary
table inside your mysql database
If you want to support more languages just create a new column
for it and restart the server.
English | Hungarian | Spanish |
---|---|---|
Hello | Szia | Hola |
How are you? | Hogy vagy? | ¿Cómo estás? |
var app = new Application(options);
app.get('/', function(request, response, mysql){
// DEFINE language
response.head.language = 'Hungarian';
// Translate string
response.head.title = response.head.echo('Hello World');
// End HTTP Response
response.end(response.head.title); // -> outputs "Üdv Világ!"
mysql.end();
});
<!DOCTYPE html/>
<html>
<head>
<title>{{-echo @title}}</title><!-- outputs: "Üdv Világ" -->
</head>
<body>
<h1>{{-echo @title}}</h1> <!-- outputs: "Üdv Világ" -->
<p>{{-echo 'How are you?'}}</p> <!-- outputs: "Hogy vagy?" -->
</body>
</html>
You will need to include the dictionary.js
files which is autogenerated for you in:
/your_app/resources/scripts/dictionary.js
This is how it looks like:
<!DOCTYPE html/>
<html>
<head>
<title>Piece of Cake</title>
<!-- Just Include the Auto Generated dictionary.js file -->
<script src="/scripts/dictionary.js"></script>
<!-- Then start using the echo function to translate things -->
<script>
var message = echo('Hello World');
alert(message); // alerts: "Üdv Világ"
</script>
</head>
<body>diet is awesome</body>
</html>
You can see what's the current language in window.language
set within dictionary.js
. You can change the language by changing response.head.language
in html and response.cookies.set('language', 'yourLanguage')
for client side javacsript.