powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Многоязычность на сайте. Как реализовать и нужно ли париться?
25 сообщений из 51, страница 2 из 3
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38156246
авторЧто, простыми js файлами хранить - не?
в чём профит?
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38156324
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneМеня поражают люди, которые даже свои труселя в базе хранят... Что, простыми js файлами хранить - не? А при генерации просто или lang подставлять в линки или вообще на стороне клиента это делать (можно и сервера через X-Accel-Redirect)
меня больше паражают люди которые так делают)
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38157118
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так...в чём профит?Кеш локи.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38157492
авторКеш локи.
заинтриговал!
у меня есть страница с меню, которое я должен перевести на два языка ru\en
где я должен постучать для перевода, что бы
автор простыми js файлами хранить...
А при генерации просто ... lang подставлять в линки...

?
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38157823
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneМеня поражают люди, которые даже свои труселя в базе хранят... Что, простыми js файлами хранить - не? А при генерации просто или lang подставлять в линки или вообще на стороне клиента это делать (можно и сервера через X-Accel-Redirect)

А зачем плодить тыщу файлов, можно просто их генерить в рантайме.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38158249
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хоть в переводе нуждается практически только интерфейс, но он-то все-равно динамический. Может поменяться состав меню, выпадающих списков, каких-нибудь заголовков. Что, каждый раз js-файлы править?

Все хранится в базе потому что там хранится, вообще, все. Т.е. ни в HTML ни в JS никаких текстов, кроме технических нет. Шаблонизаторы по этой же причине никакие в принципе не могут быть использованы. PHP берет из БД, транзитом передает в JS, тот вставляет в HTML, всё.

Основное требование тут это удобство разработки. Чтобы из-за таблички с языками не приходилось везде вставлять муторные запросы в 4 строчки или захламлять базу левыми вещами. Ну и быстродействие на выдачу хотя бы. Кстати, зачем генерировать уникальную строку, если можно в translates хранить id, article_table, article_id. Последние даже можно слить в одно поле.

X-Accel-Redirect что за зверь и почему с ним должно быть проще?
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38158971
авторЧто, каждый раз js-файлы править?
а что в БД это само поправится? ;)
авторШаблонизаторы по этой же причине никакие в принципе не могут быть использованы.
!?
ИМХО муторно как-то организовано у тебя (AJAX - для перевода!) - то ли от непонимания, то ли от незнания... таблички какие-то and etc.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159004
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора что в БД это само поправится? ;)
Одно дело если локализацией занимается погроммист, он открыл проектик пошаманил там в файлах.
А если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159268
авторА если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой.
как ни странно, но я ни за ни против - я воспринимаю и БД и ФС как некое хранилище информации - в данном случае - перевод интерфейса страниц портала - и там и там есть свои плюсы и свои минусы! ;)
+ на сколько удобно организовано получение\передача информации от хранилища к пользователю и обратно - навык программиста - и этот вопрос мне вовсе не интересен - мой выбор MVC - и на сегодня он обжалованию не подлежит! ;)
интересно другое
казалось бы логичное решение выстраивать шаблон страницы, используя переменные в качестве статичного контента, в которые можно засунуть описание-перевод в зависимости от запрашиваемого языка - не проходят! вопрос перетекает из плоскости в плоскость и упирается в надуманные проблемы!

Лично я (повторюсь!) использую БД Sqlite - где храню интерфейс страниц в виде сериализованных массивов - довольно быстро и очень удобно - на проектах категории НЕ GOOGLE!!!
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159284
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shitbox2Все хранится в базе потому что там хранится, вообще, все. Т.е. ни в HTML ни в JS никаких текстов, кроме технических нет.
И получаем на свою голову проблемы с хранением версий/истории правок сайта. Базу в систему контроля версий уж очень неудобно уталкивать.

HettОдно дело если локализацией занимается погроммист, он открыл проектик пошаманил там в файлах. А если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой.

Мне всегда казалось, что научить локализатора править тексты в файлах ресурсов обычным текстовым редактором гораздо проще, чем Web интерфейс для них делать. А нормальный переводчик, привыкший к текстовым редакторам дурной Web-интерфейс кучу раз проклянет.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159301
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InkelyadShitbox2Все хранится в базе потому что там хранится, вообще, все. Т.е. ни в HTML ни в JS никаких текстов, кроме технических нет.
И получаем на свою голову проблемы с хранением версий/истории правок сайта. Базу в систему контроля версий уж очень неудобно уталкивать.

HettОдно дело если локализацией занимается погроммист, он открыл проектик пошаманил там в файлах. А если нужен веб-интерфейс, то вы тут же обретаете дополнительный гемморой.

