How to load only part of the dictionary in AEM 6.0? | Community
Skip to main content
Level 4
Jan 13, 2016 10:30 AM UTC
Solved

How to load only part of the dictionary in AEM 6.0?

Hello,

I'm using AEM6.0 with SP3.

In javascript we are loading part of the transation with CQ.I18n.getMessage method.

/libs/cq/i18n/dict.en_us.json returns only custom translation, but /libs/cq/i18n/dict.de_de.json in additional to our custom translation returns also AEM OOTB translations.

How I can prevent this for publish instance?

Thank you in advance

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
joerghoh
joerghohAccepted solution
Employee
Jan 15, 2016 8:16 PM UTC

Hi,

so do I understand you correct?

  • When you hit /libs/cq/i18n/dict.en_us.json with your browser, you get only the custom translations (= the translations you provided)
  • When you hit /libs/cq/i18n/dict.de_de.json with your browser, you get the custom translations plus the ootb german translations

Is this correct? And you have put your custom translations below /apps/my-project/i18.

Which version of AEM do you have? Can you provide the exact version of the bundle "org.apache.sling.i18n"?

kind regards,
Jörg

13 replies

Level 2
May 22, 2018 8:45 PM UTC

We faced the similar requirement to fetch I18n values at client side using Granite.i18n Library

This is what I did.

1) Created a custom servlet which returns JSON response similar to ResourceBundleExportServlet

2) Loaded the bundle using basename and locale parameter - ResourceBundle resourceBundle = req.getResourceBundle(basename, pageLocale);

3) Added 'sling:basename="basename_constant"' in language specific i18n xml file which resides in /apps/project-name/i18n folder. In my case, I am setting the value of locale itself ex: "zh_cn"

4) In clientlibs javascript file setting Granite.I18n.setUrlPrefix("/bin/custom/i18n/dict."); to fetch from custom servlet URL.

Translate
mohanr80993572
Level 2
Sep 1, 2016 8:08 AM UTC

Ok, thank you - Mohan

Translate
Level 4
Sep 1, 2016 8:03 AM UTC

We just deactivated /libs/wcm/core/i18n from publish instance

-Alex

Translate
mohanr80993572
Level 2
Aug 31, 2016 7:17 PM UTC

Thanks Alex, for the info. Did you deactivate dictionaries at /libs/wcm/core/i18n in publish instance or using Guide Localization Service or overlayed  /libs/wcm/core/i18n with your custom or blank dictionaries?

- Mohan

Translate
Level 4
Aug 31, 2016 10:48 AM UTC

Hello,

We deactivated OOTB dictionaries from publish instance.

Thanks,

Alex

Translate
mohanr80993572
Level 2
Aug 31, 2016 9:18 AM UTC

Hi Alex, could you find any solution for this? Even we are facing same issue.

Thanks,

Mohan

Translate
Level 4
Mar 2, 2016 1:54 PM UTC

Any updates?

Translate
Level 4
Jan 18, 2016 3:49 PM UTC

Hi,

>>When you hit /libs/cq/i18n/dict.en_us.json with your browser, you get only the custom translations (= the translations you provided)

>>When you hit /libs/cq/i18n/dict.de_de.json with your browser, you get the custom translations plus the ootb german translations

>>Is this correct? And you have put your custom translations below /apps/my-project/i18.

Correct.

>>Which version of AEM do you have?

AEM6.0 + SP3

Can you provide the exact version of the bundle "org.apache.sling.i18n"?

2.2.8

Thanks,

Alex

Translate
joerghoh
joerghohAccepted solution
Employee
Jan 15, 2016 8:16 PM UTC

Hi,

so do I understand you correct?

  • When you hit /libs/cq/i18n/dict.en_us.json with your browser, you get only the custom translations (= the translations you provided)
  • When you hit /libs/cq/i18n/dict.de_de.json with your browser, you get the custom translations plus the ootb german translations

Is this correct? And you have put your custom translations below /apps/my-project/i18.

Which version of AEM do you have? Can you provide the exact version of the bundle "org.apache.sling.i18n"?

kind regards,
Jörg

Translate
Level 2
May 7, 2020 3:28 PM UTC
Hi Jörg, I still that happening in AEM 6.4 and 6.5. We do have our custom translations. Right now there are three languages: en, es and zh. /libs/cq/i18n/dict.es.json returns OOTB values, how to prevent this? zh and en works as expected.
Translate
Level 4
Jan 15, 2016 8:53 AM UTC

Hi Jörg,

/apps/my-project/i18n

Thanks,

Alex

Translate