Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

Рекомендуемые сообщения

Доброго времени суток, дорогие пользователи форума.

У многих возникали вопросы по добавлению языков в сборку, в просто народие называемых как "ланги".

 

И так, начнём с того, как они работают.

У нас есть файл site.lng

Который лежит по пути lang/Russian/site.lng

Для того, что бы подключить новый языковой пакет, нам нужно создать папку с файлом site.lng

сделать всё нужно примерно так: вашсайт/lang/имяпапки(к примеру:English)/site.lng

Далее идём в админ панель =>> настройки системы =>> Список используемых языков (название папок)

Там вы увидите такой текст: Русский | Russian

Это подключение вашего языкового пакета.

Пишем: Английский | English

Далее идём по пути: templates/шаблон/js/

И создаём папку English с файлом внутри.Можно просто создать копию папки Russian и переименовать.

 

Всё, наш "lang" подключен.

 

Теперь нам нужно все слова из файлов таких как tpl js php 

 

У меня есть данный код(я взял его из файла profile.tpl):

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>Статистика страницы</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>Изменить фотографию</div></a>

<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>Удалить фотографию</div></a>[/owner]

Теперь нам нужно слова занести в файл site.lng К тому же, не только в тот, который находить в папке Russian , а и тот, который в папке English 

 

Вот так вы должны заполнить документ.К тому же, они должны быть под одинаковым номером, что бы правильно выводились в шаблоне.

 

'lang_001'  => 'Статистика страницы',
'lang_002'  => 'Изменить фотографию',
'lang_003'  => 'Удалить фотографию',

 

Вносим слова, данным способом в оба файла site.lng, и заменяем их в profile.tpl данным образом:

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_001}</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_002}</div></a>
​
<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_003}</div></a>[/owner]

Точнее вот таким текстом: {translate=lang_001}

Где lang_001 это id вашего слова в файле site.lng

 

Так же изменяем и в js файлах.

Разобрались с js и tpl , теперь на очереди php файлы.

 

Здесь всё немного по иному. Используется след. код: $lang['lang_001']

 

Возьмём этот кусочек с файла functions.php

if($type == 'rec'){
if($numres == 1){
$gram_num_record = 'запись';
} elseif($numres < 5){
$gram_num_record = 'записи';
} elseif($numres < 21){
$gram_num_record = 'записей';
} elseif($numres == 21){
$gram_num_record = 'запись';
}
}

 

У вас должно выйти вот так:

 

Сразу говорю, что данные скобки 'запись'; вам нужно убирать, и писать просто $lang['lang_001']

if($type == 'rec'){
if($numres == 1){
$gram_num_record = $lang['lang_001'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_002'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_003'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_004'];
}
}

Думаю я вам помог.Будут вопросы задавайте в теме, с радостью отвечу.Удачи!

Изменено пользователем Shaman
Ссылка на комментарий
Поделиться на другие сайты

Доброго времени суток, дорогие пользователи форума.

У многих возникали вопросы по добавлению языков в сборку, в просто народие называемых как "ланги".

 

И так, начнём с того, как они работают.

У нас есть файл site.lng

Который лежит по пути lang/Russian/site.lng

Для того, что бы подключить новый языковой пакет, нам нужно создать папку с файлом site.lng

сделать всё нужно примерно так: вашсайт/lang/имяпапки(к примеру:English)/site.lng

Далее идём в админ панель =>> настройки системы =>> Список используемых языков (название папок)

Там вы увидите такой текст: Русский | Russian

Это подключение вашего языкового пакета.

Пишем: Английский | English

Далее идём по пути: templates/шаблон/js/

И создаём папку English с файлом внутри.Можно просто создать копию папки Russian и переименовать.

 

Всё, наш "lang" подключен.

 

Теперь нам нужно все слова из файлов таких как tpl js php 

 

У меня есть данный код(я взял его из файла profile.tpl):

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>Статистика страницы</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>Изменить фотографию</div></a>

<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>Удалить фотографию</div></a>[/owner]

Теперь нам нужно слова занести в файл site.lng К тому же, не только в тот, который находить в папке Russian , а и тот, который в папке English 

 

Вот так вы должны заполнить документ.К тому же, они должны быть под одинаковым номером, что бы правильно выводились в шаблоне.

 

'lang_001'  => 'Статистика страницы',
'lang_002'  => 'Изменить фотографию',
'lang_003'  => 'Удалить фотографию',

 

Вносим слова, данным способом в оба файла site.lng, и заменяем их в profile.tpl данным образом:

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_001}</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_002}</div></a>
​
<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_003}</div></a>[/owner]

Точнее вот таким текстом: {translate=lang_001}

Где lang_001 это id вашего слова в файле site.lng

 

Так же изменяем и в js файлах.

