Dart Documentationchrome.i18nChromeI18N

ChromeI18N class

class ChromeI18N extends ChromeApi {
 static final JsObject _i18n = chrome['i18n'];

 ChromeI18N._();

 bool get available => _i18n != null;

 /**
  * Gets the accept-languages of the browser. This is different from the locale
  * used by the browser; to get the locale, use `window.navigator.language`.
  * 
  * Returns:
  * Array of the accept languages of the browser, such as en-US,en,zh-CN
  */
 Future<List<String>> getAcceptLanguages() {
   if (_i18n == null) _throwNotAvailable();

   var completer = new ChromeCompleter<List<String>>.oneArg(listify);
   _i18n.callMethod('getAcceptLanguages', [completer.callback]);
   return completer.future;
 }

 /**
  * Gets the localized string for the specified message. If the message is
  * missing, this method returns an empty string (''). If the format of the
  * `getMessage()` call is wrong - for example, _messageName_ is not a string
  * or the _substitutions_ array has more than 9 elements - this method returns
  * `undefined`.
  * 
  * [messageName] The name of the message, as specified in the <a
  * href='i18n-messages.html'>`messages.json`</a> file.
  * 
  * [substitutions] Up to 9 substitution strings, if the message requires any.
  * 
  * Returns:
  * Message localized for current locale.
  */
 String getMessage(String messageName, [dynamic substitutions]) {
   if (_i18n == null) _throwNotAvailable();

   return _i18n.callMethod('getMessage', [messageName, jsify(substitutions)]);
 }

 void _throwNotAvailable() {
   throw new UnsupportedError("'chrome.i18n' is not available");
 }
}

Extends

ChromeApi > ChromeI18N

Properties

final bool available #

Returns true if the API is available. The common causes of an API not being avilable are:

  • a permission is missing in the application's manifest.json file
  • the API is defined on a newer version of Chrome then the current runtime
docs inherited from ChromeApi
bool get available => _i18n != null;

Methods

Future<List<String>> getAcceptLanguages() #

Gets the accept-languages of the browser. This is different from the locale used by the browser; to get the locale, use window.navigator.language.

Returns: Array of the accept languages of the browser, such as en-US,en,zh-CN

Future<List<String>> getAcceptLanguages() {
 if (_i18n == null) _throwNotAvailable();

 var completer = new ChromeCompleter<List<String>>.oneArg(listify);
 _i18n.callMethod('getAcceptLanguages', [completer.callback]);
 return completer.future;
}

String getMessage(String messageName, [substitutions]) #

Gets the localized string for the specified message. If the message is missing, this method returns an empty string (''). If the format of the getMessage() call is wrong - for example, messageName is not a string or the substitutions array has more than 9 elements - this method returns undefined.

messageName The name of the message, as specified in the <a href='i18n-messages.html'>messages.json</a> file.

substitutions Up to 9 substitution strings, if the message requires any.

Returns: Message localized for current locale.

String getMessage(String messageName, [dynamic substitutions]) {
 if (_i18n == null) _throwNotAvailable();

 return _i18n.callMethod('getMessage', [messageName, jsify(substitutions)]);
}