Locale
Describes the locale parameter, part of the GraphQL API used for the Optimizely querying service, when retrieving content in Optimizely solutions.
When the locale
parameter is set in the GraphQL request, the query performs the following:
- Filter the content by routing to the specified language content.
- Use linguistic processing of content when using the
contains
operator on a field. For example, the support tokenization of words, decompounding, and stemming of these words.
Example
Having values with "pommes, noisettes" is stemmed to their (algorithmic) base form, so searching for singular forms also match: "pomme noisette".
The locale
parameter takes a list of one or more locale values as input. With fixed locale values as NEUTRAL
, ALL
, locale values are input from the content type setting. When indexing data, the locale is not specified, an index without any language processing is used for matching. The locale parameter is directly related to the language_routing parameter. And when searching data, the locale is not specified, all indexes are used for matching.
Locale setting | Indexing | Searching |
---|---|---|
NEUTRAL | - | Standard index |
ALL | - | All indexes |
Without language_routing/locale parameter. | Standard index | All indexes |
With language_routing/locale parameter | Index each document to a separate index for each provided language. | Search in a separate index for each provided language. Besides the index filtering, language support for the full-text search operator contains for each provided language is enabled. |
Locale format
- Fixed locale values,
NEUTRAL
,ALL
- The value must start in lowercase, such as
en, sv
- Support to query a specific locale such as
en_GB, en_US
- Support to query single or multiple locales by using commas as a delimiter.
query MyQuery {
Content(locale: [NEUTRAL, en, en_GB, en_US, sv, nl]) {
items {
Name
}
}
}
Examples
Query with NEUTRAL
value.
NEUTRAL
value.It returns the content items from the Standard index (these items aren't classified to any specific language), including content items that have language empty "" or null (those content items are asset contents)
query MyQuery {
Content(locale: NEUTRAL, limit: 100) {
items {
Name
Language {
Link
DisplayName
Name
}
}
}
}
Result
{
"data": {
"Content": {
"items": [
{
"Name": "logotype.png",
"Language": {
"Link": "http://localhost:8081/contentassets/ed475b914904443795e8c63f91afcb5c/logotype.png",
"DisplayName": "Invariant Language (Invariant Country)",
"Name": ""
}
},
{
"Name": "AlloyPlan.png",
"Language": {
"Link": "http://localhost:8081/contentassets/3b16c17d494344de87c29324395d01bb/alloyplan.png",
"DisplayName": "Invariant Language (Invariant Country)",
"Name": ""
}
},
{
"Name": "AlloyPlanScreen.png",
"Language": {
"Link": "http://localhost:8081/contentassets/3b16c17d494344de87c29324395d01bb/alloyplanscreen.png",
"DisplayName": "Invariant Language (Invariant Country)",
"Name": ""
}
}
]
}
},
"extensions": {
"correlationId": "b37f03b1-7901-4386-a04a-78f55b85ba5c",
"cost": 104,
"costSummary": [
"Content(104) = limit(100) + fields(4)"
]
}
}
Query with ALL
value.
ALL
value.It returns the content items from all indexes, including the Standard index and specific languages
query MyQuery {
Content(locale: ALL, limit: 100) {
items {
Name
Language {
Link
DisplayName
Name
}
}
}
}
Result
{
"data": {
"Content": {
"items": [
{
"Name": "Reporting Made Simple",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/reporting-made-simple/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Collaboration Made Simple",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/collaboration-made-simple/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Risk Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/risk-management-in-complex-projects/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Saves Bears",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/newworld-wildlife-fund-chooses-alloy/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Enhances Risk Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/alloy-plan-enhances-risk-management/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Top Collaboration Technology",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/alloy-meet-acclaimed-for-top-collaboration-technology/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Trek Selects Alloy Plan",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/trek-selects-alloy-plan/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Events",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Press Releases",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Michelle Hernandez",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/michelle-hernandez/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Todd Slayton",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/todd-slayton/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Robert Carlsson",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/robert-carlsson/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Fiona Miller",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/fiona-miller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Amar Gupta",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/amar-gupta/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/management/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Contact us",
"Language": {
"Link": "http://localhost:8081/en/about-us/contact-us/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Become a reseller",
"Language": {
"Link": "http://localhost:8081/en/about-us/become-a-reseller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Whitepaper",
"Language": {
"Link": "http://localhost:8081/en/alloy-track/download-whitepaper-alloy-track/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "News & Events",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Find a reseller",
"Language": {
"Link": "http://localhost:8081/en/how-to-buy/find-a-reseller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Contacts",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Search",
"Language": {
"Link": "http://localhost:8081/en/search/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet",
"Language": {
"Link": "http://localhost:8081/en/alloy-meet/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "About us",
"Language": {
"Link": "http://localhost:8081/en/about-us/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Plan",
"Language": {
"Link": "http://localhost:8081/en/alloy-plan/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Track",
"Language": {
"Link": "http://localhost:8081/en/alloy-track/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "How to buy",
"Language": {
"Link": "http://localhost:8081/en/how-to-buy/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet jumbotron",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Plan teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Track teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Customer Zone",
"Language": {
"Link": "/en/customer-zone/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Reseller extranet",
"Language": {
"Link": "/en/customer-zone/reseller-extranet/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Start",
"Language": {
"Link": "http://localhost:8081/en/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Test page",
"Language": {
"Link": "http://localhost:8081/en/test-page/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "logotype.png",
"Language": {
"Link": "http://localhost:8081/contentassets/ed475b914904443795e8c63f91afcb5c/logotype.png",
"DisplayName": "Invariant Language (Invariant Country)",
"Name": ""
}
},
{
"Name": "AlloyPlan.png",
"Language": {
"Link": "http://localhost:8081/contentassets/3b16c17d494344de87c29324395d01bb/alloyplan.png",
"DisplayName": "Invariant Language (Invariant Country)",
"Name": ""
}
},
{
"Name": "AlloyPlanScreen.png",
"Language": {
"Link": "http://localhost:8081/contentassets/3b16c17d494344de87c29324395d01bb/alloyplanscreen.png",
"DisplayName": "Invariant Language (Invariant Country)",
"Name": ""
}
}
]
}
},
"extensions": {
"correlationId": "b37f03b1-7901-4386-a04a-78f55b85ba5c",
"cost": 104,
"costSummary": [
"Content(104) = limit(100) + fields(4)"
]
}
}
Query a specific language.
It returns the content items for that language.
query MyQuery {
Content(locale: en, limit: 100) {
items {
Name
Language {
Link
DisplayName
Name
}
}
}
}
Result
{
"data": {
"Content": {
"items": [
{
"Name": "Reporting Made Simple",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/reporting-made-simple/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Collaboration Made Simple",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/collaboration-made-simple/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Risk Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/risk-management-in-complex-projects/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Saves Bears",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/newworld-wildlife-fund-chooses-alloy/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Enhances Risk Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/alloy-plan-enhances-risk-management/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Top Collaboration Technology",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/alloy-meet-acclaimed-for-top-collaboration-technology/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Trek Selects Alloy Plan",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/trek-selects-alloy-plan/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Events",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Press Releases",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Michelle Hernandez",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/michelle-hernandez/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Todd Slayton",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/todd-slayton/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Robert Carlsson",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/robert-carlsson/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Fiona Miller",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/fiona-miller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Amar Gupta",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/amar-gupta/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/management/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Contact us",
"Language": {
"Link": "http://localhost:8081/en/about-us/contact-us/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Become a reseller",
"Language": {
"Link": "http://localhost:8081/en/about-us/become-a-reseller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Whitepaper",
"Language": {
"Link": "http://localhost:8081/en/alloy-track/download-whitepaper-alloy-track/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "News & Events",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Find a reseller",
"Language": {
"Link": "http://localhost:8081/en/how-to-buy/find-a-reseller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Contacts",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Search",
"Language": {
"Link": "http://localhost:8081/en/search/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet",
"Language": {
"Link": "http://localhost:8081/en/alloy-meet/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "About us",
"Language": {
"Link": "http://localhost:8081/en/about-us/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Plan",
"Language": {
"Link": "http://localhost:8081/en/alloy-plan/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Track",
"Language": {
"Link": "http://localhost:8081/en/alloy-track/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "How to buy",
"Language": {
"Link": "http://localhost:8081/en/how-to-buy/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet jumbotron",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Plan teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Track teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Customer Zone",
"Language": {
"Link": "/en/customer-zone/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Reseller extranet",
"Language": {
"Link": "/en/customer-zone/reseller-extranet/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Start",
"Language": {
"Link": "http://localhost:8081/en/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Test page",
"Language": {
"Link": "http://localhost:8081/en/test-page/",
"DisplayName": "English",
"Name": "en"
}
}
]
}
},
"extensions": {
"correlationId": "b37f03b1-7901-4386-a04a-78f55b85ba5c",
"cost": 104,
"costSummary": [
"Content(104) = limit(100) + fields(4)"
]
}
}
Query multiple languages and locales.
It returns the content items for these languages.
query MyQuery {
Content(locale: [en, fr], limit: 100, orderBy: {Language: {Name: DESC}}) {
items {
Name
Language {
Link
DisplayName
Name
}
}
}
}
Result
{
"data": {
"Content": {
"items": [
{
"Name": "Start fr134",
"Language": {
"Link": null,
"DisplayName": "French",
"Name": "fr"
}
},
{
"Name": "Reporting Made Simple",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/reporting-made-simple/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Collaboration Made Simple",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/collaboration-made-simple/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Risk Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/risk-management-in-complex-projects/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Saves Bears",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/newworld-wildlife-fund-chooses-alloy/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Enhances Risk Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/alloy-plan-enhances-risk-management/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Top Collaboration Technology",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/alloy-meet-acclaimed-for-top-collaboration-technology/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Trek Selects Alloy Plan",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/trek-selects-alloy-plan/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Events",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/events/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Press Releases",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/press-releases/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Michelle Hernandez",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/michelle-hernandez/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Todd Slayton",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/todd-slayton/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Robert Carlsson",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/robert-carlsson/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Fiona Miller",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/fiona-miller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Amar Gupta",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/amar-gupta/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Management",
"Language": {
"Link": "http://localhost:8081/en/about-us/management/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Contact us",
"Language": {
"Link": "http://localhost:8081/en/about-us/contact-us/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Become a reseller",
"Language": {
"Link": "http://localhost:8081/en/about-us/become-a-reseller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Whitepaper",
"Language": {
"Link": "http://localhost:8081/en/alloy-track/download-whitepaper-alloy-track/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "News & Events",
"Language": {
"Link": "http://localhost:8081/en/about-us/news-events/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Find a reseller",
"Language": {
"Link": "http://localhost:8081/en/how-to-buy/find-a-reseller/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Contacts",
"Language": {
"Link": "http://localhost:8081/en/about-us/contacts/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Search",
"Language": {
"Link": "http://localhost:8081/en/search/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet",
"Language": {
"Link": "http://localhost:8081/en/alloy-meet/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "About us",
"Language": {
"Link": "http://localhost:8081/en/about-us/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Plan",
"Language": {
"Link": "http://localhost:8081/en/alloy-plan/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Track",
"Language": {
"Link": "http://localhost:8081/en/alloy-track/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "How to buy",
"Language": {
"Link": "http://localhost:8081/en/how-to-buy/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet jumbotron",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Plan teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Track teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Alloy Meet teaser",
"Language": {
"Link": null,
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Customer Zone",
"Language": {
"Link": "/en/customer-zone/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Reseller extranet",
"Language": {
"Link": "/en/customer-zone/reseller-extranet/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Start",
"Language": {
"Link": "http://localhost:8081/en/",
"DisplayName": "English",
"Name": "en"
}
},
{
"Name": "Test page",
"Language": {
"Link": "http://localhost:8081/en/test-page/",
"DisplayName": "English",
"Name": "en"
}
}
]
}
},
"extensions": {
"correlationId": "879f2ca9-4022-438c-a970-dc6abeda1fe2",
"cost": 104,
"costSummary": [
"Content(104) = limit(100) + fields(4)"
]
}
}
Synchronize languages and locales
-
On the Admin tab, enable the languages and locales you want to support.
-
On the Edit tab, choose the Start page.
-
Select Tools > Language Settings.
-
Check the languages or the locales you want to support.
-
Go to the Sites tab and change to the language or locales you want.
-
Return to the Pages tab.
-
Start to translate the previous page, then the content item is synchronized immediately and the GraphQL schema updates.
Note
- If you enable the language only in the Admin view, and it will not have an effect.
- Translating the Start page is a mandatory step to synchronize the language to GraphQL schema.
Updated about 1 month ago