Canonicalize locale string in `gen_l10n.dart` (#44758)

* Canonicalize locale string for gen_l10n.dart script

* Refresh stocks example to use canonicalized locale
diff --git a/dev/tools/localization/gen_l10n.dart b/dev/tools/localization/gen_l10n.dart
index a056351..0dd0962 100644
--- a/dev/tools/localization/gen_l10n.dart
+++ b/dev/tools/localization/gen_l10n.dart
@@ -73,7 +73,7 @@
 /// be consistent with the languages listed in the @className.supportedLocales
 /// property.
 class @className {
-  @className(Locale locale) : _localeName = locale.toString();
+  @className(Locale locale) : _localeName = Intl.canonicalizedLocale(locale.toString());
 
   final String _localeName;
 
diff --git a/examples/stocks/lib/i18n/stock_strings.dart b/examples/stocks/lib/i18n/stock_strings.dart
index 30d2ba2..8c12e5a 100644
--- a/examples/stocks/lib/i18n/stock_strings.dart
+++ b/examples/stocks/lib/i18n/stock_strings.dart
@@ -59,7 +59,7 @@
 /// be consistent with the languages listed in the StockStrings.supportedLocales
 /// property.
 class StockStrings {
-  StockStrings(Locale locale) : _localeName = locale.toString();
+  StockStrings(Locale locale) : _localeName = Intl.canonicalizedLocale(locale.toString());
 
   final String _localeName;