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'.
Signal Documentation
Signal emitted when the locale being used by the app has changed.
Note: The corresponding handler is onLocaleChanged
.