- Supported languages now all centralized.

Now the flow for adding a new language is just:
1.Add a new language entry to `res/common/lang/langs.json`.

And for translating it's just:
1. Run `gulp translate` (extracts all the strings).
2. Open `/res/common/lang/po/stf.pot` in PoEdit and translate.
3. Run `gulp translate` again (creates a json based on the new `po` file).
This commit is contained in:
Gunther Brunner
2014-03-27 13:53:57 +09:00
parent b1089a631d
commit 2eb47f312a
4 changed files with 8 additions and 19 deletions

View File

@@ -1,27 +1,18 @@
var _ = require('lodash')
// TODO: Implement this
var supportedLanguages = require('./../../../common/lang/langs.json')
module.exports = function LanguageServiceFactory(
SettingsService
, $q
, gettextCatalog
) {
module.exports = function (SettingsService, $q, gettextCatalog) {
var LanguageService = {}
LanguageService.supportedLanguages = [
{code: 'en', name: 'English'},
{code: 'ja', name: '日本語'}
]
LanguageService.supportedLanguages = supportedLanguages
var browserLocale = navigator.language || navigator.userLanguage || 'en-US'
var browserLanguage = browserLocale.substring(0, 2)
var detectedLanguage =
_.some(LanguageService.supportedLanguages, {code: browserLanguage}) ?
browserLanguage :
'en'
var isLanguageMatched = _.some(supportedLanguages, function (value, key) {
return key === browserLanguage
})
var detectedLanguage = isLanguageMatched ? browserLanguage : 'en'
var defaultLanguage = 'ja'
LanguageService.detectedLanguage = defaultLanguage
LanguageService.selectedLanguage = null

View File

@@ -5,4 +5,4 @@
.widget-content.padded
.form-horizontal
.form-group
select.form-control(ng-model='language', ng-options='l.code as l.name for l in supportedLanguages')
select.form-control(ng-model='language', ng-options='key as value for (key, value) in supportedLanguages')

View File

@@ -1,5 +1,4 @@
{
"en": "English",
"es": "Espaniol",
"ja": "日本語"
}

View File

@@ -1 +0,0 @@
{"es":{"Carrier":"Correa","Clear":"","Control":"","Details":"","Device Port":"","Devices":"","Enable notifications":"","Example: 3000":"","Filter":"","Help":"ヘルプ","Language":"","Local Settings":"","Location":"","Model":"","Native":"","No devices connected":"","Notifications":"","OS":"","Product":"","Refresh":"","Release Date":"","Reset Settings":"","Saved to: {{savedTo}}":"","Screen":"","Settings":"","Shell":"","Start Using":"","Status":"","Stop Using":"","Target IP / Hostname":"","Target Port":"","Target host (detect if blank)":"","Use":"","User":"","Web":""}}