Мне всегда казалось, что научить локализатора править тексты в файлах ресурсов обычным текстовым редактором гораздо проще, чем Web интерфейс для них делать. А нормальный переводчик, привыкший к текстовым редакторам дурной Web-интерфейс кучу раз проклянет.
не разу не видел чтобы локализатор имел доступ к ftp или к репозиторию проекта, да и еще умел работать с онными.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159315
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ренатне разу не видел чтобы локализатор имел доступ к ftp или к репозиторию проекта, да и еще умел работать с онными.
А ему не надо уметь. У него есть доступ к текстовому документу ресурсов в google docs или чем-то похожем.

Потом мы его сами на место кладем/тестируем/исправляем ошибки/коммитим.
Говорим, что нас не устроило (прямо в goggle docs комментариями) и цикл повторяется.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159327
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если надо перевести на 40 языков и приложение растет и добавлять перевод необходимо постоянно, то с каждым переводчиком так мучиться каждый раз?
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159329
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне так проще сделать одну страничку за 3 часа.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159332
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А за день можно и обвертку написать, где переводчик будет кликать на текст и тут же править его и сохранять.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159416
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HettА за день можно и обвертку написать, где переводчик будет кликать на текст и тут же править его и сохранять.
Без версионности работать с любым текстовым материалом плохо. Очень. А в GoogleDocs она есть. Можно, конечно, и в свою обертку встроить, но стоит ли?
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159538
авторПотом мы его сами на место кладем/тестируем/исправляем ошибки/коммитим.
и какая разница кладёте вы его в БД или файл ресурсов или ещё куда? ;)
всяко, он попадает сперва к вам а уж потом в проект!
авторИ получаем на свою голову проблемы с хранением версий/истории правок сайта.
делайте бэкап, что ли... ;)

ИМХО - не важно где и как хранить важно, как отдать! ;)
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159652
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как то так...и какая разница кладёте вы его в БД или файл ресурсов или ещё куда? ;)
всяко, он попадает сперва к вам а уж потом в проект!

Если в проекте лежит текстовый исходник того, что потом в базе данных будет, то
все хорошо. Только непонятно, для чего база в этом случае нужна.
С тем же успехом можно вместо скрипта заливки в базу написать скрипт генерации статических
шаблонов c подставленным языком.

А если мы перевод сразу в базу данных заливаем, не включая текстовый исходник в проект - то
смотри ниже.
делайте бэкап, что ли... ;)


То-то программисты системы контроля версий придумали.

"Самай последний перевод этой странцы в этом файле лежит, другой - в другом. Как бы нам
теперь как бы нам все эти изменения в один файл слить? А вот тут мы вчера решили измениния отменить, у кого версия за н-ное число сохранилась"

Без системы контроля версий с текстовой информацией работать нельзя. Бардак выходит.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159742
авторТолько непонятно, для чего база в этом случае нужна.
м.б. как минимум, целостность информации + тот же бэкап?
авторБез системы контроля версий с текстовой информацией работать нельзя. Бардак выходит.
да ладно - делай инсерт в БД с временной меткой вместо апдейта - не мне тебя учить - т.ч. считай, разговор ни о чём!

Твоя позиция ясна - сохранять всё по файликам в фс и дёргать их!
Явных преимуществ твоего подхода против хранения информации в БД (для конкретного случая) я не увидел!

Да и не основная это проблема - место хранения!
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38159806
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как-то так...м.б. как минимум, целостность информации + тот же бэкап?

Про целостность в смысле "чтобы не хранились переводы для объектов, на которые ссылок нет" - можно согласится.
Про бэкап - не понял. Делать резервное копирование статических файлов гораздо проще, чем базы.

да ладно - делай инсерт в БД с временной меткой вместо апдейта - не мне тебя учить - т.ч. считай, разговор ни о чём!

История изменений переводов на этапе функционирования сайта вещь совершенно не нужная, она нужна большей частью тому, кто сайт делает. Поэтому где-то в движке сайта ей заниматься вредно. Вот если именно CMS пишется - тогда нужно об этом думать.

Твоя позиция ясна - сохранять всё по файликам в фс и дёргать их!

Совершенно верно, подгружается файл ресурсов и используется. Автор темы хочет генерацией страницы на JS заниматься,
те можно брать шаблонный движок на JS и хранить на сервере шаблоны для его работы. Вытянуть же браузером статический файл /templates/i18n/ru.json проще и для головы и для сервера.

Явных преимуществ твоего подхода против хранения информации в БД (для конкретного случая) я не увидел!

Преимущества будут в момент, когда нам потребуется слить изменения от двух разработчиков. Один поправил один раздел сайта, другой человек - другой раздел. Но при этом одну и ту же фразу перевели по разному. Теперь это нужно все слить в одно целое.
При использовании текстовых ресурсов у нас система контроля версий заметит, что одну и ту же строку в файле ресурса меняли оба. А с базой данных нужно будет самому отслеживать.
Да и не основная это проблема - место хранения!

