Система управления сайтом Twilight CMS позволяет создавать сайты, работающие в любой кодировке - windows-1251, iso-8859-1, UTF-8 и т.д.
Чтобы браузер корректно отобразил сайт, и им можно было управлять через CMS необходимо чтобы:
- Веб-сервер выдавал корректные HTTP заголовки с указанием кодировки, либо не выдавал их вовсе.
- В META тэгах страницах была прописана кодировка сайта.
- Контент страницы должен соответствовать этой кодировке.
п.1 решается путем указания кодировки сайта в файле preferences.xml, ключ html_encoding.
п.2 решается путем прописания разработчиком в HTML шаблонах строки вида
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1251">
п.3 решается комплексно - в нужной кодировке должны храниться:
- Шаблоны страниц, скрипты и CSS файлы (папка Templates).
- Контент сайта (папка Content).
- Данные сайта (папка Data).
- Все управляющие xml структуры (файлы menu.xml, catalog.xml, forum.xml, entities.xml, preferences.xml и т.д.), при этом в заголовках xml файлов также должна быть указана корректная кодировка.
Часть из этих файлов формируется вручную разработчиком, либо может редактироваться им вручную, поэтому разработчик отвечает за то, в какой кодировке он сохраняет файлы на диск и должен за этим следить самостоятельно. Те файлы, которые записываются системой управления, например, контентные файлы или файлы данных, будут сохраняться в кодировке, указанной в preferences.xml (см. выше) автоматически.
Если мы переводим сайт, например сайт-заготовку или уже существующий сайт, из одной кодировки в другую необходимо:
- Прописать кодировку в preferences.xml.
- Прописать кодировку в шаблонах HTML страниц в META тэгах.
- Прописать кодировку в заголовках и перевести в нужную кодировку все XML файлы системы во всех папках сайта.
- Перевести в нужную кодировку все контентные файлы (txt, html в Content), файлы с данными (dat в Data), шаблоны страниц и CSS/JS файлы (html, xml, js, css в Templates).
- Проверить наличие и при необходимости создать файл с текстовыми сообщениями (словарь) в админзоне на нужном языке в нужной кодировке (папка /Admin/Messages), см. статью о мультиязычности сайта и админзоны: http://www.twl.ru/tsdn/typical_tasks/multilang_of_site_and_adminzone
Перевод файлов из одной кодировки в другую можно осуществить открывая файлы в редакторе, который понимает обе кодировки (исходную и целевую) и сохраняя в нужной кодировке. Обычно можно использовать для этой цели самый стандартный редактор - notepad. Либо, разработчик сайта может написать собственную процедуру перекодировки файлов.