From 980fe00a74a9ad013b945755415ace2e5429c3c2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 27 Oct 2021 02:31:24 +0300 Subject: [RU] Remove notranslate (#2874) --- .../webextensions/internationalization/index.html | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'files/ru/mozilla/add-ons/webextensions/internationalization') diff --git a/files/ru/mozilla/add-ons/webextensions/internationalization/index.html b/files/ru/mozilla/add-ons/webextensions/internationalization/index.html index cc858907f9..4c70617131 100644 --- a/files/ru/mozilla/add-ons/webextensions/internationalization/index.html +++ b/files/ru/mozilla/add-ons/webextensions/internationalization/index.html @@ -77,7 +77,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац

Давайте рассмотрим структуру одного из этих файлов (_locales/en/messages.json):

-
{
+
{
   "extensionName": {
     "message": "Notify link clicks i18n",
     "description": "Name of the extension."
@@ -121,7 +121,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац
 
 

Чтобы интернационализировать строки, их нужно указывать следующим образом:

-
"name": "__MSG_extensionName__",
+
"name": "__MSG_extensionName__",
 "description": "__MSG_extensionDescription__",

Здесь мы получаем сообщения, зависящие от локализации браузера, а не просто статические строки.

@@ -136,13 +136,13 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац
  • Два подчёркивания
  • -
    __MSG_ + messageName + __
    +
    __MSG_ + messageName + __

    Локализация по умолчанию

    Ещё одно поле. которое нужно указать в manifest.json — это default_locale:

    -
    "default_locale": "en"
    +
    "default_locale": "en"

    Этот параметр устанавливает локализацию по умолчанию, используемую, если расширение не поддерживает локализацию браузера пользователя. Любые сообщения, недоступные в текущей локализации, будут браться из той локализации, которая установлена по умолчанию. There are some more details to be aware of in terms of how the browser selects strings — see {{anch("Выбор локализованной строки")}}.

    @@ -150,7 +150,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац

    Локализованные строки также можно получить из CSS-файлов расширения. Например, вы можете создать поля CSS, зависящие от локализации, так:

    -
    header {
    +
    header {
       background-image: url(../images/__MSG_extensionName__/header.png);
     }
    @@ -168,12 +168,12 @@ original_slug: Mozilla/Add-ons/WebExtensions/Интернационализац

    В нашем примере notify-link-clicks-i18n , фоновый скрипт содержит следующие строки:

    -
    var title = browser.i18n.getMessage("notificationTitle");
    +
    var title = browser.i18n.getMessage("notificationTitle");
     var content = browser.i18n.getMessage("notificationContent", message.url);

    Первая из них получает поле notificationTitle message из доступного файла messages.json, соответствующее наиболее подходящей локализации . Вторая строка похожа на первую, но в ней метод принимает URL в качестве второго параметра. Зачем? С помощью этого параметра мы указываем, на что нужно заменить заполнитель $URL$ в поле notificationContent message:

    -
    "notificationContent": {
    +
    "notificationContent": {
       "message": "You clicked $URL$.",
       "description": "Tells the user which link they clicked.",
       "placeholders": {
    @@ -189,17 +189,17 @@ var content = browser.i18n.getMessage("notificationContent", message.url);

    Давайте посмотрим на пример: изначально сообщение notificationContent в файле en/messages.json такое:

    -
    You clicked $URL$.
    +
    You clicked $URL$.

    Пусть эта ссылка указывает на https://developer.mozilla.org. После вызова {{WebExtAPIRef("i18n.getMessage()")}}, содержание второго параметра становится доступно в messages.json в качестве значения $1, замещающего $URL$, так как это указано в заполнителе  "url". Таким образом, итоговое значение строки:

    -
    You clicked https://developer.mozilla.org.
    +
    You clicked https://developer.mozilla.org.

    Прямое использование заполнителей

    Переменные ($1, $2, $3, и т. д.) можно вставлять напрямую в сообщения. Например, можно переписать объект "notificationContent" следующим образом:

    -
    "notificationContent": {
    +
    "notificationContent": {
       "message": "You clicked $1.",
       "description": "Tells the user which link they clicked."
     }
    @@ -210,7 +210,7 @@ var content = browser.i18n.getMessage("notificationContent", message.url);

    Значения заполнителей можно задавать вручную, если вы хотите, чтобы каждый раз это значение было одним и тем же, а не определялось переменной в коде. Например:

    -
    "mdn_banner": {
    +
    "mdn_banner": {
       "message": "For more information on web technologies, go to $MDN$.",
       "description": "Tell the user about MDN",
       "placeholders": {
    @@ -286,11 +286,11 @@ var content = browser.i18n.getMessage("notificationContent", message.url);

    Модуль i18n module предоставляет заранее определённые сообщения, которые можно вызвать таким же образом, как мы это делали в разделе {{anch("Интернационализация manifest.json")}}. Например:

    -
    __MSG_extensionName__
    +
    __MSG_extensionName__

    Заранее определённые сообщения используют такой же синтаксис, за исключением @@ перед именем сообщения, например:

    -
    __MSG_@@ui_locale__
    +
    __MSG_@@ui_locale__

    Следующая таблица содержит различные заранее определённые сообщения:

    @@ -337,7 +337,7 @@ var content = browser.i18n.getMessage("notificationContent", message.url);

    Возвращаясь к нашему примеру, лучше было бы написать:

    -
    header {
    +
    header {
       background-image: url(../images/__MSG_@@ui_locale__/header.png);
     }
    @@ -345,7 +345,7 @@ var content = browser.i18n.getMessage("notificationContent", message.url);

    Давайте рассмотрим пример использования сообщений @@bidi_* в файле CSS:

    -
    body {
    +
    body {
       direction: __MSG_@@bidi_dir__;
     }
     
    @@ -360,14 +360,14 @@ div#header {
     
     

    Для языков, в которых текст читается слева направо, таких как английский, правила CSS, использующие заранее определённые сообщения, сверху задают такие значения:

    -
    direction: ltr;
    +
    direction: ltr;
     padding-left: 0;
     padding-right: 1.5em;
     

    Для языков, читающихся справа налево, значения будут следующими:

    -
    direction: rtl;
    +
    direction: rtl;
     padding-right: 0;
     padding-left: 1.5em;
    -- cgit v1.2.3-54-g00ecf