Усовершенствуйте свое приложение Laravel: освоение переводов с помощью параметров

Привет, уважаемый энтузиаст Laravel! Сегодня мы собираемся погрузиться в захватывающий мир переводов Laravel и изучить, как использовать параметры, чтобы сделать вашу локализацию еще более эффективной. Так что хватайте любимый напиток, устраивайтесь в кресле для кодирования и приступайте!

вы можете получить переведенные строки на основе текущей локали. Но знаете ли вы, что этим переводам можно также передавать параметры? Давайте рассмотрим некоторые способы достижения этой цели.

Метод 1: замена базового параметра

, для которого требуется динамическое имя:

// resources/lang/en/messages.php
return [
    'greeting' => 'Hello, :name!',
];
echo trans('messages.greeting', ['name' => 'John']);

Выход:

Hello, John!

Метод 2: числовые параметры

, отображающий количество непрочитанных сообщений:

// resources/lang/en/messages.php
return [
    'unread_messages' => 'You have :count unread messages.',
];
echo trans_choice('messages.unread_messages', $count, ['count' => $count]);

Выход:

You have 5 unread messages.

Метод 3: Параметры даты и времени

, отображающий дату предстоящего события:

// resources/lang/en/messages.php
return [
    'event_date' => 'The event is on :date.',
];
echo trans('messages.event_date', ['date' => $eventDate->format('F j, Y')]);

Выход:

The event is on March 15, 2024.

Метод 4: Условные параметры

, который приветствует пользователей по-разному в зависимости от их пола:

// resources/lang/en/messages.php
return [
    'welcome_user' => 'Welcome, :name! You are a :gender.',
];
echo trans('messages.welcome_user', [
    'name' => 'Alice',
    'gender' => $isMale ? 'male' : 'female',
]);

Выход:

Welcome, Alice! You are a female.

Подводя итог, мы рассмотрели четыре различных метода включения параметров в переводы Laravel: базовую замену параметров, числовые параметры, параметры даты и времени и условные параметры. Используя эти методы в своем наборе инструментов, вы сможете создавать динамические и локализованные возможности для своих пользователей, где бы они ни находились.