Глобальный контекст.НСтр

Методы · NStr

Получает строку на языке текущего пользователя или указанном языке из набора строк на разных языках конфигурации.

Синтаксис

НСтр(<ИсходнаяСтрока>, <КодЯзыка>)

Примеры платформы

Сообщить(НСтр("ru = 'Добрый вечер!'; en = 'Good Evening!'"));
Полное описание, параметры и ограничения

Глобальный контекст.НСтр (Global context.NStr)

Глобальный контекст (Global context)

НСтр (NStr)

Доступен, начиная с версии 8.0.

Синтаксис:
НСтр(<ИсходнаяСтрока>, <КодЯзыка>)
Параметры:

<ИсходнаяСтрока> (обязательный)
Тип: Строка.
Строки на разных языках, разделенные символом ";" (точка с запятой). Строка на одном языке состоит из кода языка, указанного в метаданных, символа "=" (равно) и собственно строки текста на данном языке в одинарных кавычках, двойных кавычках или без кавычек (когда указывается только один язык).

<КодЯзыка> (необязательный)
Тип: Строка.
Указывается код языка, на котором нужно получить строку.
Если значение не указано, то строка будет выдаваться на языке, определенного для текущего пользователя.
Значение по умолчанию: Пустая строка.
Возвращаемое значение:
Тип: Строка.
Строка, соответствующая языку пользователя или основному языку конфигурации.
Описание:

Получает строку на языке текущего пользователя или указанном языке из набора строк на разных языках конфигурации.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Пример:

Сообщить(НСтр("ru = 'Добрый вечер!'; en = 'Good Evening!'"));

См. также:
МенеджерПользователейИнформационнойБазы, метод ТекущийПользователь

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Сравнить коды без регистра и выбрать перевод подписи

Проверяем сравнение строк и выводим две версии учебной подписи через НСтр, не меняя язык сеанса.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Все исходные строки заданы прямо в примере; товары, файлы и настройки рабочих конфигураций не нужны.

  2. Выполняйте на сервере учебной базы. Особенно важно для встроенных функций регулярных выражений.


Сообщить(СтрСравнить("ama-001", "AMA-001"));
Сообщить(СтрСравнить("AMA-002", "AMA-010"));
Сообщить(СтрСравнить("AMA-010", "AMA-002"));
Сравнение = Новый СравнениеЗначений;
Сообщить(Сравнение.Сравнить("ama-001", "AMA-001"));
Сообщить(Сравнение.Сравнить(10, 2));
Сообщить(Сравнение.Сравнить(Дата(2026, 9, 15), Дата(2026, 9, 16)));
Сообщить(НСтр("ru = 'Учебный остаток'; en = 'Training stock'", "ru"));
Сообщить(НСтр("ru = 'Учебный остаток'; en = 'Training stock'", "en"));

Разбор по шагам

  1. СтрСравнить выполняет сравнение без учёта регистра и возвращает -1, 0 или 1.

  2. СравнениеЗначений показывает тот же принцип для строк и сравнение чисел и дат внутри одного типа.

  3. НСтр выбирает текст по явно переданному коду языка, а не переводит произвольную строку автоматически.

  4. Язык сеанса не меняется; обе подписи проверяются одним запуском.

Как проверить результат

  1. Строковые сравнения: 0, -1, 1; сравнение чисел 10 и 2 даёт 1, дат 15 и 16 сентября — -1.

  2. Подписи: Учебный остаток и Training stock.

  3. Сравните строковые "10" и "2" отдельно от чисел 10 и 2: текстовый и числовой порядок — разные задачи.

Ожидаемый результат

Показаны контракт сравнения и выбор готовых переводов подписи.

На что обратить внимание

  1. Такое сравнение не подходит для проверки токенов или иных значений, где важен каждый символ и регистр.

  2. Лексикографическое сравнение строк не заменяет естественную сортировку номеров с разной длиной цифровой части.

  3. Для настоящего перевода необходимо заранее написать варианты в НСтр.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.