LocaleInfo QML Type
Provides locale properties for translation purposes. More...
Import Statement: | import ArcGIS.AppFramework 1.0 |
Properties
- countryCode : string
- countryName : string
- esriName : string
- ietfName : string
- languageCode : string
- languageName : string
- name : string
- scriptCode : string
- scriptName : string
Signals
Detailed Description
The LocaleInfo component provides access to additional locale properties. It also provides a way to map the system locale name to the Esri standard locale name, useful in contexts such as OAuth signin dialogs.
This sample provides a text box to declare a locale code, which will then populate a table with a number of LocaleInfo properties. It also demonstrates a potential usage of the component with OAuth signin.
Item { property string localeName property var locale property string oauthUrlFormat: "https://www.arcgis.com/sharing/rest/oauth2/authorize?client_id=arcgisonline&redirect_uri=http://www.arcgis.com&response_type=token&locale=%1" property url oauthUrl Component.onCompleted: { localeName = Qt.locale().name; } onLocaleNameChanged: { locale = Qt.locale(localeName); updateTimer.start(); } LocaleInfo { id: localeInfo name: localeName onLocaleChanged: { localeInfoModel.update(localeInfo); oauthUrl = oauthUrlFormat.arg(esriName); if (oauthTab.item) { oauthTab.item.url = oauthUrl; } } } Timer { id: updateTimer interval: 10 repeat: false onTriggered: { if (localeInfoTab.item) { localeInfoTab.item.resizeColumnsToContents(); } } } ListModel { id: localeInfoModel function update(localeInfo) { clear(); add("name", localeInfo.name); add("ietfName", localeInfo.ietfName); add("esriName", localeInfo.esriName); add("languageName", localeInfo.languageName); add("languageCode", localeInfo.languageCode); add("countryName", localeInfo.countryName); add("countryCode", localeInfo.countryCode); add("scriptName", localeInfo.scriptName); add("scriptCode", localeInfo.scriptCode); } function add(name, value) { append({ name: name, value: value.toString() }); } } ColumnLayout { anchors { fill: parent margins: 5 * AppFramework.displayScaleFactor } spacing: 5 * AppFramework.displayScaleFactor RowLayout { Layout.fillWidth: true Text { text: "Locale search" } TextField { id: localeField Layout.fillWidth: true text: localeName placeholderText: "Locale" onEditingFinished: { localeName = text; } function update(name) { text = name; editingFinished(); } } } TabView { Layout.fillWidth: true Layout.fillHeight: true Tab { id: localeInfoTab title: "LocaleInfo" TableView { model: localeInfoModel Component.onCompleted: { updateTimer.start(); } TableViewColumn { role: "name" title: "Property" } TableViewColumn { role: "value" title: "Value" } } } Tab { id: oauthTab title: "Sign In Page" WebView { Component.onCompleted: { url = oauthUrl; } } } } } }
Property Documentation
Returns the standard two-character code used by Esri for this language.
If the language being used is not Esri-supported, returns 'en'. These unsupported languages can still be used within in your app, but are not supported by ArcGIS Online.
Returns the two to three-character code denoting the language being used.
Returns an underscore-separated short name for the given locale. This will usually closely resemble the value returned by the IetfName property.
Returns the four-character code denoting the script used for this language. For example, English would return 'Latn' (Latin), while Japanese would return 'Japn'.