gpt4 book ai didi

ruby-on-rails - Rails I18n - 带格式的字符串

转载 作者:行者123 更新时间:2023-12-04 05:30:23 25 4
gpt4 key购买 nike

我正在使用一个 HTML 模板,该模板允许使用应用以下格式的突出显示(粗体)文本:

<h3><span class="semi-bold">Visit</span> details</h3>

这将被呈现为:

Visit details

我想为标题添加一个 I18n 层,但我发现在不同的语言中,文本高亮顺序可能会有所不同:

(en) Visit details

(es) Detalles de visita

我觉得把 HTML 放在语言文件中的想法很恶心(我想在不同的上下文中使用字符串):

en:
visit_details: '<span class="semi-bold">Visit</span> details'
es:
visit_details: 'Detalles de <span class="semi-bold">visita</span>'

Rails 是否提供更好的方法来处理这种格式化的 i18n 文本?

最佳答案

没有什么能阻止你做以下事情:

# view
t('menus.object_details', object: content_tag(:span, t('menus.visit'), class: 'semi-bold')).html_safe

# en.yml
en:
menus:
object_details: "%{object} details"
visit: "Visit"

# some_other_locale.yml
some_other_locale:
menus:
object_details: "Details %{object}"
visit: "Visit"

如您所见,I18n 文件不包含任何硬编码的 HTML 元素。

这里的技巧是如何处理阳性/阴性(/中性)名词(例如:法语、德语)。

关于ruby-on-rails - Rails I18n - 带格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29924363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com