要解决的问题

<aside> 💡 为不同地区的用户提供不同体验

</aside>

概念区别

<aside> 🛠 Internationalization enables Localization

</aside>

I18n 侧重于提供抽象的「为不同地区的用户提供不同体验」的能力,而 L10n 则是利用这种能力实现这种差异的过程。 以我们熟悉的概念类比,I18n 是研发,研发提供能力,L18n 是产品经理,产品经理决定具体策略与文案。互相缺了谁都无法做出完整的产品。

这两个概念也经常合起来被叫做「Globalization」,接下来我们也不再区分这两个概念。

有哪些不同的地方

<aside> 🤷‍♂️ 这不是一个完整的列表,我们几乎不会遇到的一些差异例如书写方向就不考虑了,一些现在已经有标准答案的问题例如编码(答案是 UTF-8)也不需要考虑了

</aside>

不同地区的产品策略的差异与具体的产品关系非常大,不具有通用性,虽然很有趣,但我们今天不讨论这些点。

上面列的绝大部分的差异都可以抽象成某一个层面的 if else、switch case 或者更「高级」一点——查表。对于某一个具体的领域,也有大量高度封装的 API 可以利用。因此这里我们也不展开讲如何实现这些差异(也比较容易过时),更多的是讨论「具体要提供怎样的差异化」。