Skip to content
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

Add support for explicit setting culture info for build tools and internal .net messages and resources #4736

Open
comdiv opened this issue Dec 3, 2015 · 0 comments

Comments

@comdiv
Copy link

comdiv commented Dec 3, 2015

After posting #4735 i have suggestion about logging and whole build output

  1. For now build clean and all tools it calls uses currnet system locale to prepare output, for example in my case csc uses RU-ru lang error messages

  2. It's not much good :
    a) if it's used from console - it's hardly depend on valid encoding (where is real risk to catch ?????? and so on)
    b) Translation is not very good - some messages are much more readable in English
    c) It's very hard to find correspond information from google because most common places (github, stackoverflow and so on) use English
    d) It's not much good in CI with build machines with distinct locale - if you try collect and diff logs as artifacts

  3. So it's good idea to allow explicitly set OUTPUT locale for whole stack:
    a) For .NET add Process.SystemCulture and Thread.SystemCulture - it is CurrentCulture by default but can be another
    b) Same static info at unmanaged part of core
    c) remap resource resolution for internal messages to this culture
    d) setup SystemCulture by default from env NET_SYSTEM_CULTURE if set
    e) add --system-culture for csc.exe (and other compilers), msbuid.exe and build(.cmd|.sh) scripts
    f) add <SystemCulture>En-en</SystemCulture> to MSbuild - should supply it to --system-culture for compilers

So if i call build clean --system-culture EN-us or simply build clean --system-culture En - i have english output while my current culture still RU-ru.

And for another hand - if someone from US call build clean --system-culture RU-ru (for example for debug proposes) - he would see russian variant

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 30, 2020
@msftgits msftgits added this to the Future milestone Jan 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants