问题标签 [globalize]

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.

0 投票
1 回答
479 浏览

ruby-on-rails - 如何获取模型中的全球化字段列表?

我使用 gemsglobalizeglobalize_accessors翻译我的模型。这是一个例子:

我希望能够检索字段列表,即[:title, :description]以循环形式遍历它们。

我四处寻找,唯一能找到的就是#globalize_attribute_names方法。但是,它会返回按原始标题排序的已翻译字段列表:

所以,问题是 - 有没有办法获取我指定的字段列表translates

我有点像这样修复它,但它不是很好:

0 投票
1 回答
1451 浏览

ruby-on-rails - rails 4,全球化gem,如何设置默认语言环境

我正在使用 globalize gem 来支持多个语言环境。

config/locales 目录有三个文件

我的路由文件是

我的根路径 (/) 正在设置默认语言环境

但我不知道如何在 api_controller 中设置默认语言环境

我想

在rails项目中不接受吗?

必须添加 /:locales/api~~ ?

0 投票
1 回答
791 浏览

ruby-on-rails-4 - 全球化:如何在视图中显示当前的语言环境信息

我目前对 Globalize gem 有点问题。

我解释了当前的情况:我有一个名为 Question 的模型。创建它之后,没有存储任何数据,我在模型中添加了以下几行:

然后,我创建了一个迁移来创建翻译表

我的默认语言环境是:en。之后我添加了一些数据。

如果我去执行rails c并输入命令,Question.first.wording一切正常。虽然当我在'rails c'中执行I18n.locale = :es然后我Question.first.wording仍然显示我在开头放置的英文文本。

我尝试了一件似乎对我有帮助的事情,那就是我删除了所有已翻译的列(如迁移数据后在 Globalize 文档中指定的那样。在我的情况下,我一开始没有任何数据要迁移)。之后我做了一个回滚(它取回了我从问题模型中删除的列),然后执行Question.first.wording让它I18n.locale = :es工作。这意味着Question.first.wording返回nil

之后,我实现了 Ruby on Rails 指南中指定的“ Locale from Url Params ”,这意味着第一个 URL 参数是 ':locale' 参数。现在是当前的问题:视图仍然以英语显示信息,但它应该以西班牙语显示,因为我输入的 URL 是http://localhost.com/es/questions/

如何让它在视图中显示西班牙语信息?

0 投票
0 回答
191 浏览

ruby-on-rails-4 - rake db:migrate 因 globalize gem 和 rails 4.1.7 而失败

我正在尝试将 globalize gem 与 Rails 4.1.7 一起使用。使用最新的 RVM 版本,os 是 Ubuntu 12.04,db 是 postgresql 9.3。

按照 github 上 readme.md 中的说明,我在模型中添加了 translates 指令并搭建了迁移

然后当我 rake db:migrate 我得到以下错误

这真的很奇怪。谷歌搜索这种错误,我在 github https://github.com/globalize/globalize/issues/288中找到了一张票,该票于 2013 年 12 月开放,但仍未关闭,看起来非常相似;唯一的解决方案似乎是对全球化代码进行破解,但我不想在那个级别上修改代码。是由于 postgres 和 globalize 的结合还是有其他解决方案?

0 投票
1 回答
580 浏览

ruby-on-rails - I18n adding "-US" to the en locale

I'm trying to persist the URLs with the specific language (i.e. en, pt, etc.) but after setting it up, I keep getting 'en-US' instead of 'en'. (i.e. localhost:3000/en-us/apps instead of localhost:3000/en/apps). Not sure where I can change this setting since I figured it would default to my fallbacks.

I've prefixed my routes with the following:

ApplicationController.rb

Application.rb

0 投票
2 回答
1971 浏览

ruby-on-rails - Rails 4 + Globalize + Activeadmin + activeadmin-globalize,activeadmin-translate 不起作用

块:

总是显示最后一个字段,我相信问题出在 gem 'activeadmin -translate'github'rbatllet/activeadmin -translate'。

管理员/POST.RB

模型/post.rb

0 投票
3 回答
1009 浏览

ruby-on-rails - 获取多个对象关联的数组

我不知道如何找到一个可以理解的标题,所以我会尽力解释我的问题。

我有 2 个模型: - 可通过 globalize 翻译的国家/地区,具有名称和许多地区 - Region belongs_to country

我想做的是让所有地区的数组形成一个国家数组。

例如

有一个简单的方法来获取这个数组吗?

0 投票
1 回答
1019 浏览

ruby-on-rails - 使用 Globalize 和 Friendly_id 将同一页面重定向到不同的语言

在过去的几个小时里,我一直在挠头,寻找答案,但我在任何地方都找不到。

我的宝石文件:

情况如下:

我有两种语言“en”和“fr”

2 个模型: pages 和 pages_translations pages 有一个 slug 列, pages_translations 也有一个 slug 列。

如果我查看页面 -> en/pages/slug-en,它可以工作。

如果我查看页面-> fr/pages-slug-fr,它可以工作。

所以我假设friendly_id 和globalize 配置正确。

但是我的问题是我无法使用以下方法使语言切换器工作:

路线变成 en/pages/slug-fr (即语言改变,但不是 slug)。

我已经在初始化程序中激活了 config.use :finders。

我的页面模型:

那么我需要做什么才能在我的语言切换器上设置正确的路径?理想情况下,我希望它适用于任何模型,而不仅仅是 Page 模型。

谢谢!- 文森特

0 投票
1 回答
3264 浏览

ruby-on-rails - Rails 和 Globalize - 加入范围内相关模型的翻译表

我想订购与另一个模型(具有翻译属性)相关的模型的一些记录。这里有一个例子:

  1. 我有一个模型项目
  2. 我有一个模型任务
  3. 我有关系Project has_many Tasks
  4. 模型任务具有全球化的属性名称(在task_translations表上)

现在,我想按任务名称对所有项目进行排序。我怎样才能写这个范围?如何加入 Rails 中的翻译表,例如gem globalize 中的with_translation方法(https://github.com/globalize/globalize/blob/eccb924ac9641b52399f22525b0e3ec004739f4c/lib/globalize/active_record/class_methods.rb)但来自相关对象Project

0 投票
2 回答
1141 浏览

ruby-on-rails-4 - RSpec + factory_girl + 全球化错误?

我在使用 Globalize + RSpec + factory_girl 时遇到了一个烦人的问题。我有一个翻译了属性的模型,并且在使用 factory_girl 创建工厂时出现了问题。该代码完美地解释了它:

翻译迁移:

模型:

工厂:

测试:

日志:

mysql事务:

从记录中可以看出,虽然在数据库查询中创建记录时定义了参数属性“name”,但翻译表显然什么也没找到,然后尝试在没有翻译字段的情况下创建注册表,但失败了。

但是,如果我们在模型中注释翻译语句……</p>

MySQL事务:

它是一个错误吗?难道我做错了什么?这发生在其他人身上吗?