Built motion from commit 10af8726.|2.6.34
[motion2.git] / apidoc / locales / locale.js
1 define([
2     './locales/ca.js',
3     './locales/cs.js',
4     './locales/de.js',
5     './locales/es.js',
6     './locales/fr.js',
7     './locales/it.js',
8     './locales/nl.js',
9     './locales/pl.js',
10     './locales/pt_br.js',
11     './locales/ro.js',
12     './locales/ru.js',
13     './locales/tr.js',
14     './locales/vi.js',
15     './locales/zh.js',
16     './locales/zh_cn.js'
17 ], function() {
18     var langId = (navigator.language || navigator.userLanguage).toLowerCase().replace('-', '_');
19     var language = langId.substr(0, 2);
20     var locales = {};
21
22     for (index in arguments) {
23         for (property in arguments[index])
24             locales[property] = arguments[index][property];
25     }
26     if ( ! locales['en'])
27         locales['en'] = {};
28
29     if ( ! locales[langId] && ! locales[language])
30         language = 'en';
31
32     var locale = (locales[langId] ? locales[langId] : locales[language]);
33
34     function __(text) {
35         var index = locale[text];
36         if (index === undefined)
37             return text;
38         return index;
39     };
40
41     function setLanguage(language) {
42         locale = locales[language];
43     }
44
45     return {
46         __         : __,
47         locales    : locales,
48         locale     : locale,
49         setLanguage: setLanguage
50     };
51 });