src/sap.ui.core/src/sap/ui/core/Locale.js
function() {

				var sLanguage = this.sLanguage || "",
					m;

				// cut off any ext. language sub tags
				if ( sLanguage.indexOf("-") >= 0 ) {
					sLanguage = sLanguage.slice(0, sLanguage.indexOf("-"));
				}

				// convert to new ISO codes
				sLanguage = M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;

				// handle special cases for Chinese: map 'Traditional Chinese' (or region TW which implies Traditional) to 'zf'
				if ( sLanguage === "zh" ) {
					if ( this.sScript === "Hant" || (!this.sScript && this.sRegion === "TW") ) {
						sLanguage = "zf";
					}
				}

				// recognize SAP supportability pseudo languages
				if ( this.sPrivateUse && (m = /-(saptrc|sappsd)(?:-|$)/i.exec(this.sPrivateUse)) ) {
					sLanguage = (m[1].toLowerCase() === "saptrc") ? "1Q" : "2Q";
				}

				// by convention, SAP systems seem to use uppercase letters
				return sLanguage.toUpperCase();
			}
function() {

				var sLanguage = this.sLanguage || "",
					m;

				// cut off any ext. language sub tags
				if ( sLanguage.indexOf("-") >= 0 ) {
					sLanguage = sLanguage.slice(0, sLanguage.indexOf("-"));
				}

				// convert to new ISO codes
				sLanguage = M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;

				// handle special cases for Chinese: map 'Traditional Chinese' (or region TW which implies Traditional) to 'zf'
				if ( sLanguage === "zh" ) {
					if ( this.sScript === "Hant" || (!this.sScript && this.sRegion === "TW") ) {
						sLanguage = "zf";
					}
				}

				// recognize SAP supportability pseudo languages
				if ( this.sPrivateUse && (m = /-(saptrc|sappsd)(?:-|$)/i.exec(this.sPrivateUse)) ) {
					sLanguage = (m[1].toLowerCase() === "saptrc") ? "1Q" : "2Q";
				}

				// by convention, SAP systems seem to use uppercase letters
				return sLanguage.toUpperCase();
			}
function ( ) { var sLanguage = this . sLanguage || "" , m ; // cut off any ext. language sub tags if ( sLanguage . indexOf ( "-" ) >= 0 ) { sLanguage = sLanguage . slice ( 0 , sLanguage . indexOf ( "-" ) ) ; } // convert to new ISO codes sLanguage = M_ISO639_OLD_TO_NEW [ sLanguage ] || sLanguage ; // handle special cases for Chinese: map 'Traditional Chinese' (or region TW which implies Traditional) to 'zf' if ( sLanguage === "zh" ) { if ( this . sScript === "Hant" || ( ! this . sScript && this . sRegion === "TW" ) ) { sLanguage = "zf" ; } } // recognize SAP supportability pseudo languages if ( this . sPrivateUse && ( m = / -(saptrc|sappsd)(?:-|$) / i . exec ( this . sPrivateUse ) ) ) { sLanguage = ( m [ 1 ] . toLowerCase ( ) === "saptrc" ) ? "1Q" : "2Q" ; } // by convention, SAP systems seem to use uppercase letters return sLanguage . toUpperCase ( ) ; }
Best guess to get a proper SAP Logon Language for this locale.

Conversions taken into account:
<ul>
<li>use the language part only</li>
<li>convert old ISO639 codes to newer ones (e.g. 'iw' to 'he')</li>
<li>for Chinese, map 'Traditional Chinese' to SAP proprietary code 'zf'</li>
<li>map private extensions x-sap1q and x-sap2q to SAP pseudo languages '1Q' and '2Q'</li>
<li>remove ext. language sub tags</li>
<li>convert to uppercase</li>
</ul>

Note that the conversion also returns a result for languages that are not
supported by the default set of SAP languages. This method has no knowledge
about the concrete languages of any given backend system.

@return {string} a language code that should
@public
@since 1.17.0
@deprecated As of 1.44, use {@link sap.ui.core.Configuration#getSAPLogonLanguage} instead
as that class allows to configure an SAP Logon language.
Best guess to get a proper SAP Logon Language for this locale .