This is a Sanity Studio v3 plugin.
Installation
npm install sanity-translations-tab
Usage
sanity-translations-tab
This is the base module for implementing common translation vendor tasks from a Studio, such as sending content to be translated in some specific languages, importing content back etc. Not useful on its own, but vendor-specific plugins will use this for its chrome.
Unless you are involved in developing this module or a translation plugin, you probably do not need to interact with this package. You likely want to use a vendor-specific plugin, such as sanity-plugin-studio-smartling
Develop & test
This plugin uses @sanity/plugin-kit
with default configuration for build & watch scripts.
See Testing a plugin in Sanity Studio
on how to run this plugin with hotreload in the studio.
Once you run npm run link-watch
in the plugin repo and npx yalc add sanity-translations-tab && npx yalc add sanity-translations-tab --link && npm install
in your test studio, per the instructions above, you can test the tab locally by adding the following to your desk structure:
import S from '@sanity/desk-tool/structure-builder'
import {TranslationsTab, DummyAdapter} from 'sanity-translations-tab'
export const getDefaultDocumentNode = ({schemaType}) => {
if (schemaType === 'translatable') {
return S.document().views([
S.view.form(),
S.view
.component(TranslationsTab)
.title('Translations')
.options({
adapter: DummyAdapter,
exportForTranslation: async (props) => props,
importTranslation: async (props) => props,
workflowOptions: [
{
workflowUid: '123',
workflowName: 'Machine Translation (testing)'
}
],
localeIdAdapter: (translationVendorId) => sanityId,
baseLanguage: 'en_US'
})
])
}
return S.document()
}
From here, you can start developing the plugin in the plugin repo. The plugin will be hot-reloaded in the studio.
License
MIT © Sanity.io
Release new version
Run "CI & Release" workflow.
Make sure to select the main branch and check "Release new version".
Semantic release will only release on configured branches, so it is safe to run release on any branch.