+/- 2020-10-14
2020-10-17 Brainstorm Trying Setup Locale using WiX using a How To for File Dedup Utility
- This maybe: http://www.geektieguy.com/2010/03/13/create-a-multi-lingual-multi-language-msi-using-wix-and-custom-build-scripts/
- That text sounds knowledgeable, seems like it should work.
- Root msi would contain all languages?
- Something about it made me think I could infer that the 'root' msi should contain all the localized texts, even though it does not seem to show it when you run the msi, because of what input/output would step by step lead to localization according to the text.
- I tried this: Msiexec.exe /i JJ.TryThingsOut.DesignerForWixSetupProjects.SecondTry.msi TRANSFORMS=":1043"
- An experiment like that earlier seemed to result in some localization while executing the 'root' msi.
- My assumption was it must somehow take the msi from the folder nl-nl, but when I removed that folder, it still worked and localized the word I had translated to Dutch as a text. So it seemed the nl-nl folder was not needed.
- That gives me some trust in myself that I might have understood the text of that person.
- I may try it.
- If it works, I may want to turn it into a reusable component. JJ.Framework.Wix or something.
- I am thinking about an edge case in advance: What about Dutch (Belgium)? Should I use language nl instead of nl-nl and would that give Belgium/Flanders Dutch translations too? I do not think trying that edge case would be the first thing to do.
- I have this idea that an exe bootstrapper might be able to be multi-lingual?
- Maybe if I read more about WiX, I might see more possible solutions.
- Bootstrapper exe might still be an idea to look up.
The installer did not pop up Dutch on my big PC with Windows set to Dutch language.
LCID codes used in WiX Installer projects:
https://www.ryadel.com/en/microsoft-windows-lcid-list-decimal-and-hex-all-locale-codes-ids/
Tried adding nl next to nl_nl.
Noticed intermediately created msi's were not translated either ("MyInstaller_nl_nl.msi" and "MyInstaller_nl.msi") as I ran them.
In earlier attempts I was able to produce a Dutch-only installer. "MyInstaller_nl_nl.msi" should actually show up in Dutch I think. There may be something I did wrong. I did do some things differently than that earlier attempt, I think because I followed the steps as pointed out by the web page telling me how to do it.
I also noticed that "CreateLangTransform_nl.txt" seems an output log that names both LCID's (language codes) 19
1043, while CreateLangTransform_nl_nl.txt mentions only one (1043). These seems to suggest to me some sort of fallback mechanism would automatically be handled. I would have expected then such a fallback to appear in something called nl, rather than nl_nl. Perhaps 'it thinks' nl-NL might have to translate to more general nl too. I wonder what would happen if I were to add Flemish (Dutch Belgium). What would happen to those fallback codes?
Anyway, a lot of mind activity. I would first try getting a dutch language somewhere at all in this project.
I suspect I would need to create wxl's. I suspect that the system would then detect to add languages. Oddly I would have nothing to put in these wxl's, but I would hope that the standard UI would pick languages then.
Somewhere around the corner lurks a solution I think.
Adding a wxl for neutral culture or trying to specify it in Cultures to Build both seems to lead to the error.
It seems Cultures to Build is used first, otherwise a sum up of the cultures for which there seem to be wxl's. Practically it sort of means I can use either. Perhaps a matter of taste. But if I use neither, I seem to not get multiple cultures.
I do not understand what happened to the usability of a neutral culture. Perhaps a typo. Not sure. I might not be clear on how it works: neutral culture.
Maybe add that other UIRef for the localization?
Language="0" might need to be loc.ID or something.
This seems something:
https://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/specifying_cultures_to_build.html
It seems to mention building a single multi-lingual install. One thought I get is: Sigh. Another how-to that may or may not work.
It seems either setting cultures to build in the project properties or adding wxl's causes build errors to be generated like 'the localization variable is unknown'.
Not sure. A different project would not generate this problem. I do seem to be generating multiple cultures of setups with this project for the first time. And this seemed to have made this error emerge.
Specifying Cultures to Build "nl-NL" works, after correcting the Language attribute to be LCID "1043" (which stands for nl-NL).
Is something wrong with wanting to specify neutral language (to be English)?
In one of the experiments I am quite sure I had both culture-specific folders with msi's in it plus one in the root. But I cannot find it right now in any bins. I think it was in the JJ.Utilities.FileDeduplication.Setup.Wix. I also remember having inferred that the root one indeed would contain all languages but might require a less handy way of starting it, would it use an alternative language.
I see in my notes that it seemed to appear in the Visual Studio Designer experiment, but I also think I remember it from the JJ.Utilities.FileDeduplication. But if I build those, the 'root' msi does not seem to appear.
Look at first localization tutorial again?
en-US;nl-NL
2020-10-20 Brainstorm File Dedup Utility Setup Locale