问题标签 [globalize3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 在 Rails5 中动态添加 paper_trail 到翻译中
我有一个转换一些模型数据的应用程序,我想对这些数据进行版本控制。所以这是我的设置:
- 导轨 5.1.4
- Ruby 2.4.1(带 RVM)
- 全球化@大师
- PaperTrail 用于翻译版本控制
我创建了一个拉取请求,应该将 rails 5 功能添加到globalize-versioning gem。
我已经这样做了:
- 更新 gemspec 和 Gemfile 以使用最新的 gem。
- 修复已弃用的 ruby 调用
- 更新
.travis.yml
以便运行测试。
现在项目中的所有测试都失败了,我不太清楚如何将 paper_trail 功能添加到 globalize 的翻译对象中。
ruby-on-rails - Globilize 更新所有翻译,除了“标题”
我在旧的 rails 3.2 项目上使用 Globalize 3.1 和 globalize-accessors,以便以 3 种语言存储一些翻译的字段。我有两个模型,一个公司有很多基本细节[标题、地址、纬度、lng、图像等],我翻译“标题”和一个描述两个字段[摘要和描述],我翻译两个“摘要” '和'描述'。
我正在使用 simple_forms 在我的管理员中添加所有翻译的字段,在 [:en, :de, :it] 语言环境中。
一切都存储和更新没有任何问题,但公司的“title_en”仍然是初始的,所以如果我愿意,我无法更改它。
在公司模式
在控制器中
在我看来
我仔细检查了每一个可能的拼写错误或错误,但问题仍然存在,无论我只是将空翻译添加到公司,还是我已经填写了所有翻译字段。'title_en' 始终保持不变。所有其他字段(title_it、title_de、summary_en、description_en、description_it 等)都可以毫无问题地更新。
你有什么主意吗?谢谢!
****** 附加信息 ******* 这是我的更新操作
ruby-on-rails - 如何在 ActiveAdmin 中保持 UI 和内容本地化分开
我们需要开始使用我们不同的应用程序以多种语言交付动态内容。
应该考虑两种类型的本地化:UI 本地化和内容本地化。UI 本地化是提供界面的语言(静态文本),而内容本地化是查看/编辑内容的语言(Rails 模型)
我们基本上有 3 种类型的应用程序
- 移动应用程序 - 命中 CRUD 操作的 API 端点
- 客户端 Web 应用程序 - 使用骨干网构建,因此还使用 API 端点通过骨干模型/集合进行 CRUD 操作
- 管理 web 应用程序 - 使用 activeadmin ( https://github.com/activeadmin/activeadmin )构建
我应该注意我们使用的是 Rails 3.2,ActiveAdmin 0.6.6(需要升级但不是优先级:))
为了本地化内容,我们正在寻找 globalize gem ( https://github.com/globalize/globalize )
与 API 端点交互时,使用 globalize 似乎没有任何问题。我们可以使用Accept-Language
标题并I18n.locale
在 before_filter 中设置属性,一切似乎都正常。这意味着应该涵盖移动应用程序和客户端 Web 应用程序。
对于 ActiveAdmin,这变得有点困难。对于 ActiveAdmin 应用程序,我们希望以用户的首选语言提供 UI 静态文本,同时允许他们在内容的语言之间切换。
globalize gem 利用该I18n.locale
属性来确定要更新/读取内容翻译的语言环境。由于 ActiveAdmin 不使用 AJAX,因此设置I18n.locale
也会影响 UI 静态文本。
目前,这没什么大不了的,因为我们只有一个 UI 语言环境(config/locales 仅包含 en yml 文件)。这意味着我们可以使用https://github.com/activeadmin/activeadmin/wiki/Specifying-locale中描述的方法并设置I18n.locale
属性以通过 globalize 更新正确的动态内容,同时 UI 界面将继续交付英语
但是,考虑到未来我们可能会为 UI 添加其他语言,我正在寻找如何将 UI 区域设置和内容区域设置分开的想法。其他语言,例如 Java 和 C#,在其 I18n 等效库上使用不同的属性来执行此操作,但 Rails 似乎不接受这一点
想法?
提前致谢