Create an account on github.com if you haven't already.
- Update and review translations in Transifex.
- Navigate to this screen in Transifex and click "Download for use":
- IMPORTANT: Rename the downloaded file to:
messages.po
(skip this step if you've already forked it)
In order to submit a change, you'll need your own copy of the seedsigner-translations
repo. Make sure you're signed in to your github account and then:
- Go to the translations repo
- Click "fork" at the top right.
Leave all the defaults as they are and proceed with creating the fork.
Your browser url should now be: github.com/<your_username>/seedsigner-translations
Click into the l10n/<language_code>/LC_MESSAGES
folder.
<language_code>
will be "es" for Spanish, "pt_BR" for Brazilian Portuguese, etc.
You should see a messages.mo and messages.po file. In the upper right click "Add file" and choose "Upload files":
Verify that the following screen is listing the correct directory (you should be within the LC_MESSAGES folder for your language!):

- Click to upload your
messages.po
file. - Select "Create a new branch for this commit and start a pull request."
- Name your new branch with the language code and date: e.g.
es_2025-01-13
- Click "Propose changes".
On the following screen we will finalize your Pull Request (PR):

- Click on "compare across forks". That will alter the "base repository" droplist options.
- Select "SeedSigner/seedsigner-translations" as the "base repository".
- Its "dev" branch should already automatically be selected.
- Add a title that includes the language code and (optional) additional context/info.
- Scroll down and review the diff at the bottom.
- If you spot any translations issues, you can only fix them back in Transifex. After any issues are fixed, you'll have to download the
messages.po
file and repeat this process.
- If you spot any translations issues, you can only fix them back in Transifex. After any issues are fixed, you'll have to download the
- Click "Create pull request" when you're ready.
Once your PR is created, you'll see the results of our automated checks:

Click into "All checks have passed" to reveal the "CI / test (pull_request)" line. Click on that to view the details.

Click "Summary" and scroll down to the "Artifacts" section:

Click the download arrow to download a zip file of the results.
Inside you'll see:

Double click on the "index.html". This will open the "Screenshots Diff Report" in your browser. It will show a before/after of all screens that have been changed. It will also display new screens that were added and display any that were removed (adding or removing screens would only result from core codebase changes OR if you're adding a brand new language for the first time).
It is up to you to review this diff report and visually inspect the impact your translation have had on the listed screens.
We expect that many translations will need adjusting. The point of the Screenshot Diff Report is so that you can quickly identify problem translations and immediately return to Transifex to revise them.
Okay to run long:
- Titles
- Buttons
In this screenshot both the title and the active button will scroll the text back and forth into view. Better to avoid if possible, but totally acceptable if either require scrolling.
NOT okay to run long:
- Warning screen subheads
- Any other body content
Notice that the red subheader text does not fit. These subheads do NOT currently autoscroll.
Any text that runs too long vertically and ends up offscreen or obscured by another screen element would need to be rewritten to be shorter.
If a screenshot does reveal a problematic translation, make your translation edits in Transifex, then repeat the process of downloading the translation file.
Then at the top of your PR, click into your fork's branch:

Then follow the same steps from "Upload your changes to your fork" above to navigate to the proper folder and then "Upload files". Once again, select your messages.po
file.
The only difference this time through is that this will be treated as an additional commit on top of the one you did earlier. Once the updated file is committed, your PR will automatically include the latest changes.
At this point the automated system will re-run itself and generate a new Screenshot Diff Report for you to download and review.
Repeat this process as many times as necessary until you're satisified with all screens in the Screenshot Diff Report.
Now that your PR is created, the project maintainers will review your PR and either merge your changes into the main translations repo or request changes.
Merged changes will then be included in the next SeedSigner release.
Thought 1:
On this step: "You should see a messages.mo and messages.po file. In the upper right click "Add file" and choose "Upload files":"
Will Github auto-replace the existing messages.po file or will you have duplicates in the directory? Your message reads to me like it will overwrite it, but can you clarify?
Thought 2:
Do we want to formalize within this gist that the guidance it is intended to apply to Transifex Reviewers and direct anyone else on best places to provide language feedback (either as GitHub issues within Translations Repo or directly in Transifex as new translation proposals that will be accepted or rejected by the community language reviews)?