Internationalization, or i18n, is supported as a first-class citizen in GraphCMS. In your project settings you can define how many locales you want to support, choosing from a range of common defaults to providing custom locales as well.
Locales function by creating localized fields on the document model, not creating a duplication of the content. You can stage, eventually version and evolve localized content entries with "per field" granularity.
Support for more than 1 Locale is a paid upgrade. See pricing for further details.
Working with Locales and Internationalization
For further information on querying content by locale, see the reference guide on APIs.
- Navigate to the settings icon in the bottom group of icons in the left-hand sidebar.
- Navigate to "Locales" in the collapsible sidebar.
- Create a display name or choose from the list of industry standards.
- Create an API ID or accept the default suggestion of an industry standard.
- Press "Add" to create the locale.
You can create custom locales such as a system translation or an invented short-hand.
- Navigate to the locale settings.
- Next to one of the existing locales is a "delete" button.
- Press "delete" to remove the locale.
Enabling Translation for a Field
- Enter the configuration settings for a field on a model in the schema editor.
- Toggle "Localize Field."
The field will inherit all the locales configured in settings.
Adding a Translation to a Field
- Enter the content editor for a model.
- In the contextual sidebar on the right, press the "+" icon to add a locale variant to all all field in the content entry that support localization.
Show / Hide Translated Fields
You can toggle the "eye" icon on the left of a locale on a content entry to show / hide the localized fields.