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

Fechado
aberto por nas 3 anos atrás · 2 comentários
nas comentou 3 anos atrás

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 comentou 3 anos atrás
Proprietário

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 comentou 3 anos atrás
Proprietário

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
Acesse para participar desta conversação.
Sem marco
Sem responsável
1 participante(s)
Data limite

Data limite não informada.

Dependências

Esta issue atualmente não tem dependências.

Carregando…
Cancelar
Salvar
Ainda não há conteúdo.