Jump to content

Recommended Posts

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

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

 

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

У нас есть файл 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'];
}
}

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

Edited by Shaman
  • Upvote 3

Share this post


Link to post
Share on other sites

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

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

 

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

У нас есть файл 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'];
}
}

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

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

Share this post


Link to post
Share on other sites

 

 

 

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

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

 

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

У нас есть файл 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

Share this post


Link to post
Share on other sites

 

 

 

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

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

 

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

У нас есть файл 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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×