detectLanguage() nemusí vždy vrátit jazyk
- repli2dev
- Člen | 57
Nevím zda-li je to chyba, či vlastnost. Ale právě jsem zjistil, že google bot a jiné žádný jazyk neuvádějí. Tedy použití této metody je vždy potřeba ošetřit i případ prázdného výsledku.
A. bylo by žádoucí ošetření přidat přímo do funkce?
B. pokud ne, mělo by se to zmíňit v dokumentaci
- Jan Tvrdík
- Nette guru | 2595
Teoreticky by metoda Nette\Web\HttpRequest::detectLanguage
mohla brát druhý parametr $defaultLang = NULL
, který by se
použil v případě, že hlavička Accept-language
neexistuje
vůbec nebo neobsahuje jediný podporovaný jazyk.
- paranoiq
- Člen | 392
ad $defaultLang = NULL
: a když nebude uveden?
pokud jde o to, aby se vždy vybral nějaký platný jazyk (blbuvzdornost), musel by být tento parametr povinný. jinak si to musí ošetřovat programátor. otázka je, jestli detekování z prohlížeče je posledním krokem při zjišťování jazkyka (asi ano)
já detekuji jazyk:
- session
- cookies
- detectLanguage()
- použiju defaultní
- David Grudl
- Nette Core | 8227
Přesně tak, jazyk taky detekuju složitějším způsobem a ve více krocích, tudíž nemá moc smysl učit low-level funkci HttpRequest::detectLanguage něco nad její rámec.