问题标签 [i18n-gem]
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-on-rails - 我可以设置包含区域设置的路由并在未提供时默认路由中的区域设置吗?
我目前有需要语言环境的路由(即/en、/fr 等)。在某些时候,我在 routes.rb 中使用了以下所有语句:
我知道,如果我执行以下操作,如果路线不包含指向英文版网站的语言环境。但是,一旦显示页面,它就不会像我想要的那样设置语言环境。如果我通过单击我的语言环境逻辑转到法语版本,第一个链接将显示该页面的法语版本,链接中带有 /fr。但是,如果我单击法语页面上的另一个链接,则语言环境会返回到英语,并且该语言环境已从链接中排除。
这是我的应用程序中我的语言环境链接的代码,用户可以在其中单击标志图像或文本来更改语言环境:
如果偶然有人在网站本地化之前保存了链接,我想做的是防止出现 500 系统错误。例如,如果他们有http://mywebsite.com/video,它将显示网站的英文版本并将语言环境设置为“en”。
这是我在 application_controller.rb 中的代码。
除了使用路由过滤器 gem 之外,我在这个特定问题上没有找到任何东西。我正在使用 gem,但在 Rails 4 的 gem 生产版本出现之前,我别无选择,只能解决这个路由问题。
任何帮助,将不胜感激。
ruby-on-rails - Rails 国际化:i18n 查找嵌套的语言环境目录
我正在尝试使用嵌套文件结构来组织我的本地化文件,以便更容易查找。
我已关注
但我缺少翻译:en.view.fruits.apple
. 我认为 Rails 试图只在locales/en.yml
文件中查找翻译,而不是在子目录中,尽管我已经包含了它们。
配置/应用程序.rb:
我的语言环境目录:
语言环境/视图/en.yml:
意见/fruit.html.haml:
ruby-on-rails - Rails 使用 i18n 惰性查找文件结构
指
[1] 这个Rails 国际化:i18n 查找嵌套的语言环境目录
[2] 这个http://guides.rubyonrails.org/i18n.html#organization-of-locale-files
其中导轨仅显示您如何构建它,但之后它会中断。它没有提及如何使用给定的文件结构进行查找
所以我想知道是否无论如何都可以在文件结构中使用惰性外观
考虑以下目录
配置/应用程序.rb
.yml
有什么办法可以做到这一点?或任何接近的东西?
在意见/水果/apple.html.haml
我知道下面的代码可以工作,但是由于我在苹果目录中,所以必须有一种方法可以使用惰性查找来查找唯一键。
在意见/水果/apple.html.haml
我认为,如果这是可能的。它可以最大限度地减少重复键,如果我们需要添加额外的别名,我们可以在必要时添加它,因为我相信大多数翻译团队按单词收费
ruby-on-rails - 传递 gritter gem 的变量以在 gflash.en.yml 中进行翻译
如何将变量或参数传递给gritter Ruby on Rails gem,以便它可以用作国际化 (i18n) 替换的一部分?
您可以像这样在控制器中对 gflash 进行硬编码:
在上面,#{butter}
被替换为“融化”。
但这会在控制器中设置翻译,忽略 gflash.en.yml 文件的使用,并使用一种语言。
使用变体测试如何调用变量似乎不会导致替换。
gflash.en.yml 文件中的上述键没有一个显示“融化”,而是按原样显示。
像这样试图通过它也行不通:
有没有办法将变量传递给 gritt gem 使用的翻译键,而不是限制在控制器中硬编码一种语言?
ruby-on-rails - Ruby on Rails 中的翻译捆绑错误
我最近更新了我的 Ruby on Rails 项目,然后当我尝试运行
rake i18n:js:export
命令时,出现以下错误
uninitialized constant I18n::INTERPOLATION_PATTERN
这发生在 windows 8.1 和 centos6 机器上。
我的 ruby 版本是:Windows 中的 1.8.7 和 CentOS6 中的 1.9.3 Rails 版本:3.0.9
我在这个地方一无所知,试图找到解决方案,但找不到正确的解决方案。
我在用着i18n-js version 2.1.2
我尝试将其更新为version 3.0.0.rc5
但仍然没有运气。
有人遇到过类似的问题吗?我急切地期待一个解决方案来解决这个问题。
/* 使用跟踪运行后的结果 */
** 调用 i18n:js:export (first_time) ** 调用环境 (first_time) ** 执行环境 ** 执行 i18n:js:export rake 中止!未初始化的常量 I18n::INTERPOLATION_PATTERN c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:72:in
block in configured_segments' c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:70:in
each' c:/Ruby193/lib /ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:70:ineach_wit h_object' c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:70:in
configur ed_segments' c:/Ruby193/lib/ruby/gems/1.9.1/gems/ i18n-js-2.1.2/lib/i18n-js.rb:83:intranslat ion_segments' c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js.rb:46:in
export!'c:/Ruby193/lib/ruby/gems/1.9.1/gems/i18n-js-2.1.2/lib/i18n-js/rake.rb:9:in
bloc k (2 levels) in <top (required)>' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:236:in
call' c:/Ruby193/lib/ruby/gems /1.9.1/gems/rake-10.1.1/lib/rake/task.rb:236:inblock i n execute' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:231:in
each' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib /rake/task.rb:231:inexecute ' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:175:in
块 in invoke_with_call_chain' c:/Ruby193/lib/ruby/1.9.1/monitor.rb:211:inmon_synchronize' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/task.rb:168:in
invoke_with_call_chain' c:/Ruby193/lib/ruby/gems/1.9。 1/gems/rake-10.1.1/lib/rake/task.rb:161:in `invoke'c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:149:in
invoke_task' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:in
block (2 levels) in top_level' c:/Ruby193/lib/ruby /gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:ineach' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:106:in
block in top_level' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1 .1/lib/rake/application.rb:115:inrun_with_threads' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:100:in
top_level' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:78:inb lock in run' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:165:in
标准异常处理'c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/lib/rake/application.rb:75:in'cr un' c:/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.1.1/bin/rake:33:in
:/Ruby193/bin/rake:23:inload' c:/Ruby193/bin/rake:23:in
'任务:TOP => i18n:js:export
谢谢
ruby-on-rails - 内联更改 i18n 翻译
我正在开发一个 Rails Web 应用程序,用户需要能够更改其中出现的文本。我一直在所有页面中使用 i18n gem 来管理不同的语言。现在,我正在开发可编辑部分,因此我正在考虑使用控制器中的翻译更改 .yml 文件。这个程序是最好的方法吗?我考虑过的另一种可能性是使用一个包含所有真正访问翻译的翻译的模型。
提前致谢。
ruby-on-rails - 加载编辑表单时如何选择默认值
customer_gender
是一个数组数组。
我想在编辑表单上选择当前值但它不起作用。
我认为问题在于性别的值不是数字而是字符串,
如果值是字符串,如何解决这个问题
如果我必须在gender
列中输入数字,
我如何应用 i18n 来转换 1->male, 2->female ?
ruby-on-rails - 使用 I18n 加载语言文件
我在使用 I18n 加载文件时遇到问题。之前我将所有的翻译都放在一个名为 fr.yml 的文件中。但我决定将它们拆分成一些文件,例如 clubs.fr.yml、searcher.fr.yml ...
I18n 显然只加载 fr.yml 的问题。
这是我加载文件的代码:
这里是我的一个文件的一个例子:
我检查了它的空间,没有标签。任何想法 ?
ruby-on-rails - i18n rails 4 生产错误。不是发展
我正在开发一个支持 i18n 的 rails 4 应用程序。我已经安装了 i18n gem。在我的 application.rb 文件中,我有这个代码
在开发模式下,一切都完美无缺,但是当我切换到生产模式时,一切都输出“翻译缺失”。我尝试了不同的解决方案,例如在 config/initializers/locale.rb 中编写此代码
并将其写入 config/environment.rb
没有任何效果。进入控制台模式会显示这一点,就像我在 Web 浏览器中打开应用程序时一样。
我的 config/locales/es.yml 文件:
ruby-on-rails - rails i18n 语言环境特定的配置设置?
我目前正在对一个 Rails 应用程序进行国际化,并将我的所有翻译都放在 config/locales/ 中。我在 config/application.yml 中有我的常规环境配置设置,例如 API 密钥。我不知道在哪里放置特定于语言环境的配置设置?像默认位置等?
我可以有一个为每种语言嵌套不同部分的配置文件,然后只加载与我当前语言环境相关的部分吗?
就像是
然后像
如何获得“mylocale”?
我感谢任何提示和最佳实践建议!