Разобрались с js и tpl , теперь на очереди php файлы.

 

Здесь всё немного по иному. Используется след. код: $lang['lang_001']

 

Возьмём этот кусочек с файла functions.php

if($type == 'rec'){
if($numres == 1){
$gram_num_record = 'запись';
} elseif($numres < 5){
$gram_num_record = 'записи';
} elseif($numres < 21){
$gram_num_record = 'записей';
} elseif($numres == 21){
$gram_num_record = 'запись';
}
}

 

У вас должно выйти вот так:

 

Сразу говорю, что данные скобки 'запись'; вам нужно убирать, и писать просто $lang['lang_001']

if($type == 'rec'){
if($numres == 1){
$gram_num_record = $lang['lang_001'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_002'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_003'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_004'];
}
}

Думаю я вам помог.Будут вопросы задавайте в теме, с радостью отвечу.Удачи!

А как сделать переключение между языками для пользователя?

Ссылка на комментарий
Поделиться на другие сайты

 

 

 

Доброго времени суток, дорогие пользователи форума.

У многих возникали вопросы по добавлению языков в сборку, в просто народие называемых как "ланги".

 

И так, начнём с того, как они работают.

У нас есть файл site.lng

Который лежит по пути lang/Russian/site.lng

Для того, что бы подключить новый языковой пакет, нам нужно создать папку с файлом site.lng

сделать всё нужно примерно так: вашсайт/lang/имяпапки(к примеру:English)/site.lng

Далее идём в админ панель =>> настройки системы =>> Список используемых языков (название папок)

Там вы увидите такой текст: Русский | Russian

Это подключение вашего языкового пакета.

Пишем: Английский | English

Далее идём по пути: templates/шаблон/js/

И создаём папку English с файлом внутри.Можно просто создать копию папки Russian и переименовать.

 

Всё, наш "lang" подключен.

 

Теперь нам нужно все слова из файлов таких как tpl js php 

 

У меня есть данный код(я взял его из файла profile.tpl):

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>Статистика страницы</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>Изменить фотографию</div></a>

<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>Удалить фотографию</div></a>[/owner]

Теперь нам нужно слова занести в файл site.lng К тому же, не только в тот, который находить в папке Russian , а и тот, который в папке English 

 

Вот так вы должны заполнить документ.К тому же, они должны быть под одинаковым номером, что бы правильно выводились в шаблоне.

 

'lang_001'  => 'Статистика страницы',
'lang_002'  => 'Изменить фотографию',
'lang_003'  => 'Удалить фотографию',

 

Вносим слова, данным способом в оба файла site.lng, и заменяем их в profile.tpl данным образом:

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_001}</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_002}</div></a>
​
<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_003}</div></a>[/owner]

Точнее вот таким текстом: {translate=lang_001}

Где lang_001 это id вашего слова в файле site.lng

 

Так же изменяем и в js файлах.

Разобрались с js и tpl , теперь на очереди php файлы.

 

Здесь всё немного по иному. Используется след. код: $lang['lang_001']

 

Возьмём этот кусочек с файла functions.php

if($type == 'rec'){
if($numres == 1){
$gram_num_record = 'запись';
} elseif($numres < 5){
$gram_num_record = 'записи';
} elseif($numres < 21){
$gram_num_record = 'записей';
} elseif($numres == 21){
$gram_num_record = 'запись';
}
}

 

У вас должно выйти вот так:

 

Сразу говорю, что данные скобки 'запись'; вам нужно убирать, и писать просто $lang['lang_001']

