Да, вы можете проверить 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
Это также подчеркивает различия, которые можно встретить в реализации мобильных устройств.