关于i18n

现在工作主要负责小程序端,很少负责backend。最近的一个任务是配置多语言。因为一开始都是写死的中文,现在需要把那些变成英文。

狂搜了一波,其实网上的方法都不怎好。(可能就是一开始看的时候觉得好。)但是维护起来麻烦。

我这里的做法是,

1、去google-doc里面新建一个xls文档,自己分好层级,然后让别人去填。然后下载成csv文件,他是挺有规律的,然后写一个py脚本出来parse他们,就可以每次都生成对应的代码了 。

2、然后就是变量的写发了。在xxx下车,要写成   "在{name}下车",这样的好处是对付英语语义问题,因为英语是变成pick up on xxx的,相反。也就是不能写死成"在"{var_name}"下车"

  要写成  "在{name}下车".format(var_name)

3、关于那个csv文件,首先用csv包按照你的规律导入去一个字典那里,然后json.dumps()就行了,中文的话会变成UTF8,可以设置ensure_ascii=False就可以了。然后考虑一下转义字符问题。

    dumps_result = json.dumps(d, default = lambda obj: obj.__dict__, sort_keys=True, ensure_ascii=False, indent=2)
    dumps_result = dumps_result.replace(""", "'")
    dumps_result = dumps_result.replace("\\", "\")
    return dumps_result

4、i18n很麻烦,还要对付别人设计的文案过长,现在还不知道怎么对付。

原文地址:https://www.cnblogs.com/liuweimingcprogram/p/10173931.html