Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(l10n): add pt_br localization #632

Merged
merged 1 commit into from
May 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
- All: Add russian translation. Thanks, [@ViktorOn](https://github.com/ViktorOn)! ([#611](https://github.com/dynobo/normcap/pull/611))
- All: Add italian translation. Thanks, [@albanobattistella](https://github.com/albanobattistella)! ([#622](https://github.com/dynobo/normcap/pull/622))
- All: Add spanish translation. Thanks, [@haggen88](https://github.com/haggen88)! ([#614](https://github.com/dynobo/normcap/pull/614))
- All: Add brazilian translation. Thanks, [@NameLessGO](https://github.com/NameLessGo)! ([#632](https://github.com/dynobo/normcap/pull/632))
- Linux: Add `xsel` as another clipboard handler. Try `--clipboard-handler xsel` if
Normcap's result isn't copied to the clipboard correctly.
- Linux: Fix clipboard on Gnome 46 + Wayland. ([#620](https://github.com/dynobo/normcap/pull/620))
Expand Down
131 changes: 66 additions & 65 deletions normcap/resources/locales/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
| [hi_IN](./hi_IN/LC_MESSAGES/messages.po) | 8% | 6 of 68 |
| [it_IT](./it_IT/LC_MESSAGES/messages.po) | 100% | 68 of 68 |
| [pl_PL](./pl_PL/LC_MESSAGES/messages.po) | 8% | 6 of 68 |
| [pt_BR](./pt_BR/LC_MESSAGES/messages.po) | 100% | 68 of 68 |
| [pt_PT](./pt_PT/LC_MESSAGES/messages.po) | 8% | 6 of 68 |
| [ru_RU](./ru_RU/LC_MESSAGES/messages.po) | 100% | 68 of 68 |
| [sv_SE](./sv_SE/LC_MESSAGES/messages.po) | 100% | 68 of 68 |
Expand All @@ -31,12 +32,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.
Expand All @@ -45,60 +46,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=<LOCALE_NAME> normcap
```
```
LANGUAGE=<LOCALE_NAME> normcap
```
- AppImage:
```
LANGUAGE=<LOCALE_NAME> NormCap-[...].AppImage
```
```
LANGUAGE=<LOCALE_NAME> NormCap-[...].AppImage
```
- FlatPak:
```
LANGUAGE=<LOCALE_NAME> flatpak run --command=normcap com.github.dynobo.normcap
```
```
LANGUAGE=<LOCALE_NAME> flatpak run --command=normcap com.github.dynobo.normcap
```
- on macOS:
- DMG:
```
LANG=<LOCALE_NAME> /Applications/NormCap.app/Contents/MacOS/NormCap
```
```
LANG=<LOCALE_NAME> /Applications/NormCap.app/Contents/MacOS/NormCap
```
- on Windows:
- Python package:
```
set LANG=<LOCALE_NAME>
normcap
```
```
set LANG=<LOCALE_NAME>
normcap
```
- MSI installed:
```
set LANG=<LOCALE_NAME>
%LOCALAPPDATA%\Programs\NormCap\NormCap.exe
```
```
set LANG=<LOCALE_NAME>
%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/<LOCALE_NAME>/LC_MESSAGES/messages.po`
link in the table above, or you can navigate manually to the file at
`./normcap/resources/locales/<LOCALE_NAME>/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

Expand All @@ -113,35 +114,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 `<language-code>_<COUNTRY_CODE>`. 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 `<language-code>_<COUNTRY_CODE>`. 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 `<LOCALE_NAME>` by the string identified in step 1.
```sh
hatch run create-locale <LOCALE_NAME>
```
Make sure to replace `<LOCALE_NAME>` by the string identified in step 1.
```sh
hatch run create-locale <LOCALE_NAME>
```
1. Edit the file `./normcap/resources/locales/<LOCALE_NAME>/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=<LOCALE_NAME> python normcap/app.py
```
```sh
LANGUAGE=<LOCALE_NAME> python normcap/app.py
```
1. Propose the inclusion of your new `.po`-file via a pull request to `main`.

## Update template and languages files
Expand All @@ -150,6 +151,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
```
Loading