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

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


 ПафНутиЙ    18.08.2013    Блог    2910    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
1

27 | 15

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

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

DaivZ
2

283 | 175

DaivZ - 18 августа 2013 18:20 - Юзер

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

ПафНутиЙ
1063

3392 | 2433

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

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

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

xsash
2

37 | 5

xsash - 18 августа 2013 19:41 - Юзер

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

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

ПафНутиЙ
1063

3392 | 2433

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

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

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

xsash
2

37 | 5

xsash - 18 августа 2013 22:34 - Юзер

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

Japing
9

19 | 2

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

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

GFIT
3

58 | 9

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

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

Думаю норм.

dj-avtosh
39

1479 | 390

dj-avtosh - 3 сентября 2014 05:26 - шашлычник

Круто)

skype: elhan.isaev

Zoroz
1

27 | 5

Zoroz - 27 августа 2015 14:45 - Юзер

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

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