// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. [ { "namespace": "manifest", "types": [ { "$extend": "WebExtensionManifest", "properties": { "default_locale": { "type": "string", "optional": "true" }, "l10n_resources": { "type": "array", "items": { "type": "string" }, "optional": true } } } ] }, { "namespace": "i18n", "allowedContexts": ["content", "devtools"], "defaultContexts": ["content", "devtools"], "description": "Use the browser.i18n infrastructure to implement internationalization across your whole app or extension.", "types": [ { "id": "LanguageCode", "type": "string", "description": "An ISO language code such as en or fr. For a complete list of languages supported by this method, see kLanguageInfoTable. For an unknown language, und will be returned, which means that [percentage] of the text is unknown to CLD" } ], "functions": [ { "name": "getAcceptLanguages", "type": "function", "description": "Gets the accept-languages of the browser. This is different from the locale used by the browser; to get the locale, use $(ref:i18n.getUILanguage).", "async": "callback", "parameters": [ { "type": "function", "name": "callback", "parameters": [ {"name": "languages", "type": "array", "items": {"$ref": "LanguageCode"}, "description": "Array of LanguageCode"} ] } ] }, { "name": "getMessage", "type": "function", "description": "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.", "parameters": [ { "type": "string", "name": "messageName", "description": "The name of the message, as specified in the $(topic:i18n-messages)[messages.json] file." }, { "type": "any", "name": "substitutions", "optional": true, "description": "Substitution strings, if the message requires any." } ], "returns": { "type": "string", "description": "Message localized for current locale." } }, { "name": "getUILanguage", "type": "function", "description": "Gets the browser UI language of the browser. This is different from $(ref:i18n.getAcceptLanguages) which returns the preferred user languages.", "parameters": [], "returns": { "type": "string", "description": "The browser UI language code such as en-US or fr-FR." } }, { "name": "detectLanguage", "type": "function", "description": "Detects the language of the provided text using CLD.", "async": "callback", "parameters": [ { "type": "string", "name": "text", "description": "User input string to be translated." }, { "type": "function", "name": "callback", "parameters": [ { "type": "object", "name": "result", "description": "LanguageDetectionResult object that holds detected langugae reliability and array of DetectedLanguage", "properties": { "isReliable": { "type": "boolean", "description": "CLD detected language reliability" }, "languages": { "type": "array", "description": "array of detectedLanguage", "items": { "type": "object", "description": "DetectedLanguage object that holds detected ISO language code and its percentage in the input string", "properties": { "language": { "$ref": "LanguageCode" }, "percentage": { "type": "integer", "description": "The percentage of the detected language" } } } } } } ] } ] } ], "events": [] } ]