Обнаружение мобильных поддерживаемых языков - PullRequest
1 голос
/ 18 декабря 2008

Возможно ли asp обнаружить из объекта MobileCapabilities, если устройство поддерживает арабский язык или нет

Ответы [ 2 ]

3 голосов
/ 18 августа 2009

Да, вы можете проверить HTTP-заголовок Accept-Language на «ar» для арабского.

Например, этот реальный образец:

Accept-Language: en;q=1.0,fr;q=0.5,ar;q=0.5

Говорит, ru (на английском языке) принимается со 100% качеством, но вы также можете дать fr (на французском языке, Франция) с качеством 50% (то есть, это не так мой первый выбор, но я могу жить с этим), и тогда ar (арабский) тоже подойдет.

Вот несколько примеров Accept-Languages ​​с большинства мобильных устройств: Упорядочено от наименее общего к наиболее распространенному в этом наборе образцов:

Accept-Language: *
Accept-Language: English, Chinese
Accept-Language: en, en, fr-fr, pt-pt, en, sw-sw, zu-zu, yo-yo, af-af, ig-ig, st-st, ha-ha
Accept-Language: en-ZA, en;q=0.9
Accept-Language: en-au
Accept-Language: en-gb, en
Accept-Language: en-gb,en
Accept-Language: en-us, en;q=0.5
Accept-Language: en-za,en;q=0.7,af;q=0.3
Accept-Language: en; q=1.0, *; q=0.5
Accept-Language: en; q=1.0, en, *; q=0.5
Accept-Language: en;q=1.0, fr;q=0.5, de;q=0.5, tr;q=0.5, nl;q=0.5
Accept-Language: en;q=1.0, fr;q=0.5, pt;q=0.5
Accept-Language: en;q=1.0, nl;q=0.5, bg;q=0.5, ro;q=0.5
Accept-Language: en;q=1.0,en;q=0.5,vi;q=0.5
Accept-Language: en;q=1.0,fi;q=0.5,sv;q=0.5,no;q=0.5,is;q=0.5,da;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,de;q=0.5,it;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,de;q=0.5,it;q=0.5,es;q=0.5,pt;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,de;q=0.5,nl;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,de;q=0.5,pt;q=0.5,es;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,de;q=0.5,tr;q=0.5,nl;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,pt;q=0.5
Accept-Language: en;q=1.0,zh-cn, zh;q=0.5,en;q=0.5
Accept-Language: nb,en;q=0.9
Accept-Language: en-GB,en-US,en
Accept-Language: en-gb,en;q=0.5
Accept-Language: en-us, en
Accept-Language: en;q=1.0,fr;q=0.5,ar;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,nl;q=0.5,de;q=0.5,it;q=0.5
Accept-Language: en-GB,en;q=0.5
Accept-Language: en-US
Accept-Language: en;q=1.0, fr;q=0.5, de;q=0.5, es;q=0.5, it;q=0.5
Accept-Language: en;q=1.0,fr;q=0.5,de;q=0.5,es;q=0.5,it;q=0.5,pt;q=0.5
Accept-Language: en;q=1.0,nl;q=0.5
Accept-Language: id
Accept-Language: id,en;q=0.9
Accept-Language: en;q=1.0, fr;q=0.5, nl;q=0.5, de;q=0.5, it;q=0.5
Accept-Language: en;q=1.0, fr;q=0.5, pt;q=0.5, de;q=0.5
Accept-Language: en-gb, *; q=0.5
Accept-Language: en;q=1.0,de;q=0.5,it;q=0.5,fr;q=0.5
Accept-Language: zh-tw, zh-cn, en
Accept-Language: en-US,en
Accept-Language: en;q=1.0,de;q=0.5,it;q=0.5,fr;q=0.5,nl;q=0.5
Accept-Language: en-US,en;q=0.9
Accept-Language: en-ZA,en;q=0.9
Accept-Language: en-gb
Accept-Language: en-GB
Accept-Language: en-us
Accept-Language: en,en;q=0.9
Accept-Language: en-za
Accept-Language: en-us,en;q=0.5
Accept-Language: en 

Это также подчеркивает различия, которые можно встретить в реализации мобильных устройств.

1 голос
/ 01 февраля 2009

Вы можете использовать заголовок Accept-Language. Это работает по крайней мере для некоторых телефонов. Моя Nokia, купленная у оператора Israli, отправляет:

Accept-Language: he-IL

Вы можете получить к нему доступ через Request.Headers.

Надеюсь, это поможет,
Асаф

...