Multilingual Fields
Eclarion supports up to 7 languages for product data. Multilingual fields are returned as objects keyed by locale, and you write them the same way. For the full technical schema, see the API v3 Reference.
Supported locales
| Locale | Language |
|---|---|
en | English |
nl | Dutch |
de | German |
fr | French |
es | Spanish |
it | Italian |
da | Danish |
Which locales are active depends on your account settings. You only need to provide the locales that are enabled for your account.
Reading multilingual fields
Multilingual fields are returned as an object with locale keys:
{
"recipe": {
"productname": {
"en": "Chocolate Cake",
"nl": "Chocoladetaart",
"de": "Schokoladenkuchen"
},
"labeldescription": {
"en": "Chocolate flavoured cake",
"nl": "Cake met chocoladesmaak"
}
}
}
Locales without a translation are either omitted or returned as an empty string.
Writing multilingual fields
When creating or updating, provide translations as an object. At minimum, you must include your account's primary locale:
{
"recipe": {
"productname": {
"nl": "Vruchtenyoghurt",
"en": "Fruit Yoghurt"
}
}
}
You can provide one language or all — only send what you have.
Multilingual fields on recipes
The following recipe fields support translations:
productnamelabeldescriptionfunctional_nameingredientdeclarationusagestorageinstructionbest_before_dateuse_by_datedate_of_freezingproduct_descriptionallergen_statementnutrition_statementphysiochemical_statementmicrobiology_informationclaims_statementingredientdeclaration_statementpreparation_informationpackaging_information
Multilingual fields in nested collections
Some nested collections also have multilingual fields:
- Organoleptic values:
value - Preparation instruction values:
value - Packages:
name,description - Steps:
name,instructions
Categories
Category names are also multilingual:
{
"category": {
"id": 1,
"name": {
"en": "Recipes",
"nl": "Recepturen"
}
}
}
Tips
- Always include the primary locale. Your account has a primary language (visible in account settings). This locale is required for
productnameandingredientdeclaration. Other fields are optional. - Only send what you have. You don't need to provide all 7 locales. Just send the languages you have translations for.
- Missing locales are empty. If a locale has no translation, it's either omitted or returned as an empty string.
- Partial updates work. When updating a recipe, you can send a multilingual field with just one locale — it updates that locale without affecting others.
API version differences
The multilingual behavior differs between API versions:
- v3 and v2: Multilingual fields always return a translations object, even for accounts with a single language.
- v1: Returns a plain string for single-language accounts, and a translations object for multi-language accounts.
If you're migrating from v1 to v3, make sure your code handles the translations object format consistently. See the Migration Guide for all breaking changes between versions.
Next steps
- Working with Recipes — create and manage recipes
- Migration Guide — upgrade between API versions
- API v3 Reference — full interactive documentation