コンテンツへスキップ
フレームワーク

1つのダッシュボードで、あらゆるフレームワークに対応

Vue、React、Angularをネイティブでサポートしています。スキャナーは package.json から i18n ライブラリを自動検出するため、設定は不要です。

Vue

vue-i18n

vue-i18n 9+ を完全にサポートしています。テンプレートの構文、コンポーザブルの呼び出し、および SFC の <i18n> ブロックをスキャンします。

検出されたパターン

  • テンプレート
    <p>{{ $t('greeting') }}</p>
  • コンポーザブル
    const { t } = useI18n()
    const label = t('nav.home')
  • 指令
    <span v-t="'actions.save'" />
  • コンポーネント
    <i18n-t keypath="welcome.message" />

迅速な統合

import { createI18n } from 'vue-i18n'

const i18n = createI18n({
  locale: 'en',
  messages: {
    en: await fetch('/locale/en.json').then(r => r.json()),
  }
})
React

react-i18next および react-intl

人気のある2つのReact i18nライブラリが両方ともサポートされています。どちらかを選択すれば、スキャナーが自動的に対応します。

検出されたパターン

  • Hook (i18next)
    const { t } = useTranslation()
    <h1>{t('greeting')}</h1>
  • コンポーネント (i18next)
    <Trans i18nKey="terms.accept" />
  • コンポーネント(国際版)
    <FormattedMessage id="welcome" />
  • 命令法(国際)
    intl.formatMessage({ id: 'errors.required' })

迅速な統合

import i18n from 'i18next'
import HttpBackend from 'i18next-http-backend'

i18n.use(HttpBackend).init({
  fallbackLng: 'en',
  backend: { loadPath: '/locale/{{lng}}.json' },
})
Angular

ngx-translate

@ngx-translate/core と連携します。テンプレート、パイプ、ディレクティブ、およびサービス呼び出しをスキャンします。

検出されたパターン

  • パイプ
    <h1>{{ 'greeting' | translate }}</h1>
  • 指令
    <span [translate]="'nav.home'"></span>
  • サービス
    this.translate.instant('errors.required')
  • ストリーム
    this.translate.stream('dashboard.title')

迅速な統合

import { TranslateModule, TranslateLoader } from '@ngx-translate/core'
import { TranslateHttpLoader } from '@ngx-translate/http-loader'

TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: (http) => new TranslateHttpLoader(http, '/locale/', '.json'),
    deps: [HttpClient]
  }
})