terminal
terminal copied to clipboard
Windows Terminal may need to be translated into more languages
maintainer note: I'm repurposing this to "The Terminal may need to be translated into more languages now".
Languages requested:
-
pt
(this thread) -
pl
(#10931, #15596) -
nl-NL
Dutch - NLD (#11157) -
de-CH
- (#12075) - Turkish - (#13364)
- Czech - (#16677)
- Slovak - (https://github.com/microsoft/terminal/issues/10667#issuecomment-1931894883)
Original post contents
Since Windows Terminal is going to be in the Win+X menu of Windows 11, why not fixing once for all the language UI issues? My Windows 11 UI Language and keyboard scheme is only portuguese of Portugal while Windows Terminal language strings are in the horrible broken portuguese of Brazil. Don't get me wrong,,, I like Brazillian people but their speech and writing degraded the portuguese of Portugal speech and writing. Windows Terminal team needs to allow people to choose the language they prefer using a small drop-down box or Windows Terminal needs to get the language selection from Windows UI language code. I see many users are agravated with such language issues. As of time of writing, brazillian strings are still present with version 1.8, 1.9, and 1.10. I don't recall how it was before but I used to use Windows Command Prompt all the time.
I think #10309 fixed this but I don't know if it's released or not.
I recognize I didn't dig enough. But I just installed the preview from Windows Store. I open Windows Terminal Preview using Windows Store (after installation) or by using Recommendations of Start Menu, PowerShell comes up inside of Terminal where I had Command Prompt selected before, then I click the "down arrow" next to the "+" button and... brazillian strings are still there. Then I go to "settings", I look for language related stuff, not find it, and then I go to Appearence tab. It is there really and the drop-down box says it's getting the setting from system itself. I can click the drop-down box and I can see a lot of languages. Portuguese (Portugal) is there, then I click "Save" at bottom right and close both tabs and reopen Windows Terminal Preview and everything is still using brazillian. I went to confirm if the language was wrongly selected but nope. I even think the brazillian strings miss the context. It seems everything got translated by some AI instead being translated by real person.
Huh. This is a good point. #10309 lets users pick between the different languages that the Terminal is translated into, but the Terminal is still only translated into a subset of all the languages that Windows is translated into. If your system setting is set to Portugal Portuguese (I think that's just pt
), then the Terminal will fall back to the nearest match, which is still pt-BR
(Brazilian Portuguese)
@DHowett any ideas if we can let external folks submit translations for the languages we don't support? Like, maybe if we got partial translations for those languages it would at least help. Of course, that would presume that those partial translations could safely fall back to {the user selected language} if the resource hasn't been translated yet.
I don't see the why not let folks like us normal users to help translate things. There should be an unique platform we could join and help translating. I personally use Microsoft products like Windows everyday for years and sometimes I spot a mistake made by human translation or machine translation. Machine translation helps but is not ideal. The source language may not be in context and that leads to translation errors.
I think we as a team agree that we'd like to let folks do that, it's more a question of if the current localization stack we're using would enable that. I'm gonna see if there are some folks on the loc team that have any recommendations.
We did discuss this about a week ago. Takeaways:
Basic TODOs
These are things that we need help validating:
- We probably could allow community translations. You might be able to just check in resources to the repo right now, under directories for languages that don't get auto-translated, and it might just work.
- For languages that aren't fully translated by the community, the missing resources will probably fall back to the en-us versions. This is probably okay.
- We need someone to confirm this. If that works, then we can definitely accept community translations for languages that we don't already support.
Hard TODOs
(possibly things that only the Terminal team engineers could do, b/c we'd need to set up CI pipelines)
- For languages we already support, does having a partial translation checked in supersede the automatic translation?
- If someone wanted to really get their senior engineering creds, they could:
- Manually commit all the current translations to the Terminal repo
- set up a nightly CI pipeline that submitted the en-us strings for translation
- used that pipeline to file a PR to the Terminal repo with any updated strings from the loc service
- when there are fixes submitted by community to the Terminal for the few automaticly translated languages, add a comment marking these strings as community-originated, so they don't get blown away in future PRs
- [extra credit] when there are fixes submitted by community to the Terminal for the few automatic translations, auto-file bugs on the loc team to get their strings updated internally.
What is the current state of the Portuguese (Portugal) translation. I am available to help with the translation.
@hugok79 Alas, there's no progress here. We still need someone to do the diligence on the work I outlined above. If we can accept partial language translations and have them fall back to the nearest language for resources that aren't yet translated, that'd probably open the door for a lot of contribution. I suppose for pt
, missing resources should probably fall back to the existing pt-BR
one, but I honestly don't know if it will (or how to test).
We'd love help figuring that all out though!
Although I translate some software for Windows, most of my translation is done for Linux and that is where I am most used to. But when it comes to the Windows Terminal I'm still not very familiar with it and at the moment I don't even know where the translation files are here. However, from what I've read, I think the (pt-PT) lang code should be used first, so as not to get confused with the Brazilian Portuguese variante (pt-BR)
As @moonlightz says above, the Brazilian Portuguese translation is awful!!!
There is no Norwegian translation for Windows Terminal stable version, so it would be nice to have it translated soon as possible.
There is no Norwegian translation for Windows Terminal stable version, so it would be nice to have it translated soon as possible.
I guess, you will have to wait years for that to be a reality. I just installed the 1.16 preview and the languages list is still poor. I would also guess that not much has changed besides the Windows 11's theming is flowing everywhere.
Just removed the rest... I exceeded myself....
@moonlightz I share your opinion. If the Portuguese (Portugal) language is not translated I prefer to use English instead of Brazilian Portuguese!!! pt-BR it is just a variant of portuguese.
thinks Brazillian is my mother language... yacky... I would rather be born and speak English than speak a language that is being mistreated everyday because of the yacky language... and the people that speaks my mother language also mistreats the language.
I don't even consider pt-br a language, it is just a variant of portuguese which by the way is horrible and full of invented words and anglicisms!!
For the record - these kinds of comments are not in line with our Code of Conduct, and won't be tolerated here. Please keep this discussion on the actual technical details of implementing additional translations. This will be the only warning before I lock this thread.
As I've stated before: If we can accept partial language translations and have them fall back to the nearest language for resources that aren't yet translated, that'd probably open the door for a lot of contribution. I suppose for pt
, missing resources should probably fall back to the existing pt-BR
one, but I honestly don't know if it will (or how to test). We would love some help testing that out! If that works, then we could probably just accept partial translations from the community for any language, with fallbacks to the nearest language when a resource is missing in the requested language.
From a mail thread:
That's probably 90% of the battle.
- You'll probably need to manually add it to the package's manifest. A dev build of the terminal uses this manifest: https://github.com/microsoft/terminal/blob/10c6206bfef7d045347327687266832931f47eb6/src/cascadia/CascadiaPackage/Package-Dev.appxmanifest#L43. Adding a line for Turkish might just work?
- Similarly, I think you'll probably need a Turkish line here: https://github.com/microsoft/terminal/blob/10c6206bfef7d045347327687266832931f47eb6/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj#L54
- You may also need to add Turkish to this list of tags? https://github.com/microsoft/terminal/blob/10c6206bfef7d045347327687266832931f47eb6/src/cascadia/TerminalSettingsEditor/GlobalAppearanceViewModel.cpp#L26
I think that would be enough to add Turkish? We can of course always help more if that doesn't work.
It's unclear to me why it is taking a long time to add more languages to the list and it's resources. 2 days ago, I installed build 25352 (current is 25357 at time of writing) (I had to use a 3rd-party site to get a zip which contained tools to build the ISO file because Microsoft themselves do not list my language pt-pt in the languages list at Windows Insider Program) and found out that everything is essentially the same. There is a makeup but the languages list is the same. Once I opened Terminal and clicked the drop-down button next to the tab, I am still greeted with pt-br strings. I selected Settings, there's brazillian strings all over the place when the OS is set as pt-pt. I clicked Appearence, the language is set as default from system. I changed to English, saved, closed Terminal window and opened it again, yet again, once I click the drop-down button, there are the expected english strings along brazillian term for Command Prompt.
Off-topic... Let me add more charcoal to the bonfire. Windows 7 pt-pt had a command prompt in pt-pt but OS's strings were plagued here or there with wrong strings like chkdsk showing wrong strings. Windows 8+ pt-pt had no cmd pt-pt but entirely in english including the cmd programs. Guess what Windows 8+ pt-br had its cmd in pt-br. Proving it.. My Windows 11 UI language is set to pt-pt but cmd strings are in english: C:\Users\Hugo>ver
Microsoft Windows [Version 10.0.22624.1555]
C:\Users\Hugo>dir Volume in drive C is w11x64 Volume Serial Number is 162E-C344
Directory of C:\Users\Hugo
while pt-br Windows 11's PE...: X:\sources>dir O volume na unicade X é Boot O Número de Série do Volume é 060A-0DC2
Pasta de X:\sources
Maybe I should bother Windows team about this through Feedback Hub until finally pull a pt-pt cmd to Windows 11...12... after ages without one.
Some other notes:
Checked in resources in winget-cli repo: microsoft/winget-cli@
master
/Localization/ResourcesLocalization pipeline definition: microsoft/winget-cli@
master
/azure-pipelines.loc.yml The actual pipeline is internal - can't remember why, maybe TDBuild task wasn't installed in the AzDO project we wanted. From time to time someone runs it manually to submit the strings, then some time later again to get the LocalizedStrings.patch. It is applied and sent as a PR. For example microsoft/winget-cli#2264We do get suggestions for translation improvements from the community, like microsoft/winget-cli#3044 Then we reference the PR in the internal work item, like task.ms/43701445
The thread starting at https://github.com/microsoft/terminal/issues/12665#issuecomment-1542874579 is really informative
https://github.com/microsoft/terminal/commit/04717eebdb32b020b3a35441edf79e883a9599e3 has an example of what the loc build produces
From teams:
(Mike) So you think we could take that, PR that back in, and then {{deal with merge conflicts / conflicts between auto-translations and community ones}}, and presto
(Dustin) So, here's the ground rules as would be implemented if I did this there will be no conflicts, as the other-language files are advisory-only. if somebody modifies one and we happen to accept it, the next commit from the bot will simply > delete their change in favor of what touchdown said no conflict, just wholesale delete and replace every resw file that that they would be diffed is a miracle of git's implementation, not an intrinsic property of what we're doing (same path = look ma, i tried to diff them)
(Mike) okay so then the ground rules for accepting community translations are... add a
that just says "in es-ES this should be 'donde esta la biblioteca'"? (Dustin) or, when someone PRs against non-en-US we tell the loc team x key, y file, z lang = abc
(Mike) can we make that as easy as like, having a AzDo template bug that we just copy from? Or like, have all the fields filled in query params so that we can just click a link straight to a mostly filled azdo work item?
Also feel free to add Slovak language to the list. :-)
They will do that... by 2030... when Windows 15 is out. I just installed Windows Terminal on Windows 10 19045. Version 1.18. I was still greeted by the horrible pt-BR translation. It's not even properly translated... No wonder... That brazillian people made a mess with the portuguese. Example... English word "Default" is "Por defeito"/"pré-definido" in pt-PT but in pt-BR is "Padrão" which English word for "Pattern"/"Standard". I didn't check Microsoft Edge's Dev tools yet. They used to be translated in pt-BR while the main UI is in pt-PT. You want to Slovak to be in Windows Terminal, you will have to beg a lot and pray for no mistranslations.
I commented but someone or something marked it as abuse for no reason.
You have to beg alot because they didn't yet add my language yet.
As I said before: The kinds of commentary you are making about other languages is not in line with our Code of Conduct, and will not be tolerated here. Please keep this discussion on the actual technical details of implementing additional translations. I will continue to mark any commentary like that as abuse, with prejudice.
This thread remains a helpful place for people to request translations, so I don't want to lock the thread.
Any news about the Czech language translation?
Is there any update on this? Would love to see more languages in the terminal.