'en-*':'en_US',
'es-*':'es_ES',
'pt-*':'pt_PT',
'fr-*':'fr_FR',
'de-*':'de_DE',
'ja-*':'ja_JP',
'it-*':'it_IT',
'*':'en_US'
有没有办法将en-*
映射到en_US
?我可以获得任何浏览器区域设置,例如en-us
,en-au
等。所以我需要映射到此文件en_US
。如果有人知道请帮助。提前谢谢。
答案 0 :(得分:1)
正则表达是你的朋友:)
var possible = [
'en-us',
'en-au',
'fr-sb',
'de-le',
'it-nx'
]; // add to test
var locale = possible[Math.floor(Math.random() * possible.length)];
var routes = {
'en-*':'en_US',
'fr-*':'fr_FR',
'de-*':'de_DE',
'*':'en_US'
};
var match = (route) => new RegExp('^' + route.replace('*', '.*')).test(locale)
var route = Object.keys(routes).find(match);
console.log(locale, 'routed to', routes[route]);