Jquery移动按钮和i18next翻译

我一直试图解决i18next按钮翻译问题一段时间了。 如果我从page1移动到page2然后再转到page1,按钮渲染会中断:无论如何,在从page1移动到第2页然后第1页之后,第1页上的按钮是否会停止

以下是使用的标记:

   Mbank        
app.home

app.title

app.footer

app.home

app.title

app.footer

$(document).on("pagebeforecreate", function () { console.log(' sample pagebeforecreate'); var i18nOpts = { resStore: { dev: { translation: { app: { button: 'Button i18', home: 'Home i18', label: 'Label i18', footer: 'Footer i18', title: 'i18n Translation!', li: 'Read-only', lilink: 'Linked item', col: 'Collapsible', page1: 'to page 1', page2: 'to page 2', colContent: 'Lorem ipsum dolor sit amet.' } } } } }; i18n.init(i18nOpts).done(function () { $("html").i18n(); }); });

确保i18Net init仅运行一次。 pagebeforecreate在导航到每个页面时运行。 你可以这样做:

 var i18nOpts = { resStore: { dev: { translation: { app: { button: 'Button i18', home: 'Home i18', label: 'Label i18', footer: 'Footer i18', title: 'i18n Translation!', li: 'Read-only', lilink: 'Linked item', col: 'Collapsible', page1: 'to page 1', page2: 'to page 2', colContent: 'Lorem ipsum dolor sit amet.' } } } } }; var IsInit = false; $(document).on("pagebeforecreate", function () { if (!IsInit){ i18n.init(i18nOpts).done(function () { $("html").i18n(); IsInit = true; }); } }); 

这是一个DEMO

您也可以只在主页的页面创建上运行它:

 $(document).on("pagebeforecreate", "#home_page", function () { i18n.init(i18nOpts).done(function () { $("html").i18n(); IsInit = true; }); }); 

或者不将它应用于整个$(“html”)。