| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_CHROME_BROWSER_VOICE_MODEL_SPEECH_INPUT_LOCALE_MATCH_H_ |
| #define IOS_CHROME_BROWSER_VOICE_MODEL_SPEECH_INPUT_LOCALE_MATCH_H_ |
| |
| #import <Foundation/Foundation.h> |
| |
| // Object describing the locale codes that match a single supported locale. |
| @interface SpeechInputLocaleMatch : NSObject |
| |
| // Designated initializer. |
| - (instancetype)initWithMatchedLocale:(NSString*)matchedLocale |
| matchingLocales:(NSArray<NSString*>*)matchingLocales |
| matchingLanguages:(NSArray<NSString*>*)matchingLanguages |
| NS_DESIGNATED_INITIALIZER; |
| |
| - (instancetype)init NS_UNAVAILABLE; |
| |
| // The locale code that should be used as the default code for the locale codes |
| // found in `matchingLocales`. |
| @property(nonatomic, readonly) NSString* matchedLocale; |
| |
| // The locale codes that should be matched with `matchedLocale`. |
| @property(nonatomic, readonly) NSArray<NSString*>* matchingLocales; |
| |
| // The languages that use `matchedLocale` as a default. |
| @property(nonatomic, readonly) NSArray<NSString*>* matchingLanguages; |
| |
| @end |
| |
| // Loads matching locales for unsuppoered regional variants from |
| // SpeechInputLocalesMatches.plist. |
| NSArray<SpeechInputLocaleMatch*>* LoadSpeechInputLocaleMatches(); |
| |
| #endif // IOS_CHROME_BROWSER_VOICE_MODEL_SPEECH_INPUT_LOCALE_MATCH_H_ |