-
Notifications
You must be signed in to change notification settings - Fork 30k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Translate installers for OS X and Windows #819
Comments
Maybe wait this PR for OS X installer. #776 |
@jessy1092 Thanks for the heads up. I already tested the translation process with this PR, which is really easy and comfortable: https://github.com/fhemberger/io.js/commit/65ba54ec0eb112ce040415ac2b3b321b8e38b5d1 (added German translation). As soon as this PR lands, we can use this commit as a basis for further internationalization. |
Does anybody have experience with localizing MS Installers as well? According to this (older) blog post it's possible with transformations without creating additional installer files for each language. But as far as I understand, you end up with having several files (one "master" installer and a transformation file with the deltas for each language). So it's possible that the .msi installer for windows needs to be replaced with a .zip file containing the installation files. Can someone confirm this? |
Localizing the MSI is quite easy. If you want to read in then take a look in chapter 12 of this book https://books.google.de/books?id=S5VFSs_iKywC&printsec=frontcover&hl=de#v=onepage&q&f=false You can create a single msi for every language or a single multilanguage msi. |
is it really worth the work and the (huge!) maintenance overhead? |
@fhemberger Glad to hear localizing the Mac installer was easy to do. Let me know if I can make any of the instructions in the README clearer. |
@piscisaureus You have to translate basically just the short welcome/success and error messages, not the whole installer. The rest will already be in your OS language. Took me just a couple of minutes and I think once I figure out how the Windows Installer script works, it will be the same. Thought it was a nice addition. After downloading a file from a localized website, it should have the same localization during the installation process (especially when it comes to installation errors). Of cause you're right that this will add some overhead, but that's why I'm looking into the actual amount of it. (OT: I'm strictly against translating the entire API docs, those will become a nightmare to maintain. I've seen it already in various open source projects which had their once translated docs out of sync, so you had to fall back to English anyway – once you finally found out they weren't up-to-date.) |
@fhemberger Does translating mean that you get a single installer with a language selection menu or do you end up with multiple installers? From your commit, I'm guessing (and hoping) it's the first one? |
@bnoordhuis You get a single installer, the language selection is done by the OS automatically (with fallback to English). |
Sounds alright to me then. I suspect that the maintenance overhead that @piscisaureus is afraid of, is orchestrating the i18n effort whenever changes are made to the installer (which is a legitimate concern.) Strawman policy: we copy the English text and leave it to i18n contributors to make the necessary updates. Reviewing and landing the pull requests would still be quite a bit of work, though. :-( |
For the moment at least, the content which needs to be translated is very generic. As long as you don't heavily alter the current installation process, this shouldn't be a big issue, especially when not translated texts will be simply shown in English. |
Can someone with a bit more Visual Studio/WiX experience please have a look at this: I got the German translation working for the Windows installer, but the build breaks in VS2012 when both cultures are defined in nodemsi.wixproj at the same time:
|
I think the directories |
No, they will be created automatically. |
Ok it comes from the Post-build Event Command Line in the solution options->Build Events.
These two lines generate the move commands that fail.
There are two files in the move command and in the dest-folder a double backslash. For me everything works fine if I delete these lines. BTW if you leave the culture field empty WiX will build every culture. |
Thanks, will look into it again tomorrow. |
Ok, here is the update: https://github.com/fhemberger/io.js/tree/refactor-win-installer-de The build error is gone, separate installers for each language are created. After the build process the German test translation should be transformed and combined into the en-US installer (at least I followed the documentation for the process described in the book @mathiask88 linked). Unfortunately, I currently don't have a German Windows version at hand to test it. Looking for willing testing victims on Monday. ;) |
@fhemberger installer works nice. I tested german, english and dutch(for fallback) windows languages. But at the end of building I get a message box that is a bit annoying for running a command line. |
This is coming from the original MS script used, I'll comment out that line. Regarding the two missing translations: I couldn't come up with a fitting German translation for those yet, so I skipped them for the moment. I'll fix the wrong variable, thanks for pointing this out! |
Going to add tc-agenda to this due to the maintenance concerns @piscisaureus mentioned, I have similar concerns even if it is a relatively simple translation. I wonder if there's some way we could build in a check somewhere to check whether the english data is newer than other languages so we can catch a potential sync problem before it gets out in to the wild. Maybe something triggered by |
@rvagg Good points. Maybe we could make the build process only use the translated version if it is newer than the english version and fallback to english if it is older. That will make sure that a release is never out of sync. The only problem with this is if the english version change and the translated version does not need to be changed. Then we need some way to mark those translations as up to date. In addition to that there should be some external tooling for the i18n groups which says if some translation needs to be checked. |
Status as of io.js TC Meeting 2015-02-18:
|
I consider there to be technical blockers while this remains difficult to set up to make it work, setting up windows build machines is tedious enough as it is (no automation) without adding the additional things here happy to shave yaks here when I have time, but that's a limited resource for me at the moment |
This issue has been inactive for 16 months. Are we still optimistic this is going to get across the finish line? |
Ref: #4603 (comment) |
I think this was resolved for Windows in #2247 |
Closing this. There has never been a vocal demand for localized installers from the community, though it would have been nice to have along with our localized website and docs. |
It would be nice if we could translate the installer packages as well. Can someone please give me a hand with altering the build process to allow translations for both platforms?
The text was updated successfully, but these errors were encountered: