Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 确定名称的最短方法以's'、'x'或'z'结尾,然后对其使用'I18n.t'方法_Ruby On Rails_Ruby_Localization_Internationalization - Fatal编程技术网

Ruby on rails 确定名称的最短方法以's'、'x'或'z'结尾,然后对其使用'I18n.t'方法

Ruby on rails 确定名称的最短方法以's'、'x'或'z'结尾,然后对其使用'I18n.t'方法,ruby-on-rails,ruby,localization,internationalization,Ruby On Rails,Ruby,Localization,Internationalization,我正在创建一个Rails应用程序,用户可以在其中拥有名字和姓氏。由于我是一个完美主义者,应用程序可能不会显示类似于Dennis的个人资料或Xianx的个人资料,而是显示Dennis的个人资料和Xianx的个人资料。我使用I18n,所以我想问一下实现这一点的最短方法是什么?英语和荷兰语的语法相同,应用程序将被翻译为 哦,一些重要的事情: 我不怕使用助手和应用程序控制器 我的语言文件是Ruby,不是YAML 谢谢 荷兰语很难做到完美 def having_s( word ) # maybe g

我正在创建一个Rails应用程序,用户可以在其中拥有名字和姓氏。由于我是一个完美主义者,应用程序可能不会显示类似于
Dennis的个人资料
Xianx的个人资料
,而是显示
Dennis的个人资料
Xianx的个人资料
。我使用I18n,所以我想问一下实现这一点的最短方法是什么?英语和荷兰语的语法相同,应用程序将被翻译为

哦,一些重要的事情:

  • 我不怕使用助手和应用程序控制器
  • 我的语言文件是Ruby,不是YAML

谢谢

荷兰语很难做到完美

 def having_s( word ) # maybe genitiv_s  is a better name
   case word[-1,1]  #  [-1] will do in ruby 1.9 
     when 's', 'x', 'z' 
       "#{word}'"
     else 
       "#{word}'s"
     end
  end

  names=%w(Alex Inez Kees Maria Bordeaux)
  names.each{|name| puts  having_s(name)}

最后一个测试用例(“波尔多”)产生了一个错误的结果,根据。

实现这一点的一种方法几乎没有不正确的风险:

而不是:

Person X's profile
做:


对于所有的语言/国家/文化来说,没有办法做到第一个。第二个选项可能看起来不太理想,但你永远不会错误地展示任何东西。

我讨厌被人糟蹋。;-)但是标签应该是描述性的,并且对搜索很有帮助。该死!我认为这对其他的完美主义者很有帮助eaux总是发音为“o”,所以我可以将其添加到列表中。此外,现在这并不是生死攸关的问题,因为用户可以在那里上传vCard(如果他们的名字中有拼音,很有可能会出现),我还可以问用户网站是否不确定:)
Profile: Person X