Translating the Tour

A Tour of Go is a Go program that runs as a stand-alone web server or
an App Engine app. The version available at tour.golang.org is run from
App Engine. There are several localized versions of the tour, such as
this Chinese translation, also running on App Engine:

	https://go-tour-zh.appspot.com

The Tour contains a slide named "Go local", which lists several of
these translations. If you are a native speaker of a language not on
that list and have some experience with Go, please consider providing
a translation of the Tour in your own language.

To translate the tour:

1. Translate the files in content/
2. Provide localized version for the UI strings in static/js/values.js
3. Sign up to App Engine and create an app named go-tour-LL,
   where LL is the two-letter country code that applies best
   to your chosen language. (This shouldn't cost you anything;
   the Tour App usually runs inside App Engine's free quota.)
4. Deploy your version of the Tour to that app.
5. Announce to golang-nuts@googlegroups.com

The Tour content changes occasionally, and you should keep your
translation up to date. To follow the development of the tour,
you can subscribe to the feed at

	https://github.com/golang/tour/commits/master.atom

Finally, if you have any questions about the Tour or Go,
please mail golang-nuts@googlegroups.com.
