function getLocaleString(meta, key, languages = navigator.languages) {
  // zh, zh-cn, zh-tw
  const mls = Object.keys(meta)
    .filter(metaKey => metaKey.startsWith(key + ':'))
    .map(metaKey => metaKey.slice(key.length + 1))
    .sort((a, b) => b.length - a.length);
  let bestLocale;
  for (const lang of languages) {
    bestLocale = mls.find(ml => localeMatch(lang, ml));
    if (bestLocale) break;
  }
  return meta[bestLocale ? `${key}:${bestLocale}` : key] || '';
}
Get locale attributes such as `@name:zh-CN`