I had tried to add Russian language to Cbc. I had found several problems…
Messages are “distributed” in the code. The code must be changed if Russian language is used. It is too expensive to correct code for each new version… Could be messages collected together? In that case the messages can be replaced at least by “copy-paste” technology or can be “switched” by compiler …
There are a lot of code pages for Russian language: 1251 for windows, 866 for DOS, KOI8-R for some UNIX and so on. Maybe class CoinMessages should have a codepage-translation function?
I has added new language and then added Russian messages to “XXXMessages.cpp” classes. I had two problems:
A lot of SetLanguage calls should be added to “CoinSolve.cpp” code of cbc.
Maybe exists the bug in the code because I received mixed messages (English and Russian) from “XXXMessages.cpp” classes. You can reproduce this problem if realize “uk_en” as upper-case of language “us_en”. So if you receive small letter in the log then you have localization problem :-) Set detailed log to view the problem in cbcSolve.exe.
I had tried to add Russian language to Cbc. I had found several problems…
Messages are “distributed” in the code. The code must be changed if Russian language is used. It is too expensive to correct code for each new version… Could be messages collected together? In that case the messages can be replaced at least by “copy-paste” technology or can be “switched” by compiler … There are a lot of code pages for Russian language: 1251 for windows, 866 for DOS, KOI8-R for some UNIX and so on. Maybe class CoinMessages should have a codepage-translation function? I has added new language and then added Russian messages to “XXXMessages.cpp” classes. I had two problems: A lot of SetLanguage calls should be added to “CoinSolve.cpp” code of cbc. Maybe exists the bug in the code because I received mixed messages (English and Russian) from “XXXMessages.cpp” classes. You can reproduce this problem if realize “uk_en” as upper-case of language “us_en”. So if you receive small letter in the log then you have localization problem :-) Set detailed log to view the problem in cbcSolve.exe.