Вопрос был про то, как делать. Я бы дела так:
Для динамического контента (те такой, который пользователи сайта сами без участия программистов добавляют) делаем по таблице на язык и жоиним. Если нравится из отдельных столбцов язык вытаскивать - делам подходящий VIEW.
Для всего остального - ресурсы в виде статических текстовых файлов для понравившегося варианта gettext.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38160257
авторДля динамического контента...
угу... перевод на различные языки и есть тот самый "динамичный контент" (С)

+по прежнему интересно -
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<!DOCTYPE html>
<html>
    <head>	
        <title></title> 
    <body>	
      		   <p><span>немного текста нуждающегося в переводе</span></p>
                   <input type="button" value="ещё немного текста нуждающегося в переводе" />
                   <p>и ещё немного текста нуждающегося в переводе</p>
    </body>
</html>


опустим подгрузку json-а - бо это жесть!
интересуют твои действия, в соответствии с твоей парадигмой?
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38160310
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
опустим подгрузку json-а - бо это жесть!

Если шаблонизатор у нас работает внутри браузера, а не на серверной стороне - то вполне неплохо. Другое дело, что сама идея шаблонного движка внутри браузера у меня некоторое сомнение вызывает.
интересуют твои действия, в соответствии с твоей парадигмой?
[/quot]
Загрузку ресурсов и шаблонов пропустим. А в самом шаблоне (условный шаблонизатор) странички будет
Код: php
1.
2.
3.
4.
5.
template('pagename') {
      		   <p><span>_('немного текста нуждающегося в переводе')</span></p>
                   <input type="button" value="_('ещё немного текста нуждающегося в переводе')" />
                   <p>_('и ещё немного текста нуждающегося в переводе')</p>
}



Шаблонизатор возмет шаблон, возмет ресурсы локализации и через gettext подставит во все _('...') перевод.
Если верстка для разных языков отличается, то тогда придется для разных языков руками разные шаблоны страницы делать.

Если хочется сделать оптимизацию загрузки, жертвуя дисковым пространством, то придется делать скрипт, который на этапе сборки сайта из шаблонов c _('') и ресурсов делает странички с уже подставленным языком. Но это уже если очень надо.
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38160506
автор А в самом шаблоне (условный шаблонизатор) странички будет
неужели ты так и непонял, что механика будет одна и таже и там и там?
Код: php
1.
2.
3.
4.
5.
template('pagename') {
      		   <p><span>_('немного текста нуждающегося в переводе')</span></p>
                   <input type="button" value="_('ещё немного текста нуждающегося в переводе')" />
                   <p>_('и ещё немного текста нуждающегося в переводе')</p>
}


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<!DOCTYPE html>
<html>
    <head>	
        <title></title> 
    <body>	
      		   <p><span><?= $pagename['p1']['span']; ?></span></p>
                   <input type="button" value="<?= $pagename['button']; ?>" />
                   <p><?= $pagename['p2']; ?></p>
    </body>
</html>


можно долго и упорно рассуждать о преимуществах и недостатках одного против другого...

у тебя задействован gettext - нужно смотреть\изучать проверять
тебе нужны какие то tempates textdomain bindtextdomain
изменить тип хранилища ты уже не в состоянии
ты вообще жёстко привязан к предоставленному тебе механизму!!!

у меня задействован самописный механизм подстановки значений - нужно парится придумывать
контроль версий тоже нужно придумать самому
зато я волен выбирать хранилище по своему усмотрению - сегодня Sqlite, завтра ФС, послезавтра Mongo
и я не привязан ни к чему (кроме PHP) - в принципе, шаблон я могу отдать в другой проект - любой разберётся как наполнить его контентом!
и т.д. и т.п.

Однако, суть - Механика - ОДНА И ТА ЖЕ!!! и там и там
динамичный контент, выводимый из хранилища, в нужных местах по ключу!!!
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38160516
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так...
Однако, суть - Механика - ОДНА И ТА ЖЕ!!! и там и там
динамичный контент, выводимый из хранилища, в нужных местах по ключу!!!
Пришли таки к выводу, закроем этот балаган?
Два разных метода, что кому что нравитьс ятот и юзает. У каждого метода есть свои плюсы и минусы, у каждого свои трудности.
Всеравно каждый останеться при своем мнении и продолжит юзать свой метод (я за всю жизнь еще ни разу почемуто не работал с сайтами с мультиязычностью).
...
Рейтинг: 0 / 0
Многоязычность на сайте. Как реализовать и нужно ли париться?
    #38160680
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РенатПришли таки к выводу, закроем этот балаган?

Можно закрыть. Просто я как раз занимаюсь поддержкой сайта в архитектуре, которую Shitbox2 хочет использовать, сделан.
Те
1) Статические по смыслу тексты хранятся в базе.
2) Хранятся в колонках с именами *_ru, *_en
3) Страница большей частью генерируется в браузере клинета
4) Шаблонизатор при этом не используется.

Удовольствие, прямо скажем, сильно ниже среднего.

Может, когда-нибудь кто-нибудь прочитает и так делать не будет.
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 2 из 3
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Многоязычность на сайте. Как реализовать и нужно ли париться?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]