- Check the open issues.
- View the project board.
- Check especially what's
up for grabs,high priority,level: starter, or has aBounty - Read some docs, like: 📖 Frontend: Getting Started and 📖 Style Guide
Then, tell folks what you'll be working on, and:
Our process for submitting code is inspired by the C4.1 process (documentation may be edited directly by maintainers):
- Always either work in your own fork or a topic-branch and submit pull requests (PRs) to
master. Our Cypress Dashboard integration currently makes topic-branches a better option for long-term contributor. - Always add/update tests for any new/modified functionality. (:exclamation:)
- Always make sure your PR passes all tests (
grunt test). - Always ensure your PR adheres to the Contribution Policy described below.
This contribution policy will evolve over time. For now it is based on a slightly modified subset of C4.1.
- All contributions to the project source code ("patches" or "pull requests") SHALL use the same license as the project.
- All patches are owned by their authors. There SHALL NOT be any copyright assignment process.
- Each Contributor SHALL be responsible for identifying themselves in the project Contributor list.
Pull requests (PRs) must adhere to the following requirements (unless the Founation is organizing a special hackathon, in which case, hackathon-rules apply).
- A PR SHOULD be a minimal and accurate answer to exactly one identified and agreed problem.
- A PR SHOULD follow the boy scout rule: leave the code cleaner than you found it when the refactor effort is not too big.
- A PR MAY NOT include non-trivial code from other projects unless the Contributor is the original author of that code.
- A PR MUST pass all tests on at least the principle target platform.
- A PR MUST include new tests for any new functionality introduced.
- A PR MUST follow the requirements spelled out in this project's Style Guide.
- A PR MUST receive approval from at least one long-term contributor before being merged. Contributors MAY NOT review their own PRs, MUST NOT push commits to someone else's PR.
- A PR MUST receive approval from the designer when it's related to the user interface before being merged.
- A PR MAY NOT be merged if there exist unaddressed concerns from a current maintainer (via the Github "request changes" review feature). Contributors are encouraged to discuss the requested changes, and may even argue against them if there are strong reasons to do so. However, maintainers have veto power over all PRs.
- Only maintainers may merge PRs. Maintainers SHOULD use "squash-merging" when merging to keep the
masterbranch commit history clean. If there are no maintainers, further changes should happen in a fork. For this project, the maintainer(s) is/are: @taoeffect
You need to be somewhat familiar with how Github works (to know how to edit files and create pull requests). After that it's pretty simple:
- Either use the Github UI to edit files, or clone this repository and create a new branch using the
gitcommand. - Look at the
strings/folder.- You will see files like
english.strings,english.json,french.strings,french.json, etc. - If you see your
<language>.strings, edit that file and begin adding translations for any strings markedMISSING TRANSLATION - If you do not see such a file, then copy
english.stringsinto another file called<your-language>.strings. For example, you can creategerman.strings. Then begin adding translations. Usefrench.stringsas an example for what to do.
- You will see files like
- Don't modify any comments in the
.stringsfile, don't modify the.jsonfile (if it exists), don't translate variables (marked with braces like so:{variable}), just update the strings to the right of the=sign into your language, and escape quotes (") inside of the quotes like so:\" - When you are done, save the file and send us a pull request with the changes.
We'll then use our strings command to import the changes into Github.
Thank you so much!
If you're like to learn more about the strings utility see this article.
- Check if there's an open/closed issue that answers your question.
- Read troubleshooting docs.
- Create an issue in the required problem-solution format.