JavaScript (Vanilla)
フレームワークなしで、あらゆるJavaScriptまたはTypeScriptプロジェクトでi1nを使用できます。
セットアップ
i1n を依存関係としてインストールし (__VAR_1__ npm install i1n) 、__VAR_2__ i1n init を実行してプロジェクトを構成します。CLI は locales/ ディレクトリにネストされた JSON 形式を設定します。
i1n SDKは、Node.js、ブラウザ、Deno、Bunなど、あらゆるJavaScriptまたはTypeScript環境で動作します。フレームワークやビルドツールの依存関係は必要ありません。
使用方法
i1nからinitとtをインポートします。init()をロケールと翻訳リソースで呼び出し、次にt()を使用して翻訳された文字列を取得します。変数は{var}、{{var}}、または%{var}構文で補間されます。
setLocale()を使用して、実行時に言語を切り替えます。_zero、_one、_otherのキーサフィックスを介して複数形がサポートされています。生成されたi1n.d.tsファイルは、TypeScriptを使用している場合に完全なオートコンプリートを提供します。
ブリッジモード
既存のプロジェクトでカスタム翻訳関数やルックアップシステムを使用している場合は、registerI1n((key, params) => yourFunction(key, params))で接続してください。これにより、既存のセットアップにi1nの型安全なオートコンプリートが追加されます。
ブリッジモードは、キーとオプションのパラメータを受け取り、文字列を返す任意の関数で動作します。これにより、i1nはフレームワークに関係なく、あらゆるカスタムi18nソリューションと互換性を持つことができます。
import { init, t } from 'i1n'
init({
locale: 'en_us',
resources: {
en_us: { greeting: 'Hello {name}' },
es_es: { greeting: 'Hola {name}' }
}
})
t('greeting', { name: 'World' }) // "Hello World" import { registerI1n } from 'i1n'
// Connect any custom translation function
registerI1n((key, params) => myCustomLookup(key, params))