Robust 第 017 期:彻底解决前端国际化和本地化问题

广告位招租
扫码页面底部二维码联系

【访问 www.tangshuang.net 获取更多精彩内容】【原创不易,请尊重版权】【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】

我在多次节目中都提到,国际化应该早做,在著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。系统设计之初就应该设计好,避免后续需要上本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】国际化时,导致系统大改。那么,对于前端项【作者:唐霜】著作权归作者所有,禁止商业用途转载。目而言,国际化都要解决那些问题,具体实施本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。时要考虑那些因素呢?本期聊一聊前端国际化本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net问题。

【原创不易,请尊重版权】原创内容,盗版必究。【本文首发于唐霜的博客】【未经授权禁止转载】本文作者:唐霜,转载请注明出处。

在线收听【转载请注明来源】

原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。

网易云音乐:【版权所有,侵权必究】点击播放【原创不易,请尊重版权】

转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】未经授权,禁止复制转载。

喜马拉雅:本文版权归作者所有,未经授权不得转载。点击播放【未经授权禁止转载】

【本文首发于唐霜的博客】【本文首发于唐霜的博客】【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。

你还可以在苹果自带的podcast应用中【原创内容,转载请注明出处】【未经授权禁止转载】搜“Robust”找到我们的节目收听。

【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net

捐赠支持【本文首发于唐霜的博客】

【本文首发于唐霜的博客】【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】

求打赏🙇如果你觉得 Ro著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。bust 这样一档技术类的谈话节目还不错【版权所有,侵权必究】【转载请注明来源】,希望我继续做下去,不妨打赏支持。。

未经授权,禁止复制转载。【本文受版权保护】【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。

本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】

内容大纲【原创内容,转载请注明出处】

【版权所有】唐霜 www.tangshuang.net【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】
一、概念【关注微信公众号:wwwtangshuangnet】
国际化:产品层面,同一产品,将在不同国家【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。市场推广运营。技术层面,要在一套系统中,【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】能够让产品在不同国家运行,同时解决不同国【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。家对产品的不同需要。前端层面,同一套代码【本文首发于唐霜的博客】未经授权,禁止复制转载。能够实现多语言,同时预留不同国家定制的能【原创内容,转载请注明出处】【原创内容,转载请注明出处】力。
本地化:为不同地区文化的特殊需要在视觉上【原创内容,转载请注明出处】【原创不易,请尊重版权】、操作体验上、运营商进行不同呈现。
关系,国际化是本地化的基础,本地化是产品【本文首发于唐霜的博客】【本文受版权保护】实现国际化的具体落实。国际化一般是前期工【原创内容,转载请注明出处】【本文首发于唐霜的博客】作,主要是系统整体层面能够提供本地化的能【作者:唐霜】【关注微信公众号:wwwtangshuangnet】力。本地化一般是当产品在具体地区开拓市场未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。时的工作,主要是在前期系统预留的扩展能力【原创不易,请尊重版权】【本文受版权保护】基础上,根据地区文化或特定国情制定看上去【本文受版权保护】【未经授权禁止转载】独特(本质上还是一套系统)的产品。举个例【未经授权禁止转载】本文作者:唐霜,转载请注明出处。子,腾讯有很多出海业务,在产品系统层面,【本文首发于唐霜的博客】【关注微信公众号:wwwtangshuangnet】是提供了实施本地化的能力,但是具体到某个转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。国家实施时,需要单独靠本地团队根据本地情未经授权,禁止复制转载。【本文首发于唐霜的博客】况进行深度开发。举个例子,东南亚国家,在【未经授权禁止转载】【原创内容,转载请注明出处】日期格式、货币符号、颜色喜好上,都和中国转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net不一样,比如中国人喜欢红色蓝色,但是泰国【原创不易,请尊重版权】【原创内容,转载请注明出处】马来西亚地区可能更喜欢绿色,爱尔兰国庆节【版权所有,侵权必究】【访问 www.tangshuang.net 获取更多精彩内容】也是绿色为主题色,但在中国,绿色显然又是著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。不好的颜色。
二、前端国际化和本地化【原创不易,请尊重版权】
从前端技术层面而言,其实,我们只能解决国本文版权归作者所有,未经授权不得转载。【本文受版权保护】际化本地化中的部分问题,单纯靠前端,是无【转载请注明来源】【本文首发于唐霜的博客】法解决全部问题的,比如不同地区的CDN怎【原创内容,转载请注明出处】【未经授权禁止转载】么去部署,这不是靠单纯前端可以解决的。那【访问 www.tangshuang.net 获取更多精彩内容】【本文受版权保护】么,前端可以解决哪些问题呢?实际上,在前本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。端实际开发中,你可以简单粗暴这么理解,国本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】际化就是支持多语言,本地化就是支持根据当未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net地习惯格式化数字、日期、货币等文本。
1. 语言包【转载请注明来源】
  • 怎么写语言包比较好?【访问 www.tangshuang.net 获取更多精彩内容】
  • 【未经授权禁止转载】【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。
  • 如何加载语言包比较合理?(同步异步)著作权归作者所有,禁止商业用途转载。
  • 【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。
  • 关于语言包工作模式的设想(csv->本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。;json)
  • 【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【本文受版权保护】著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。
  • 语言包中的占位符(插值)转载请注明出处:www.tangshuang.net
  • 【原创不易,请尊重版权】【未经授权禁止转载】未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】
