Concepts
Translations
Multi-language content in Bunmori
Translations
Bunmori has built-in support for multi-language content. Each item can have translations in multiple languages.
How Translations Work
- Collections define which languages are supported
- Fields are marked as translatable or not
- Each item stores translations separately per language
Translation Structure
Each translation contains:
languageCode- ISO code (e.g., "en", "de", "ja")title- Item title in this languagedata- Translatable field values
Fetching Translations
All languages:
GET /api/public/{domain}/collections/{collection}/itemsSpecific language:
GET /api/public/{domain}/collections/{collection}/items?language=esHandling Missing Translations
The API automatically handles missing translations with language fallback:
- If the requested translation doesn't exist, content from the default language is returned
- The response includes metadata to help you identify when fallback was used:
language- The language code of the content actually returnedrequestedLanguage- The language code that was requestedtranslationExists- Boolean indicating if translation exists for requested language
Example response with fallback:
{
"id": "abc123",
"language": "en",
"requestedLanguage": "de",
"translationExists": false,
"title": "My Post",
"translationData": {}
}In this example, German (de) was requested but doesn't exist, so English (en) content was returned instead.
Adding Translations
In the admin UI, translations are managed per item:
- Open an item for editing
- Only languages with existing translations appear as tabs
- Click "Add Translation" to create a translation in a new language
- Fill in the required fields (title and any required translatable fields)
- Save the item