From 77db1c8e9e08e2e985378e6d4e8e6d305e838498 Mon Sep 17 00:00:00 2001 From: MennaFadali <46900400+MennaFadali@users.noreply.github.com> Date: Fri, 13 Mar 2020 16:57:53 +0100 Subject: [PATCH] Implementing Locale.toLanguageTag in flutter web. (flutter/engine#17131) --- .../flutter/lib/web_ui/lib/src/ui/window.dart | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/engine/src/flutter/lib/web_ui/lib/src/ui/window.dart b/engine/src/flutter/lib/web_ui/lib/src/ui/window.dart index d143c504696..f19432c4e08 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/ui/window.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/ui/window.dart @@ -478,19 +478,17 @@ class Locale { int get hashCode => hashValues(languageCode, scriptCode, countryCode); @override - String toString() { - final StringBuffer out = StringBuffer(languageCode); - if (scriptCode != null) { - out.write('_$scriptCode'); - } - if (_countryCode != null) { - out.write('_$countryCode'); - } - return out.toString(); - } + String toString() => _rawToString('_'); // TODO(yjbanov): implement to match flutter native. - String toLanguageTag() => '_'; + String toLanguageTag() => _rawToString('-'); + + String _rawToString(String separator) { + final StringBuffer out = StringBuffer(languageCode); + if (scriptCode != null) out.write('$separator$scriptCode'); + if (_countryCode != null) out.write('$separator$countryCode'); + return out.toString(); + } } /// The most basic interface to the host operating system's user interface.