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"]
}