Ruby on Rails
本教程将向您展示如何使用lockalise预处理和后处理功能来管理Rails应用程序中上传和下载的翻译。
在本教程中,你将学习如何……
使用Ruby on Rails实现Lokalise的自定义处理器。
先决条件
本指南假设您已经创建了一个Lokalise项目(如果没有,在本指南中学习如何创建一个新项目).
如果你想在你的电脑上执行本指南,你需要安装以下软件:
我们要建造什么
我们将创建一个简单的应用程序,它将处理您将在Lokalise上导入和导出的翻译。然后,该应用程序将处理翻译并删除任何禁用单词。
准备应用程序
让我们开始准备一个Rails应用程序。通过运行:
rails新的CustomProcessors
下面让我们创建两个POST路由来执行预处理和后处理配置/ routes.rb
文件:
Post '/preprocess',到:'processors#preprocess' Post '/postprocess',到:'processors#postprocess'
控件中创建一个新控制器app / controllers / processors_controller.rb
文件:
class ProcessorsController < ApplicationController skip_before_action:verify_authenticity_token, only: %i[preprocess postprocess] def preprocess end def postprocess end end
我们必须跳过真实性令牌验证,因为翻译将由第三方资源发送。
进行预处理
那么,现在让我们看看如何执行翻译预处理。例如,假设我们想要遍历上传的翻译并从它们中删除一个“禁止”的单词。
要实现这一点,只需调整进行预处理
行动:
Def预处理有效载荷= params有效载荷[:collection][:keys]。每个做|键|键[:translations].map!做|trans| trans[:translation].gsub!(/BANNED/, ") trans end end渲染json:负载端
这里我们迭代翻译和使用gsub !
将“forbidden”替换为空字符串。
还要注意,我们必须使用保留原始结构的JSON有效负载进行响应,否则导入将失败。
使预处理器
现在预处理器已经准备好了,我们必须在Lokalise上启用它。要实现这一点,打开Lokalise项目,执行应用程序,找定制的处理器在列表中单击它。然后单击安装并通过输入预处理URL来配置这个应用程序:
![2022-06-28 14_31_14-Angular _ Lokalise — Mozilla Firefox.png 758](https://files.readme.io/aa815e7-2022-06-28_14_31_14-Angular___Lokalise__Mozilla_Firefox.png)
![Click to close... 758](https://files.readme.io/aa815e7-2022-06-28_14_31_14-Angular___Lokalise__Mozilla_Firefox.png)
默认情况下,预处理器将为每个上传的翻译文件运行,但您可以通过从相应的下拉菜单中选择一种文件格式来缩小范围。
准备好后,单击启用应用程序.伟大的工作!
后处理的翻译
现在让我们执行一个非常类似的事情,从下载的翻译中删除“禁止”的单词。
要实现这一点,请调整后处理
行动:
Def postprocess payload = params payload[:collection][:keys]。每个做|键|键[:translations].map!做|trans| trans[:translation].gsub!(/BANNED/, ") trans end end渲染json:负载端
就是它了!
使后处理
现在应用程序已经完成,我们必须启用Lokalise的后处理。要实现这一点,打开Lokalise项目,执行应用程序,找定制的处理器在列表中单击它。然后单击安装通过输入postprocess URL来配置这个应用程序:
![2022-06-28 14_31_32-Angular _ Lokalise — Mozilla Firefox.png 757](https://files.readme.io/6dcac9e-2022-06-28_14_31_32-Angular___Lokalise__Mozilla_Firefox.png)
![Click to close... 757](https://files.readme.io/6dcac9e-2022-06-28_14_31_32-Angular___Lokalise__Mozilla_Firefox.png)
默认情况下,postprocessor将为每个上传的翻译文件运行,但您可以通过从相应的下拉菜单中选择一种文件格式来缩小范围。
准备好后,单击启用应用程序.伟大的工作!
更新 3个月前