Document Internationalization plugin v6.0.0: Major version: Pivot language from `_key` to `language` field
sanity-plugin-internationalized-array now stores the language identifier in a dedicated language field instead of using _key for this purpose, and @sanity/document-internationalization has a direct dependency on this plugin to manage the translations.metadata files.
When a field has outdated data a warning banner will render to alert users.

Sanity uses _key internally for array item identity, diffing, and reordering. Storing the language ID there caused issues with:
Before (v4):
{
"_key": "en",
"_type": "internationalizedArrayStringValue",
"value": "hello"
}
After (v5):
{
"_key": "randomKey",
"language": "en",
"_type": "internationalizedArrayStringValue",
"value": "hello"
}
Read the full migration guide here for this plugin.
You can also read the migration guide for internationalized-array here.

Fetched April 11, 2026