diff --git a/mobile/lib/constants/locales.dart b/mobile/lib/constants/locales.dart
index 836d3cf06f..45c09293f9 100644
--- a/mobile/lib/constants/locales.dart
+++ b/mobile/lib/constants/locales.dart
@@ -6,8 +6,8 @@ const Map<String, Locale> locales = {
   // Additional locales
   'Arabic (ar)': Locale('ar'),
   'Catalan (ca)': Locale('ca'),
-  'Chinese Simplified (zh_CN)': Locale('zh', 'SIMPLIFIED'),
-  'Chinese Traditional (zh_TW)': Locale('zh', 'Hant'),
+  'Chinese Simplified (zh_CN)': Locale('zh', 'CN'),
+  'Chinese Traditional (zh_TW)': Locale('zh', 'TW'),
   'Czech (cs)': Locale('cs'),
   'Danish (da)': Locale('da'),
   'Dutch (nl)': Locale('nl'),
@@ -31,8 +31,10 @@ const Map<String, Locale> locales = {
   'Portuguese (pt)': Locale('pt'),
   'Romanian (ro)': Locale('ro'),
   'Russian (ru)': Locale('ru'),
-  'Serbian Cyrillic (sr_Cyrl)': Locale('sr', 'Cyrl'),
-  'Serbian Latin (sr_Latn)': Locale('sr', 'Latn'),
+  'Serbian Cyrillic (sr_Cyrl)':
+      Locale.fromSubtags(languageCode: 'sr', scriptCode: 'Cyrl'),
+  'Serbian Latin (sr_Latn)':
+      Locale.fromSubtags(languageCode: 'sr', scriptCode: 'Latn'),
   'Slovak (sk)': Locale('sk'),
   'Slovenian (sl)': Locale('sl'),
   'Spanish (es)': Locale('es'),