// 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"
}
}
}
]
},
{
"namespace": "i18n",
"allowedContexts": ["content"],
"defaultContexts": ["content"],
"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": []
}
]