|
|
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторЧто, простыми js файлами хранить - не? в чём профит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 18:12 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
WarstoneМеня поражают люди, которые даже свои труселя в базе хранят... Что, простыми js файлами хранить - не? А при генерации просто или lang подставлять в линки или вообще на стороне клиента это делать (можно и сервера через X-Accel-Redirect) меня больше паражают люди которые так делают) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2013, 19:19 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
как то так...в чём профит?Кеш локи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 12:04 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторКеш локи. заинтриговал! у меня есть страница с меню, которое я должен перевести на два языка ru\en где я должен постучать для перевода, что бы автор простыми js файлами хранить... А при генерации просто ... lang подставлять в линки... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 15:09 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
WarstoneМеня поражают люди, которые даже свои труселя в базе хранят... Что, простыми js файлами хранить - не? А при генерации просто или lang подставлять в линки или вообще на стороне клиента это делать (можно и сервера через X-Accel-Redirect) А зачем плодить тыщу файлов, можно просто их генерить в рантайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2013, 17:51 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
Хоть в переводе нуждается практически только интерфейс, но он-то все-равно динамический. Может поменяться состав меню, выпадающих списков, каких-нибудь заголовков. Что, каждый раз js-файлы править? Все хранится в базе потому что там хранится, вообще, все. Т.е. ни в HTML ни в JS никаких текстов, кроме технических нет. Шаблонизаторы по этой же причине никакие в принципе не могут быть использованы. PHP берет из БД, транзитом передает в JS, тот вставляет в HTML, всё. Основное требование тут это удобство разработки. Чтобы из-за таблички с языками не приходилось везде вставлять муторные запросы в 4 строчки или захламлять базу левыми вещами. Ну и быстродействие на выдачу хотя бы. Кстати, зачем генерировать уникальную строку, если можно в translates хранить id, article_table, article_id. Последние даже можно слить в одно поле. X-Accel-Redirect что за зверь и почему с ним должно быть проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 01:17 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторЧто, каждый раз js-файлы править? а что в БД это само поправится? ;) авторШаблонизаторы по этой же причине никакие в принципе не могут быть использованы. !? ИМХО муторно как-то организовано у тебя (AJAX - для перевода!) - то ли от непонимания, то ли от незнания... таблички какие-то and etc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 13:55 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
автора что в БД это само поправится? ;) Одно дело если локализацией занимается погроммист, он открыл проектик пошаманил там в файлах. А если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 14:11 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторА если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой. как ни странно, но я ни за ни против - я воспринимаю и БД и ФС как некое хранилище информации - в данном случае - перевод интерфейса страниц портала - и там и там есть свои плюсы и свои минусы! ;) + на сколько удобно организовано получение\передача информации от хранилища к пользователю и обратно - навык программиста - и этот вопрос мне вовсе не интересен - мой выбор MVC - и на сегодня он обжалованию не подлежит! ;) интересно другое казалось бы логичное решение выстраивать шаблон страницы, используя переменные в качестве статичного контента, в которые можно засунуть описание-перевод в зависимости от запрашиваемого языка - не проходят! вопрос перетекает из плоскости в плоскость и упирается в надуманные проблемы! Лично я (повторюсь!) использую БД Sqlite - где храню интерфейс страниц в виде сериализованных массивов - довольно быстро и очень удобно - на проектах категории НЕ GOOGLE!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:01 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
Shitbox2Все хранится в базе потому что там хранится, вообще, все. Т.е. ни в HTML ни в JS никаких текстов, кроме технических нет. И получаем на свою голову проблемы с хранением версий/истории правок сайта. Базу в систему контроля версий уж очень неудобно уталкивать. HettОдно дело если локализацией занимается погроммист, он открыл проектик пошаманил там в файлах. А если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой. Мне всегда казалось, что научить локализатора править тексты в файлах ресурсов обычным текстовым редактором гораздо проще, чем Web интерфейс для них делать. А нормальный переводчик, привыкший к текстовым редакторам дурной Web-интерфейс кучу раз проклянет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:09 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
InkelyadShitbox2Все хранится в базе потому что там хранится, вообще, все. Т.е. ни в HTML ни в JS никаких текстов, кроме технических нет. И получаем на свою голову проблемы с хранением версий/истории правок сайта. Базу в систему контроля версий уж очень неудобно уталкивать. HettОдно дело если локализацией занимается погроммист, он открыл проектик пошаманил там в файлах. А если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой. Мне всегда казалось, что научить локализатора править тексты в файлах ресурсов обычным текстовым редактором гораздо проще, чем Web интерфейс для них делать. А нормальный переводчик, привыкший к текстовым редакторам дурной Web-интерфейс кучу раз проклянет. не разу не видел чтобы локализатор имел доступ к ftp или к репозиторию проекта, да и еще умел работать с онными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:15 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
Ренатне разу не видел чтобы локализатор имел доступ к ftp или к репозиторию проекта, да и еще умел работать с онными. А ему не надо уметь. У него есть доступ к текстовому документу ресурсов в google docs или чем-то похожем. Потом мы его сами на место кладем/тестируем/исправляем ошибки/коммитим. Говорим, что нас не устроило (прямо в goggle docs комментариями) и цикл повторяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:23 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
А если надо перевести на 40 языков и приложение растет и добавлять перевод необходимо постоянно, то с каждым переводчиком так мучиться каждый раз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:27 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
Мне так проще сделать одну страничку за 3 часа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:28 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
А за день можно и обвертку написать, где переводчик будет кликать на текст и тут же править его и сохранять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:29 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
HettА за день можно и обвертку написать, где переводчик будет кликать на текст и тут же править его и сохранять. Без версионности работать с любым текстовым материалом плохо. Очень. А в GoogleDocs она есть. Можно, конечно, и в свою обертку встроить, но стоит ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 16:59 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторПотом мы его сами на место кладем/тестируем/исправляем ошибки/коммитим. и какая разница кладёте вы его в БД или файл ресурсов или ещё куда? ;) всяко, он попадает сперва к вам а уж потом в проект! авторИ получаем на свою голову проблемы с хранением версий/истории правок сайта. делайте бэкап, что ли... ;) ИМХО - не важно где и как хранить важно, как отдать! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 17:46 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
как то так...и какая разница кладёте вы его в БД или файл ресурсов или ещё куда? ;) всяко, он попадает сперва к вам а уж потом в проект! Если в проекте лежит текстовый исходник того, что потом в базе данных будет, то все хорошо. Только непонятно, для чего база в этом случае нужна. С тем же успехом можно вместо скрипта заливки в базу написать скрипт генерации статических шаблонов c подставленным языком. А если мы перевод сразу в базу данных заливаем, не включая текстовый исходник в проект - то смотри ниже. делайте бэкап, что ли... ;) То-то программисты системы контроля версий придумали. "Самай последний перевод этой странцы в этом файле лежит, другой - в другом. Как бы нам теперь как бы нам все эти изменения в один файл слить? А вот тут мы вчера решили измениния отменить, у кого версия за н-ное число сохранилась" Без системы контроля версий с текстовой информацией работать нельзя. Бардак выходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 18:51 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторТолько непонятно, для чего база в этом случае нужна. м.б. как минимум, целостность информации + тот же бэкап? авторБез системы контроля версий с текстовой информацией работать нельзя. Бардак выходит. да ладно - делай инсерт в БД с временной меткой вместо апдейта - не мне тебя учить - т.ч. считай, разговор ни о чём! Твоя позиция ясна - сохранять всё по файликам в фс и дёргать их! Явных преимуществ твоего подхода против хранения информации в БД (для конкретного случая) я не увидел! Да и не основная это проблема - место хранения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 20:17 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
как-то так...м.б. как минимум, целостность информации + тот же бэкап? Про целостность в смысле "чтобы не хранились переводы для объектов, на которые ссылок нет" - можно согласится. Про бэкап - не понял. Делать резервное копирование статических файлов гораздо проще, чем базы. да ладно - делай инсерт в БД с временной меткой вместо апдейта - не мне тебя учить - т.ч. считай, разговор ни о чём! История изменений переводов на этапе функционирования сайта вещь совершенно не нужная, она нужна большей частью тому, кто сайт делает. Поэтому где-то в движке сайта ей заниматься вредно. Вот если именно CMS пишется - тогда нужно об этом думать. Твоя позиция ясна - сохранять всё по файликам в фс и дёргать их! Совершенно верно, подгружается файл ресурсов и используется. Автор темы хочет генерацией страницы на JS заниматься, те можно брать шаблонный движок на JS и хранить на сервере шаблоны для его работы. Вытянуть же браузером статический файл /templates/i18n/ru.json проще и для головы и для сервера. Явных преимуществ твоего подхода против хранения информации в БД (для конкретного случая) я не увидел! Преимущества будут в момент, когда нам потребуется слить изменения от двух разработчиков. Один поправил один раздел сайта, другой человек - другой раздел. Но при этом одну и ту же фразу перевели по разному. Теперь это нужно все слить в одно целое. При использовании текстовых ресурсов у нас система контроля версий заметит, что одну и ту же строку в файле ресурса меняли оба. А с базой данных нужно будет самому отслеживать. Да и не основная это проблема - место хранения! Вопрос был про то, как делать. Я бы дела так: Для динамического контента (те такой, который пользователи сайта сами без участия программистов добавляют) делаем по таблице на язык и жоиним. Если нравится из отдельных столбцов язык вытаскивать - делам подходящий VIEW. Для всего остального - ресурсы в виде статических текстовых файлов для понравившегося варианта gettext. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2013, 21:47 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
авторДля динамического контента... угу... перевод на различные языки и есть тот самый "динамичный контент" (С) +по прежнему интересно - Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. опустим подгрузку json-а - бо это жесть! интересуют твои действия, в соответствии с твоей парадигмой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 10:41 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
опустим подгрузку json-а - бо это жесть! Если шаблонизатор у нас работает внутри браузера, а не на серверной стороне - то вполне неплохо. Другое дело, что сама идея шаблонного движка внутри браузера у меня некоторое сомнение вызывает. интересуют твои действия, в соответствии с твоей парадигмой? [/quot] Загрузку ресурсов и шаблонов пропустим. А в самом шаблоне (условный шаблонизатор) странички будет Код: php 1. 2. 3. 4. 5. Шаблонизатор возмет шаблон, возмет ресурсы локализации и через gettext подставит во все _('...') перевод. Если верстка для разных языков отличается, то тогда придется для разных языков руками разные шаблоны страницы делать. Если хочется сделать оптимизацию загрузки, жертвуя дисковым пространством, то придется делать скрипт, который на этапе сборки сайта из шаблонов c _('') и ресурсов делает странички с уже подставленным языком. Но это уже если очень надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 11:19 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
автор А в самом шаблоне (условный шаблонизатор) странички будет неужели ты так и непонял, что механика будет одна и таже и там и там? Код: php 1. 2. 3. 4. 5. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. можно долго и упорно рассуждать о преимуществах и недостатках одного против другого... у тебя задействован gettext - нужно смотреть\изучать проверять тебе нужны какие то tempates textdomain bindtextdomain изменить тип хранилища ты уже не в состоянии ты вообще жёстко привязан к предоставленному тебе механизму!!! у меня задействован самописный механизм подстановки значений - нужно парится придумывать контроль версий тоже нужно придумать самому зато я волен выбирать хранилище по своему усмотрению - сегодня Sqlite, завтра ФС, послезавтра Mongo и я не привязан ни к чему (кроме PHP) - в принципе, шаблон я могу отдать в другой проект - любой разберётся как наполнить его контентом! и т.д. и т.п. Однако, суть - Механика - ОДНА И ТА ЖЕ!!! и там и там динамичный контент, выводимый из хранилища, в нужных местах по ключу!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 12:48 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
как то так... Однако, суть - Механика - ОДНА И ТА ЖЕ!!! и там и там динамичный контент, выводимый из хранилища, в нужных местах по ключу!!! Пришли таки к выводу, закроем этот балаган? Два разных метода, что кому что нравитьс ятот и юзает. У каждого метода есть свои плюсы и минусы, у каждого свои трудности. Всеравно каждый останеться при своем мнении и продолжит юзать свой метод (я за всю жизнь еще ни разу почемуто не работал с сайтами с мультиязычностью). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 12:54 |
|
||
|
Многоязычность на сайте. Как реализовать и нужно ли париться?
|
|||
|---|---|---|---|
|
#18+
РенатПришли таки к выводу, закроем этот балаган? Можно закрыть. Просто я как раз занимаюсь поддержкой сайта в архитектуре, которую Shitbox2 хочет использовать, сделан. Те 1) Статические по смыслу тексты хранятся в базе. 2) Хранятся в колонках с именами *_ru, *_en 3) Страница большей частью генерируется в браузере клинета 4) Шаблонизатор при этом не используется. Удовольствие, прямо скажем, сильно ниже среднего. Может, когда-нибудь кто-нибудь прочитает и так делать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2013, 14:02 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38159806&tid=1464099]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 410ms |

| 0 / 0 |
