dongyingjiu0669 2018-04-05 09:03
浏览 30

有没有办法在模型中使用gobuffalo i18n转换器?

gobuffalo i18n translator is accessible in actions but how can I access it on my models? It requires the buffalo.Context as a param in T *i18n.Translator.

Thank you in advance!

  • 写回答

1条回答 默认 最新

  • dqjgf0982 2019-08-22 17:20
    关注

    This is a workaround solution.

    1.In models.go create the following function

    import "github.com/nicksnyder/go-i18n/i18n"
    var Lang = "en"
    
    func t(translationID string, args ...interface{}) string{
    
    
       T, _ := i18n.Tfunc(Lang, fmt.Sprintf("locales/models.%s.yaml", Lang))
       return T(translationID,args... ) 
    
    }
    

    In your init() function add

        i18n.LoadTranslationFile(fmt.Sprintf("locales/models.fr.yaml"))
        i18n.LoadTranslationFile(fmt.Sprintf("locales/models.en.yaml"))
        ... other locale files if needed....
    

    In your models you can now use the translate function t("translationID")

    You can change the models locale by simple setting the Lang variable models.Lang="fr"

    评论

报告相同问题?

悬赏问题

  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口