> -- GUEST писал(а):
> Не вижу проблемы в определении размещения констант, подлежащих локализации. Если угодно в отдельный модуль их. А что касается исходников (как обычного документа) тоже никто не заставляет. Можете защищать как угодно. Ещё лучше оставлять их закрытыми.Я бы ещё добавил вариант D). ARRAY OF SHORTCHAR => 1+2+3 => ARRAY OF CHAR.

На мой взгляд, один из возможных путей к решению проблемы с кодировками в BlackBox состоит в том, чтобы не идти на крайние варианты (все в SHORTCHAR или все в CHAR), а использовать признак кодировки в заголовке любого документа (.odc), вне зависимости от того, исходник это или нет.

Это позволит на лету осуществлять необходимые преобразования между кодировками.

Тогда, например, для исходников вполне можно применять SHORTCHAR, что позволяет для многих случаев обеспечивать двуязычность (английский - национальный). Если же требуются составные комбинации (три и более языков, либо языки азиатской группы), то использовать CHAR (на уровне комментариев и текстовых строк).

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

Общий подход -- исходники в массе своей в SHORTCHAR, а сторонние документы -- в CHAR.

Если говорить короче, то для обычных текстов применять SHORTCHAR или CHAR, а для исходников -- преимущественно варианты A или D.

Уточню, что в схеме вариантов упустил комментарии. Здесь при маркировке документов (.odc) гибкость можно сохранять, но брать за основу все же SHORTCHAR.

Более того, маркировка в заголовке позволяет использовать не только Unicode16, но при необходимости и другие кодировки (8-,  16- и 32-разрядные).

При этом документы (включая исходники) должны иметь две взаимнооднозначные формы -- бинарную (ODC-подобную) и текстовую (XML-подобную).