Skip to content

Instantly share code, notes, and snippets.

@kdmukai
Last active May 1, 2025 16:38
Show Gist options
  • Save kdmukai/89071afb68a6a9018524c593141a0adb to your computer and use it in GitHub Desktop.
Save kdmukai/89071afb68a6a9018524c593141a0adb to your computer and use it in GitHub Desktop.
Submitting SeedSigner translation changes

Submitting SeedSigner translation changes

Create an account on github.com if you haven't already.


Finish translation changes, download .po file

  • 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

Fork the seedsigner-translations repo

(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:

Screenshot 2025-01-13 at 3 43 58 PM

Leave all the defaults as they are and proceed with creating the fork.


Upload your changes to your 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":

Screenshot 2025-01-13 at 3 51 22 PM

Verify that the following screen is listing the correct directory (you should be within the LC_MESSAGES folder for your language!):

Screenshot 2025-01-13 at 3 54 38 PM
  • 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):

Screenshot 2025-01-13 at 4 02 20 PM
  • 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.
  • Click "Create pull request" when you're ready.

Review new/updated screenshots

Once your PR is created, you'll see the results of our automated checks:

Screenshot 2025-05-01 at 11 02 04 AM

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

Screenshot 2025-05-01 at 11 05 01 AM

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

Screenshot 2025-05-01 at 11 07 28 AM

Click the download arrow to download a zip file of the results.

Inside you'll see:

Screenshot 2025-05-01 at 11 09 41 AM

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.


Which text can run offscreen and which cannot?

Okay to run long:

  • Titles
  • Buttons

ToolsDiceEntropyMnemonicLengthView

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

SeedTranscribeSeedQRWarningView

Notice that the red subheader text does not fit. These subheads do NOT currently autoscroll.

SeedExportXpubWarningView

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.


Submitting revised translations to your existing PR

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:

Screenshot 2025-05-01 at 11 21 33 AM

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.


What happens next?

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.

@bitpaint
Copy link

Hey ,
IMO, This readme should be in https://github.com/SeedSigner/seedsigner-translations

@jpph
Copy link

jpph commented Apr 30, 2025

I would add a note to check file header, it might contain personal information like you name and email adress you would like to remove

@kdmukai
Copy link
Author

kdmukai commented May 1, 2025

Hey , IMO, This readme should be in https://github.com/SeedSigner/seedsigner-translations

Yes, that is overdue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment