Список важных изменений по версиям.
1.6.0 (1C:EDT 2024.1.3)
- Новые фичи
-
- Добавлена возможность собирать отдельно неизвестные методы,
требующие перевода особым образом:
- В мастере генерации строк перевода для параметра
Collect extra strings добавлен
вариант Only unknown methods;
- В интерфейсе командной строки в команде генерации строк
перевода generate-strings для параметра
- -collect-computed добавлен вариант
unknown;
- Исправленные ошибки
-
- При конвертации языкового проекта не создавался файл манифеста;
- При конвертации языкового проекта имя языка, для которого
выполняется конвертация, не переводилось;
- При отображении и при выгрузке статистики переводов неправильно
работало округление значения доли переведенных ключей;
- После экспорта статистики переводов в файл Excel этот файл
невозможно открыть. В процессе исправления этой ошибки расширение
формируемого файла Excel изменено с .xlsx на .xls;
- В результате перевода мог пропасть модуль. Эта ошибка возникала в
том случае, если модуль содержал неправильный строковый литерал
функции Формат().
1.6.0 (1C:EDT 2024.1.2)
- Новые фичи
-
- В интерфейс командной строки добавлена команда
export-translation-statistic для экспорта
статистики переводов во внешний файл;
- Реализована проверка
PrunedDynamicFeatureAccessTranslationAmbiguityValidator,
являющаяся аналогом проверки
DynamicFeatureAccessTranslationAmbiguityValidator
для проектов, в которых не добавлен переводимый язык. По умолчанию
проверка отключена.
- Исправленные ошибки
-
- Ускорена генерация строк перевода в режиме командной строки;
- Исправлен подбор ключей для однострочного комментария
переменной;
- Исправлен подбор ключей для комментариев вокруг переменных вне
методов;
- При переводе одинарные кавычки не дублировались в строковых
литералах в функции НСтр(). Теперь они
дублируются;
- При переводе после последней языковой строки в функции
НСтр() добавлялась точка с запятой. Теперь
она не добавляется;
- В результате перевода однострочного комментария у него на конце
могла остаться буква на исходном языке;
- В результате перевода в некоторых случаях могли обрезаться
пробелы;
- В некоторых ситуациях могли не переводиться однострочные
комментарии, не привязанные к переменным;
- Однострочные комментарии, начинающиеся с символа «-», переводились с
ошибкой;
- При переводе не создавался ключ для значения по умолчанию,
указанного для параметра функции;
- Не переводилось поле пути к данным у характеристик;
- Переводимый язык не отображался в дереве проекта после добавления
его в редакторе проекта или после конвертации языка конфигурации в
переводимый язык;
- Улучшено сообщение об ошибке в случае неправильного ключа для
Yandex.Переводчика;
- В некоторых ситуациях могли не переводиться поля динамического
списка;
- Отсутствовал перевод стандартных реквизитов табличных частей;
- В переведенном проекте не очищался текст запроса после перевода в том случае, если был сброшен флаг Произвольный запрос. Теперь он очищается;
- Исправлены ошибки в механизме конвертации языковых проектов.
1.4.0
Переход на EDT 2023.2.
1.3.0
Переход на EDT 2023.1.
1.2.0
- Прочие изменения и улучшения
-
- Переход на EDT 2022.1;
- Поддержка типизации возвращаемого значения выборки результата
запроса;
- Поддержка перевода расширения событий модуля без заимствования
модуля;
- Исправленные ошибки
-
- Исправлена ошибка при переводе xml-объектов конфигурации для
значений по умолчанию;
- СКД: В группировках ресурсов могут использоваться вычислимые
поля;
- Свойства в коде, образованные по ссылкам на строковые литералы могли
не переводиться по контексту;
- Исправлено падение при переводе док. комментария в редких
случаях;
- При переводе картинок в файлах HTML не переводятся дважды в одной
строке;
- Улучшено логирование в командах CLI;
- Исправление фильтра по регулярным выражением в генераторе
строк;
- В куске запроса (@Query-part) в строковом литерале корректно
переводятся пустые спец.символы;
- Перевод неизвестных полей выбираемых по звездочке;
- Исправлен алгоритм перевода произвольных комментариев и чистки
комментариев при отсутствии перевода;
- Исправлены ошибки, приводившие к зависанию в некоторых случаях;
- Перевод сегментов стандартного строкового литерала, если не найден
объект;
- СКД: Перевод иерархии полей группировки итогов;
- Исправление перевода псевдонима таблицы запроса с частичным
совпадением по базовой таблице;
- Перевод ключевого слова Ждать;
- Перевод полей запроса через звездочку;
- Исправление ошибки перевода ряда платформенных терминов;
- Система заполнения отсутствующих переводов по другим языкам сделана
более надежной.
1.1.0
- Переход на EDT 2022.1;
- Улучшение стабильности работы;
- Исправление незначительных ошибок.
1.0.0
- Новые фичи
- Подсистема расчета и визуализации статистики переводов проекта по языкам с
различными метриками
- Прочие изменения и улучшения
-
- Перевод полей СКД стал более точным за счет расчета всех доступных
полей;
- Перевод ссылок на общие картинки в справке и Html-макетах;
- Учет циклических ссылок при переводе временных таблиц без переводов
и алиасов;
- Учет прерывания при валидации запросов в модуле;
- Улучшена система контекстного отображения фич для перевода, ранее
приводившая к падениям в некоторых сценариях;
- Пропуск устаревших замененных слов из контекста платформы при
наличии новых переводов;
- Импорт внешних языковых проектов в воркспейс для всех консольных
команд;
- Поддержка перевода значений форматированных строк в модулях и
свойствах метаданных.
- Исправленные ошибки
-
- Исправлен перевод СКД, Табличного документа и HTML-документа для
редких случаев;
- Исправление двойной сбор строк комментария в текстах запросов.
0.11.0
- Сломанные обратные совместимости
-
Изменены параметры запуска из командной строки `ring edt-langtol
workspace generate-strings ...`;
- Новые фичи
-
- Добавлен перевод произвольных комментариев BSL;
- Добавлен перевод комментариев в текстах запросов.
- Прочие изменения и улучшения
-
- Переход на EDT 2021.3;
- Многократное ускорение генератора строк для второго и последующих
запусков по проекту за счет использования кэша;
- Ускорение валидации кода на неоднозначность перевода.
- Исправленные ошибки
-
- Исправлены ошибки перевода модулей, возникающие при многопоточном
переводе в редких случаях;
- Имя события ЗаписьЖурналаРегистрации не
проверяется на наличие CamelCase в валидации;
- Исправление алгоритма перевода языков (bsl, ql и т.д), приводившее к
переполнению стека в больших модулях.
0.10.0
- Сломанные обратные совместимости
- Файловые хранилища переводов и настройки по проекту значительно
изменены.
- Новые фичи
-
- Система отображения предложений переводов (Панель Translation
Assist) контекстно по различным источникам с отображением всех
вариантов переводов;
- Все существующие проверки (валидация кода) переведены на новый
механизм расширенной проверки конфигурации в EDT 2021.2 и дополнены
различными настройками;
- Добавлены новые валидации кода и метаданных:
- Проверка дублей перевода ключей таблицы значений и дерева
значений;
- Проверка дублей переводов ключей для строкового литерала с
типом keys;
- Проверка ключа Структуры при вызове метода Вставить на
наличие дублей перевода;
- Проверка наличия переводов интерфейсных представлений в
СКД;
- Проверка наличия переводов модели СКД;
- Проверка полей СКД, что задан заголовок в случае
разыменования поля в запросе;
- Проверка базовой формы в проекте расширения на соответствие
форме конфигурации;
- Добавлены новые QuickFix:
- Ввод перевода ключей таблицы значений и дерева значений при
дублировании переводов ключей;
- Ввод перевода для строкового литерала с типом keys при
дублировании перевода ключей;
- Ввод перевода для ключа Структуры в вызове метода Вставить
при наличии дубля перевода;
- Новая система ресурсных хранилищ переводов и гибкая конфигурация
возможностей и поведения хранилищ;
- Добавлены параметры консольной команды `ring edt-langtool workspace
generatestrings ... --check-translations-in-any-available-storage
true` для проверки наличия переводов во всех хранилищах
проекта;
- Изменен алгоритм перевода строковых литералов в модуле — контекстный
перевод всего текста берется в первую очередь, затем алгоритмический
перевод по составным частям, и в последнюю очередь используется
перевод из словаря;
- Провайдеры переводов позволяющие заполнять хранилища по различным сценариям:
- Автогенерируемые переводы (по настройке переводимого
проекта) — можно сохранять в отдельный словарь;
- Улучшение формирования CamelCase из интерфейсных переводов
по частоте используемого значения;
- "Умные регулярные выражения" стали работать как полноценный
"словарь" в системе хранилищ переводов, количество таких
сегментов теперь не ограничено. Реализовано добавление
нового сегмента настроек из контекстного меню и отдельный
редактор файла регулярных выражений;
- Пред-просмотр переведенного текста модуля без наличия
переведенного проекта из контекстного меню редактора модуля
"Compare with".
- Прочие изменения и улучшения
-
- Переход на EDT 2021.2;
- 1C:Language Tool поставляется с открытой лицензией, не требующей
партнерского доступа и подписки ИТС;
- Улучшены алгоритмы перевода:
- Объектов формы (имен элементов, пути к данным, ссылки
форматированных строк в т.ч. содержащие CamelCase);
- Выражений СКД;
- Языка запросов (в случаях расширения языка СКД, отсутствия
обязательны алиасов, выбор всех полей и т.д.);
- Кода при обращении к XDTO-объектам, виртуальным двуязычным
полям регистров и др.;
- Схемы Компоновки Данных (СКД);
- Мокселя (параметры, выполняющие неявный запрос в БД);
- Модели шаблонов ограничений доступа.
- Исправленные ошибки
- Исправлено множество различных ошибок.
0.9.0
Выпуск бета-версии для 1C:EDT 2021.1 без изменений функциональности.
0.8.0
- Сломанные обратные совместимости
-
- Строковые литералы, для которых тип контента не определен,
переводятся с разбиением по ключам;
- В файловых хранилищах (контекстное и общий словарь) ключи стали
регистро-независимыми по умолчанию;
- В файлах общего словаря модели уникальные значения контролируются
без учета регистра;
- Изменена генерация траслита для русских букв на ё -> yo, ъ -> y, ь
-> ye что ранее приводило к не уникальности генерирования транслита
для разных русских слов;
- Изменена генерация ключей для модуля: добавлены префиксы Method,
Param, Var, изменен префикс FeatureAccess элементов (обращение через
точку) для увеличения детальности контекста.
- Новые фичи
-
- Поддержка перевода проектов расширений и проектов внешних обработок
и отчетов;
- Автоматическая синхронизация исходного и переведенного проекта,
настройки синхронизации в редакторе проекта;
- Новая система перевода строковых литералов:
- Определение типа строкового литерала единожды;
- Для каждого типа строкового литерала определяется свой
процессор перевода, свой алгоритм и особенности;
- Ускорена валидация литералов - теперь основывается на
типах;
- Убрана неоднозначность для множества ситуаций использования
строковых литералов или парсинга их контента;
- Поддержка переводов кусков запросов: автоматический перевод
ключевых слов синтаксиса QL и пользовательских
идентификаторов;
- Авто-приведение регистра (верхний, нижний) всех символов для
идентификаторов в строковых литералах на основе исходного
значения;
- Улучшено формирование контекстных ключей адресации для
идентификаторов в строковом литерале колонок сортировки и в
литерале без определенного типа;
- Новая расширяемая система фильтрации результата сбора переводимых фич:
- Возможность указывать расширенные параметры фильтрации в
UI;
- Добавлен провайдер для фильтрации по регулярным
выражениям;
- Добавлен провайдер фильтрации по всем настройкам переводимых
фич объекта;
- Поддержка фильтрации в консольном режиме, например: ring ...
generate-strings ... --filter reresource-id-regex
"^.*\.mdo$" feature-key-regex "^Synonym$";
- В помощнике конвертации языка в переводимый язык добавлена
возможность указывать проект для интерфейса или создавать
новый;
- Возможность для платформенных коллекций объектов с именованными
элементами (обращение к элементу коллекции по имени) типизации
элементов;
- Возможность заполнения пользовательских объектов по контексту
платформы;
- Отключение перевода объектов по фичам, ресурсам, по составу
подсистем с возможностью задавать маски, с учетом иерархии;
- Поддержка рефакторинга в контекстных переводах при модификации
исходного объекта EDT;
- Возможность опционально включать рефакторинг по
проекту;
- Использование сегментов общего словаря, добавленных вручную,
например bpo_segment_en.dict;
- Добавлена UI настройка валидации в панель свойств проекта: ПКМ
Properties -> V8 -> Translations -> Built-in language
translation;
- Добавлены новые валидации кода:
- Проверка неоднозначности типа строкового литерала;
- Проверка наличия параметров замены %Парам1% и [Парам2] в
текстах запросов, нарушающих стандарт и ломающие
синтаксис;
- Загрузка запроса из строкового литерала и проверка
корректности синтаксиса текста;
- Проверка наличия перевода для динамических фич в коде
(свойства и методы через точку);
- Проверка наличия слов CamelCase в интерфейсных строках
НСтр();
- Проверка экспортных функций на возвращаемые типы в
документирующем комментарии и локальные функции на наличие
вычисленных типов;
- Добавлены новые QuickFix:
- Удаление конфликтующих аннотаций для строковых
литералов;
- Ввод отсутствующих переводов для пользовательских объектов в
коде (области, процедуры, переменные);
- Выбор перевода для неоднозначных терминов платформы в не
типизированном коде;
- Ввод отсутствующего перевода для динамических фич (свойства
и методы через точку) в не типизированном коде;
- Рефакторинг строк НСтр() содержащих слова в CamelCase с
заменой на СтрШаблон() или СтрЗаменить();
- Генерация нового или обновление существующего шаблонного
документирующего комментария функций с обязательными
возвращаемыми типами;
- Добавлены новые проверки введенного значения перевода:
- Проверка на CamelCase для модельных однострочных фич, у
которых исходное значение фактически является
CamelCase;
- Совпадение количества строк перевода для строковых литералов
в модуле;
- Однострочные фичи проверяются, что значение не является
многострочным;
- НСтр и другие строковые литералы, содержащие стандартные
параметры замены содержат все параметры;
- Совпадение имен объектов модуля с ключевыми словами bsl,
методы дополнительно проверяются на совпадения с функциями
глобального контекста bsl;
- Добавлена возможность использовать сервис Google Translate для
переводов;
- Добавлены провайдеры заполнения хранилищ переводов (в генерации
строк) по текущим контекстным хранилищам и словарям проекта для
возможностей перекомпоновки сегментов словарей, из словарей в
контекстные переводы, из контекстных переводов в словарь;
- Поддержка объектного перевода языка запросов ограничений доступа к
данным (RLS) и языка шаблонов ограничений доступа;
- Добавлена возможность формировать CamelCase из интерфейсных
переводов;
- Добавлены возможность проверки сегментов общего словаря по правилам:
- Вхождения ключа в несколько сегментов общего словаря;
- Разное количество служебных символов в ключе и значении
словаря;
- Добавлена UI настройка уровня проверки переменных в панель свойств
проекта: ПКМ Properties -> V8 -> Translations -> Built-in language
translation.
- Прочие изменения и улучшения
-
- Яндекс.Переводчик использует новое API от Яндекс.Облака с поддержкой
пользовательских моделей для нейронного машинного перевода
(NMT);
- Microsoft Translator использует Azure Congnitive Services для
перевода, поддержка Custom Translator с доступом к обученным моделям
NMT;
- Значительно ускорено сохранение данных в общий словарь модели с
контролем уникальности значений для сотен тысяч записей;
- Добавлено брендирование плагина в меню Help -> About;
- Перенос панели Translations в стандартной перспективе 1C:Enterprise
аналогично панели свойств;
- При переводе не типизированного кода, расчет типов для платформенных
коллекций с именованными элементами используется всегда;
- Улучшен алгоритм перевода в не типизированном коде - порядок
применения словарей выше, чем встроенная система догадок свойств по
контексту объектов платформы;
- Композитное хранилище переводов — теперь по умолчание определяется
как "не контекстное";
- Выделение API для хранилищ "только-чтение" и учет во всех
механизмах;
- Улучшения в механизме конвертации языка конфигурации - стабильность
работы и исправление ошибок;
- Улучшения работы в консольном режиме с переходом на новое API от
EDT;
- Переход на асинхронное обновление при выборе переводимых фич в
редакторах и отображение в панели Translations;
- Значительно улучшено потребление памяти при сборе генерации строк
для перевода;
- Добавлена панель настройки ресурсного хранилища, которая позволяет
настраивать регистро-зависимость ключей и значений для модели и
интерфейса, проверку уникальности значений;
- Умные регулярные выражения выполняют поиск по всем словарям проекта,
а не только по текущему;
- Добавлена возможность заполнения html макетов и страниц справки из
исходных файлов, при отсутствии переводов;
- При импорте и трансляции полей с форматом значение меняется на
английский;
- Авто-вычисление параметров выражений СКД по параметрам самой
схемы;
- Добавлена валидация локальных переменных на наличие дублей перевода
имен;
- При генерации маски для авто переводимых переменных, не имеющих
перевода, используется фиксированная нумерация, рассчитанная по
модулю;
- При наличии одинакового перевода у нескольких именованных объектов,
для перевода переменных, начиная со второй, используется маскировка
плюс исходный перевод слова, например Var_1_Common;
- Словарь контекста платформы 1С:Предприятия дополнен функциями и
свойствами глобального контекста, добавлена возможность отключать
контроль уникальности обратного перевода Русский <-> Английский в
свойствах проекта.
- Исправленные ошибки
-
- Улучшение перевода неоднозначного ключевого слова ССЫЛКА в строковых
литералах Query-part;
- Улучшение перевода неоднозначного ключевого слова ПО в строковых
литералах Query-part;
- Улучшение перевода алиасов таблиц в запросах;
- Поддержка корректного перевода имени таблицы в запросе, указанного
через хеш, например #ИмяТаблицы;
- В языке запросов исправлен перевод выборки таблицы как поля;
- Исправление перевода строковых литералов в выражениях СКД;
- Загрузка переводов в значения параметров настроек СКД, созданная с
одним языком;
- Устранение утечки файловых дескрипторов.
0.7.1
- Выпуск бета-версии для 1C:EDT 1.16 без изменений функциональности;
- Копирование XDTO как есть.
0.7.0
- Сломанные обратные совместимости
-
- Для фичи (FeatureAccess - свойство или метод через точку) у которой
не найден исходный объект - сначала запрашивать контекстный перевод,
а потом в словаре контекста Платформы;
- Отключение проверки свойств структуры на неоднозначность перевода -
т.к. их необходимо переводить контекстно.
- Новые фичи
-
- Инструмент переведен на использование EDT 1.15 в качестве целевой
платформы;
- Добавлена поддержка хранения страниц справки и HTML-макетов в
зависимых проектах (с ограничениями);
- Добавлена загрузка переводимого языка из зависимого проекта;
- Реализация открытия двупанельного редактора из контекстного меню
редактора BSL.
- Прочие изменения и улучшения
-
- Доработана документация к инструменту;
- Реализовано обновление текстов модулей при изменении перевода в
хранилище;
- Улучшение синхронной прокрутки двупанельного редактора.
- Исправленные ошибки
-
- Регистрозависимость при валидации неоднозначности переводов свойств
и методов нетипизированных объектов;
- Обработка двойных кавычек внутри выражений СКД;
- Учет концевых пробелов в любых литералах, не только
многострочных;
- Модификация строковых литералов НСтр() без необходимости;
- Исправление парсинга однострочного литерала начинающегося с |;
- Копирование XDTO как есть.
0.6.1
Выпуск бета-версии для 1C:EDT 1.14 без изменений функциональности.
0.6.0
Выпуск бета-версии для 1C:EDT 1.13.