How do I enable the CMS and create my first content model?
The Content CMS is an optional add-on for managing structured multilingual content — like blog posts, help articles, changelogs, and product descriptions — alongside your i18n keys.
Do you need the Content CMS? #
The Content CMS is for free-form content with rich structure. If you're managing t('key') strings in your code, that's handled by the Translation API — you don't need the CMS for that.
Use the Content CMS when you need:
- Articles or documents with markdown bodies
- Content with custom fields (author, date, category)
- Multiple language versions managed separately
- Content served via API or CDN (not bundled in your app)
Step 1: Enable the Content CMS #
- Go to your project in the dashboard
- Click on the Content tab
- If not already enabled, click "Enable Content CMS"
The Content tab is available on all plans. Some advanced features (custom models, bulk operations) may require higher tiers.
Step 2: Create your first content model #
A content model is the schema for your content type. Think of it like a database table definition.
- In the Content tab, click "New model"
- Enter a name (e.g., "Help Article") and a slug (e.g.,
help-article) - Add custom fields:
- Text — short strings (titles, authors)
- Textarea — longer text (excerpts, summaries)
- Number — integers or decimals
- Boolean — true/false flags
- Enum — dropdown from a fixed list of values
- Relation — reference to another content model
- For fields you want translated per language, enable "Localized"
- Click Create model
One model-level setting is worth deciding now rather than later: whether entries of this model carry a body at all. Models with a body (articles, posts) require non-empty content in a language before that language can be published. Metadata-only models — tags, categories, other taxonomies — publish on their fields alone.
Step 3: Create your first entry #
- Select your model in the Content tab
- Click "New entry"
- Fill in the title, body, and custom fields
- Click Save or Publish
After publishing, the entry is available from the Content API:
curl "https://content.better-i18n.com/v1/content/your-org/your-project/models/help-article/entries?status=published" \
-H "x-api-key: YOUR_API_KEY"
Better I18N