Форум → Программирование → PHP для идиотов → Поддержка мультиязычности в веб-проектах, варианты реализации
Поддержка мультиязычности в веб-проектах, варианты реализации
Страницы: ← Следующая страница →
-
-
Авг. 21, 2014, 9:50 д.п., спустя 34 минуты 42 секунды
не подходит)
нужно сделать так чтобы потом не ауеть все переделывать, понятно что учимся на своих ошибках, но все же)) -
Авг. 21, 2014, 10:13 д.п., спустя 22 минуты 57 секунд
у нас дубль полей просто в таблице с постфиксами
title_ru, title_en, title_it и тп. много проблем решает. в принципе давно делал архитектуру, на уровне модели все автоматически читается/пишется в нужные колонки. не надо следить за синхронизацией переводов и тп. стер строку и нет дублей под перевод :)
выборки в 1 запрос без джойнов что тоже немаловажно.
вообще по факту путей немного:
1. extra columns в той же таблице
2. m2m связь с отдельной таблицей
3. одна большая таблица под все переводы с id model type, id model row, column name.первое самое простое судя по всему и по производительности тоже.
второе добавляет join по таблице
третье вообще пиздец. гдето видел такое, мудаки разрабы производительность там в районе 0Сапожник без сапог -
-
Авг. 21, 2014, 10:32 д.п., спустя 25 секунд
mongo рулит
@Ivan., )))))
Спустя 25 сек.
а пруфы?)Спустя 39 сек.
кстати как вариант - поле делать longtext например и хуярить в него json data - вот тебе и монга. только пара проблем с этим есть конечно, например поиск по нему будет непросто сделать)Сапожник без сапог -
Авг. 21, 2014, 10:39 д.п., спустя 7 минут 50 секунд
сэнкс дуд)
на хабре нашел несколько вариантов, ближе всего все же твой, более гибкий все же + поиск легко по такой сделать)) -
Авг. 21, 2014, 10:49 д.п., спустя 10 минут
сэнкс дуд)
на хабре нашел несколько вариантов, ближе всего все же твой, более гибкий все
же + поиск легко по такой сделать))@malaba, ну он как самый простой. хотя конечно многое зависит от обстоятельств. ворпресс вон вообще просто ебошат посты отдельные с ингл названием, но там хитрее все, у них можно остальную логику привязать к этим постам, там это было специально сделано, мне такого не надо, поэтому легкий путь, как всегда :)
Сапожник без сапог -
Авг. 21, 2014, 11:01 д.п., спустя 12 минут 3 секунды
поле делать longtext например и хуярить в него json data - вот тебе и монга
ебать ты извращенец -
-
Авг. 21, 2014, 12:42 п.п., спустя 1 час 39 минут 13 секунд
@malaba, ты бы сначала пояснил что именно имеешь в виду. Потому что «интернационализировать интерфейс» и «управлять контентом на нескольких языках» это принципиально разные вещи.
С интерфейсом все хорошо формализовано, фактически есть просто варианты реализации gettext. А контент надо обсуждать предметно. Согласись, магазин или документация в вики это совершенно разные варианты "сайта" :)
С контентом только одно стопудовое правило: локаль должна задаваться в URL. Иначе будут проблемы.
ιιlllιlllι унц-унц -
Авг. 21, 2014, 1:43 п.п., спустя 1 час 58 секунд
да я про контент имел ввиду) Почему локаль через урл? Ссылкой в куку если загнать и проверять потом если?
gettext - отдельная утилита, реализовать все на пыхе можно попробовать, в этом будет толк? -
Авг. 21, 2014, 2:05 п.п., спустя 21 минуту 31 секунду
С контентом только одно стопудовое правило: локаль должна задаваться в URL. Иначе будут проблемы.
ну да
Сапожник без сапог -
Авг. 21, 2014, 2:07 п.п., спустя 2 минуты 41 секунду
ОЙойой)Почему локаль через урл? Ссылкой в куку если загнать и проверять потом если?
-
Авг. 21, 2014, 2:46 п.п., спустя 38 минут 17 секунд
@malaba, почитай что такое seo клоакинг. это как раз то о чем ты говоришь. лучше не делать так можно фильтров хапнуть от поисковиков.
Сапожник без сапог
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!