cpr1c / tools_ui_1c

Универсальные инструменты 1С для управляемых форм
GNU General Public License v3.0
730 stars 230 forks source link

Адаптация расширения по англоязычную конфигурацию 1C:Drive #545

Open ViktorErmakov opened 1 year ago

ViktorErmakov commented 1 year ago

необходимо использовать в работе инструментарий на драйве

Адаптацию делаю я по мере поступления задач

Необходимо решить как будем хранить версии tu и en Давайте согласуем структуру проекта?

LevkinSergey commented 1 year ago

Хотите переводить только пользовательскую часть или код тоже?

ViktorErmakov commented 1 year ago

Дело не в переводе. Дело в адаптации для запуска всех инструментов на англоязычных метаданных. Язык я хочу оставить прежним и там и там.

ViktorErmakov commented 1 year ago

Это не малая работа. Пока я успешно адаптировал выгрузку xml в идентичных базах

ViktorErmakov commented 1 year ago

И получается, что нужно хранить две версии расширения

LevkinSergey commented 1 year ago

По идее разницы не должно быть от имени метаданных. 1С это на платформенном уровне решает Что может быть это надписи и имена полей, если основной язык не русский. Тогда оно выглядит как все без надписей и строки на разных языках отрабатывают неправильно.

Если говорить о переводе интерфейса и строк в коде, думал над двумя вариантами:

  1. Использовать плагин ЕДТ со всеми его сценариями работы. Отдельными проектами под каждый язык и сборку соответственно под каждый язык адаптировать. Но код все равно пишется весь на русском языке, а с помощью плагина только переводится. В этом случае в репе будут несколько автообновляемых проектов, свой под каждый язык.

  2. Использовать методологию аналогичную ИРке https://github.com/cpr1c/tools_ui_1c/issues/496#issuecomment-1627391705 . Чтобы при сборке собирались сборки аналогичные русскому языку без перевода, но работающие на других основных языках.

На выходе будет получаться несклько расширений под каждый язык. Если получится, хочется количество выходных файлов оставить тем же. Если из расширения язык удалить оно применяется без проблем и для работы берет основной язык конфигурации. Не уверен что такое сработает, т.к. 1С без доп. манипуляций такое не разрешает создать руками и сколько это проработает непонятно.

LevkinSergey commented 1 year ago

По структуре репы думал про такую src/translate/ - папка для хранения файлов(проектов) переводов конфигураций. Своя папка под каждый язык.

Доработку сборщика беру на себя.

LevkinSergey commented 1 year ago

В сборщике нужно будет во всех элементах формы/синонимах и т.п. прописать для всех поддерживаемых языков синоним равный русскому, если его нет в переводе

LevkinSergey commented 1 year ago

Плагин для ЕДТ https://its.1c.ru/db/edtplugins/bookmark/LanguageTool/LanguageTool

ViktorErmakov commented 1 year ago

Я не силен еще в этой теме но столкнулся вот с чем. Заимствованные методы на русском, платформа не знает, нужно менять все директивы. А так же где сравнения идут " Если = "" Справочники"" Тогда... " Тут все падает. Еще обращеня к тз или структурам через точку тоже все ломается. В общем платформа я не знаю что решает...

LevkinSergey commented 1 year ago

Об этом я и не подумал. Видимо идет из параметра язык встроенного языка. Тут все равно лучше сливать в основную репу. Делать доп условия. Все-таки хочется иметь минимум выходных файлов и одну кодовую базу для всех вариантов сборки

ViktorErmakov commented 1 year ago

Ну код какой то да можно сделать в основной репе, не понятно что делать с заимствованными методамиIMG_20231113_155558.jpg

Вот на картинке директива видите на английском

LevkinSergey commented 1 year ago

С этим делать нечего придется отдельные сборки под англоязычную БСП делать. Но я бы сделал это на этапе сборки. Просто заменять имена импортированных модулей и методов на англоязычные. Их там 2 модуля и 3 метода. Но это будет работать, если остальной код интеграции сработает. Тут подскажите

Если не выйдет тогда сделать отдельное расширение, которое содержит поддержку англоязычной БСП. И его уже на этапе сборки заменять модулями из этого расширения модули основного расширения

ViktorErmakov commented 1 year ago

Ага хорошо. Как мне тогда поместить наработки свои в ветку? Я же затру эти модули?

LevkinSergey commented 1 year ago

Приложи сюда доработанное. Сделаю еще проект. и туда будем добавлять методы интеграции с англоязычной БСП. Постараюсь сегодня завтра

LevkinSergey commented 1 year ago

А дальше уже стандартными пулреквестами будем идти

ViktorErmakov commented 1 year ago

Сегодня не обещаю, на днях выложу точно. Спасибо

free-archer commented 1 year ago

Есть проект где переведен весь код универсальных инструментов. Может поможет, чтобы быстрее позаимствовать.

https://github.com/i-neti/tools_ui_1c_int

ViktorErmakov commented 1 year ago

Спасибо за ссылку. Возможно пригодится. Но пока хочется что бы русская версия запускалась на драйве.