BlackBerry 10 каскадов InvokeActionItem изменение названия на языке переключения

Пожалуйста, найдите ниже код Qml,

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. Зачем? чего мне не хватает?

пожалуйста помогите, спасибо!!!

1 ответ

В зависимости от специфики запроса в вашем InvokeActionItem, это может привести к 0 ко многим пунктам в меню. Я предполагаю, но возможно, что из-за этого действия + Retranslate.onLanguageChanged не распространяется на конечный объект пользовательского интерфейса, который система создает для вас.

Другая возможность состоит в том, что система перевода не может найти подходящие языковые строки для этих объектов по той же причине.

Другие вопросы по тегам