Integrations
Framework & Platform Integrations
IntlPull works with any framework that supports JSON or YAML translation files. Here are step-by-step guides for popular setups.
Frameworks
React
Use with react-i18next or react-intl
// Installnpm install react-i18next i18next// Configureimport i18n from 'i18next';import { initReactI18next } from 'react-i18next';import en from './messages/en.json';import es from './messages/es.json';i18n.use(initReactI18next).init({resources: { en: { translation: en }, es: { translation: es } },lng: 'en',fallbackLng: 'en',});// Use in componentsimport { useTranslation } from 'react-i18next';function Welcome() {const { t } = useTranslation();return <h1>{t('common.welcome')}</h1>;}
Next.js
Use with next-intl or next-i18next
// Installnpm install next-intl// next.config.jsconst withNextIntl = require('next-intl/plugin')();module.exports = withNextIntl({});// i18n.tsimport { getRequestConfig } from 'next-intl/server';export default getRequestConfig(async ({ locale }) => ({messages: (await import(`./messages/${locale}.json`)).default}));// Use in componentsimport { useTranslation } from '@/hooks/useTranslation';export default function Welcome() {const { t } = useTranslation('common');return <h1>{t('welcome')}</h1>;}
Vue
Use with vue-i18n
// Installnpm install vue-i18n// main.jsimport { createApp } from 'vue';import { createI18n } from 'vue-i18n';import en from './messages/en.json';import es from './messages/es.json';const i18n = createI18n({legacy: false,locale: 'en',messages: { en, es }});createApp(App).use(i18n).mount('#app');// Use in components<template><h1>{{ $t('common.welcome') }}</h1></template>
CI/CD Integrations
GitHub Actions
Sync translations on push or PR
# .github/workflows/sync-translations.ymlname: Sync Translationson:push:branches: [main]jobs:sync:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- name: Setup Nodeuses: actions/setup-node@v4with:node-version: '20'- name: Sync translationsrun: npx @intlpullhq/cli syncenv:INTLPULL_API_KEY: ${{ secrets.INTLPULL_API_KEY }}- name: Commit changesuses: stefanzweifel/git-auto-commit-action@v5with:commit_message: 'chore: sync translations'
GitLab CI
Integrate with GitLab pipelines
# .gitlab-ci.ymlsync-translations:stage: prepareimage: node:20script:- npx @intlpullhq/cli syncartifacts:paths:- messages/only:- main
Webhooks
Configure webhooks to get notified when translations change. Available events:
translation.created- New key addedtranslation.updated- Translation modifiedtranslation.deleted- Key removedtranslation.published- Changes published to productionimport.completed- Bulk import finished
Configure webhooks in your project settings or via the API.
SSO / SAML
IntlPull supports enterprise SSO with SAML 2.0 and OIDC. Supported providers:
Okta
Azure AD
Google Workspace
OneLogin
Auth0
JumpCloud
SSO is available on Professional and Enterprise plans. Contact us for setup assistance.