Lingo.dev + .php (Laravel)
Lingo.dev CLIはPHP配列ベースの言語ファイルを構文、Laravelの規約、PHPに特化したフォーマットを保持しながら翻訳します。CLIはPHP配列の構文とフォーマットを正確に維持し、Laravelのローカライゼーションシステムとシームレスに連携し、:name
や:count
などの変数を保持し、多次元配列構造を処理し、配列を使用するあらゆるPHPフレームワークと互換性があります。
クイックセットアップ
PHP言語配列ファイル用の設定:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"php": {
"include": ["resources/lang/[locale]/*.php"]
}
}
}
注意: [locale]
は設定内でそのまま残しておくべきプレースホルダーであり、CLI実行時に実際のロケールに置き換えられます。
PHP配列の翻訳
npx lingo.dev@latest i18n
文字列値を翻訳しながら、PHP構文、配列構造、Laravelに特化した規約を保持します。
PHP配列構造
基本的な言語配列
<?php
return [
'welcome' => 'Welcome to our application',
'dashboard' => 'Dashboard',
'settings' => 'Settings',
'logout' => 'Log Out',
];
ネストされた配列のサポート
<?php
return [
'auth' => [
'login' => 'Log In',
'register' => 'Register',
'forgot_password' => 'Forgot Password?',
'reset_password' => 'Reset Password',
],
'validation' => [
'required' => 'This field is required',
'email' => 'Please enter a valid email address',
],
];
Laravelプレースホルダーのサポート
<?php
return [
'welcome_user' => 'Welcome back, :name!',
'items_count' => 'You have :count items in your cart',
'validation' => [
'min' => 'The :attribute must be at least :min characters',
],
];
フレームワーク統合
Laravel翻訳ヘルパー
Laravelの翻訳関数とシームレスに連携します:
__('messages.welcome')
trans('auth.login')
@lang('validation.required')
複数形サポート
<?php
return [
'items' => 'item|items',
'minutes' => '{0} no minutes|{1} one minute|[2,*] :count minutes',
];
高度な設定
複数の言語ディレクトリ
"php": {
"include": [
"resources/lang/[locale]/*.php",
"lang/[locale]/**/*.php"
]
}
設定キーのロック
"php": {
"include": ["resources/lang/[locale]/*.php"],
"lockedKeys": ["app.timezone", "app.locale", "app.fallback_locale"]
}