2014-12-23 92 views
0

在這裏完成i18next noob,請耐心等待!如何用i18next翻譯部分HTML文本?

我的HTML是:

<ul class="nav nav-sidebar"> 
    <li><a href="#">Sección 1.1</a></li> 
    <li><a href="#">Sección 1.2</a></li> 
    <li><a href="#">Sección 1.3</a></li> 
</ul> 
<input type="text" id="Doc" name="Doc" data-i18n="[placeholder]mykey" placeholder="Document" /> 

和我加載我的翻譯本javascript代碼:

i18n.init(
    { 
     lng: $.cookie("i18next"), 
     fallbackLng: "es", 
     debug: true, 
     resGetPath: "dist/js/i18n/___lng__.js", 
    }, 
    function (t) { 
     $(document).i18n(); 
    } 
); 

我如何申報我data-i18nli標籤,所以我只需要提供一個單一的「Sección」內部HTML片段的關鍵,並保留1.1,1.2,1.3之後?

回答

1

你需要添加data-i18n代碼到你的HTML

<a href="#" data-i18n="menu.home">Home</a> 

我做了一個例子給你:

link to my jsbin

這裏有其他樣品的使用,你可以考慮: http://i18next.com/pages/sample.html

或者如果您正在尋找嵌套用法,您可以使用$t()

例如:

'en-US': { 
    translation: { 
     'menu': { 
     'taipei': 'Taipei, $t(menu.country)', 
     'tainan': 'Tainan, $t(menu.country)', 
     'kenting': 'Kenting, $t(menu.country)', 
     'country': 'Taiwan' 
     }       
    } 
    } 

我已經更新了jsbin。希望這是你正在尋找的

+0

謝謝吉姆,我已經意識到這一點,但你正在翻譯整個鍵。在你的jsbin中,你看到問題在那裏:你在括號之間重複三次「臺灣」子字符串。 我只想提供「臺灣」一次,用「特定字符串」和「只有一個單獨的區塊」組成你的「菜單」兒童「臺灣」 – jonayreyes

+0

對不起,我不太明白你的意思。如果你想指定一次,你可以使用數組方法。我已經更新了jsbin給你看: http://jsbin.com/vocucatuje/1/edit 這是你在找什麼? – Jim

+0

好的。我的意思是這樣,對於指定 「臺灣」 只有一次: ' 'EN-US':{ 翻譯:{ '菜單':{ '臺灣名': '臺灣', 「臺北: '臺北('+ taiwan-name +')', '臺南':'臺南('+ taiwan-name +')', 'kenting':'墾丁('+臺灣名+')', } } }' – jonayreyes