gpt4 book ai didi

ruby-on-rails - 在 Rails 中大写单词的最佳做法是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:42:57 26 4
gpt4 key购买 nike

我正在使用 Rails 中的语言,我想知道将单词大写时的最佳做法是什么。

zh.yml:

hello: "hello"

应用程序.html.erb:

<%= link_to t(:hello).capitalize, hello_path %> (with capitalization)
<%= link_to t(:hello), hello_path %> (without capitalization)

zh.yml:

Hello: "Hello"
hello: "hello"

应用程序.html.erb:

<%= link_to t(:Hello), hello_path %> (with capitalization)
<%= link_to t(:hello), hello_path %> (without capitalization)

最佳答案

第二个更有可能是正确的。何时大写何时不大写取决于语言环境,因此如果不查看周围的上下文,您将无法知道 t(:hello).capitalize 是否会产生正确的结果。比任何一种更好的方法是在符号中包含上下文,如下所示:

t(:hello_button)

然后在您的英文 YAML 中:

hello_button: "Hello"

这样,翻译就可以使用适合相关语言的任何大小写。此外,有时英语会使用同一个词来表示两种事物,而其他语言会使用不同的词:考虑 orange 颜色和 orange 水果;因此上下文在您的翻译中很重要。

此外,capitalize 仅适用于 ASCII 字符,除非您将 mb_chars 放入组合中:

> 'µ'.capitalize
=> "µ"
> 'µ'.mb_chars.capitalize.to_s
=> "Μ"

您可能不会遇到前导 µ,但单词开头的简单重音很常见:

> 'éclair'.capitalize
=> "éclair"
> 'éclair'.mb_chars.capitalize.to_s
=> "Éclair"

假设所有语言的行为都像英语,这只是您将面临的困难的冰山一角。等到你必须开始处理pluralization rules .

L10N 的基本规则是将面向用户的字符串视为不透明的数据 block ,您可以从某种数据库中提取这些数据,并在中间不进行任何操作地显示给用户。是的,这会使您的代码更加复杂,但正确性很重要。


虽然我在这里,但尝试翻译单个单词往往会产生难以理解的困惑,如果你翻译整个句子,你会得到更好的结果。

关于ruby-on-rails - 在 Rails 中大写单词的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12169785/

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