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')
|
clear: __('clear')
|
||||||
}
|
}
|
||||||
|
|
||||||
App.i18n.translateDeep(data)
|
App.i18n.translateDeepPlain(data)
|
||||||
|
|
|
@ -8,7 +8,12 @@ class App.i18n
|
||||||
@translateDeep: (input, args...) ->
|
@translateDeep: (input, args...) ->
|
||||||
if _instance == undefined
|
if _instance == undefined
|
||||||
_instance ?= new _i18nSingleton()
|
_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...) ->
|
@translateContent: (string, args...) ->
|
||||||
if _instance == undefined
|
if _instance == undefined
|
||||||
|
@ -205,15 +210,18 @@ class _i18nSingleton extends Spine.Module
|
||||||
return string if !string
|
return string if !string
|
||||||
@translate(string, args, true)
|
@translate(string, args, true)
|
||||||
|
|
||||||
translateDeep: (input, args) =>
|
translateDeep: (input, args, plain) =>
|
||||||
if _.isArray(input)
|
if _.isArray(input)
|
||||||
_.map input, (item) =>
|
_.map input, (item) =>
|
||||||
@translateDeep(item, args)
|
@translateDeep(item, args, plain)
|
||||||
else if _.isObject(input)
|
else if _.isObject(input)
|
||||||
_.reduce _.keys(input), (memo, item) =>
|
_.reduce _.keys(input), (memo, item) =>
|
||||||
memo[item] = @translateDeep(input[item])
|
memo[item] = @translateDeep(input[item], args, plain)
|
||||||
memo
|
memo
|
||||||
, {}
|
, {}
|
||||||
|
else
|
||||||
|
if plain
|
||||||
|
@translatePlain(input, args)
|
||||||
else
|
else
|
||||||
@translateInline(input, args)
|
@translateInline(input, args)
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,24 @@ QUnit.test('i18n', assert => {
|
||||||
translated = App.i18n.translateInline('yes')
|
translated = App.i18n.translateInline('yes')
|
||||||
assert.equal(translated, 'ja', 'de-de - yes / ja translated correctly')
|
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);
|
translated = App.i18n.translateContent('%s ago', 123);
|
||||||
assert.equal(translated, 'vor 123', 'de-de - %s')
|
assert.equal(translated, 'vor 123', 'de-de - %s')
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue