首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用英语以外的语言开发Rails应用程序

用英语以外的语言开发Rails应用程序
EN

Stack Overflow用户
提问于 2015-08-03 13:50:37
回答 3查看 292关注 0票数 1

所以我正在构建一个新的rails应用程序,它的最终用户都是讲西班牙语的人。我想我应该使用rails的I18n API,但我觉得这是为了翻译一个已经用英语编写的应用程序。我的意思是,内部rails使用英语语言环境查找事物(模型、表名、路由)。因此,如果您的模型在创建模式时不能正确地被多元化,那么用西班牙语命名您的模型会感觉很奇怪。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-03 14:11:50

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

一些原因:

  • 红宝石中所有的保留词都是英语。
  • 库/框架使用英文命名。
  • 复数等在英语中。
  • 如果代码片段是英文的,获得StackOverflow帮助的可能性更大。
  • 你永远不会知道,也许有一天它会变成一个与不会讲西班牙语的开发人员合作的项目。

至于i18n api,如果您只使用一种语言显示站点内容,那么现在可以跳过使用它。

票数 4
EN

Stack Overflow用户

发布于 2015-08-03 14:06:11

用您喜欢的任何语言编写代码(和翻译键),并将es.yml用于翻译语言。

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

app/controllers/things_controller.rb

代码语言:javascript
运行
复制
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

app/views/things/index.html.erb

代码语言:javascript
运行
复制
<h1><%= t('cosa.texto_de_ayuda') %></h1>

config/locales/es.yml

代码语言:javascript
运行
复制
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"
票数 2
EN

Stack Overflow用户

发布于 2015-08-03 14:01:05

没有金科玉律,但我认为代码应该用英语编写(即使你开始用西班牙语写作,你也可能把西班牙语和英语单词混在一起,把代码搞得一团糟)。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31789131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档