Lingo.dev + .php (Laravel)

تقوم واجهة سطر أوامر Lingo.dev بترجمة ملفات اللغة المعتمدة على مصفوفات PHP مع الحفاظ على بناء الجملة واتفاقيات Laravel وتنسيق PHP المحدد. تحافظ واجهة سطر الأوامر على بناء جملة مصفوفة PHP وتنسيقها بدقة، وتعمل بسلاسة مع نظام الترجمة المحلية في Laravel، وتحافظ على متغيرات :name و:count، وتتعامل مع هياكل المصفوفات متعددة الأبعاد، وهي متوافقة مع أي إطار عمل PHP يستخدم المصفوفات.

الإعداد السريع

التكوين لملفات مصفوفة لغة PHP:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  },
  "buckets": {
    "php": {
      "include": ["resources/lang/[locale]/*.php"]
    }
  }
}

تذكير: [locale] هو عنصر نائب يجب أن يبقى في التكوين حرفيًا، حيث يتم استبداله باللغة الفعلية أثناء تشغيل واجهة سطر الأوامر.

ترجمة مصفوفات 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"]
}