golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
124.27k stars 17.7k forks source link

x/website: Translate "ref/spec" to other languages #43545

Open skanehira opened 3 years ago

skanehira commented 3 years ago

I propose that translate "ref/spec" to other languages like a "Tour of Go". I think it will help people who cannot read English.

ALTree commented 3 years ago

Note that only the English translation of the tour is directly maintained by the Go Project. All the other translations were created and deployed by native speakers, we only link to them.

Obviously people are free to translate the language specification too, and host the translations somewhere. But everything that the Go Project directly controls is currently in English.

skanehira commented 3 years ago

All the other translations were created and deployed by native speakers, we only link to them.

Oh, I'm sorry, I misunderstood. I thought Go Project has been translating.

If I translate "ref/spec", should I make a PR to link to it?

ALTree commented 3 years ago

The Tour is meant to be a very basic and understandable introduction to Go, and it's useful to have it translated so that beginners without a strong command of the English language can learn it. On the other hand, the language specification is a very dry, formal, and technical document that is mostly used by people who want to implement an alternative compiler, I think. It's not a tutorial or a learning document, and in fact we discourage people from trying to learn Go by reading it. For this reason I think that translating it (and then linking the translations on https://golang.org/ref/spec) would not be particularly useful.

cc @griesemer for a decision (mostly about linking it, obviously you're still free to translate the language spec if you wish so).

skanehira commented 3 years ago

On the other hand, the language specification is a very dry, formal, and technical document that is mostly used by people who want to implement an alternative compiler, I think.

Yeah, agree. But I think some people would like lean more details for specification through document like Me. Translated document will help them.

griesemer commented 3 years ago

The language spec is not intended as an introduction to programming; and it's clearly more "dense" than an introduction to programming in Go. But it's still a lot easier to read than typical language specs since we have taken great care to keep formalism at a minimum and the document compact. It is definitively intended to be consulted for any language questions; it's not "just" for compiler writers. Finally, for people with enough experience, reading the language spec is a very quick way to get up to speed, simply because it's short.

I would support good translations as long as each translation makes it clear that the final reference is the original English version. This should avoid any disputes due to slightly incorrect translations.

I don't think this is something the Go team needs to do. While we do have native expertise in English, German, Italian, Spanish, and probably a few more languages in the team and perhaps could review translations as needed, doing a good translation job requires a significant commitment. It also requires that such documents are kept up-to-date. This seems like a good opportunity for community members who want to help spread Go beyond English speakers.

skanehira commented 3 years ago

I would support good translations as long as each translation makes it clear that the final reference is the original English version. This should avoid any disputes due to slightly incorrect translations.

Agreed.

I don't think this is something the Go team needs to do.

I think so too. This is not something that can do only by the Go team. Community members would can do this.

While we do have native expertise in English, German, Italian, Spanish, and probably a few more languages in the team and perhaps could review translations as needed, doing a good translation job requires a significant commitment. It also requires that such documents are kept up-to-date.

I don't think the Go specifications will change much unless the version is up. Translating work will be hard at first time, but maintain will be not hard in my imagination.

This seems like a good opportunity for community members who want to help spread Go beyond English speakers.

My finally goal is this. I don't know English so much, but I want to read and understand more Go specification. I think there have many people like me in the world.

skanehira commented 3 years ago

If this propose is approved, I'll try translate English to Japanese.

ianlancetaylor commented 3 years ago

@skanehira If you are interested in doing that, go ahead. We don't have to approve it. Thanks.

skanehira commented 3 years ago

@ianlancetaylor Thanks :) I'll try it.

skanehira commented 3 years ago

@ianlancetaylor Should I translate this file directly? Or other files?

https://github.com/golang/go/blob/master/doc/go_spec.html

griesemer commented 3 years ago

@skanehira Yes, this is the spec: https://github.com/golang/go/blob/master/doc/go_spec.html . We update the date at the top when we make changes which should make it easy to see if you need to make changes in the translated document. Thanks.

skanehira commented 3 years ago

@griesemer

We update the date at the top when we make changes which should make it easy to see if you need to make changes in the translated document.

OK, Thanks :)