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

// Install
npm install react-i18next i18next
// Configure
import 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 components
import { useTranslation } from 'react-i18next';
function Welcome() {
const { t } = useTranslation();
return <h1>{t('common.welcome')}</h1>;
}

Next.js

Use with next-intl or next-i18next

// Install
npm install next-intl
// next.config.js
const withNextIntl = require('next-intl/plugin')();
module.exports = withNextIntl({});
// i18n.ts
import { getRequestConfig } from 'next-intl/server';
export default getRequestConfig(async ({ locale }) => ({
messages: (await import(`./messages/${locale}.json`)).default
}));
// Use in components
import { useTranslation } from '@/hooks/useTranslation';
export default function Welcome() {
const { t } = useTranslation('common');
return <h1>{t('welcome')}</h1>;
}

Vue

Use with vue-i18n

// Install
npm install vue-i18n
// main.js
import { 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>

Design

Figma

The official IntlPull Figma plugin allows designers to sync text layers to the translation platform, preview any language instantly, and push translated content back to designs.

Browser Extensions

IntlPull Chrome Extension

Translate directly in your browser. Works on any website - select text, click translate, and save translations instantly. Perfect for quick translations and website localization testing.

Features: Select & translate text • Auto-detect language • One-click save • Works on any website

Install from Chrome Web Store

CI/CD Integrations

GitHub Actions

Sync translations on push or PR

# .github/workflows/sync-translations.yml
name: Sync Translations
on:
push:
branches: [main]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Sync translations
run: npx @intlpullhq/cli sync
env:
INTLPULL_API_KEY: ${{ secrets.INTLPULL_API_KEY }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: 'chore: sync translations'

GitLab CI

Integrate with GitLab pipelines

# .gitlab-ci.yml
sync-translations:
stage: prepare
image: node:20
script:
- npx @intlpullhq/cli sync
artifacts:
paths:
- messages/
only:
- main

Webhooks

Configure webhooks to get notified when translations change. Available events:

  • translation.created - New key added
  • translation.updated - Translation modified
  • translation.deleted - Key removed
  • translation.published - Changes published to production
  • import.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.

Next Steps

    Integrations - IntlPull Documentation | IntlPull