1C:Language Tool - CHANGELOG - ИСТОРИЯ ИЗМЕНЕНИЙ
1.3.0
Прочие изменения и улучшения
1.2.0
Прочие изменения и улучшения
- Переход на EDT 2022.1
- Поддержка типизации возвращаемого значения выборки результата запроса
- Поддержка перевода расширения событий модуля без заимствования модуля
Исправленные ошибки
- Исправлена ошибка при переводе xml-объектов конфигурации для значений по умолчанию
- СКД: В группировках ресурсов могут использоваться вычислимые поля
- Свойства в коде, образованные по ссылкам на строковые литералы могли не переводиться по контексту
- Исправлено падение при переводе док. комментария в редких случаях
- При переводе картинок в файлах HTML не переводятся дважды в одной строке
- Улучшено логирование в командах CLI
- Исправление фильтра по регулярным выражением в генераторе строк
- В куске запроса (@Query-part) в строковом литерале корректно переводятся пустые спец.символы
- Перевод неизвестных полей выбираемых по звездочке
- Исправлен алгоритм перевода произвольных комментариев и чистки комментариев при отсутствии перевода
- Исправлены ошибки, приводившие к зависанию в некоторых случаях
- Перевод сегментов стандартного строкового литерала, если не найден объект
- СКД: Перевод иерархии полей группировки итогов
- Исправление перевода псевдонима таблицы запроса с частичным совпадением по базовой таблице
- Перевод ключевого слова Ждать
- Перевод полей запроса через звездочку
- Исправление ошибки перевода ряда платформенных терминов
- Система заполнения отсутствующих переводов по другим языкам сделана более надежной
1.1.0
- Переход на EDT 2022.1
- Улучшение стабильности работы
- Исправление незначительных ошибок
1.0.0
Новые фичи
- Подсистема расчета и визуализации статистики переводов проекта по языкам с различными метриками
Прочие изменения и улучшения
- Перевод полей СКД стал более точным за счет расчета всех доступных полей
- Перевод ссылок на общие картинки в справке и Html-макетах
- Учет циклических ссылок при переводе временных таблиц без переводов и алиасов
- Учет прерывания при валидации запросов в модуле
- Улучшена система контекстного отображения фич для перевода, ранее приводившая к падениям в некоторых сценариях
- Пропуск устаревших замененных слов из контекста платформы при наличии новых переводов
- Импорт внешних языковых проектов в воркспейс для всех консольных команд
- Поддержка перевода значений форматированных строк в модулях и свойствах метаданных
- Оптимизация перспективы Translations, более удобное расположение с учетом панели статистики
Исправленные ошибки
- Исправлен перевод СКД, Табличного документа и 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"
- В контекстной панеле редактирования переводов (Translstions) возможно открыть по кнопке (…) редактор перевода во всех хранилищах
Прочие изменения и улучшения
- Переход на EDT 2021.2
- 1C:Language Tool поставляется с открытой лицензией, не требующей партнерского доступа и подписки ИТС.
- Улучшены алгоритмы перевода:
- объектов формы (имен элементов, пути к данным, ссылки форматированных строк в т.ч. содержащие CamelCase)
- выражений СКД
- языка запросов (в случаях расширения языка СКД, отсутствия обязательны алиасов, выбор всех полей и т.д.)
- кода при обращении к XDTO-объектам, виртуальным двуязыным полям регистров и др.
- Схемы Компоновки Данных (СКД)
- Мокселя (параметры, выполняющие неявный запрос в БД)
- модели шаблонов ограничений доступа
- Более удобный алгоритм разбиения CamelCase на слова в разных ситуациях
Исправленные ошибки
- Исправлено множество различных ошибок
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