Spec-Zone.ru › Web Extensions

i18n.getMessage()

Получает локализованную строку для указанного сообщения.

См. страницу Международная локализация для руководства по использованию этой функции.

Синтаксис

browser.i18n.getMessage(
  messageName,  // string
  substitutions // optional any
)

Параметры

messageName

string. Имя сообщения, как указано в файле messages.json. Если сообщение не найдено в messages.json:

  • Firefox возвращает "" и выводит ошибку.
  • Chrome возвращает "" и не выводит ошибку.
substitutions Необязательно

string или array для string. Одна строка подстановки или массив строк подстановки.

В Chrome, если вы предоставите более 9 строк подстановки, getMessage() вернёт undefined.

Возвращаемое значение

string. Локализованное сообщение для текущего языка.

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
getMessage 17
14["Возвращает исключение вместо пустой строки, если сообщение не существует.", "Ожидает, что подстановки будут строками, в то время как другие браузеры допускают любые значения, которые затем преобразуются в строку."]
45Firefox 47 и ранее возвращают "??" вместо "" если сообщение не найдено в _locales, баг 1258199 изменил это поведение на соответствие Chrome, реализовано в Firefox 48.
? 15 14 ? ? 48 ? 15 ?

Примеры

Получение локализованной строки для "messageContent", с подстановкой target.url:

let message = browser.i18n.getMessage("messageContent", target.url);
console.log(message);

Это сработает с файлом _locales/en/messages.json, содержащим:

{
  "messageContent": {
    "message": "You clicked $URL$.",
    "description": "Tells the user which link they clicked.",
    "placeholders": {
      "url" : {
        "content" : "$1",
        "example" : "https://developer.mozilla.org"
      }
    }
  }
}

Если target.url равно "https://developer.mozilla.org", то значение message в локали "en" будет:

"You clicked https://developer.mozilla.org."

Примеры расширений

  • menu-accesskey-visible
  • menu-demo
  • notify-link-clicks-i18n

Примечание: Этот API основан на API chrome.i18n Chromium. Данная документация основана на i18n.json кода Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/i18n/getMessage

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API