Fixes #3846 - Simple quote characters ('
) not properly displayed.
This commit is contained in:
parent
059e2f90e4
commit
e4a14268d6
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
|
||||
|
@ -205,15 +210,18 @@ 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
|
||||
if plain
|
||||
@translatePlain(input, args)
|
||||
else
|
||||
@translateInline(input, args)
|
||||
|
||||
|
|
|
@ -71,6 +71,24 @@ QUnit.test('i18n', assert => {
|
|||
translated = App.i18n.translateInline('yes')
|
||||
assert.equal(translated, 'ja', 'de-de - yes / ja translated correctly')
|
||||
|
||||
translated = App.i18n.translateDeep({
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
today: 'today',
|
||||
})
|
||||
assert.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',
|
||||
})
|
||||
assert.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);
|
||||
assert.equal(translated, 'vor 123', 'de-de - %s')
|
||||
|
||||
|
|
Loading…
Reference in a new issue