Laravel с его элегантным синтаксисом и надежными функциями является популярной платформой PHP для веб-разработки. Когда дело доходит до создания многоязычных приложений, Laravel предоставляет мощную систему перевода, которая позволяет локализовать содержимое вашего приложения. В этой статье мы рассмотрим различные методы отправки параметров в переводе Laravel, которые позволят вам динамически заполнять переведенные строки динамическими данными. Итак, приступим!
// resources/lang/en/messages.php
return [
'welcome' => 'Welcome, :name!',
];
В своем коде вы можете использовать trans()
$name = 'John';
$message = trans('messages.welcome', ['name' => $name]);
echo $message;
Выход:
Welcome, John!
Метод 2: использование числовых заполнителей
Если параметры необходимо разместить в определенном порядке, вы можете использовать числовые заполнители. Вот пример:
// resources/lang/en/messages.php
return [
'greeting' => 'Hello, :0! How are you, :1?',
];
В вашем коде вы можете передавать параметры по порядку:
$param1 = 'Alice';
$param2 = 'Bob';
$message = trans('messages.greeting', [$param1, $param2]);
echo $message;
Выход:
Hello, Alice! How are you, Bob?
Метод 3: использование именованных заполнителей
В некоторых случаях вам может потребоваться использовать именованные заполнители вместо числовых заполнителей. Laravel позволяет вам определять именованные заполнители для ваших параметров. Рассмотрим следующий пример:
// resources/lang/en/messages.php
return [
'notification' => 'Hey, :recipient! You have a new message from :sender.',
];
В вашем коде передайте параметры как ассоциативный массив:
$params = [
'sender' => 'John',
'recipient' => 'Alice',
];
$message = trans('messages.notification', $params);
echo $message;
Выход:
Hey, Alice! You have a new message from John.
функция. Вот пример:
// resources/lang/en/messages.php
return [
'notifications' => '{0} You have no new notifications.|{1} You have one new notification.|[2,*] You have :count new notifications.',
];
В вашем коде вы можете передать параметр count в функцию trans_choice()
:
$count = 5;
$message = trans_choice('messages.notifications', $count, ['count' => $count]);
echo $message;
Выход:
You have 5 new notifications.
В этой статье мы рассмотрели различные методы отправки параметров при переводе Laravel. Используя строки-заполнители, числовые заполнители, именованные заполнители и встроенные замены, вы можете динамически заполнять переведенные строки динамическими данными. Использование этих методов позволит вам разрабатывать надежные и локализованные приложения с помощью мощной системы перевода Laravel.