Руководство для начинающих по отправке параметров в переводе Laravel

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.