Add some translation.

This commit is contained in:
Gunther Brunner
2014-09-11 20:32:32 +09:00
parent d0cd86b263
commit 5a52b57e74
4 changed files with 433 additions and 106 deletions

View File

@@ -1,46 +1,43 @@
var supportedLanguages = require('./../../../../common/lang/langs.json')
module.exports = function LanguageServiceFactory(
SettingsService
, gettextCatalog
) {
// TODO: make this LanguageProvider so it can be used on config
module.exports =
function LanguageServiceFactory(SettingsService, gettextCatalog) {
// TODO: make this LanguageProvider so it can be used on config
var LanguageService = {}
var LanguageService = {}
function detectLanguage() {
return (navigator.language || navigator.userLanguage || 'en-US')
.substring(0, 2)
}
function isSupported(lang) {
return !!supportedLanguages[lang]
}
function onlySupported(lang, defaultValue) {
return isSupported(lang) ? lang : defaultValue
}
LanguageService.supportedLanguages = supportedLanguages
LanguageService.defaultLanguage = 'en'
LanguageService.detectedLanguage =
onlySupported(detectLanguage(), LanguageService.defaultLanguage)
SettingsService.sync(
LanguageService
, {
target: 'selectedLanguage'
, source: 'selectedLanguage'
, defaultValue: LanguageService.detectedLanguage
function detectLanguage() {
return (navigator.language || navigator.userLanguage || 'en-US')
.substring(0, 2)
}
, updateLanguage
)
function updateLanguage() {
gettextCatalog.setCurrentLanguage(LanguageService.selectedLanguage)
function isSupported(lang) {
return !!supportedLanguages[lang]
}
function onlySupported(lang, defaultValue) {
return isSupported(lang) ? lang : defaultValue
}
LanguageService.settingKey = 'selectedLanguage'
LanguageService.supportedLanguages = supportedLanguages
LanguageService.defaultLanguage = 'en'
LanguageService.detectedLanguage =
onlySupported(detectLanguage(), LanguageService.defaultLanguage)
SettingsService.sync(
LanguageService, {
target: LanguageService.settingKey,
source: LanguageService.settingKey,
defaultValue: LanguageService.detectedLanguage
}, updateLanguage
)
function updateLanguage() {
gettextCatalog.setCurrentLanguage(LanguageService.selectedLanguage)
}
LanguageService.updateLanguage = updateLanguage
return LanguageService
}
LanguageService.updateLanguage = updateLanguage
return LanguageService
}