if($type == 'rec'){
if($numres == 1){
$gram_num_record = $lang['lang_001'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_002'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_003'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_004'];
}
}

Думаю я вам помог.Будут вопросы задавайте в теме, с радостью отвечу.Удачи!

А как сделать переключение между языками для пользователя?

 

 

 

 

По сути, ты и делаешь выбор языков.Когда ты сделаешь действия этой инструкции, то у тебя получится что то типо 

того: 

KAxe56vuD9Ejr8.png

Ссылка на комментарий
Поделиться на другие сайты

 

 

 

Доброго времени суток, дорогие пользователи форума.

У многих возникали вопросы по добавлению языков в сборку, в просто народие называемых как "ланги".

 

И так, начнём с того, как они работают.

У нас есть файл site.lng

Который лежит по пути lang/Russian/site.lng

Для того, что бы подключить новый языковой пакет, нам нужно создать папку с файлом site.lng

сделать всё нужно примерно так: вашсайт/lang/имяпапки(к примеру:English)/site.lng

Далее идём в админ панель =>> настройки системы =>> Список используемых языков (название папок)

Там вы увидите такой текст: Русский | Russian

Это подключение вашего языкового пакета.

Пишем: Английский | English

Далее идём по пути: templates/шаблон/js/

И создаём папку English с файлом внутри.Можно просто создать копию папки Russian и переименовать.

 

Всё, наш "lang" подключен.

 

Теперь нам нужно все слова из файлов таких как tpl js php 

 

У меня есть данный код(я взял его из файла profile.tpl):

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>Статистика страницы</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>Изменить фотографию</div></a>

<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>Удалить фотографию</div></a>[/owner]

Теперь нам нужно слова занести в файл site.lng К тому же, не только в тот, который находить в папке Russian , а и тот, который в папке English 

 

Вот так вы должны заполнить документ.К тому же, они должны быть под одинаковым номером, что бы правильно выводились в шаблоне.

 

'lang_001'  => 'Статистика страницы',
'lang_002'  => 'Изменить фотографию',
'lang_003'  => 'Удалить фотографию',

 

Вносим слова, данным способом в оба файла site.lng, и заменяем их в profile.tpl данным образом:

[owner]<a href="/my_stats" onClick="Page.Go(this.href); return false;"><img class="icon stat_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_001}</div></a>

<a href="/" onClick="Profile.LoadPhoto(); return false;"><img class="icon editphoto_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_002}</div></a>
​
<a href="/" onClick="Profile.DelPhoto(); return false;" id="del_pho_but" {display-ava}><img class="icon del_photo_ic" src="{theme}/images/spacer.gif" alt="" /><div>{translate=lang_003}</div></a>[/owner]

Точнее вот таким текстом: {translate=lang_001}

Где lang_001 это id вашего слова в файле site.lng

 

Так же изменяем и в js файлах.

Разобрались с js и tpl , теперь на очереди php файлы.

 

Здесь всё немного по иному. Используется след. код: $lang['lang_001']

 

Возьмём этот кусочек с файла functions.php

if($type == 'rec'){
if($numres == 1){
$gram_num_record = 'запись';
} elseif($numres < 5){
$gram_num_record = 'записи';
} elseif($numres < 21){
$gram_num_record = 'записей';
} elseif($numres == 21){
$gram_num_record = 'запись';
}
}

 

У вас должно выйти вот так:

 

Сразу говорю, что данные скобки 'запись'; вам нужно убирать, и писать просто $lang['lang_001']

if($type == 'rec'){
if($numres == 1){
$gram_num_record = $lang['lang_001'];
} elseif($numres < 5){
$gram_num_record = $lang['lang_002'];
} elseif($numres < 21){
$gram_num_record = $lang['lang_003'];
} elseif($numres == 21){
$gram_num_record = $lang['lang_004'];
}
}

Думаю я вам помог.Будут вопросы задавайте в теме, с радостью отвечу.Удачи!

А как сделать переключение между языками для пользователя?

 

 

 

 

По сути, ты и делаешь выбор языков.Когда ты сделаешь действия этой инструкции, то у тебя получится что то типо 

того: 

KAxe56vuD9Ejr8.png

 

Не получилось((( Можешь помочь?

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
  • 2 недели спустя...

Там вы увидите такой текст: Русский | Russian ---- Пишем: Английский | English  , я непонемаю, надо добавит рядом, или помениат местами? обянил вобще невтему , ест какои способ полегщце?  рускии мой неоцен , спс за ответ.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...

ОШИБОЧКА - Хорошо было бы есть сделать для каждого пользователя свой язык Например основной русский а если у пользователя выбран язык русский после авторизации переключить на Английский (например в таблице User сделать user_lang и тд)

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
17 минут назад, Mr.Timbios сказал:

@Karina наверное где-то допустил ошибку, мануал рабочий

много раз пробвал! в файл запишу слово все как надо а в шаблоне не вылазит((

 

Ссылка на комментарий
Поделиться на другие сайты

Только что, Mr.Timbios сказал:

@Karina это нужно сборку смотреть, я так ничем не смогу помочь

дак обычная что тут лежит тиа чистая но с беседами

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
1 час назад, GoogleChrome сказал:

если текст не в tpl а в php файле? как там подключить lng?

Попробуй сначала дочитать статью полностью :5aac4b9669bac_1(139):

Ссылка на комментарий
Поделиться на другие сайты

создавал новый файл php для функций. при запуске берет почему-то только из русского ланга. где-то нужно подключить обработку нового php файла?

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...

В файле functions.php я так вводил. Тоже всё работает, нареканий никаких не обнаружено
Всё работает, просто нужно внимательно читать мануал. У кого что не заработало, внимательно присмотритесь - где сделали ошибку

Screenshot_55.png

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, vadymholunha сказал:

В файле functions.php я так вводил. Тоже всё работает, нареканий никаких не обнаружено
Всё работает, просто нужно внимательно читать мануал. У кого что не заработало, внимательно присмотритесь - где сделали ошибку

Screenshot_55.png

Методом тыка?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...