2013-10-31 47 views
1

请找到下面的代码设为Qml,黑莓10级联InvokeActionItem标题改变onlanguage切换

actions: [ 

       ActionItem { 
        title: qsTr("Custom Market Watch") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         _app.dropSymbols(1); // Drop Req for Tadawul 
         lightTimer.stop(); 
         _app.GenerateCustWatch(1, translate.text); 

        } 
       }, 

       ActionItem { 

        title: qsTr("Alerts") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         _app.dropSymbols(1); // Drop Req for Tadawul 
         lightTimer.stop(); 
         _app.AddAlerts(1, translate.text); 

        } 
        imageSource: "asset:///images/alert_title_icon.png" 
       }, 
       ActionItem { 
        title: qsTr("Portfolio")+Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         _app.dropSymbols(1); // Drop Req for Tadawul 
         lightTimer.stop(); 
         _app.CreatePortfolio(1, translate.text); 
        } 
        imageSource: "asset:///images/portfolio_title_icon.png" 

       }, 
       ActionItem { 
        title: qsTr("News Feeds")+Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         _app.dropSymbols(1); // Drop Req for Tadawul 
         lightTimer.stop(); 
         var feeds = newsFeeds.createObject(); 
         feeds.navId = { 
          'id': navTab, 
          'langSettings': translate.text 
         } 
         navTab.push(feeds); 
        } 
        imageSource: "asset:///images/news_feed_icon.png" 

       }, 
       ActionItem { 
        title: qsTr("Language")+ Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         //_app.ChangeAppLanguage(); 
         var go = langsettings.createObject(); 
         go.lang = { 
          'lang': _app.getCurrentLocale() 
         } 
         go.setLanguage(_app.getCurrentLocale()); 
         navTab.push(go); 
         //_app.changeOrientation(); 
        } 
        imageSource: "asset:///images/language_icon.png" 
       }, 
       /* ActionItem { 
        title: qsTr("Support") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         invoke.query.setUri("pin:2ADAEE2D") 
         invoke.trigger("bb.action.INVITEBBM") 
        }//InvokeActionItem 
        imageSource: "asset:///images/support_icon.png" 
       },*/ 
       InvokeActionItem { 
        id:supportBBM   
        title: qsTr("Support") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.OnBar 

        imageSource: "asset:///images/support_icon.png" 
        query { 
         invokeActionId: "bb.action.INVITEBBM" 
         uri: "pin:2ADAEE2D" 
        } 
       }, 

       InvokeActionItem { 
        id:shareBB 
        title: qsTr("Share to Friends") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.OnBar 

        query { 
         mimeType: "text/plain" 
         // invokeTargetId: "sys.bbm.sharahandler" 
         invokeActionId: "bb.action.SHARE" 
        } 
        onTriggered: { 

         data = "Hi I am using Trading App, you can download it form the link http://appworld.blackberry.com/webstore/?&lid=in:bb:apps&lpos=in:bb:apps&countrycode=IN&lang=en!"; 
        } 
       }, 
       ActionItem { 
        title: qsTr("Subscription") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         _app.getSubscriptionStatus(1); 
        } 
        imageSource: "asset:///images/status_icon.png" 
       }, 
       ActionItem { 
        title: qsTr("About mTadawul") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         var about= mTadawulNote.createObject(); 

         about.navId = { 
          'id': navTab 
         } 
         navTab.push(about); 

        } 
        imageSource: "asset:///images/about_icon.png" 
       }, 

       ActionItem { 
        title: qsTr("Exit Application") + Retranslate.onLanguageChanged 
        ActionBar.placement: ActionBarPlacement.InOverflow 
        onTriggered: { 
         _app.exitApp(); 
        } 
        imageSource: "asset:///images/app_exit.png" 
       } 

      ] 

我显示阿拉伯语职称以上QML更改为“英语译成阿拉伯语”之后。但它不适用于InvokeActionItem。为什么?我错过了什么?

请帮忙, 谢谢!!!

回答

0

根据您在InvokeActionItem中的查询的特异性,它可能会导致0到菜单中的许多项目。我猜测,但有可能因为这个,+ Retranslate.onLanguageChanged的行为没有被移植到系统为你构建的最终UI对象。

另一种可能性是由于相同的原因翻译系统找不到适合这些对象的语言字符串。