$localize
Пометьте строковый литерал шаблона для локализации.
API
const $localize: LocalizeFn;
Описание
Пометьте строковый литерал шаблона для локализации.
Например:
$localize `some string to localize`
Указание значения, описания и идентификатора
При необходимости для локализуемой строки можно указать один или несколько параметров meaning, description и id, добавив перед ней блок, разделённый двоеточиями, следующего вида:
$localize`:meaning|description@@id:source message text`; $localize`:meaning|:source message text`; $localize`:description:source message text`; $localize`:@@id:source message text`;
Этот формат совпадает с форматом маркеров i18n в шаблонах Angular. См. руководство Angular по i18n.
Именование заполнителей
Если строковый литерал шаблона содержит выражения, для них автоматически будут назначены имена заполнителей.
Например:
$localize `Hi ${name}! There are ${items.length} items.`;
сгенерирует исходное сообщение Hi {$PH}! There are {$PH_1} items.
Тем не менее рекомендуется давать имена заполнителям, связанным с выражениями.
Для этого укажите имя заполнителя в символах : сразу после выражения. Эти имена заполнителей удаляются из отображаемой локализованной строки.
Например, чтобы назвать заполнитель для выражения items.length именем itemCount, напишите:
$localize `There are ${items.length}:itemCount: items`;
Экранирование маркеров с двоеточием
Если необходимо использовать символ : непосредственно в начале помеченной строки без блока метаданных или сразу после подстановочного выражения без имени, экранируйте :, поставив перед ним обратную косую черту:
Например:
// message has a metadata block so no need to escape colon $localize `:some description::this message starts with a colon (:)`; // no metadata block so the colon must be escaped $localize `\:this message starts with a colon (:)`;
// named substitution so no need to escape colon
$localize `${label}:label:: ${}`
// anonymous substitution so colon must be escaped
$localize `${label}\: ${}`
Обработка локализованных строк:
Возможны три сценария:
-
встраивание на этапе компиляции: метка
$localizeпреобразуется транспилятором на этапе компиляции: метка удаляется, а строковый литерал шаблона заменяется переведённым строковым литералом из набора переводов, переданного инструменту транспиляции. -
вычисление во время выполнения: метка
$localizeпредставляет собой функцию времени выполнения, которая заменяет и переупорядочивает части строкового литерала шаблона (статические строки и выражения), используя строки из набора переводов, загруженных во время выполнения. -
вычисление без перевода: метка
$localizeпредставляет собой функцию времени выполнения, которая просто вычисляет исходный строковый литерал шаблона, не переводя его части. Эта версия используется при разработке или когда перевод помеченных строковых литералов шаблона не требуется.
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/localize/init/$localize