Hi Julian,

Thanks a lot for the prompt reply.

You advice has worked for a separate request:

----------------------------------------
POST http://localhost:8123/libs/languages/english.json HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Fiddler
Host: localhost:8123
Content-Length: 43
Authorization: Basic YWRtaW46YWRtaW4=

jcr:mixinTypes=mix:language&jcr:language=en
----------------------------------------

With that we now have the node
jcr:root/libs/languages/english.json
{
  "jcr:language": "en",
  "jcr:mixinTypes": [
    "mix:language"
  ],
  "jcr:primaryType": "nt:file"
}

Which has this child node:
jcr:root/libs/languages/english.json/jcr:content
{
  "jcr:data": 
"/bin/cpm/nodes/property.bin/libs/languages/english.json/_jcr_content?name=jcr%3Adata",
  "jcr:mimeType": "application/json",
  "jcr:primaryType": "nt:resource"
}


We have also created the jcr:root/libs/languages/deutch.json resource
in the same way.

We have not tried the single request yet, would like to understand how
to get the language-specific content first.

We can do a GET
http://localhost:8123/libs/languages/[english|deutch].json which
returns the corresponding bundle however to our understanding this is
not the right way to get the language-specific information.

The docs at 
https://sling.apache.org/documentation/bundles/internationalization-support-i18n.html
mention the Accept-Language header.
So we tried to use it with the requests like

----------------------------------------
GET http://localhost:8123/libs/languages HTTP/1.1    // Also tried
http://localhost:8123/libs/languages/* and a few others
Content-Type: text/json   // Tried some other content types there
Host: localhost:8123
Content-Length: 0
Authorization: Basic YWRtaW46YWRtaW4=
Accept-Language: en
----------------------------------------

Nothing has worked so far unfortunately.


Any advice please?


Thanks,
Andrey.

On Fri, Apr 24, 2020 at 3:56 AM Julian Sedding <jsedd...@gmail.com> wrote:
>
> Hi
>
> I noticed that you set jcr:primaryType=mix:language. It should be
> jcr:mixinTypes.
>
> Also no need to set the jcr:primaryType=nt:file, it should be set
> automatically. Setting it again explicitly might actually cause issues.
>
> So just try posting
>
> ./jcr:mixinTypes=mix:language
> ./jcr:language=en
>
> If that works in a separate request, you could try combining them into a
> single request.
>
> Regards
> Julian
>
> On Fri, 24 Apr 2020 at 03:47, Andrey Shulinsky <ashulin...@korio.ca> wrote:
>
> > Hi folks,
> >
> > We're trying to use this bundle with the JSON file option:
> >
> > https://sling.apache.org/documentation/bundles/internationalization-support-i18n.html#json-file-based
> >
> > Have been having an issue we'd really appreciate help with.
> >
> >
> > We'd like to add the language-specific bundles using the POST API.
> >
> >
> > This is the structure from the doc mentioned above:
> >    /libs/languages
> >            +-- english.json (nt:file, mix:language)
> >            |    +-- jcr:language = en
> >            |    +-- jcr:content (nt:resource)
> >            |         + jcr:data (containing the actual JSON file)
> >
> >
> > When we do this request:
> >
> >
> > --------------------------------
> > POST http://localhost:8123/libs/languages HTTP/1.1
> > Content-Type: multipart/form-data;
> > boundary=-------------------------acebdf13572468
> > User-Agent: Fiddler
> > Host: localhost:8123
> > Content-Length: 257
> > Authorization: Basic YWRtaW46YWRtaW4=
> >
> > ---------------------------acebdf13572468
> > Content-Disposition: form-data; name="english.json";
> > filename="english.json"
> > Content-Type: application/json
> >
> > {
> >     "message1": "aaa",
> >     "message2": "bbb"
> > }
> >
> > ---------------------------acebdf13572468--
> > --------------------------------
> >
> > We get a similar structure:
> >
> >    /libs/languages
> >            +-- english.json (nt:file)
> >            |    +-- jcr:content (nt:resource)
> >            |         + jcr:data (containing the actual JSON file)
> >
> > And the messages1-2 are added properly.
> >
> > However it's lacking
> > - the "mix:language" type on the english.json node
> > - the jcr:language=en property on the english/json node
> > Which are needed to get the proper language-specific content
> >
> > We have tried to modify the request above to add those properties,
> > tried a separate request to add them:
> >
> > --------------------------------
> > POST http://localhost:8123/libs/languages/english.json HTTP/1.1
> > Content-Type: application/x-www-form-urlencoded
> > User-Agent: Fiddler
> > Host: localhost:8123
> > Content-Length: 52
> > Authorization: Basic YWRtaW46YWRtaW4=
> >
> > jcr:primaryType=nt:file&jcr:primaryType=mix:language
> > --------------------------------
> >
> > But nothing has worked so far.
> >
> > So if anyone could do us a favor and advise how to add those
> > properties that would be really helpful.
> >
> > Thanks in advance!
> >
> > Andrey.
> >

Reply via email to