An ATproto social media client -- with an independent Appview.

Load number formatting data when activating locales (#5128)

authored by

Marco Buono and committed by
GitHub
824206b9 93c171b4

+64 -16
+64 -16
src/locale/i18n.ts
··· 37 37 switch (locale) { 38 38 case AppLanguage.ca: { 39 39 i18n.loadAndActivate({locale, messages: messagesCa}) 40 - await import('@formatjs/intl-pluralrules/locale-data/ca') 40 + await Promise.all([ 41 + import('@formatjs/intl-pluralrules/locale-data/ca'), 42 + import('@formatjs/intl-numberformat/locale-data/ca'), 43 + ]) 41 44 break 42 45 } 43 46 case AppLanguage.de: { 44 47 i18n.loadAndActivate({locale, messages: messagesDe}) 45 - await import('@formatjs/intl-pluralrules/locale-data/de') 48 + await Promise.all([ 49 + import('@formatjs/intl-pluralrules/locale-data/de'), 50 + import('@formatjs/intl-numberformat/locale-data/de'), 51 + ]) 46 52 break 47 53 } 48 54 case AppLanguage.es: { 49 55 i18n.loadAndActivate({locale, messages: messagesEs}) 50 - await import('@formatjs/intl-pluralrules/locale-data/es') 56 + await Promise.all([ 57 + import('@formatjs/intl-pluralrules/locale-data/es'), 58 + import('@formatjs/intl-numberformat/locale-data/es'), 59 + ]) 51 60 break 52 61 } 53 62 case AppLanguage.fi: { 54 63 i18n.loadAndActivate({locale, messages: messagesFi}) 55 - await import('@formatjs/intl-pluralrules/locale-data/fi') 64 + await Promise.all([ 65 + import('@formatjs/intl-pluralrules/locale-data/fi'), 66 + import('@formatjs/intl-numberformat/locale-data/fi'), 67 + ]) 56 68 break 57 69 } 58 70 case AppLanguage.fr: { 59 71 i18n.loadAndActivate({locale, messages: messagesFr}) 60 - await import('@formatjs/intl-pluralrules/locale-data/fr') 72 + await Promise.all([ 73 + import('@formatjs/intl-pluralrules/locale-data/fr'), 74 + import('@formatjs/intl-numberformat/locale-data/fr'), 75 + ]) 61 76 break 62 77 } 63 78 case AppLanguage.ga: { 64 79 i18n.loadAndActivate({locale, messages: messagesGa}) 65 - await import('@formatjs/intl-pluralrules/locale-data/ga') 80 + await Promise.all([ 81 + import('@formatjs/intl-pluralrules/locale-data/ga'), 82 + import('@formatjs/intl-numberformat/locale-data/ga'), 83 + ]) 66 84 break 67 85 } 68 86 case AppLanguage.hi: { 69 87 i18n.loadAndActivate({locale, messages: messagesHi}) 70 - await import('@formatjs/intl-pluralrules/locale-data/hi') 88 + await Promise.all([ 89 + import('@formatjs/intl-pluralrules/locale-data/hi'), 90 + import('@formatjs/intl-numberformat/locale-data/hi'), 91 + ]) 71 92 break 72 93 } 73 94 case AppLanguage.id: { 74 95 i18n.loadAndActivate({locale, messages: messagesId}) 75 - await import('@formatjs/intl-pluralrules/locale-data/id') 96 + await Promise.all([ 97 + import('@formatjs/intl-pluralrules/locale-data/id'), 98 + import('@formatjs/intl-numberformat/locale-data/id'), 99 + ]) 76 100 break 77 101 } 78 102 case AppLanguage.it: { 79 103 i18n.loadAndActivate({locale, messages: messagesIt}) 80 - await import('@formatjs/intl-pluralrules/locale-data/it') 104 + await Promise.all([ 105 + import('@formatjs/intl-pluralrules/locale-data/it'), 106 + import('@formatjs/intl-numberformat/locale-data/it'), 107 + ]) 81 108 break 82 109 } 83 110 case AppLanguage.ja: { 84 111 i18n.loadAndActivate({locale, messages: messagesJa}) 85 - await import('@formatjs/intl-pluralrules/locale-data/ja') 112 + await Promise.all([ 113 + import('@formatjs/intl-pluralrules/locale-data/ja'), 114 + import('@formatjs/intl-numberformat/locale-data/ja'), 115 + ]) 86 116 break 87 117 } 88 118 case AppLanguage.ko: { 89 119 i18n.loadAndActivate({locale, messages: messagesKo}) 90 - await import('@formatjs/intl-pluralrules/locale-data/ko') 120 + await Promise.all([ 121 + import('@formatjs/intl-pluralrules/locale-data/ko'), 122 + import('@formatjs/intl-numberformat/locale-data/ko'), 123 + ]) 91 124 break 92 125 } 93 126 case AppLanguage.pt_BR: { 94 127 i18n.loadAndActivate({locale, messages: messagesPt_BR}) 95 - await import('@formatjs/intl-pluralrules/locale-data/pt') 128 + await Promise.all([ 129 + import('@formatjs/intl-pluralrules/locale-data/pt'), 130 + import('@formatjs/intl-numberformat/locale-data/pt'), 131 + ]) 96 132 break 97 133 } 98 134 case AppLanguage.tr: { 99 135 i18n.loadAndActivate({locale, messages: messagesTr}) 100 - await import('@formatjs/intl-pluralrules/locale-data/tr') 136 + await Promise.all([ 137 + import('@formatjs/intl-pluralrules/locale-data/tr'), 138 + import('@formatjs/intl-numberformat/locale-data/tr'), 139 + ]) 101 140 break 102 141 } 103 142 case AppLanguage.uk: { 104 143 i18n.loadAndActivate({locale, messages: messagesUk}) 105 - await import('@formatjs/intl-pluralrules/locale-data/uk') 144 + await Promise.all([ 145 + import('@formatjs/intl-pluralrules/locale-data/uk'), 146 + import('@formatjs/intl-numberformat/locale-data/uk'), 147 + ]) 106 148 break 107 149 } 108 150 case AppLanguage.zh_CN: { 109 151 i18n.loadAndActivate({locale, messages: messagesZh_CN}) 110 - await import('@formatjs/intl-pluralrules/locale-data/zh') 152 + await Promise.all([ 153 + import('@formatjs/intl-pluralrules/locale-data/zh'), 154 + import('@formatjs/intl-numberformat/locale-data/zh'), 155 + ]) 111 156 break 112 157 } 113 158 case AppLanguage.zh_TW: { 114 159 i18n.loadAndActivate({locale, messages: messagesZh_TW}) 115 - await import('@formatjs/intl-pluralrules/locale-data/zh') 160 + await Promise.all([ 161 + import('@formatjs/intl-pluralrules/locale-data/zh'), 162 + import('@formatjs/intl-numberformat/locale-data/zh'), 163 + ]) 116 164 break 117 165 } 118 166 default: {