-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Windows: Change default English(US) Language (Properties->Details) #672
Windows: Change default English(US) Language (Properties->Details) #672
Comments
For NSIS installer we don't use
Does it matter? Where this key is used?
Script will be and should be used not as CLI, but as in-process. It can be integrated into electron-builder sources. But I don't like it — it is better just fix rcedit. We bundle own version of rcedit in any case (not from npm). |
I agree. In the past I had to create my own
When the user opens or views the file properties (Properties->Details). Everything else
It's not a deal breaker for myself (since English US is acceptable for English Australia where my company is located) but I would imagine it's more professional for devs who wish to release other than English.
Makes it easier then.
Sure, just trying to help ;) |
PR welcome. Thanks for info, I was not aware of that.
I am afraid that your approach is not so robust as |
I did attempt this at first, but my c++ skills are lacking (I've been using c# too long now!) and it made my head hurt
It shouldn't be too hard to automate a script to make a copy of the The same technique could be used for the I'll see what I can do, but I'm pretty short on time at the moment (I'm sure you are too!). |
Found an easy fix for NSIS language setting (No need to create own language files etc). Change src/targets/nsis.ts#L122-L130 From: const versionKey = [
`ProductName "${appInfo.productName}"`,
`ProductVersion "${appInfo.version}"`,
`CompanyName "${appInfo.companyName}"`,
`LegalCopyright "${appInfo.copyright}"`,
`FileDescription "${appInfo.description}"`,
`FileVersion "${appInfo.buildVersion}"`,
]
use(this.packager.platformSpecificBuildOptions.legalTrademarks, it => versionKey.push(`LegalTrademarks "${it}"`)) To: const localeId = appInfo.localeId; // arg from build.win (decimal)
const versionKey = [
`/LANG=${localeId} ProductName "${appInfo.productName}"`,
`/LANG=${localeId} ProductVersion "${appInfo.version}"`,
`/LANG=${localeId} CompanyName "${appInfo.companyName}"`,
`/LANG=${localeId} LegalCopyright "${appInfo.copyright}"`,
`/LANG=${localeId} FileDescription "${appInfo.description}"`,
`/LANG=${localeId} FileVersion "${appInfo.buildVersion}"`,
]
use(this.packager.platformSpecificBuildOptions.legalTrademarks, it => versionKey.push(`/LANG=${localeId} LegalTrademarks "${it}"`)) This now works without CRC check fail! |
Looking at the
I agree it appears hacky, but it works (it only changes 2-bytes). As long as you only use it on the files that you use
Now solved with the code above this comment by setting Since it's now possible to set the Language for all Windows targets with the above solutions I'm unlikely to do anymore work on this. I understand if you want to wait for an official |
Great. Small correction on your latest commit: you missed a I don't think this oversight results in changing anything though. But best to be complete. AFAIK it's the FileVersion that actually sets the language, but it's best to set them all. |
Actually, it errors when Fix: Change src/targets/nsis.ts#L131 From: use(this.packager.platformSpecificBuildOptions.legalTrademarks, it => versionKey.push(`LegalTrademarks "${it}"`)) To: use(this.packager.platformSpecificBuildOptions.legalTrademarks, it => versionKey.push(`/LANG=${localeId} LegalTrademarks "${it}"`)) Also, small correction in docs/Options.md#L147. Change:
To:
NSIS expects decimal LCID (and I couldn't find any HEX->Decimal conversion in your code). |
Ping @develar Latest 6.3.0 release still erroring when (I would submit a PR but my dev env is windows, and currently broken) |
Thanks @develar for the fast response! However, I think the issue should still remain open until Thanks for your amazing work! |
Moved to backlog, marked as help-wanted and closed. I really want to finish work on #529 and currently no short-terms plans to fix it :) |
@develar is german the fallback language when a user's locale is rtl? You posted German in this comment and our Hebrew users are seeing installer text in German. Is there a workaround for this? btw specifically for Hebrew I can translate the text if that's all we need to get support for Hebrew language. I can't help with PR for rtl support tho, me don't know c++ :( |
@goldylucks do you use latest electron builder? |
updating to |
This is a follow up to #655
I'm working on a fix to enable Windows users to set the default language of the App.exe, Setup.exe etc. (currently set to English (US) for all exe's).
atom/rcedit
would be the ideal repo to take care of this, but I grew tired of waiting for a response from the maintainers. So here is my simple node script to modify the language / locale id :Notes:
build.win.localeId = "0x0c09"
where the user looks the locale id up manually ?Remaining Issues To Solve
The text was updated successfully, but these errors were encountered: