gettext 是GNU 提供的一套 国际化与本地化 处理的相关函数库。大多数语言都有对应的gettext实现。Jed内置提供了sprintf的支持,它是使用通过gettext 一系列函数的配合,使用 langs-util 进行生成处理后就能生成对应的pot及po文件。生成完所有语言语言版本的静态文件后,需要让浏览器能够运行不同语言版本的js文件。一种方式可以通过后台程序读出语言版本,再把正确语言版本的js路径输出到html当中。在loader代码中拿到require文件的实际路径,如果存在code选项的话则根据pot文件找到对应code的po文件,然后使用po2json转换为对应格式的json文件,最后再返回给引用的地方。生成po文件时,需要传入需要给xgettext解析的文件列表以及目标pot文件路径还有生成的多语言版本种类。

详解基于webpack&gettext的前端多语言方案

详解基于webpack&gettext的前端多语言方案

详解基于webpack&gettext的前端多语言方案

详解基于webpack&gettext的前端多语言方案

详解基于webpack&gettext的前端多语言方案