This repository was archived by the owner on Dec 31, 2024. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -85,6 +85,7 @@ declare interface I18n {
8585 set fallbackLocale ( locale : Locale ) : void ,
8686 get messages ( ) : LocaleMessages ,
8787 get dateTimeFormats ( ) : DateTimeFormats ,
88+ get availableLocales ( ) : Locale [ ] ,
8889 get missing ( ) : ?MissingHandler ,
8990 set missing ( handler : MissingHandler ) : void ,
9091 get formatter ( ) : Formatter ,
Original file line number Diff line number Diff line change @@ -169,6 +169,7 @@ export default class VueI18n {
169169 get messages ( ) : LocaleMessages { return looseClone ( this . _getMessages ( ) ) }
170170 get dateTimeFormats ( ) : DateTimeFormats { return looseClone ( this . _getDateTimeFormats ( ) ) }
171171 get numberFormats ( ) : NumberFormats { return looseClone ( this . _getNumberFormats ( ) ) }
172+ get availableLocales ( ) : Locale [ ] { return Object . keys ( this . messages ) . sort ( ) }
172173
173174 get locale ( ) : Locale { return this . _vm . locale }
174175 set locale ( locale : Locale ) : void {
Original file line number Diff line number Diff line change @@ -629,6 +629,12 @@ describe('basic', () => {
629629 } )
630630 } )
631631
632+ describe ( 'i18n#availableLocales' , ( ) => {
633+ it ( 'should return locales defined in messages in lexical order' , ( ) => {
634+ assert . deepStrictEqual ( i18n . availableLocales , [ 'en' , 'ja' ] )
635+ } )
636+ } )
637+
632638 let desc = VueI18n . availabilities . dateTimeFormat ? describe : describe . skip
633639 desc ( 'i18n#d' , ( ) => {
634640 let dt
Original file line number Diff line number Diff line change @@ -141,6 +141,7 @@ declare class VueI18n {
141141 readonly messages : VueI18n . LocaleMessages ;
142142 readonly dateTimeFormats : VueI18n . DateTimeFormats ;
143143 readonly numberFormats : VueI18n . NumberFormats ;
144+ readonly availableLocales : VueI18n . Locale [ ] ;
144145
145146 locale : VueI18n . Locale ;
146147 fallbackLocale : VueI18n . Locale ;
Original file line number Diff line number Diff line change @@ -209,6 +209,18 @@ The number formats of localization.
209209
210210 * ** See also:** ` NumberFormats ` type of [ flowtype definitions] ( https://github.com/kazupon/vue-i18n/blob/dev/decls/i18n.js )
211211
212+ #### availableLocales
213+
214+ > :new : 8.9.0+
215+
216+ * ** Type:** ` Locale[] `
217+
218+ * ** Default:** ` [] `
219+
220+ * ** Examples:** ` ["en", "ja"] `
221+
222+ The list of available locales in ` messages ` in lexical order.
223+
212224#### formatter
213225
214226 * ** Type:** ` Formatter `
You can’t perform that action at this time.
0 commit comments