- 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
master
branch commit history clean. If there are no maintainers, further changes should happen in a fork. For this project, the maintainer(s) is/are: @taoeffect
- Clone this repository locally.
- Download the
strings
utility for your platform. - Create a branch using git locally for your changes. If you don't know how to do this, feel free to ask ChatGPT or the Internet for help.
- Open the
strings/
folder.- You will see files like
english.strings
,english.json
,french.strings
,french.json
, etc. - If you see your
<language>.strings
, open that file and begin adding translations for any strings markedMISSING TRANSLATION
- If you do not see such a file, then copy
english.strings
into another file called<your-language>.strings
. For example, you can creategerman.strings
. Then begin adding translations. Usefrench.strings
as an example for what to do.
- You will see files like
- When you are done, save the file and run the strings command on the
frontend/
folder like this:./strings.mac frontend/
- At this point you are ready to submit a pull request.
Any time strings in the app are added or modified, simply add the updated translations to <language>.strings
and run the strings command in the same way (and then send a PR! 😄).
Thank you so much! Read more about the strings
utility here.
- Check if there's an open/closed issue that answers your question.
- Read troubleshooting docs.
- Create an issue in the required problem-solution format.