Ruby on Rails

本教程将向您展示如何使用lockalise预处理和后处理功能来管理Rails应用程序中上传和下载的翻译。

在本教程中,你将学习如何……

使用Ruby on Rails实现Lokalise的自定义处理器。

你可以在GitHub上找到源代码。

先决条件

本指南假设您已经创建了一个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来配置这个应用程序:

758758

默认情况下,预处理器将为每个上传的翻译文件运行,但您可以通过从相应的下拉菜单中选择一种文件格式来缩小范围。

准备好后,单击启用应用程序.伟大的工作!

后处理的翻译

现在让我们执行一个非常类似的事情,从下载的翻译中删除“禁止”的单词。

要实现这一点,请调整后处理行动:

Def postprocess payload = params payload[:collection][:keys]。每个做|键|键[:translations].map!做|trans| trans[:translation].gsub!(/BANNED/, ") trans end end渲染json:负载端

就是它了!

使后处理

现在应用程序已经完成,我们必须启用Lokalise的后处理。要实现这一点,打开Lokalise项目,执行应用程序,找定制的处理器在列表中单击它。然后单击安装通过输入postprocess URL来配置这个应用程序:

757757

默认情况下,postprocessor将为每个上传的翻译文件运行,但您可以通过从相应的下拉菜单中选择一种文件格式来缩小范围。

准备好后,单击启用应用程序.伟大的工作!


这个页面对你有帮助吗?