Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Двух язычный сайт

Супер пользователь
Сообщений: 171
Нужен двух язычный сайт. Как это реализовать? Ваши мысли пожалуйста...
Разработчик
Сообщений: 605
Поддержки многоязычности в системе толком нет. Только лишь в модулях Лемура текст вынесен в языковой файл. С этого и можно начать: собирать текст из всей системы в языковой файл. Потом во всех местах, где он нужен, нужно брать из языкового файла. Для этого лучше создать функцию, которая будет на входе принимать ключ, а на выходе давать текст для этого ключа с учетом текущего языкового файла. Должно выйти достаточно удобно. Дальше уже дело продумать как сделать выбор, тут уже есть разные варианты.

Есть парочку загвоздок. Сделать местами качественный перевод путем тупого выноса фраз может быть проблемой, если языки по строению различаются сильно. В русском языке есть склонение, падежи и так далее. Если это не учитывается в системе локализации, то могут пойти казусы вроде "Добавить Картинка", что сильно режет глаз (лично я в таких случаях предпочитаю не использовать перевод. уж лучше читать нормальный английский, чем такой а-ля гугл транслейт). Уже придется думать, производить анализ, закладывать разные формы слов, выносить целые фразы, сделав в них переменные. Перепилка потребуется и для некоторых JS скриптов, а так же шаблонов (в большинстве из них сам текст содержится в них, а не пробрасывается из модуля). Это что касалось локализации интерфейса. Что касается контента - это другая интересная история.

Можно и тупо установить две копии и их поддерживать, в реализации это проще, ведь просто нужно пройтись по системе и перевести ее на нужный язык. Есть на LinkorCMS сайты, которые не на русском языке. Там видать так и переводили. Но это одноязычные сайты. С двумя же копиями работать менее удобнее, чем с одной. Но при небольшом объеме контента вполне возможно. Еще несколько может ограничить возможности локализации тот факт, что система не использует UTF8. С чем-то вроде китайского наверняка всплывут проблемы из-за однобайтовой кодировки.
Супер пользователь
Сообщений: 171
Тупой вариант я уже сделал. Видел сайты на других языках на кириллице, а мне нужно на латинице.
Думал что может есть вариант умнее. Типа плагина qianqin.de/qtranslate/
Если сделать на английском, то проблем из за кодировки не будет?
Новичок
Сообщений: 2
Я хочу переводить двиг на узбекский язык.
Можноли так? мне мультязычность не нужна
Разработчик
Сообщений: 605
MEN:
Думал что может есть вариант умнее. Типа плагина qianqin.de/qtranslate/

Ссылка кидает на главную сайта.

Почитайте вообще про кодировки. Грубо говоря, была придумана кодировка ASCII, она была 7 битная (128 символов). В ней были цифры, латиница, некоторые знаки. Потом ей дали еще один бит и она стала 8 битной (256 значений). Стало удобно использовать верхнюю половину для национальных символов языков, которые не использовали латиницу (или им требовалось еще что-то, вроде диакритики). Все это хорошо пошло, в итоге получились наборы в виде кодовых таблиц, где первая часть - это стандартная 7 битная ASCII (цифры, некоторые знаки, латиница. тут тому же английскому везет, он любом случае будет корректно отображаться), а верхняя - набор национальных символов (там для всяких украинских, русских, белорусских - кириллица, для немецкого - диакритикаи так далее). Но при таком раскладе нужно знать в какой кодировке представленный текст, чтобы корректно отобразить символы из верхней части (иначе будут так называемые крякозяблы). Да и нельзя использовать одновременно несколько разных кодировок. Опять же грубо был придуман уникод для решения этих проблем. Взяли не 8 бит, а 16 и получили единую табличку в 65536 симолов, куда можно запихать многие знаки. Там разные есть ревизии стандарта и представления (стандарт сейчас абстрагировался от того, как это будет закодировано), но суть в том, что вместо множества небольших локализованных кодовых таблиц взяли одну большую со множеством символов. Теперь особых проблем нет в том, чтобы писать одновременно на разных языках (так как все их символы спокойно войдут в кодовую таблицу) и нет сильной проблемы крякозябл (множество всяких кодовых таблиц, коих популярных найдется штук 20, сливается в пару уникодных, а зачастую тупо в UTF-8). На счет всякого изврата вроде иероглифов, арабского письма, письма с лева на право не скажу, ибо почти не сталкивался, тут уж сами попробуйте изучить этот вопрос. И так уже нормальный экскурс вышел.

MEN:
Если сделать на английском, то проблем из за кодировки не будет?

Система использует кириллическую кодировку cp1251, первая часть которой совместима с ASCII и содержит латиницу. Проблем с записью латиницы, которую использует английский язык, не будет (собственно, русские сайты в 99.(9)% то не состоят полностью из кириллицы). Но нужно иметь в виду, что зачастую буржуи юзают кодировку latin1, где вместо кириллицы в верхней части другие знаки находятся, вроде диакритики. Так что лучше всего изменять кодовую таблицу под тот язык, который будет использоваться (если вам не потребуется кириллица).

fanat21:
Я хочу переводить двиг на узбекский язык.
Можноли так? мне мультязычность не нужна

Я не знаю что там в узбекском используется для письменности, но для кириллического варианта подходит windows-1251 (на ней система и работает) или windows-1254 для латиницы. Смотрите вообще по кодировкам информацию в той же википедии.
Супер пользователь
Сообщений: 171
Мартин, спасибо за экскурс.
Мартин:
qianqin.de/qtranslate/ Ссылка кидает на главную сайта.

Да, а так www.qianqin.de/qtranslate/ нет.

A a B b C c D d E e F f G g H h I i J j K k L l M m N n O o P p Q q R r S s T t U u V v W w X x Y y Z z
с узбекским языком попроще, в узбекском алфавите всего две дополнительные буквы O‘ o‘ G‘ g‘
в азербайджанском алфавите шесть &#199; &#231; '9; <1; &#286; &#287; &#214; &#246; &#350; &#351; &#220; &#252;
а к примеру в туркменском алфавите восемь &#196; &#228; &1; &2; &#221; &#253; 7; 8; &#214; &#246; &#220; &#252; &#199; &#231; &#350; &#351;

вот здесь уже видны проблемы, но это ещё возможно зависит от шрифта.

-- Изменено "MEN": 02.03.2014 23:49 --
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 1)
Быстрый переход: