cotonti.com : вопрос по i18n https://www.cotonti.com Последние сообщения в теме Cotonti en Mon, 13 Oct 2025 03:40:09 -0000 cotemplate #42594 Macik:
#42563 cotemplate:
 

Идеальнее так:

# Language selector
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]{2})/(.*)$  $2?l=$1 [L,QSA]
RewriteRule ^([a-z]{2})$  index.php?l=$1 [L,QSA]

Эта конструкция не идеальна, т.к. поломает логику работы сайта, в случае применения 2-х буквенных имен для категорий.

 

Возможно. Хотя я исходил из того, что у меня в юрл всегда прописывается текущий язык. Т.ч. проблем не наблюдаю.

Вместо site.com

У меня site.com/lang/

]]>
ср, 25 янв 2017 17:37:58 -0000
Macik #42563 cotemplate:
 

Идеальнее так:

# Language selector
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]{2})/(.*)$  $2?l=$1 [L,QSA]
RewriteRule ^([a-z]{2})$  index.php?l=$1 [L,QSA]

Эта конструкция не идеальна, т.к. поломает логику работы сайта, в случае применения 2-х буквенных имен для категорий.

 

]]>
пт, 20 янв 2017 22:03:02 -0000
cotemplate #38105 Leshkens:

Почувствовал себя идиотом :D

Вообще все так, кроме плагина ilanguage, для чего он? Ведь i18n переключает и интерфейс и страницы. Насколько я знаю, на этом сайте тоже установлен только i18n.

Попробуй поиграть с параметром «Опускать параметр языка в URL, если он указывает на основной язык:». Меняется ли что-нибудь?

Да, меняется ровно то, что должно меняться :) В языке установленном по-умолчанию в ссылках появляется код языка.

 

На выходе получается вот что:

С включенной функцией ЧПУ в i18n (ошибка 404):

site.ru/en/register

site.ru/en/passrecover

site.ru/en/profile

site.ru/en/users

 

С выключенной функцией ЧПУ в i18n (работает):

site.ru/register?l=en

site.ru/passrecover?l=en

site.ru/profile?l=en

site.ru/users?l=en

Проблема актуальна по сей день.

Так же у меня не работают категории с ЧПУ

site.ru/ru/news - error 404

site.ru/en/news - error 404

 

Проблема решается через такое правило:

# Language selector
RewriteRule ^(ru|ua|en|de|nl)/(.*) index.php?rwr=$2&l=$1 [QSA,NC,NE]

 

Добавлено 1 минута спустя:

Так же что бы не было проблем с подключением шрифтов и т.д.

Наблодал проблему с font-awesome

Лучше делать так:

# Language selector
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(ru|ua|en|de|nl)/(.*)$  $2?l=$1 [L,QSA]
RewriteRule ^(ru|ua|en|de|nl)$  index.php?l=$1 [L,QSA]

Идеальнее так:

# Language selector
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]{2})/(.*)$  $2?l=$1 [L,QSA]
RewriteRule ^([a-z]{2})$  index.php?l=$1 [L,QSA]

 

]]>
ср, 04 янв 2017 11:11:28 -0000
Macik Однозначно не скажу... 
но попробуйте для начала посмотреть параметр `$cfg['parser']`:

«Управление сайтом» → «Конфигурация» → «Настройки сайта» → Парсер разметки

 

]]>
ср, 17 авг 2016 22:21:07 -0000
Виктор У меня проблема с выводом статьи, а именно при добавлении перевода статьи все нормально открывается редактор и тд, а вот когда публикую статью выводит  html как простой текст, в чем может быть проблема.

основная статья выводит нормально

]]>
ср, 17 авг 2016 18:52:00 -0000
Leshkens Почувствовал себя идиотом :D

Вообще все так, кроме плагина ilanguage, для чего он? Ведь i18n переключает и интерфейс и страницы. Насколько я знаю, на этом сайте тоже установлен только i18n.

Попробуй поиграть с параметром «Опускать параметр языка в URL, если он указывает на основной язык:». Меняется ли что-нибудь?

Да, меняется ровно то, что должно меняться :) В языке установленном по-умолчанию в ссылках появляется код языка.

 

На выходе получается вот что:

С включенной функцией ЧПУ в i18n (ошибка 404):

site.ru/en/register

site.ru/en/passrecover

site.ru/en/profile

site.ru/en/users

 

С выключенной функцией ЧПУ в i18n (работает):

site.ru/register?l=en

site.ru/passrecover?l=en

site.ru/profile?l=en

site.ru/users?l=en
]]>
пт, 04 окт 2013 13:43:32 -0000
Macik
Давай еще раз проверим:

- Определимся что хотим - возможность переводить страницы и отображать контент на нескольких языках (плагин i18n) или возможность «на лету» переключать язык интерфейса (плагин ilanguage). Или и то и другое
- Cotonti Siena 0.9.1*  (т.е. старше 0,9,10)
- Установлен плагин 
i18n
- Установлен плагин ilanguage
- Настроены категории и языка для i18n (см. илл.1)
- Внесены правки в .htaccess  (см. илл.2 )
- в шаблоны добавлен код вызова переключения языков интерфейса(в моем случае это header.tpl, см. илл.3 )
- для формирования ссылок в шаблонах исполдьзованы вызовы cot_url (см. пример для логина и регистрации из темы HTML Kickstart - илл. 4 )

Попробуй поиграть с параметром «Опускать параметр языка в URL, если он указывает на основной язык:». Меняется ли что-нибудь?

