Мне любопытно, есть ли какие-либо рекомендации, шаблоны или рекомендации для разбиения на страницы на стороне сервера для веб-приложения, поддерживающего несколько языков.
В настоящее время наше приложение поддерживает несколько языков посредством переводов баз данных, поэтому все наши объекты выглядят так:
ENTITY X TABLE
---------------------------------------------------------------------
idEntity | code | other attributes....
---------------------------------------------------------------------
1 entity1.name ....
2 entity2.name ....
А затем таблица «перевода» со всеми переводами:
TRANSLATIONS TABLE
---------------------------------------------------------------------
idTranslation | code | idLanguage | translation
---------------------------------------------------------------------
1 entity1.name 1 myEntity_EN
2 entity1.name 2 myEntity_FR
Пока что это прекрасно работает, но проблема в том, что у нас есть веб-приложение, отображающее данные, и мы реализуем разбиение на страницы на стороне сервера, и все наши таблицы данных должны быть доступны для поиска и сортировки по всем отображаемым столбцам, а также Конечно, поиск и сортировка должны основываться на переводах, а не на столбцах кода.
Пока что путь, по которому мы идем, - это добавление параметров сортировки, поиска и разбиения на страницы в запросе к БД, и БД выполняет объединение таблиц, что, кажется, работает, но все еще выглядит немного грубым. ... и я немного беспокоюсь о производительности, у нас много переводов.
Итак, есть ли рекомендации следовать этому (я думаю) довольно распространенному сценарию ??
Заранее спасибо!