[英]use i18n-node in server-side express application
我無法弄清楚應該如何在我的應用程序中使用i18n-node模塊。
在視圖中,對於靜態文本,它很容易,它完美地工作但是......
這是我的問題:
有時我必須設置一些錯誤消息或其他內容,例如:
req.flash('message', __('Unknown user %s', login));
然后我將把這條消息發送給我的觀點,例如:
res.render('myview', {message: req.flash('message')});
但首先,我的消息"Unknown user %s"
將只在默認語言json文件中設置,然后即使我在客戶端語言json文件中放置"Unknown user %s": "Something in the client language"
中的"Unknown user %s": "Something in the client language"
,它仍會顯示"Unknown user myUserLogin"
。
有人有一個很好的工作實例可以分享嗎?
編輯:因為,翻譯后的字符串中有一個變量,我不能這樣做:
res.render('myview', {message: __(req.flash('message'))});
因為它會在客戶端語言json文件中設置"Unknown user myUserLogin"
,而不是"Unknown user %s"
...
我知道這個問題有點陳舊,但我遇到了同樣的問題並找到了解決方案。
由於您使用req
對象中的flash
方法,因此您還應該使用同一對象中可用的__
方法:
req.flash('message', req.__('Unknown user %s', login));
這樣,它將使用請求的當前區域設置進行翻譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.