Если после проверки всех пунктов ничего не изменилось сообщи: 
- версию котонти, браузер, версии плагинов
- есть ли ошибки в консоле браузера (
Ctrl-Shift-J в Хроме, там вкладка Console; Ctrl-Shift-K в FF)
- какие ссылки получаются на выходе из приведенных тобой вызовов cot_url.
 


 


 

 

]]>
пт, 04 окт 2013 12:35:12 -0000
Leshkens Macik, да, все так. И все равно 404. Еще подметил, что ошибка возникает при переходе на модуль Users, то есть на ссылки вида: 

{PHP|cot_url('users','m=register')}

{PHP|cot_url('users','m=passrecover')}

{PHP|cot_url('users','m=profile')}

{PHP|cot_url('users')}

 

]]>
пт, 04 окт 2013 07:05:55 -0000
Macik Какой скин (тема оформления) используется? Проблема может быть в формировании ссылок на ресурсы. 
Если включен ЧПУ, проверь, что ссылки формируются через ф-ю `cot_url`, и что в файле .htaccess прописаны все необходимые правила (из файла sef-urls.htaccess), плюс добавлено что-то типа:

# Language selector
RewriteRule ^(ru|ua|en|de|nl)/(.*) $2?l=$1 [QSA,NC,NE]

 

]]>
пт, 04 окт 2013 02:45:51 -0000
Leshkens Столкнулся с проблемой. Щелкнув по установленному селектору на главной, язык меняется, все ок, но вот в некоторые разделы сайта не заходит, например в админку или личные сообщения. Выводит 404. То, есть, например, вот по такому адресу "mysite.ru/en/admin" или "mysite.ru/en/profile" всегда ошибка 404, все равно какой язык, хоть "mysite.ru/ru/profile". 

URL Editor установлен как удобный. .htacces скопирован из sef-urls.htaccess

0.9.14

 

Добавлено 5 минуты спустя:

Плюс ко всему, после смены языка через селектор, например на немецкий, если сменить еще раз будучи, например, в личных сообщения, то получается что-то вроде: "mysite.ru/en/pm/pm/pm"

Добавлено 13 часа спустя:

Понял что дело в ЧПУ, отключив соответсвующую функцию в настройках плагина i18n, все стало ок. Но, все же интересно почему с ЧПУ не работает?

]]>
ср, 02 окт 2013 22:44:06 -0000
esclkm определенные замечания по поводу - i18n : даже в сиене они встраиваются слишком поверхностно - мне надо.. чтобы при разработке модулей я не мучался и не задумывался в отношении i18n

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

Добавлено 28 минуты спустя:

 асамый главные его недостаток - что работая сним вечно ищешь а чего оно не работает

]]>
чт, 16 авг 2012 07:13:49 -0000
Kort А какая технически разница между заполнением лэнг-файла и работой с формой (тулзовой части плагина или чего у вас там)? Ланг-файл удобнее и возможностей больше.

]]>
чт, 16 авг 2012 05:17:39 -0000
Oughtem В №4

]]>
ср, 15 авг 2012 18:35:16 -0000
esclkm я не понял про изврат - а кто его предлагал?

]]>
ср, 15 авг 2012 15:40:51 -0000
Oughtem Создание меню путём занесения названий категорий и пейджей в ланг-файл - это, граждане, изврат. Хотя способ бесспорно действующий. Таким образом можно сделать сайт, который не собирается расти.

]]>
ср, 15 авг 2012 00:59:59 -0000
esclkm второй - надо проверять локаль и делать 3 меню

третий - а что не ловит?

]]>
вт, 14 авг 2012 19:05:25 -0000
Fox В своей теме создаеш файлы

themename.en.lang.php

themename.ru.lang.php

themename.uk.lang.php

<?php
/**
 * User Russian Language File for themename Skin
 *
 * @package Cotonti
 * @version 0.9.11
 * @author Cotonti Team
 * @copyright Copyright (c) Cotonti Team 2008-2012
 * @license BSD
 */

defined('COT_CODE') or die('Wrong URL.');

/**
 * Put your theme-specific language strings here
 */
$L['Home'] = 'Главная';
$L['Category 1'] = Категория 1';
$L['Follow_Twitter'] = 'Твитнуть!';
$L['Sitemap'] = 'Карта сайта';
$L['Contact'] = 'Контакты';
?>

В свой tpl в нужное место вставляеш {PHP.L.Home} и.т.д.

]]>
вт, 14 авг 2012 16:43:03 -0000
Oughtem первый вопрос решён) как на счёт 2 ? pagecattree можно заточить под мульязычность?

]]>
вт, 14 авг 2012 11:42:36 -0000
esclkm а украинская локализация есть на сайте?

]]>
вт, 14 авг 2012 06:09:53 -0000
Oughtem 1. Хочу добавить поддержку 3-х языков. Всё сделал в точности как тут http://www.cotonti.com/docs/help/i18n_quickstart . А конфиге плагина прописал 

ru|Russian
ua|Ukraine
en|English

Но когда перехожу для выбора локали http://site/i18n?m=structure&l=ru , то активная у меня только одна - English (там я могу прописать титлы и дескрипшены для категорий на англ. языке). Если щёлкаю на украинскую локаль, то страница просто обновляется и я опять же перед выбором локалей. Также пробовал и другие языки и получил тот же результат: перевести титлы и дскрипшены можно только на английской локали. Соответственно и на страницах, когда добавляешь перевод на украинском языке, то он не сохраняется, а на английском сохраняется нормально.

В .htaccess такой код:

# Language selector
RewriteRule ^(ru|ua|en|de|nl)/(.*) $2?l=$1 [QSA,NC,NE]

2. Ещё хотелось бы чтоб навигационное меню менялось в соответствии с выбранным языком. Какой-то плагин вывода катгорий поддерживает эту возможность?

Cotonti 0.9.11

]]>
пн, 13 авг 2012 22:45:32 -0000