You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Stefan Seifert (JIRA)" <ji...@apache.org> on 2017/05/03 19:49:04 UTC
[jira] [Updated] (SLING-6826) i18n: Supported nested keys in JSON
i18n files
[ https://issues.apache.org/jira/browse/SLING-6826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Seifert updated SLING-6826:
----------------------------------
Fix Version/s: (was: i18n 2.5.10)
Description:
i18n supports resource files stored as JSON binary files in the repository:
https://sling.apache.org/documentation/bundles/internationalization-support-i18n.html#json-file-based
currently nested key structures are not really supported - from the docs page:
{quote}
The parser will take any "key":"value" pair in the JSON file, including those in nested objects or arrays. Normally, a dictionary will be just a single json object = hash map though.
{quote}
that means that these two JSON example will produc the same result:
A)
{code:javascript}
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
{code}
B)
{code:javascript}
{
"level1": {
"key1": "value1",
"level2: {
"key2": "value2",
"level3": {
"key3": "value3"
}
}
}
}
{code}
in both cases the keys are just
{noformat}
key1
key2
key3
{noformat}
the goal of this ticket is to interpret the nested JSON object structure as parts of the i18n keys, so that example B would produce these keys:
{noformat}
level1.key1
level1.level2.key2
level1.level2.level3.key3
{noformat}
as statet in the documentation in most cases people will only use the JSON as key/value map file with no hierarchies at all. in this case the result is the same. but if someone used hierarchies this ticket will create a backward compatibility issue. i will start a discussion on the sling-dev list about this.
was:
i18n supports resource files stored as JSON binary files in the repository:
https://sling.apache.org/documentation/bundles/internationalization-support-i18n.html#json-file-based
currently nested key structures are not really supported - from the docs page:
{quote}
The parser will take any "key":"value" pair in the JSON file, including those in nested objects or arrays. Normally, a dictionary will be just a single json object = hash map though.
{quote}
that means that these two JSON example will produc the same result:
A)
{code:javascript}
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
{code}
B)
{code:javascript}
{
"level1": {
"key1": "value1",
"level2: {
"key2": "value2",
"level3": {
"key3": "value3"
}
}
}
}
{code}
in both cases the keys are just
{noformat}
key1
key2
key3
{noformat}
the goal of this ticket is to interpret the nested JSON object structure as parts of the i18n keys, so that example B would produce these keys:
{noformat}
key1
level2.key2
level2.level3.key3
{noformat}
as statet in the documentation in most cases people will only use the JSON as key/value map file with no hierarchies at all. in this case the result is the same. but if someone used hierarchies this ticket will create a backward compatibility issue. i will start a discussion on the sling-dev list about this.
> i18n: Supported nested keys in JSON i18n files
> ----------------------------------------------
>
> Key: SLING-6826
> URL: https://issues.apache.org/jira/browse/SLING-6826
> Project: Sling
> Issue Type: New Feature
> Components: i18n
> Affects Versions: i18n 2.5.8
> Reporter: Stefan Seifert
>
> i18n supports resource files stored as JSON binary files in the repository:
> https://sling.apache.org/documentation/bundles/internationalization-support-i18n.html#json-file-based
> currently nested key structures are not really supported - from the docs page:
> {quote}
> The parser will take any "key":"value" pair in the JSON file, including those in nested objects or arrays. Normally, a dictionary will be just a single json object = hash map though.
> {quote}
> that means that these two JSON example will produc the same result:
> A)
> {code:javascript}
> {
> "key1": "value1",
> "key2": "value2",
> "key3": "value3"
> }
> {code}
> B)
> {code:javascript}
> {
> "level1": {
> "key1": "value1",
> "level2: {
> "key2": "value2",
> "level3": {
> "key3": "value3"
> }
> }
> }
> }
> {code}
> in both cases the keys are just
> {noformat}
> key1
> key2
> key3
> {noformat}
> the goal of this ticket is to interpret the nested JSON object structure as parts of the i18n keys, so that example B would produce these keys:
> {noformat}
> level1.key1
> level1.level2.key2
> level1.level2.level3.key3
> {noformat}
> as statet in the documentation in most cases people will only use the JSON as key/value map file with no hierarchies at all. in this case the result is the same. but if someone used hierarchies this ticket will create a backward compatibility issue. i will start a discussion on the sling-dev list about this.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)