- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
И по ключу "ru" выгребает только данные для русского интерфейса:
Fastapi умеет кэшировать данные и пока пользователь не сменит язык - ему будет подгружаться интерфейс из "ru" интерфейса.
То есть в шаблонизатор приходит малюсенький обьект только с тем что нужно.
я не знаком с pyton, но Fastapi кэширует в итоге этот "малюсенький объект" в каком виде? снова в json?, если да, то всё равно он его будет снова и снова парсить
Нет, я думал ты знаком с питон. Приведенный код один раз обращается к файлу, получает нужные данные по ключу. Потом json конвертируется в питоновский обьект типа "словарь"(dict), если не ошибаюсь, это аналог пхпэшного array, и уже в байткоде путешествует дальше. То есть ничего не разрастется. добавлю в json строку иеню - скомпилируется и буде использована. При этом мне не надо лезть руками в код-файлы, все можно реализовать через пользовательский интерфейс
Вариант 2. Создать языковый файл и динамически подгружать контекст в шаблон. Тут легко править - все в одном месте. Но увеличивается количество запросов в бэк. Правда если использовать нереляционные базы данных - нагрузка будет минимальной.
Я тут не понял. Речь о клиентских шаблонах?
Сначала рассмотрим серверные шаблоны. В них добавляется содержимое из трех мест:
* обычно я использую программные файлы (PHP), но можно, наверное, и разбираемые программно; и точно можно SQL/NoSQL.
Клиентские многоязычные шаблоны генерируются из одного серверного с пропуском основного содержимого (т.е. за вычетом пункта 1). В итоге получается ваш вариант 1. Здесь используется обычное серверное кэширование.
Всю тему не читал.
Просто такая реализация - это когда сам занимаешься проектом. А так должна быть защита от дурака.
Это же меню нужно связать со страницами. Для страницы обычно должны определяться подключаемые модули. Есть вероятность рассинхронизации страниц и меню.
По любому нужно связывать меню со страницами даже если это на файлах организовано (или писать админку или руками править файл). В меню должен быть или ID страницы (но это снова обращение в базу чтобы узнать урл страницы) или прописывать сразу полный урл (но в таком случае при его смене в базе можно получить 404).
Поэтому там разные варианты могут быть в зависимости от проекта и кто его будет вести.
Как вариант все в 1 таблице (меню и страницы), при ее изменении делать экспорт в файл (тот же джосн) и быть уверенным, что работаешь с актуальными данными. и т.д.
покажешь как бы ты хранил это в БД
Да там 100500 способов реализации. Выбор конкретного способа зависит от конкретного проекта. И да, в файлах тоже хранят, но нет так, как у тебя, а переводы фраз.
Нет, я думал ты знаком с питон. Приведенный код один раз обращается к файлу, получает нужные данные по ключу. Потом json конвертируется в питоновский обьект типа "словарь"(dict), если не ошибаюсь, это аналог пхпэшного array, и уже в байткоде путешествует дальше. То есть ничего не разрастется. добавлю в json строку иеню - скомпилируется и буде использована. При этом мне не надо лезть руками в код-файлы, все можно реализовать через пользовательский интерфейс
В итоге получается ваш вариант 1.
все верно, и свои консерны к этому способу я уже высказывал, но да - он самый быстрый
Да там 100500 способов реализации. Выбор конкретного способа зависит от конкретного проекта. И да, в файлах тоже хранят, но нет так, как у тебя, а переводы фраз.
Я не требую за меня решать. Знаю что вариантов множество. Мне интересно, как бы ты решал эту проблему. Не привязывайся к проекту, исходи из задачи. Для сайта - окей, приведи как бы ты делал многоязычное меню для сайта.
тогда я приношу извинения, реализация нормальная
Спасибо за интересную дискуссию
как бы ты делал многоязычное меню для сайта
Основных вариантов с БД - два:
1) Создать в таблице меню колонки с языковыми вариантами.
2) Создать дополнительные таблицы с языковыми вариантами.
Я полагал, что тебе эти варианты известны. Вариантов с файлами переводов я не касаюсь. Мне они не нравятся в силу более сложного редактирования и использования.
И ещё раз: выбор конкретного варианта зависит от конкретного проекта.
1) Создать в таблице меню колонки с языковыми вариантами.
Невозможность расширения, выше уже писал.
2) Создать дополнительные таблицы с языковыми вариантами.
необходимоссть джойнить таблицы - сложный запрос для простой задачи - неоправданный расход ресурсов и время.
Спасибо, твой вариант я рассматривал имеет место быть