Страница 1 из 1

Проблемы с кодировкой

СообщениеДобавлено: 08 апр 2011, 00:18
onlynoob
Здравствуйте!
Занимаюсь разработкой сайта используя conсrete5, английская версия.
Сайт должен функционировать на двух языках: финский и английский.
При создании формы возникла необходимость перевести на финский стандартные надписи.
Например, при создании формы используя CAPTCHA появляется стандартный текст на английском: "Please type the letters and numbers shown in the image".
Нашел где он хранится: concrete/blocks/form/controller.php
Найдя данный текст, я благополучно его заменил на финский эквивалент: Syötä alla oleva merkkikoodi. Тоже самое проделал с кнопкой Submit (заменил на Lähetä в коде).

Но при открытии формы я вижу вместо некоторых символов непонятные значки.
Вероятно, где-то в английской сборке чего-то не хватает, поэтому и не может отобразить символы.

Подскажите, пожалуйста, где и что надо добивать в мою английскую сборку, чтобы символы корректно отображались.
З.Ы. имею полностью финскую сборку, вероятно нужно оттуда перекинуть несколько файлов.

Re: Проблемы с кодировкой

СообщениеДобавлено: 09 апр 2011, 13:43
cmsservice
Здравствуйте. Для начала нужно вставить в файл .htaccess следующие строчки, чтобы быть уверенным что отдается все в UTF-8

AddDefaultCharset utf-8
php_value default_charset utf-8

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

Re: Проблемы с кодировкой

СообщениеДобавлено: 10 апр 2011, 02:31
onlynoob
Спасибо за ответ!
cmsservice писал(а):Кроме того, странный у Вас подход к переводу на другой язык, по идее нужно для финского сделать языковой файл, и при переходе в языковую финскую часть сайта переопределять константу LOCALE, чтобы система понимала что она на финском работает и нужно брать финский языковой файл, а не править прямо в исходнике.

Можно тут подробнее, пожалуйста. Опишите как и что делать.
controller.php - как я понял тут править ничего не надо, оставить как и было на английском.
Как сделать сам языковой файл? Что в нём должно содержаться? Как и где переопределить константу LOCALE? Я просто новичок в этой системе, таких приёмов еще не знаю.
Если это слишком долго объяснять, скиньте пожалуйста ссылки на материалы, попытаюсь разобраться сам.

Re: Проблемы с кодировкой

СообщениеДобавлено: 10 апр 2011, 16:23
cmsservice
1. Локализации системы содержаться в директории /languages/<идентификатор языка>, например для русского языка путь будет /languages/ru_RU , а внутри директории лежит файл messages.mo - языковой файл, скомпилированный программой типа POEdit из messages.po, который ей же и создается путем сканирования исходных текстом системы. Вот здесь все изложено подробно
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

2. Для переопределения константы LOCALE нужно придумать какой-то программный код, но ИМХО это как раз не очень сложно, если знакомы с PHP.