terminal icon indicating copy to clipboard operation
terminal copied to clipboard

Windows Terminal may need to be translated into more languages

Open moonlightz opened this issue 3 years ago • 24 comments

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.

moonlightz avatar Jul 15 '21 06:07 moonlightz

I think #10309 fixed this but I don't know if it's released or not.

skyline75489 avatar Jul 15 '21 06:07 skyline75489

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.

moonlightz avatar Jul 15 '21 08:07 moonlightz

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)

zadjii-msft avatar Jul 15 '21 13:07 zadjii-msft

@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.

zadjii-msft avatar Apr 04 '22 11:04 zadjii-msft

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.

moonlightz avatar Apr 04 '22 11:04 moonlightz

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.

zadjii-msft avatar Apr 04 '22 14:04 zadjii-msft

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.

zadjii-msft avatar Apr 11 '22 21:04 zadjii-msft

What is the current state of the Portuguese (Portugal) translation. I am available to help with the translation.

hugok79 avatar Aug 28 '22 08:08 hugok79

@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!

zadjii-msft avatar Aug 29 '22 11:08 zadjii-msft

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)

hugok79 avatar Aug 29 '22 14:08 hugok79

As @moonlightz says above, the Brazilian Portuguese translation is awful!!!

hugok79 avatar Aug 29 '22 14:08 hugok79

There is no Norwegian translation for Windows Terminal stable version, so it would be nice to have it translated soon as possible.

mads1153 avatar Sep 27 '22 23:09 mads1153

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 avatar Sep 28 '22 08:09 moonlightz

@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.

hugok79 avatar Sep 28 '22 09:09 hugok79

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.

zadjii-msft avatar Sep 28 '22 10:09 zadjii-msft

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.

zadjii-msft avatar May 05 '23 16:05 zadjii-msft

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.

moonlightz avatar May 06 '23 10:05 moonlightz

Some other notes:

Checked in resources in winget-cli repo: microsoft/winget-cli@master/Localization/Resources

Localization 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#2264

We 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?

zadjii-msft avatar May 18 '23 11:05 zadjii-msft

Also feel free to add Slovak language to the list. :-)

AsciiWolf avatar Feb 07 '24 11:02 AsciiWolf

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.

moonlightz avatar Feb 07 '24 16:02 moonlightz

I commented but someone or something marked it as abuse for no reason.

moonlightz avatar Feb 07 '24 16:02 moonlightz

You have to beg alot because they didn't yet add my language yet.

moonlightz avatar Feb 07 '24 16:02 moonlightz

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.

zadjii-msft avatar Feb 07 '24 16:02 zadjii-msft

Any news about the Czech language translation?

AsciiWolf avatar Jun 28 '24 18:06 AsciiWolf

Is there any update on this? Would love to see more languages in the terminal.

Natriss avatar Jul 09 '24 20:07 Natriss