четверг, 1 сентября 2016 г.

Языковая локализация C/C++

Локализация программного кода под язык (например, русский) очень слабо описана. На то есть несколько причин:
  • Современное представление текстов в Unicode появилось достаточно поздно (1991г.), а представление Unicode в UTF-8 кодировке ещё позже (1992г., Кен Томпсон и Роб Пайк);
  • Ранние описания, например знаменитая книга по C K&R, естественно, не могут даже упоминать о проблеме языковой локализации...
  • А более поздние зарубежные (и переводные) издания обходят эти вопросы стороной - им оно не актуально ... и "до лампочки"...
  • отечественные же учебники только пересказывают то, что они прочитали в переводных изданиях.
А вопросы по этому поводу многократно задают. И в обсуждениях рассказываются совершенно чудовищные картины локализации ... складывающиеся в больном воображении в отсутствии информации.
Поэтому пришлось собрать в одно место то, что я знаю по этому поводу, и описать единым текстом.
Как и раньше, особенно расписывать я здесь не стану, а для интересующихся, пожалуйста - скачивайте описательный текст + архив примеров кодов, которые можно компилировать, изучать и с которыми можно экспериментировать.

Сам текст : на Yandex и на на Google
Редакция 09, от 01.09.2016, стр. 22.

Архив примеров кода на Yandex и на на Google

Всё, что здесь описано, касается локализации в коде C и C++. Но вопросы локализации, вообще то говоря, определяются не столько языком программирования, сколько операционной системой и её настройками. Поэтому локализация на других языках, скажем Python, полностью наследуют описываемые здесь принципы, и только изображаются средствами API этого языка. В будущем, возможно, я расширю текст примерами ещё на нескольких языках программирования ... хотя это достаточно тривиально после C/C++.

Всё, что хотелось бы обсудить, уточнить, замечания и предожения по тексту - обсуждаем здесь: регулярные выражения в C/C++.