From 0c4aa1eef676342cc5c7748f5d2f716c323da722 Mon Sep 17 00:00:00 2001 From: dynobo Date: Tue, 30 Apr 2024 22:44:17 +0200 Subject: [PATCH] cicd: don't publish preview build on external branch --- .github/workflows/cicd.yaml | 10 ++- normcap/resources/locales/README.md | 130 ++++++++++++++-------------- 2 files changed, 73 insertions(+), 67 deletions(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 0c0927f9..967f80be 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -155,17 +155,23 @@ jobs: run: | (cat logs/briefcase*) || true find build/normcap || true + # For security reasons, github doesn't allow setting envvars using expressions + # directly. Therefore, we need an extra step: - name: Set current date as env variable shell: bash -l {0} run: echo "NOW=$(date +'%Y-%m-%dT%H:%M:%S')" >> $GITHUB_ENV - name: Draft internal release uses: ncipollo/release-action@v1 + # It's possible, that the run lacks release permissions (e.g. on forks). In + # this is not crucial, so we just silence the error. + continue-on-error: true if: github.repository_owner == 'dynobo' with: name: Internal body: "Only for internal tests. Should not be published. [${{ env.NOW }}]" + repo: normcap + owner: dynobo artifacts: "*/*.+(dmg|AppImage|msi|zip)" - artifactErrorsFailBuild: false allowUpdates: true draft: true prerelease: true @@ -173,7 +179,7 @@ jobs: tag: "internal" test-documentation: - name: Test documentation build + name: Test documentation build runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 diff --git a/normcap/resources/locales/README.md b/normcap/resources/locales/README.md index 175876c8..301fd629 100644 --- a/normcap/resources/locales/README.md +++ b/normcap/resources/locales/README.md @@ -31,12 +31,12 @@ 1. Open one of the translations (`.po`-files) linked in the "Status" table above. 1. In the file, each string is represented by its English text (`msgid`-field), its - translation into the target language (`msgstr`-field) and maybe a translator - comment (`#` lines above). + translation into the target language (`msgstr`-field) and maybe a translator + comment (`#` lines above). 1. Read the `msgstr`'s one by one and check them for wording, spelling and punctuation. 1. Propose any changes preferably right away as Pull Request, or if you don't feel - comfortable in doing that, report your finding as - [new issue](https://github.com/dynobo/normcap/issues/new). + comfortable in doing that, report your finding as + [new issue](https://github.com/dynobo/normcap/issues/new). _NOTE:_: Details about the `.po`-file format can be found in the [official specification](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html), if needed. @@ -45,60 +45,60 @@ _NOTE:_: Details about the `.po`-file format can be found in the 1. Pick a translation from the "Status" table which is fairly complete 1. Run NormCap (>= `v0.5.0beta1`) with that language, either by changing your system's - language to the target language or by starting NormCap with an environment variable - set: + language to the target language or by starting NormCap with an environment variable + set: - on Linux: - Python package: - ``` - LANGUAGE= normcap - ``` + ``` + LANGUAGE= normcap + ``` - AppImage: - ``` - LANGUAGE= NormCap-[...].AppImage - ``` + ``` + LANGUAGE= NormCap-[...].AppImage + ``` - FlatPak: - ``` - LANGUAGE= flatpak run --command=normcap com.github.dynobo.normcap - ``` + ``` + LANGUAGE= flatpak run --command=normcap com.github.dynobo.normcap + ``` - on macOS: - DMG: - ``` - LANG= /Applications/NormCap.app/Contents/MacOS/NormCap - ``` + ``` + LANG= /Applications/NormCap.app/Contents/MacOS/NormCap + ``` - on Windows: - Python package: - ``` - set LANG= - normcap - ``` + ``` + set LANG= + normcap + ``` - MSI installed: - ``` - set LANG= - %LOCALAPPDATA%\Programs\NormCap\NormCap.exe - ``` + ``` + set LANG= + %LOCALAPPDATA%\Programs\NormCap\NormCap.exe + ``` 1. Navigate through the user interface and proofread any text. Pay special attention to - whether the presentation of the text looks good. (E.g. strings are too long/short, - wrong line breaks, ...) + whether the presentation of the text looks good. (E.g. strings are too long/short, + wrong line breaks, ...) 1. Propose any changes preferably right away as Pull Request, or if you don't feel - comfortable in doing that, report your finding as - [new issue](https://github.com/dynobo/normcap/issues/new). + comfortable in doing that, report your finding as + [new issue](https://github.com/dynobo/normcap/issues/new). ## Improve existing translations 1. Identify the file that corresponds to the local you want to edit. You can click the - link in the table above, or you can navigate manually to the file at - `./normcap/resources/locales//LC_MESSAGES/messages.po` + link in the table above, or you can navigate manually to the file at + `./normcap/resources/locales//LC_MESSAGES/messages.po` 1. Open this `messages.po` file and edit the translations. If you like, use the - [Free PO-Editor](https://pofile.net/free-po-editor) for easier editing. - \ - **Important:** + [Free PO-Editor](https://pofile.net/free-po-editor) for easier editing. + \ + **Important:** - Never translate any variables which are written in curly brackets, e.g. `{count}`! - Don't bother with updating the header section at the top, it will get overwritten - automatically. + automatically. 1. Propose the changed file in a new Pull Request. \ - (In case you are not familiar with - git, you can also always propose a correction or change via a - [new issue](https://github.com/dynobo/normcap/issues/new).) + (In case you are not familiar with + git, you can also always propose a correction or change via a + [new issue](https://github.com/dynobo/normcap/issues/new).) ## Add new translation @@ -113,35 +113,35 @@ virtual Python environment via `hatch shell`. _Note_: All commands should be run in the repository's root directory. 1. Research the `LOCALE_NAME` (e.g. `en_EN` or `de_AT`) of the language which shall be - added. `gettext`'s - [locale names](https://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html) - should be specified in the format `_`. Visit the - lists of available - [language codes](https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html) - and - [country codes](https://www.gnu.org/software/gettext/manual/html_node/Country-Codes.html) - to identify possible values. + added. `gettext`'s + [locale names](https://www.gnu.org/software/gettext/manual/html_node/Locale-Names.html) + should be specified in the format `_`. Visit the + lists of available + [language codes](https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html) + and + [country codes](https://www.gnu.org/software/gettext/manual/html_node/Country-Codes.html) + to identify possible values. 1. Run the following command to create an initial `messages.po`-file for the language. - Make sure to replace `` by the string identified in step 1. - ```sh - hatch run create-locale - ``` + Make sure to replace `` by the string identified in step 1. + ```sh + hatch run create-locale + ``` 1. Edit the file `./normcap/resources/locales//LC_MESSAGES/messages.po` - which was created in step 2. Add your translations as the respective `msgstr`. If - you like, use the [Free PO-Editor](https://pofile.net/free-po-editor) for easier - editing. \ - **Important:** + which was created in step 2. Add your translations as the respective `msgstr`. If + you like, use the [Free PO-Editor](https://pofile.net/free-po-editor) for easier + editing. \ + **Important:** - Never translate any variables which are written in curly brackets, e.g. `{count}`! - Don't bother with updating the header section at the top, it will get overwritten - automatically. + automatically. 1. Compile the new `.po` file to the machine-readable `.mo` file: - ```sh - hatch run locales-compile - ``` + ```sh + hatch run locales-compile + ``` 1. To test your translation, run NormCap with the `LANGUAGE` environment variable set: - ```sh - LANGUAGE= python normcap/app.py - ``` + ```sh + LANGUAGE= python normcap/app.py + ``` 1. Propose the inclusion of your new `.po`-file via a pull request to `main`. ## Update template and languages files @@ -150,6 +150,6 @@ This is only necessary, when translatable strings in NormCap's source code got c (created, modified or deleted). 1. Generate `.pot` file and update all existing `.po` files: - ```sh - hatch run locales-update - ``` + ```sh + hatch run locales-update + ```