Thanks for your interest in helping translating the guides!
Before you start working on a translation, look through the open pull requests to see if anyone else is already working on one for your language.
If there's not, then today is your day to lead this effort! Here's how to start:
- Fork this repository
- Set up your environment
- Create a new branch for your translation work e.g.
es
. - Copy
_data/locales/en.yml
to your target language file e.g._data/locales/es.yml
and translate all the strings. - Create a new directory in
_articles/
for your language e.g._articles/es/
, copy each guide from_articles/
into that folder and translate the content in each guide, except for the field names in the front matter between the---
s at the top of each file, e.g.,title:
should remain unchanged. Remove thetoc:
fields (they are only used for English). - Copy
index.html
to your target language index file e.g.[_articles/es/index.html](https://github.com/github/opensource.guide/blob/HEAD/_articles/es/index.html)
and update thelang:
and add thepermalink:
fields. Example:lang: es
andpermalink: /es/
. All other fields' values must remain unchanged. - Run
script/test
and make sure there are no failures with your translation files. Note that you may need to fix broken links. - Send a pull request. (You may send a pull request before all steps above are complete: e.g., you may want to ask for help with translations, or getting tests to pass. However your pull request will not be merged until all steps above are complete.)
Completing an initial translation of the whole site is a fairly large task. One way to break that task up is to work with other translators through pull requests on your fork. Example: pull requests on fork for German translation and corresponding initial pull request for German translation on this repository. You can also add collaborators to your fork if you'd like to invite other translators to commit directly to your fork and share responsibility for merging pull requests.
If you notice spelling or grammar errors, typos, or opportunities for better phrasing, open a pull request with your suggested fix. If you see a problem that you aren't sure of or don't have time to fix, open an issue.
When tests find broken links, try to fix them across all translations. Ideally, only update the linked URLs, so that translation changes will definitely not be necessary.
We're collecting tips on how to check if a translation should be updated to account for improvements made to the English source articles.
New articles are rare! When we have one, we'll probably do some form of a call for translations.