gpt4 book ai didi

ruby-on-rails-3 - 在 rails 中翻译成具有性别的语言的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-03 22:33:21 27 4
gpt4 key购买 nike

例如从英语翻译成法语

submit:
create: 'Create %{model}'
update: 'Update %{model}'
submit: 'Save %{model}'

会成为
    submit:
create: "Créer un(e) %{model}"
update: "Modifier ce(tte) %{model}"
submit: "Enregistrer ce(tte) %{model}"

实现括号中的文本(性别化)以处理传递的任何模型的最佳方法是什么。
谢谢!

最佳答案

还有i18n-inflector-rails Rails 插件允许在 Controller 中注册所谓的变形方法。

这些方法将透明地向 I18n Inflector 提供有关性别或您喜欢的任何其他变化类型的数据。

例子:

fr:
i18n:
inflections:
gender:
h: "hommes"
f: "femmes"
n: "neutre"
m: @h
default: n

welcome: "@{h,n:Cher|f:Chère|Bonjour}{ }{h:Monsieur|f:Dame|n:Vous|à tous}"

然后在 Controller 中:
class ApplicationController < ActionController::Base

before_filter :set_gender

inflection_method :gender

# inflection method for the kind gender
def gender
@gender
end

def set_gender
if user_signed_in? # assuming Devise is in use
@gender = current_user.gender # assuming there is @gender attribute
else
@gender = nil
end
end

end

class UsersController < ApplicationController

def say_welcome

t('welcome')

# => "Cher Vous" (for empty gender or gender == :n)
# => "Chère Dame" (for gender == :f)
# etc.

end

end

关于ruby-on-rails-3 - 在 rails 中翻译成具有性别的语言的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4272933/

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