以前有多种语言国际化的国际化,然后我立即想到了INTL。我看到文档完成了,自我检验,嗯,没问题,转向测试。
然后,领导者问我:“您在哪里管理此副本?”“ emmm,项目代码,本地板球”“嗯?如果要修改它,该怎么办?”!然后,文案写作有问题,我仍在等待您发布?你自己管理吗?““ emmm,好的”
好的,看来您不能简单地触摸鱼。
首先分析,简单的INTL结构如下
该文件会由我们的多语言文件自动生成。密钥值的内容基本上是钥匙值(不考虑“@”注释辅助信息)。
似乎无法处理,因为焦点已经开始,并且会自动生成。即使修改了修改,运行命令也将再次覆盖。
让我们看一下。首先,有两个类别,一个类别,即,我们获得了文案的类别。另一个是。
我会自动使用它,除非我想自己写它,否则不太可能对其进行修改以分别管理它。以下是基本的
它是不同的,基本上是固定的,主要功能是注册,然后我们可以获取相应的翻译副本。因此,我们可以考虑编写自己的代表。
简而言之,这是一个定义支持的语言列表,以及如何加载加载以获取相应的语言。
因此,此负载是关键信息。我们如何加载自己的资源?看看它是如何完成的。
我简短地写了上面的评论,关键是。
它通过以下函数进行了粗略描述。可以看出,该官员已保留异步的加载位置,即他的设计支持远程。异步遥控器找到该位置,关键是需要将远程绘图资源添加到中间,因为最终获得的文案编写为在中间。
那就是获得相应的方法。
遵循中间中间有效的步骤。
显然,根据信函,See的内容有点大。它是自动生成的固定写入类别。
并提供相应的回报。
在这一点上,我们对INTL如何加载整个翻译过程有一般的了解。
首先,看看如何处理这种事情。有复杂的方法,并且会有各种方法。
但是,让我们忽略它们。焦点实际上是和谐的。如果您可以给予它。在这种情况下,简单地说,可以这样定义一个简单而通用的人:
这并不简单,而是返回的翻译。也就是说,我们需要分析远程资源(ARB,JSON),获取相应的格式,然后将其付诸实践。
实际上,这几乎是以下格式:
请注意,您不确定它拥有多少个参数。
好的,然后解决它。然后下一步是将船推入水中,写我们的,然后注册。中间,我们已经对其进行了修改
登记。
还需要将支持语言列表更改为我们自己的。调整后,这些系统的这些文案也需要支持这些语言。
那么它可以允许我们的国际化使用我们的远程资源,这是否容易吗?
然后添加一个少量功能以实现Flutter INTL的远程动态,该动力可以远程管理我们的复制翻译。这是我写的插件-in dynamic_intl,然后将传递给pub.dev。我该如何看待我?其中还有一个简单的演示。
原始:https://juejin.cn/post/7103774763524784158