Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Блог » Делаем шаблоны DLE мультиязычными (альфа-версия)

Делаем шаблоны DLE мультиязычными (альфа-версия)


 ПафНутиЙ    18.08.2013    Блог    4678    10 комментариев

Предлагаю обсудить вопрос мультиязычности шаблонов DLE.
Что это даст теоретически?
  • Отсутствие необходимости делать по одному шаблону на каждый язык сайта.
  • простота добавления новых языков в дальнейшем


Вот собственно сама идея:

В файл index.php
После:
require_once ROOT_DIR . '/engine/init.php';

Добавить:
if ( file_exists( ROOT_DIR . '/language/' . $config["public_lang"] . '/public.lng' ) ) {
  @include_once (ROOT_DIR . '/language/' . $config["public_lang"] . '/public.lng');
}

создать соответствующий файл.
После:
$tpl->load_template ( 'main.tpl' );

добавить:
foreach ($public_lang as $l_phrse => $l_value) {
  $tpl->set('{lang_'.$l_phrse.'}', $l_value);
}


в config.php после:
'version_id' => "X.X",

добавить:
'public_lang' => "Russian",


Вот что в public.lng:
<?php
  // Мультиязычность шаблонов
  $public_lang = array (
    'comment' => 'Комментарий',
  );
?>


Вот так пишем в шаблон:
{lang_comment}


Собственно всё, остаётся продумать механизм переназначения переменной языка.

Что думаешь Гость?

10 комментариев

verstala
Гости

verstala - 18 августа 2013 15:42 -

ПафНутиЙ Я мало что понимаю в php, так как занимаюсь html версткой. но было бы очень удобно если текст можно было выводить с помощью .lng

DaivZ
Юзер

DaivZ - 18 августа 2013 18:20 -

Я так понимаю что то подобное на это http://www.marzochi.ws/diger/202-dle-tema-dil-dosyasi.html

ПафНутиЙ
Админ

ПафНутиЙ - 18 августа 2013 19:05 -

да, действительно, но там тоже нет автоматического определения языка.

Каков вопрос - таков и ответ. Просто помните об этом.

xsash
Юзер

xsash - 18 августа 2013 19:41 -

имхо, проблема не в том, как сделать шаблоны на разных языках, а в том - как публиковать новости на разных языках.

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

ПафНутиЙ
Админ

ПафНутиЙ - 18 августа 2013 21:21 -

В принципе можно выводить их через сторонние модули + js с яндекс переводчиком, а вот ключи всёравно придётся гереить или вписывать ручками, или по крону через тот же яндекс-переводчик (у него пока это всё бесплатно)

Каков вопрос - таков и ответ. Просто помните об этом.

xsash
Юзер

xsash - 18 августа 2013 22:34 -

я в итоге решил этот вопрос установкой нескольких cms в разные папки /ru/ и /en/
все равно в итоге их наполняют разные люди (второй переводчик)

Japing
Гости

Japing - 20 августа 2013 23:59 -

надо делать как то так
/index.php?action_language_change=yes&language_name=Russian

GFIT
Юзер

GFIT - 2 сентября 2014 23:39 -

Что думаешь GFIT?

Думаю норм.

dj-avtosh
PHP-developer

dj-avtosh - 3 сентября 2014 05:26 -

Круто)

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Zoroz
Юзер

Zoroz - 27 августа 2015 14:45 -

Хорошо, но проблема в том что эта вещь работает только на главной странице шаблона main.tpl и не более

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх