...
✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Створіть багатомовний веб-сайт у PHP за допомогою Laravel Framework

56

Ви хочете створити багатомовний веб-сайт у PHP? Багатомовний веб-сайт допомагає збільшити аудиторію з кількох регіонів. У цій статті ми вивчаємо створення багатомовного веб-сайту в PHP за допомогою Laravel Framework.

Laravel має вбудовану функцію локалізації. Локалізація мови – це процес перекладу вмісту на різні мови. Використовуючи цю вбудовану функцію Laravel, ми можемо додати підтримку багатомовності на веб-сайті Laravel.

У Laravel ви можете легко отримувати рядки різними мовами, за допомогою яких ви можете надавати підтримку декільком мовам програми.

Існує 2 способи визначення рядків перекладу в Laravel – використання коротких клавіш та використання рядків перекладу як ключів. Давайте подивимось на це по одному.

Переклад Laravel за допомогою коротких клавіш

Для початку слід спочатку знати структури каталогів, що використовуються для перекладу в Laravel.

Скажімо, вам потрібно додати підтримку німецької мови. Отже, створіть каталог ‘de’ у папці ‘resources / lang’.

Створіть багатомовний веб-сайт у PHP за допомогою Laravel Framework

Рекомендується використовувати назву папки відповідно до території відповідно до значень ISO. Список кодів для мов ви можете отримати тут.

Створіть файл messages.phpу папці ‘de’. Цей файл містить масив рядків із ключем. Нижче наведено приклад, коли ми використовуємо німецький переклад для англійського слова „welcome".

<?php
 
return [
    'welcome' => 'Herzlich willkommen',
];

Тут "ласкаво просимо" – це визначений користувачем ключ. Цей ключ використовуватиметься для отримання рядків перекладу німецькою мовою. Ви можете додати стільки клавіш у цей файл. Додаючи ключі, ви повинні використовувати унікальні ключі в масиві. Повторення ключів призведе до неправильного перекладу.

Вищезазначений процес є простим, якщо на вашому веб-сайті мало вмісту. Але якщо ваш веб-сайт досить багатий на вміст, то зберігати унікальні ключі буде важко. У таких випадках виберіть другий варіант передачі рядків перекладу як ключів.

Використання рядків перекладу як ключів

При такому підході вам не потрібно передавати унікальний ключ. Що вам потрібно зробити, це створити файл у каталозі de.json‘resources / lang’. Далі, у цьому файлі JSON, передайте рядок перекладу як ключі.

Наприклад, вам потрібен німецький переклад англійського речення "How are you?" потім у de.jsonфайл додайте нижченаведену пару.

{
    "How are you?": "Wie geht es dir?"
}

Ключ рядка перекладу має бути саме тим, для чого ви хочете перекласти. Це буде набагато простіше, оскільки в коді вам потрібно передавати рядок перекладу безпосередньо.

Встановіть мову для веб-сайту Laravel

Коли ми встановлюємо Laravel, мовою за замовчуванням є "en". Щоб змінити мову за замовчуванням, відкрийте config/app.phpфайл. Знайдіть ключ "локаль" і встановіть код мови. У нашому випадку це буде 'locale' => 'de'.

Крім того, ви можете встановити час виконання мови, використовуючи setLocaleметод Appфасаду. У наведеному нижче коді я встановив мову в конструкторі.

use App;
public function __construct() {
    App::setLocale('de');
}

Отримайте рядки перекладу та замініть їх

Щоб отримати перекладений текст з мовних файлів, Laravel надав допоміжний метод ”. У наведеному нижче коді я отримую рядки перекладу як з файлу, так messages.phpі de.jsonз файлу леза.

{{ __('messages.welcome') }} //Output, Herzlich willkommen
 
{{ __('How are you?') }} //Output, Wie geht es dir?

У контролері ви можете отримати рядок перекладу за допомогою echoфункції.

echo __('messages.welcome');
echo __('How are you?');

Заповнювачі в рядках перекладу

Laravel також досліджує функції перекладу, де ви можете передавати заповнювачі в рядки перекладу.

'welcome' => 'Welcome, :name',

Або у de.josnфайлі,

{
    "How are you?": "Wie geht es dir, :name?"
}

Для заміни заповнювачів у додатку нам потрібно написати код наступним чином.

{{ __('messages.welcome', ['name' => 'John']) }}
 
{{ __('How are you?', ['name' => 'John']) }}

Якщо ми напишемо заповнювач як ‘: NAME’, виведемо ‘JOHN’, а для ‘: Name’ буде ‘John’.

Сподіваюсь, ви розумієте, як створити багатомовний веб-сайт у PHP, використовуючи фреймворк Laravel. Будь ласка, поділіться своїми думками та пропозиціями в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі