Lingo.dev + .php (Laravel)

Lingo.dev CLI traduce archivos de idioma basados en arrays de PHP mientras preserva la sintaxis, las convenciones de Laravel y el formato específico de PHP. La CLI mantiene exactamente la sintaxis y el formato de los arrays de PHP, funciona perfectamente con el sistema de localización de Laravel, preserva las variables :name y :count, maneja estructuras de arrays multidimensionales y es compatible con cualquier framework de PHP que utilice arrays.

Configuración rápida

Configuración para archivos de arrays de idioma PHP:

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

Recordatorio: [locale] es un marcador de posición que debe permanecer literalmente en la configuración, ya que se reemplaza con el locale real durante la ejecución de la CLI.

Traducir arrays de PHP

npx lingo.dev@latest i18n

Preserva la sintaxis de PHP, la estructura de arrays y las convenciones específicas de Laravel mientras traduce los valores de las cadenas.

Estructura de arrays de PHP

Arrays de idioma básicos

<?php

return [
    'welcome' => 'Bienvenido a nuestra aplicación',
    'dashboard' => 'Panel de control',
    'settings' => 'Configuración',
    'logout' => 'Cerrar sesión',
];

Soporte para arrays anidados

<?php

return [
    'auth' => [
        'login' => 'Iniciar sesión',
        'register' => 'Registrarse',
        'forgot_password' => '¿Olvidó su contraseña?',
        'reset_password' => 'Restablecer contraseña',
    ],
    'validation' => [
        'required' => 'Este campo es obligatorio',
        'email' => 'Por favor, introduzca una dirección de correo electrónico válida',
    ],
];

Soporte para marcadores de posición de Laravel

<?php

return [
    'welcome_user' => '¡Bienvenido de nuevo, :name!',
    'items_count' => 'Tiene :count artículos en su carrito',
    'validation' => [
        'min' => 'El :attribute debe tener al menos :min caracteres',
    ],
];

Integración con frameworks

Helpers de traducción de Laravel

Funciona perfectamente con las funciones de traducción de Laravel:

  • __('messages.welcome')
  • trans('auth.login')
  • @lang('validation.required')

Soporte de pluralización

<?php

return [
    'items' => 'item|items',
    'minutes' => '{0} sin minutos|{1} un minuto|[2,*] :count minutos',
];

Configuración avanzada

Múltiples directorios de idiomas

"php": {
  "include": [
    "resources/lang/[locale]/*.php",
    "lang/[locale]/**/*.php"
  ]
}

Bloquear claves de configuración

"php": {
  "include": ["resources/lang/[locale]/*.php"],
  "lockedKeys": ["app.timezone", "app.locale", "app.fallback_locale"]
}