I’ve added a new approach, hopefully it’s more convenient. Please, go to post #2 for more information!
Please, contact me if you have any questions or want to remind me to update CM’s locales. Sorry that most of lines are missing or that I don’t update locales regularly, with all those new features being added, there isn’t much point of translating something that might change in the future.
I’m only, like, testing the water with this approach now. Never done something like this before, and I don’t know if it will be good enough or not.
CM and Locales
Now CM could be localized and has its own weird system for languages. I’ll try to explain how it works in few steps:
Originally, app is in English no matter what language OS has.
I think, since all AC content is in English anyway, there is not much sense to use localized CM anyway. But maybe I'll change this behavior later (if there will be some more or less full localization).
But you can always go to Settings/Language if you want to change it.
Here is how that menu looks:
As you can see, all additional locales will be downloaded additionally. This way, they could be updated without the whole app. Most of the times you don’t even have to restart an app: it will try to download an update right before starting (but downloading will be limited to 500 ms and could be disabled).
And also, you can override any values using unpacked locale.
Basically, every time app starts, it checks if there is a folder named as an ID of selected language (for example, “ru”) in …\AppData\Local\AcTools Content Manager\Locales, and if there is, app will load resx-files from it (only those which end with “.[ID].resx”, such as “AppStrings.ru.resx”) and use them on top of selected language package or default English localization.
Press “Prepare” button to create a new folder with unpacked locale ready for localization.
UPD: Now, folder named as ID of selected language will be searched only if Resx mode is enabled, but instead by default CM will only look for file called “google-sheets-export.xlsx”. Go to post #2 for more details.
If You Want To Help With Localization (First Obsolete Way)
It could be a bit tricky, but I hope not too much.
Find an ID for your language;
Press “Prepare” in Settings/Language and input that ID;
When you get here:
Take any good editor for resx-files;
I recommend to use ResX Resource Manager (standalone version; can open all files at once which is pretty neat), or Simple Resx Editor or Zeta Resource Editor (please, don’t forget to enable comment column with this one), but maybe there are some other even better.
Open resx-files with same prefix (for example, with a name started with “AppStrings”) in it;
I recommend to take a file with English language and with locale you’re interested in (like “AppStrings.resx” and “AppStrings.ru.resx”), so you’ll get a very nice table:
Also, please, create new files if you're going to work on a new language! With ResX Resource Manager, for example, you can do it in with this button:
Don’t forget to save your changes! And don't forget to test if lines are fitting (hold Ctrl while closing main CM window to restart it).
When you’ll finish translating (you don’t have to translate all of it, by the way), press “Submit” in Settings/Language and I’ll include your lines in those language packages!
If you have any questions or suggestions or want to help with localization using some other way, feel free to write (here or here).
Oh, And One More Thing
It's like the most interesting part of a whole localization, to be honest. There are some things which can't be localized just with those tables. Things like plural forms, ordinals or title case. So, I’d be very glad if you contacted me and described the rules.