Rails i18n - 翻译带有链接的文本

2024-02-26

我想国际化如下所示的文本:

已经注册了?Log in! http://example.com

请注意,文本上有一个链接。在此示例中,它指向 google - 实际上,它将指向我的应用程序log_in_path.

我找到了两种方法来做到这一点,但没有一种看起来“正确”。

我知道的第一个方法就是将其作为我的en.yml:

log_in_message: "Already signed up? <a href='{{url}}'>Log in!</a>"

在我看来:

<p> <%= t('log_in_message', :url => login_path) %> </p>

This works,但有<a href=...</a>部分关于en.yml对我来说看起来不太干净。

我知道的另一个选择是使用局部视图 http://guides.rubyonrails.org/i18n.html#localized-views - login.en.html.erb, and login.es.html.erb.

这也感觉不对,因为唯一不同的行就是前面提到的那一行;视图的其余部分(约 30 行)将为所有视图重复。它不会很干。

我想我可以使用“本地化部分”,但这似乎太麻烦了;我想我更喜欢第一个选项而不是拥有这么多小视图文件。

所以我的问题是:是否有一种“正确”的方法来实现这一点?


en.yml

log_in_message_html: "This is a text, with a %{href} inside."
log_in_href: "link"

登录.html.erb

<p> <%= t("log_in_message_html", href: link_to(t("log_in_href"), login_path)) %> </p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails i18n - 翻译带有链接的文本 的相关文章

  • 通过 has_many 进行多个数据库连接

    如何通过使用多个数据库连接来创建 has many 我有一个名为 master 的数据库 其中保存位置信息 这是从单独的应用程序更新的 用户可以访问许多位置 但所有其他模型都位于另一个名为 budget 的数据库中 以下是模型的设置方式 p
  • 在 652 毫秒内完成 200 OK(查看次数:50.9 毫秒 | ActiveRecord:18.3 毫秒)

    我试图理解 Rails 日志中的这一行 如果我的视图只花费了 50 9 毫秒 为什么它花费了 652 毫秒 Thanks 如果您在开发环境中运行应用程序 则必须根据每个请求重新加载大量应用程序文件 这就是我对为什么要花这么长时间的猜测 你可
  • RSpec 抛出分段错误

    有时我的测试套件会无缘无故地抛出分段错误 这是输出 Users Test rvm gems ruby 1 9 3 p392 gems activerecord 3 2 9 lib active record relation query m
  • 在 Rails 上制作 ruby​​ 占用更少的内存

    我正在尝试运行 Ruby on Rails 项目 redmine http www redmine org 在 VPS 上 它可以工作 但需要相当多的内存 与 VPS 的其余部分相比 rails 应用程序的使用量非常少 我的服务器上也运行着
  • Rails 建模:将 HABTM 转换为 has_many :through

    我正在现有的 Rails 站点上进行维护工作 并且遇到了一些由多对多关联引起的问题 看起来该网站最初是使用has and belongs to many对于一些业务逻辑变得更加复杂的关系 所以我需要使用has many through而是支
  • 具有多个可选参数的 Rails 3 路线

    我正在尝试创建一个具有可选参数和不同顺序的 Rails 路线 这个问题描述了一个类似的问题 具有多个 可选且漂亮参数的路由 https stackoverflow com questions 14007593 routes with mul
  • 如何将openId与rails 3中的设备集成

    我是 Rails 新手 刚刚完成了一个简单的设计设置 我正在寻求实现一些仍然使用核心设计功能集但允许通过 openid 提供商登录而不是 使用电子邮件或用户名注册 的东西 我如何开始使用最新的设计宝石和rails 3 看看devise op
  • 使用 prawnto_2 gem 加载图像时,RAILS_ROOT 不再有效

    我正在将我的应用程序从 Rails 3 0 升级到 Rails 3 1 我已经尽可能地将旧插件转为 gems 其中包括用这个漂亮闪亮的新插件替换旧的 prawnto 插件对虾 2 https github com forrest prawn
  • AJAX Rails 验证

    我的表单和验证可以很好地处理常规的 http 请求 我希望它使用 AJAX 我知道我可以在客户端进行验证 但这似乎是多余的 因为我已经在模型中定义了验证 当用户填写表单时 我想就他们的条目向他们提供反馈 在 AJAX 表单中使用 Rails
  • Ruby on Rails:simple_form + Twitter Bootstrap 未显示

    我正在为我的网站上的新用户创建一个简单的注册表单 我已经运行了 simple form bootstrap 的安装 rails g simple form install bootstrap 但是 它仍然没有显示并呈现为正常的 simple
  • Rails 5 deviseomniauth-facebook 错误:抱歉,出了点问题

    我按照 Devise 的官方指南从上到下本节 https github com plataformatec devise wiki OmniAuth Overview logout links My CALLBACK URL is http
  • 如何对 mongodb/mongoid 脚本进行基准测试,以比较两种不同的查询技术

    您对如何测试两种不同的 mongoid mongodb 查询实现的性能有什么建议吗 要比较的实现与以前的相关 问答 https stackoverflow com questions 10121977 extracting modellin
  • 无法使用 docker-compose 在 Dockerfile 中运行 rake db:create

    我有一个Dockerfile and docker compose yml就像在tutorial https docs docker com compose rails 除非我从现有的应用程序开始 My docker compose yml
  • 从架构中删除表 - Rails

    我想删除架构中的一个表 我在第一次启动项目时创建了数据库并希望删除该表 这样做的最佳方法是什么 I tried rails g migration drop table installs但这只会创建一个空迁移 Schema create t
  • 选择标签,指定所选选项(或将数组元素移动到索引 0)

    假设我正在查询水果列表 然后仅将水果的 ID 和名称收集到 fruit 中 32 apple 8 bannana 10 cantelope 11 grape 15 orange 41 peach 22 watermelon fruit 正在
  • “rake db:seed”和 rake db:fixtures:load 之间有什么区别

    我是 Ruby 和 Rails 的新手 对某些事情感到好奇 在两个不同的教程中 我看到他们使用不同的方法用基本测试信息填充数据库 一种方法是使用 rake db seed 从包含示例数据的文本文件中提取数据 另一个使用 rake db fi
  • Rails simple_form:自定义输入id

    我想把用Rails simple form生成的几个表单放在一页上 并用javascript对它们进行操作 然而 simple form 为表单中的各个输入生成了相同的 id 因此我想用我自己的 id 替换生成的 id 现在我有一行 和 H
  • 如何找到查询结果的大小

    我在 Rails 中有以下查询 records Record select y id source where source gt source y id gt y id group y id source having count 1 如
  • NoMethodError 未定义方法“名称” for nil:NilClass

    我有两个模型帖子和类别 我试图在我的索引和帖子显示视图中显示每个帖子的类别名称 我正在使用表连接 但问题是 虽然在我的显示视图中类别显示正确 但它在索引视图中给出了 NoMethodError undefined method name f
  • RubyMine 不能使用 Guard 吗?

    由于某些无法解释的原因 RubyMine 会自动保存您所做的每一个更改 因此每次击键都会触发 Guard 运行您的测试 最可笑的是 显然没有办法禁用这个自动保存 功能 我只是想知道 RubyMine 似乎是 Rails 开发人员中非常流行的

随机推荐