Для локализации решений на другие языки сейчас есть метод НСтр, он подразумевает хранение всех строк перевода на все языки сразу же в коде. В результате любая локализация сталкивается с трудностями:
Уже готовое решение локализовать без изменения конфигурации невозможно.
Изменение всех модулей и всех форм конфигурации.
Переводом должны заниматься технические специалисты, которые могут модифицировать конфигурацию. Просто переводчика посадить за качественный перевод интерфейсов который он может делать "онлайн" без изменения конфигурации не выйдет.
Любой технический англоязычный специалист увидев NStr() и внутри что то на кириллице, на китайских иероглифах и прочих хинди закроет 1с и уйдет в другую платформу автоматизации.
Хранить строковые константы в коде для локализованных решений - ошибка.
Предлагаю добавить новый общий объект "Локализованные строки". Она должна выглядеть как колонка ключа строки + колонки с языками добавленными в конфигурации. Сама таблица должна наполняться в конфигураторе, подобно как это сделано для предопределенных элементов справочника, но с возможностью для каждой строки задать перевод на все необходимые языки. Так же объект должен редактироваться в пользовательском режиме (для переводчиков) - например когда решение написано с английской + русской локализацией, но нужно добавить китайский - можно просто дать доступ до этого объекта в пользовательском режиме для переводчика, который заполнит необходимое.
Метод получающий локализованную строку может иметь следующий вид ЛСтр(<ключ строковой константы>).
Ключ - произвольная строка. Если по ключу не найдена строковая константа или не задан перевод на текущий язык пользователя - возвращается сам ключ.
Например:
СтрШаблон(ЛСтр("На складе %1 не хватает остатков номенклатуры %2 в количестве %3 шт."), Склад, Номенклатура, НедостатокКоличества);
Для локализации решений на другие языки сейчас есть метод НСтр, он подразумевает хранение всех строк перевода на все языки сразу же в коде. В результате любая локализация сталкивается с трудностями:
Предлагаю добавить новый общий объект "Локализованные строки". Она должна выглядеть как колонка ключа строки + колонки с языками добавленными в конфигурации. Сама таблица должна наполняться в конфигураторе, подобно как это сделано для предопределенных элементов справочника, но с возможностью для каждой строки задать перевод на все необходимые языки. Так же объект должен редактироваться в пользовательском режиме (для переводчиков) - например когда решение написано с английской + русской локализацией, но нужно добавить китайский - можно просто дать доступ до этого объекта в пользовательском режиме для переводчика, который заполнит необходимое.
Метод получающий локализованную строку может иметь следующий вид ЛСтр(<ключ строковой константы>). Ключ - произвольная строка. Если по ключу не найдена строковая константа или не задан перевод на текущий язык пользователя - возвращается сам ключ. Например: СтрШаблон(ЛСтр("На складе %1 не хватает остатков номенклатуры %2 в количестве %3 шт."), Склад, Номенклатура, НедостатокКоличества);