Fixes #3846 - Simple quote characters ('
) not properly displayed.
This commit is contained in:
parent
10be8dabd3
commit
8b16f483d6
3 changed files with 32 additions and 6 deletions
|
@ -155,4 +155,4 @@ class App.UiElement.basedate
|
|||
clear: 'clear'
|
||||
}
|
||||
|
||||
App.i18n.translateDeep(data)
|
||||
App.i18n.translateDeepPlain(data)
|
||||
|
|
|
@ -8,7 +8,12 @@ class App.i18n
|
|||
@translateDeep: (input, args...) ->
|
||||
if _instance == undefined
|
||||
_instance ?= new _i18nSingleton()
|
||||
_instance.translateDeep(input, args)
|
||||
_instance.translateDeep(input, args, false)
|
||||
|
||||
@translateDeepPlain: (input, args...) ->
|
||||
if _instance == undefined
|
||||
_instance ?= new _i18nSingleton()
|
||||
_instance.translateDeep(input, args, true)
|
||||
|
||||
@translateContent: (string, args...) ->
|
||||
if _instance == undefined
|
||||
|
@ -230,17 +235,20 @@ class _i18nSingleton extends Spine.Module
|
|||
return string if !string
|
||||
@translate(string, args, true)
|
||||
|
||||
translateDeep: (input, args) =>
|
||||
translateDeep: (input, args, plain) =>
|
||||
if _.isArray(input)
|
||||
_.map input, (item) =>
|
||||
@translateDeep(item, args)
|
||||
@translateDeep(item, args, plain)
|
||||
else if _.isObject(input)
|
||||
_.reduce _.keys(input), (memo, item) =>
|
||||
memo[item] = @translateDeep(input[item])
|
||||
memo[item] = @translateDeep(input[item], args, plain)
|
||||
memo
|
||||
, {}
|
||||
else
|
||||
@translateInline(input, args)
|
||||
if plain
|
||||
@translatePlain(input, args)
|
||||
else
|
||||
@translateInline(input, args)
|
||||
|
||||
|
||||
translateContent: (string, args) =>
|
||||
|
|
|
@ -70,6 +70,24 @@ test('i18n .detectBrowserLocale', function() {
|
|||
translated = App.i18n.translateInline('yes')
|
||||
equal(translated, 'ja', 'de-de - yes / ja translated correctly')
|
||||
|
||||
translated = App.i18n.translateDeep({
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
today: 'today',
|
||||
})
|
||||
deepEqual(translated, {
|
||||
days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
|
||||
today: 'Heute',
|
||||
}, 'de-de - deep object/array translated correctly')
|
||||
|
||||
translated = App.i18n.translateDeepPlain({
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
today: 'today',
|
||||
})
|
||||
deepEqual(translated, {
|
||||
days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
|
||||
today: 'Heute',
|
||||
}, 'de-de - deep object/array translated correctly')
|
||||
|
||||
translated = App.i18n.translateContent('%s ago', 123);
|
||||
equal(translated, 'vor 123', 'de-de - %s')
|
||||
|
||||
|
|
Loading…
Reference in a new issue