#2 Page d’accueil dans la langue par défaut

Закрыто
открыта 3 лет назад nas · комментариев: 2
nas прокомментировал 3 лет назад

Le comportement attendu de wikipp est de router vers la page d’accueil de la langue par défaut. La langue par défaut est définit par l’ordre dans lequel les locale sont déclarées dans le fichier de configuration :

locales : [ "fr_FR.UTF-8", "en_US.UTF-8" ]

Je n’ai pas ce comportement; bien que le problème soit contournable (via une redirection du serveur web) il faudra tout de même corriger ce bug

Le comportement attendu de wikipp est de router vers la page d’accueil de la langue par défaut. La langue par défaut est définit par l’ordre dans lequel les `locale` sont déclarées dans le fichier de configuration : ``` locales : [ "fr_FR.UTF-8", "en_US.UTF-8" ] ``` Je n’ai pas ce comportement; bien que le problème soit contournable (via une redirection du serveur web) il faudra tout de même corriger ce bug
nas прокомментировал 3 лет назад
Владелец

Les langages sont obtenu dans src/master.cpp :

cppcms::json::object langs=settings().get("wikipp.languages",cppcms::json::object());
for(cppcms::json::object::const_iterator p=langs.begin(),e=langs.end();p!=e;++p) {
    […]
}

et traité :

std::map<std::string,std::string>::const_iterator p = lang_map.find(std::string(res[1]));
    if(p==lang_map.end()) {
        page.redirect();
    }
    else {
        locale_name = p->first;
        context().locale(p->second);
        if(!dispatcher().dispatch(res[2]))
        page.redirect(locale_name);
    }
}

Cependant l’ordre n’est pas conservé dans les map

Source : https://stackoverflow.com/questions/4826404/getting-first-value-from-map-in-c

Les langages sont obtenu dans `src/master.cpp` : ``` cppcms::json::object langs=settings().get("wikipp.languages",cppcms::json::object()); for(cppcms::json::object::const_iterator p=langs.begin(),e=langs.end();p!=e;++p) { […] } ``` et traité : ``` std::map<std::string,std::string>::const_iterator p = lang_map.find(std::string(res[1])); if(p==lang_map.end()) { page.redirect(); } else { locale_name = p->first; context().locale(p->second); if(!dispatcher().dispatch(res[2])) page.redirect(locale_name); } } ``` Cependant l’ordre n’est pas conservé dans les `map` Source : https://stackoverflow.com/questions/4826404/getting-first-value-from-map-in-c
nas прокомментировал 3 лет назад
Владелец

Résolu par cbe37d1e00 qui ajoute un champs de configuration pour la langue par défaut

Résolu par cbe37d1e00a0bfe766f3200102577007468d24af qui ajoute un champs de configuration pour la langue par défaut
Войдите, чтобы присоединиться к обсуждению.
Нет этапа
Нет назначенных лиц
1 участников
Срок выполнения

Срок выполнения не установлен.

Зависимости

В настоящее время эта задача не имеет зависимостей.

Загрузка…
Отмена
Сохранить
Пока нет содержимого.