Перевод 2024-12-09
Добавлено: 09.12.24 16:33
Ясно, что процесс зарулил не туда. Однако я нашёл примерное место, где проблема с падающим преобразованием была исправлена. Правильным решением было бы вообще отказаться от использования и методов записей, и мат. массивов в проекте pw, поскольку они не обязательны. Однако раз уже проделана работа по переводу, то попробуем дотянуть до полного результата.
Задача состоит в том, чтобы научиться эффективно сравнивать более новые версии A2 с текущей ЯОС. Первая часть работы состоит в том, чтобы перевести ЯОС на английский. После того, как это сделано, обнаружилось, что много различий вызвано следующим:
* растенение идентификаторов в ЯОС. Это можно решить, добавив соответствующие переводы (убирать растенение при переводе на английский). К сожалению, похоже, что это придётся делать вручную, но хотя бы перевод можно делать на уровне одного модуля, а не всех конфигураций, перевод одного модуля выполняется примерно в тысячу раз быстрее выполняется, чем перевод всей системы, значит, можно довольно быстро привести разницу к минимальной
* кроме того, некоторые имена переведены на русский простой заменой, без словаря. Это также решается правкой словаря переводов.
* т.к. я выкинул кооперативный backend, возникли ещё различия
* также различия произошли из-за добавленя двуязычности
Проблема ещё и в том, что словаря для LisSemanticChecker вовсе не существует. Было бы славно иметь его синтезировать по diff-у из двух переведённых версий. Но неясно, стоит ли ещё и на это отвлекаться.
Задача состоит в том, чтобы научиться эффективно сравнивать более новые версии A2 с текущей ЯОС. Первая часть работы состоит в том, чтобы перевести ЯОС на английский. После того, как это сделано, обнаружилось, что много различий вызвано следующим:
* растенение идентификаторов в ЯОС. Это можно решить, добавив соответствующие переводы (убирать растенение при переводе на английский). К сожалению, похоже, что это придётся делать вручную, но хотя бы перевод можно делать на уровне одного модуля, а не всех конфигураций, перевод одного модуля выполняется примерно в тысячу раз быстрее выполняется, чем перевод всей системы, значит, можно довольно быстро привести разницу к минимальной
* кроме того, некоторые имена переведены на русский простой заменой, без словаря. Это также решается правкой словаря переводов.
* т.к. я выкинул кооперативный backend, возникли ещё различия
* также различия произошли из-за добавленя двуязычности
Проблема ещё и в том, что словаря для LisSemanticChecker вовсе не существует. Было бы славно иметь его синтезировать по diff-у из двух переведённых версий. Но неясно, стоит ли ещё и на это отвлекаться.