prostogorod |
|
---|---|
Сделал в соответствии с этой инструкцией https://www.cotonti.com/ru/docs/help/i18n_quickstart pl|Polska Опускать параметр языка в URL, если он указывает на основной язык: Да Но есть несколько моментов, которые я не понял как работают.
2. Принудительная установка языка по умолчанию для всех пользователей: если да, не происходит перевод меню, и главная страница на польском
|
Macik |
|
---|---|
0. Количество языков никак не влияет на этапы их настройки. Т.е. 3 языка настраиваются в точности также как и 2. 1. «Принудительная установка языка по умолчанию» подразумевает, что у вас все пользователи будут видеть сайт на польском (раз он прописан в `config.php`) вне зависимости от персональных настроек. Если опция отключена должно отображаться в соответствии с настройками профиля, или по факту выборя языка в меню (то, что здесь на сайте обозначено флажками ). 2. Используете ли ЧПУ? Какой пресет? Если ЧПУ не включено язык должен фигурировать в GET переменной `l` (английская L). Если используете ЧПУ, проверьте, что есть необходимые строки в `.htaccess`. 3. Сделайте вывод языковой переменной где-либо в шаблоне, посмотрите меняется ил она и в каких случаях (она на прямую связана с GET переменной `l`): {PHP.i18n_locale} 4. Язык админки зависит, в первую очередь от настроек профиля администратора. 5. Убедитесь, что соотв. языковые файлы у вас установлены (папка `lang` и соотв. папки Расширений). И что содержимое этих файлов соответствует их имени. 6. Убедитесь, что текстовые строки в шаблоне (например главной страницы) забиты там в виде языковых Тегов, а не прямым текстом. Т.е. как пример {PHP.L.Access}, а не тупо строкой «Доступ».
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Спасибо за ответ! Многое стало на места. Но есть еще два вопроса? 1. Работает ли перевод, если страница создана в папке system? У меня нет, возможно не правильно настроил? 2. Главная по тайтлу и дискрипшену прописана на польском, при переключении главной на английский либо русский, тайтл и дискрипшен также на польском. Подскажите, пожалуйста, как это исправить или где искать в коде решение этой проблемы?
|
|
This post was edited by prostogorod (2016-10-18 11:00, 8 years ago) |
Macik |
|
---|---|
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Вроде многое заработало, но еще есть вопросы связанные с категорией System. 1. Когда производим интернационализацию структуры у меня две колонки, например польский и русский, как категорию System во второй колноке прописываваем? Тоже System либо оставить пустым? 2. В категорию System, добавил страницу about. site.com/about/ - отображается, основной польский язык а если по этим ссылкам site.com/pl/system/about/ - отображается страница Подскажите, пожалуйста, что не так настроил? Где искать решение? Хотя, если страница находится в другой категории, например services site.com/services/delivery/ все страницы корректно отображаются... Добавлено 17 часов спустя: Апну тему))) |
|
This post was edited by prostogorod (2016-10-21 10:07, 8 years ago) |
Macik |
|
---|---|
1. Не принципиально, т.к. это всего лишь перевод названия раздела для `system` он вроде в явном виде нигде не светиться. 2. Интересный кейс! Потестировал локально. Похоже это баг выросший из двух разных «багофич»: первое это баг апача, когда при многократном преобразовании исходного URI может дублировать хвосты путей. Второй, это уже известная «фича» URLEditor'а Cotonti, который учитывает только первый и последний элемент пути, а на остальное кладет болт. Т.е. если бы не эта особенность в реализации URLEditora, то не работали бы оба приведенные вами варианта. Решается рекомендованным в Apache методом — добавлением в правило трансформации (в .htaccess) специально созданного «DPI» флага для «обнуления ранее обработанных путей» : # Language selector RewriteRule ^(en|ru|de|nl|ua)/(.*) $2?l=$1 [QSA,NC,NE,DPI] Попробуйте и отпишитесь о результатах. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Да, решение проблемы действительно определяеться добавлением «DPI» флага . Спасибо! Но после решения этих вопросов, всплыл такой баг связаный с выводом тайтла страницы, котороя находиться в категории system. Если установлен, основной язык то страница в категории system, выдает только тайтл, а для остальных языковых версий этой страницы добавляеться еще надпись - System Для себя сделал такое решение, в функции cot_title, добавил: if($params['CATEGORY']=='System'){unset($params['CATEGORY']);$mask=str_replace(' - {CATEGORY}', '', $mask);}
|
|
This post was edited by prostogorod (2016-10-25 19:32, 8 years ago) |
Macik |
|
---|---|
Крайне не рекомендую править код ядра. Себе же создаете проблемы на будущее. if (strtolower($_GET['c']) == 'system') $cfg['page']['title_page'] = '{TITLE}'; Добавляем туда же, куда и прежнее — в языковые файлы темы оформления. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Работает, как часы... Спасибо! Но столкнулся с такой задачей, если загруженое изображение имеет надпись на определенном языке... а также альт и тайтл изображения.... Использую плагин mavatars и модуль files. Как менять изображение, альт и тайтл изображения взависимости от языковой версии сайта? |
Macik |
|
---|---|
#42273 prostogorod: На сколько помню в этих расширениях нет поддержки `i18n`. Поэтому если только городить огород. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Теперь столкнулся с работой хлебных крошок при многоязычности и увидел еще одну проблемку. |
Macik |
|
---|---|
Такое поведение «зашито» в ф-ю `cot_breadcrumbs`. Создайте тикет на ГитХабе — исправим. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Создал тикет... |
Macik |
|
---|---|
Исправлено. Протестируйте... https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
prostogorod |
|
---|---|
Спасибо! Все отлично работает! |