Bug 1208257 - [webext] i18n.json (r=kmag)

This commit is contained in:
Bill McCloskey 2015-11-25 11:24:09 -08:00
Родитель a2c4e965e2
Коммит 9e01a18c0b
4 изменённых файлов: 120 добавлений и 1 удалений

Просмотреть файл

@ -66,6 +66,7 @@ ExtensionManagement.registerScript("chrome://extensions/content/ext-test.js");
ExtensionManagement.registerSchema("chrome://extensions/content/schemas/cookies.json");
ExtensionManagement.registerSchema("chrome://extensions/content/schemas/extension_types.json");
ExtensionManagement.registerSchema("chrome://extensions/content/schemas/i18n.json");
ExtensionManagement.registerSchema("chrome://extensions/content/schemas/idle.json");
ExtensionManagement.registerSchema("chrome://extensions/content/schemas/web_navigation.json");
ExtensionManagement.registerSchema("chrome://extensions/content/schemas/web_request.json");

Просмотреть файл

@ -1,6 +1,6 @@
"use strict";
extensions.registerAPI((extension, context) => {
extensions.registerSchemaAPI("i18n", null, (extension, context) => {
return {
i18n: {
getMessage: function(messageName, substitutions) {

Просмотреть файл

@ -0,0 +1,117 @@
// 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": "i18n",
"description": "Use the <code>browser.i18n</code> infrastructure to implement internationalization across your whole app or extension.",
"types": [
{
"id": "LanguageCode",
"type": "string",
"description": "An ISO language code such as <code>en</code> or <code>fr</code>. For a complete list of languages supported by this method, see <a href='http://src.chromium.org/viewvc/chrome/trunk/src/third_party/cld/languages/internal/languages.cc'>kLanguageInfoTable</a>. For an unknown language, <code>und</code> will be returned, which means that [percentage] of the text is unknown to CLD"
}
],
"functions": [
{
"name": "getAcceptLanguages",
"unsupported": true,
"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).",
"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 <code>getMessage()</code> call is wrong &mdash; for example, <em>messageName</em> is not a string or the <em>substitutions</em> array has more than 9 elements &mdash; this method returns <code>undefined</code>.",
"parameters": [
{
"type": "string",
"name": "messageName",
"description": "The name of the message, as specified in the <code>$(topic:i18n-messages)[messages.json]</code> 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",
"unsupported": true,
"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",
"unsupported": true,
"type": "function",
"description": "Detects the language of the provided text using CLD.",
"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": []
}
]

Просмотреть файл

@ -6,6 +6,7 @@ toolkit.jar:
% content extensions %content/extensions/
content/extensions/schemas/cookies.json
content/extensions/schemas/extension_types.json
content/extensions/schemas/i18n.json
content/extensions/schemas/idle.json
content/extensions/schemas/web_navigation.json
content/extensions/schemas/web_request.json