Lingo.dev + .php (Laravel)
Lingo.dev CLI traduit les fichiers de langue basés sur des tableaux PHP tout en préservant la syntaxe, les conventions Laravel et le formatage spécifique à PHP. Le CLI maintient exactement la syntaxe et le formatage des tableaux PHP, fonctionne parfaitement avec le système de localisation de Laravel, préserve les variables :name
et :count
, gère les structures de tableaux multidimensionnels, et est compatible avec tout framework PHP utilisant des tableaux.
Configuration rapide
Configuration pour les fichiers de tableaux de langue PHP :
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"php": {
"include": ["resources/lang/[locale]/*.php"]
}
}
}
Rappel : [locale]
est un placeholder qui doit rester littéralement dans la configuration, car il est remplacé par la locale réelle pendant l'exécution du CLI.
Traduire les tableaux PHP
npx lingo.dev@latest i18n
Préserve la syntaxe PHP, la structure des tableaux et les conventions spécifiques à Laravel tout en traduisant les valeurs des chaînes.
Structure des tableaux PHP
Tableaux de langue basiques
<?php
return [
'welcome' => 'Bienvenue dans notre application',
'dashboard' => 'Tableau de bord',
'settings' => 'Paramètres',
'logout' => 'Déconnexion',
];
Support des tableaux imbriqués
<?php
return [
'auth' => [
'login' => 'Connexion',
'register' => 'Inscription',
'forgot_password' => 'Mot de passe oublié ?',
'reset_password' => 'Réinitialiser le mot de passe',
],
'validation' => [
'required' => 'Ce champ est obligatoire',
'email' => 'Veuillez saisir une adresse e-mail valide',
],
];
Support des placeholders Laravel
<?php
return [
'welcome_user' => 'Bon retour, :name !',
'items_count' => 'Vous avez :count articles dans votre panier',
'validation' => [
'min' => 'Le champ :attribute doit comporter au moins :min caractères',
],
];
Intégration avec le framework
Helpers de traduction Laravel
Fonctionne parfaitement avec les fonctions de traduction de Laravel :
__('messages.welcome')
trans('auth.login')
@lang('validation.required')
Support de pluralisation
<?php
return [
'items' => 'élément|éléments',
'minutes' => '{0} aucune minute|{1} une minute|[2,*] :count minutes',
];
Configuration avancée
Répertoires de langues multiples
"php": {
"include": [
"resources/lang/[locale]/*.php",
"lang/[locale]/**/*.php"
]
}
Verrouiller les clés de configuration
"php": {
"include": ["resources/lang/[locale]/*.php"],
"lockedKeys": ["app.timezone", "app.locale", "app.fallback_locale"]
}