View Issue Details

IDProjectCategoryView StatusLast Update
0003615SAS.ПланетаХотелка / Feature requestpublic20-02-2020 18:54
Reporterzed Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Product Version191221 
Summary0003615: Добавить в zmp гибкую настройку языка в url и папки в кэше
Description1) Сейчас для формирования url у которого в качестве параметра используется язык, есть переменная Language, которая принимает значения вида en, ru, uk и т.д. в зависимости от выбранного языка SAS.

Но часто, эти фиксированные значения нельзя напрямую подставить в url, поскольку каждый сервис принимает этот параметр в своём формате (например: eng, rus или en_US, ru_RU).

Предлагаю добавить в params.txt новую секцию, где прописать нужные сопоставления "язык=параметр_url":

[LangParam]
en=en_US
ru=ru_RU
Если для какого-то языка сопоставление не задано, то брать значение как для en. Если значение для en не задано, то подставлять строку "en". Если секции нет вообще, то отдавать значения как сейчас, без сопоставлений.

2) Поскольку url может меняться автоматически, при смене языка, нужно предусмотреть возможность такой же автоматической смены имени папки в кэше для тайлов, которые будут загружены по этим url.

Предлагаю добавить в params.txt новый булевый параметр "NameInCachePerLang" и если он установлен, то к имени папки в кэше (параметр NameInCache) автоматически добавлять в конец код языка через подчёркивание: "_en", "_ru" и т.д. При этом, естественно, надо учитывать настройку LangParam из предложения выше, для случаев когда некоторые языки сопоставляются с дефолтным en (т.е. карта не локализована для выбранного языка).
TagsNo tags attached.

Activities

vdemidov

20-02-2020 17:34

manager   ~0019659

По поводу словаря в для языка в параметрах карты - очень правильная идея.
А вот с языком в пути к тайлохранилищу ИМХО нужно хорошо подумать. В любом случае, это в разные хотелки разнести надо.

zed

20-02-2020 17:56

manager   ~0019662

> А вот с языком в пути к тайлохранилищу ИМХО нужно хорошо подумать.
Подумай, мне вроде бы ничего криминального на ум не приходит.

> В любом случае, это в разные хотелки разнести надо.
Можно разнести, но связаны они очень тесно и вторую можно будет реализовывать только после первой.

vdemidov

20-02-2020 18:15

manager   ~0019665

>Подумай, мне вроде бы ничего криминального на ум не приходит
Ну, например тайлохранилище в базе данных. К какой части пути прибавлять язык?
По хорошему, само тайлохранилище должно предоставлять возможность языко-зависимого хранения тайлов. Или не предоставлять. А еще таблица LangParam для сохранения тайлов, совершенно не обязана совпадать с таблицей при скачивании.

>Можно разнести, но связаны они очень тесно и вторую можно будет реализовывать только после первой.
Ну так это отобажается, связью parent_of от первой. То есть пока первая не сделана, вторую делать нельзя.

zed

20-02-2020 18:43

manager   ~0019666

Для сохранения тайлов таблица LangParam вообще не используется. Предлагается добавлять стандартные "_en", "_ru" в конец имени. Если кэш в СУБД, то будут просто отдельные таблицы для разных языков, т.е. это будут полностью независимые кэши. Скажем, если раньше там была таблица map, для карт гугла, то теперь будут таблицы map_ru, map_en и проч. Чтобы не потерять старый кэш, нужно будет руками переименовать таблицу map -> map_ru.

И никаких языко-зависимых тайлохранилищ не нужно, вполне хватает функционала тех что есть.

vdemidov

20-02-2020 18:54

manager   ~0019667

Ну смотри. Но я бы все равно разделил эти хотелки.

Issue History

Date Modified Username Field Change
10-02-2020 06:41 zed New Issue
10-02-2020 06:44 zed Description Updated
20-02-2020 17:34 vdemidov Note Added: 0019659
20-02-2020 17:56 zed Note Added: 0019662
20-02-2020 18:15 vdemidov Note Added: 0019665
20-02-2020 18:43 zed Note Added: 0019666
20-02-2020 18:54 vdemidov Note Added: 0019667
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request