Is there any way to use https://translations.launchpad.net/codeblocks/? Few languages are ready to go 
BYO
Download the
codeblocks.mo file there, and copy it to the right place, that's it. Downloading is a bit awkaward, you first need a launchpad account, then you request the download, and you are sent an email containing the download link. Don't ask why it's so complicated

For a Polish translation, the file would have to go to
$SHARE/codeblocks/locale/pl/codeblocks.mo. Any valid
lang or
lang_COUNTRY code recognized by wxWidgets will be ok.
What Code::Blocks does is this:
1. At startup, it loads the language code from the config and sets the locale accordingly. If something fails, it uses "system default". Then it gets the canonical name for whatever was chosen and lists the
.mo files inside the respective directory, adding each of them to the catalog list.
2. When configuring localisation, Code::Blocks lists all directories inside the
locale folder, and then verifies one by one if it is a valid ISO code. If it is, it replaces the code with its corresponding human-readable string, adding that to the menu.
Thus, there is no need to hardcode anything any more, and adding a language (or a localisation for a plugin) is a matter of dropping a file into a folder.
If we are to adhere to the standard pedantically, putting the files into
$SHARE/codeblocks/locale/lang_COUNTRY/ is wrong, it should be
$SHARE/codeblocks/locale/lang_COUNTRY/LC_MESSAGES/.
However, wxWidgets looks in both places anyway, and leaving out the
LC_MESSAGES bit removes one unnecessary level of indirection. There is never anything but this one folder inside the language folders, which is kind of pointless, really. Also, it confuses users who haven't done this before (it took me a while to figure out, too).
Code::Blocks will therefore load all files matching
*.mo in the
lang_COUNTRY folder, which is easier, more comprehensible, and works fine.