Ruby on rails 用英语以外的语言开发Rails应用程序

Ruby on rails 用英语以外的语言开发Rails应用程序,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,所以我正在构建一个新的rails应用程序,它的最终用户都会说西班牙语。我想我应该使用rails的I18NAPI,但感觉这是为了翻译一个已经用英语编写的应用程序。我的意思是,rails在内部使用英语语言环境查找模型、表名和路由。因此,如果在创建模式时模型的复数形式不正确,那么用西班牙语命名模型会感觉很奇怪 有人有针对这种情况的最佳实践吗?我是否应该用英语命名所有内容,然后将翻译映射到es.yml文件上?没有黄金法则,但我认为代码应该用英语编写,即使你开始用西班牙语编写,你可能会将西班牙语和英语单词

所以我正在构建一个新的rails应用程序,它的最终用户都会说西班牙语。我想我应该使用rails的I18NAPI,但感觉这是为了翻译一个已经用英语编写的应用程序。我的意思是,rails在内部使用英语语言环境查找模型、表名和路由。因此,如果在创建模式时模型的复数形式不正确,那么用西班牙语命名模型会感觉很奇怪


有人有针对这种情况的最佳实践吗?我是否应该用英语命名所有内容,然后将翻译映射到es.yml文件上?

没有黄金法则,但我认为代码应该用英语编写,即使你开始用西班牙语编写,你可能会将西班牙语和英语单词混在一起,把代码弄得一团糟


关于i18n,您不仅应该使用它将应用程序从一种语言翻译成另一种语言,还应该指定将向用户显示的文本元素。因此,您可以将所有内容组织到一个唯一的文件中。这对维护和代码组织更有利,您可以指定Rails应该使用的默认语言.yml文件。

没有黄金法则,但我认为代码应该用英语编写,即使您开始用西班牙语编写,您可能会将西班牙语和英语单词混在一起,使代码变得一团糟


关于i18n,您不仅应该使用它将应用程序从一种语言翻译成另一种语言,还应该指定将向用户显示的文本元素。因此,您可以将所有内容组织到一个唯一的文件中。更好的是维护和代码组织,您可以指定Rails应该使用的默认语言.yml文件。

用您喜欢的任何语言编写代码和翻译密钥,并使用es.yml作为翻译语言

以下是您如何在整个应用程序中使用I18n的示例:

app/controllers/things_controller.rb

app/views/things/index.html.erb


用您喜欢的任何语言编写代码和翻译密钥,并使用您的es.yml作为翻译语言

以下是您如何在整个应用程序中使用I18n的示例:

app/controllers/things_controller.rb

app/views/things/index.html.erb


即使应用程序应该由西班牙最终用户查看,您最好还是用英语编写。这意味着要编写英语ruby代码、英语路线、英语模型等。唯一应该是西班牙语的是网站上的文本

一些原因:

ruby中所有保留的单词都是英语。 库/框架使用英文命名。 多元化等用英语表达。 如果代码段是英文的,就有更好的机会获得StackOverflow的帮助。 你永远不知道,也许有一天它会变成一个与非西班牙语开发者的合作项目。
至于i18n api,如果您只使用一种语言呈现网站内容,那么您现在可以跳过使用它。

即使应用程序应该由西班牙最终用户查看,您可能最好用英语编写。这意味着要编写英语ruby代码、英语路线、英语模型等。唯一应该是西班牙语的是网站上的文本

一些原因:

ruby中所有保留的单词都是英语。 库/框架使用英文命名。 多元化等用英语表达。 如果代码段是英文的,就有更好的机会获得StackOverflow的帮助。 你永远不知道,也许有一天它会变成一个与非西班牙语开发者的合作项目。 至于i18napi,如果您只需要用一种语言呈现站点内容,那么您现在可以跳过使用它

def create
  thing = Thing.new(params[:id])
  if thing.save
    redirect_to thing, notice: t('cosa.crear.prosperidad')
  else
    flash.now.alert = t('cosa.crear.fracaso')
  end
end
<h1><%= t('cosa.texto_de_ayuda') %></h1>
es:
  cosa:
    texto_de_ayuda: "Necesita ayuda para la creación de las cosas?"
    crear:
      prosperidad: "Cosa fue creado con éxito"
      fracaso: "Hubo un problema al crear su cosa"