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