2. 语言切换本文作者:唐霜,转载请注明出处。
  • 直接通过脚本进行切换,还是通过url跳转【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。到另一个语言的站点?
  • 【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】本文作者:唐霜,转载请注明出处。
  • 重新渲染问题【访问 www.tangshuang.net 获取更多精彩内容】
  • 未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】【版权所有,侵权必究】
  • 自动根据浏览器判断语言(html[lan【本文首发于唐霜的博客】【转载请注明来源】g] navigator.languag转载请注明出处:www.tangshuang.net【转载请注明来源】e || navigator.brows本文作者:唐霜,转载请注明出处。【本文受版权保护】erLanguage)
  • 【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】原创内容,盗版必究。
3. 日期/货币/数字分隔符【关注微信公众号:wwwtangshuangnet】
  • 902 300   (法国),或   9未经授权,禁止复制转载。【版权所有,侵权必究】02.300   (德国),又或者   本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。902,300   (美国)
  • 【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】【转载请注明来源】
  • locale 的前半部分表示语言,通常由【作者:唐霜】本文版权归作者所有,未经授权不得转载。 2 或 3 位小写字母组成,符合 IS【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】O 639
  • 【原创不易,请尊重版权】【版权所有,侵权必究】【原创内容,转载请注明出处】未经授权,禁止复制转载。【本文首发于唐霜的博客】
  • locale 的后半部分表示地区,由符合【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。 ISO 3166标准的 2 或 3 位【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】大写字母,或符合   UN M.49  本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】 标准的 3 位数字组成。
  • 本文版权归作者所有,未经授权不得转载。【作者:唐霜】【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。
  • 用浏览器内置的Intl接口,不需要自己去原创内容,盗版必究。【版权所有,侵权必究】写一大堆格式化逻辑
  • 著作权归作者所有,禁止商业用途转载。【作者:唐霜】【转载请注明来源】原创内容,盗版必究。
4. 几种市面上最流行的国际化方案【转载请注明来源】
  • i18next本文作者:唐霜,转载请注明出处。
  • 【本文首发于唐霜的博客】【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。【作者:唐霜】
  • Intl封装未经授权,禁止复制转载。
  • 本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】
  • vue-i18n【未经授权禁止转载】
  • 未经授权,禁止复制转载。【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。
  • react-intl, react-i1【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。8next
  • 本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。
  • angular-translate【关注微信公众号:wwwtangshuangnet】
  • 本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】【转载请注明来源】
三、其他前端国际化问题本文版权归作者所有,未经授权不得转载。
1. React SSR 怎么国际化?本文版权归作者所有,未经授权不得转载。
  • 根据请求来源判断访问者当地语言 (Acc著作权归作者所有,禁止商业用途转载。【转载请注明来源】ept-Language 或 IP 地址【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。
  • 【本文受版权保护】未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。
2. 普通第三方库怎么国际化?未经授权,禁止复制转载。
  • 静态常量的多语言问题【本文首发于唐霜的博客】
  • 未经授权,禁止复制转载。【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net
3. 本地化时区问题(包含夏令时问题)【未经授权禁止转载】
  • 存储UTC-0+Z,使用时再根据实际使用转载请注明出处:www.tangshuang.net【版权所有,侵权必究】者的时区转回来
  • 未经授权,禁止复制转载。原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】【作者:唐霜】本文版权归作者所有,未经授权不得转载。
4. CSS 中也可以做国际化未经授权,禁止复制转载。
  • 属性选择器[lang=zh]转载请注明出处:www.tangshuang.net
  • 【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】原创内容,盗版必究。【本文受版权保护】
  • :lang(zh) 伪类【转载请注明来源】
  • 转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。【版权所有,侵权必究】【本文首发于唐霜的博客】
  • writing-mode: horizo原创内容,盗版必究。【转载请注明来源】ntal-tb(横), vertical【转载请注明来源】【作者:唐霜】-lr(竖从左到右), vertical【原创不易,请尊重版权】【未经授权禁止转载】-rl(竖从右到左)
  • 本文版权归作者所有,未经授权不得转载。【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。【转载请注明来源】
  • sideways-lr 和 sidewa【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。ys-rl 侧转
  • 转载请注明出处:www.tangshuang.net【未经授权禁止转载】转载请注明出处:www.tangshuang.net【本文受版权保护】【版权所有,侵权必究】
  • text-orientation: te【未经授权禁止转载】本文作者:唐霜,转载请注明出处。xt-combine-upright 合【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net并字符为一个字符
  • 转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】
  • text-emphasis: dot 着【作者:唐霜】【关注微信公众号:wwwtangshuangnet】重号
  • 【原创不易,请尊重版权】【版权所有,侵权必究】【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。
  • font-variant-east-as本文版权归作者所有,未经授权不得转载。【作者:唐霜】ian 字体变化等等
  • 原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。
  • 参考 【本文受版权保护】https://segmentfault未经授权,禁止复制转载。【作者:唐霜】.com/a/1190000022549【版权所有,侵权必究】【转载请注明来源】455 这篇文章本文版权归作者所有,未经授权不得转载。
  • 【作者:唐霜】【本文受版权保护】【版权所有】唐霜 www.tangshuang.net【作者:唐霜】本文版权归作者所有,未经授权不得转载。
5. 谷歌翻译插件带来的问题【转载请注明来源】
  • 由于谷歌翻译插件会在替换文本时修改标签(【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】DOM结构)会导致vue、react这种转载请注明出处:www.tangshuang.net【本文受版权保护】基于virtual dom的框架产生问题
  • 转载请注明出处:www.tangshuang.net原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。

【未经授权禁止转载】未经授权,禁止复制转载。【本文首发于唐霜的博客】

2020-07-12 4627

为价值买单,打赏一杯咖啡

本文价值46.27RMB