aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2021-07-07 20:34:14 -0300
committerEuAndreh <eu@euandre.org>2021-07-07 21:26:16 -0300
commitc17b1df8a2fdc9484a237280809276efde308b9f (patch)
tree221723d382c3ac9d9a7661dcfb38886da2a2227e
parentTODOs.md: Add #task-0b034315-cbd2-6fd6-fd32-9e00a12b7594 (diff)
downloadgit-permalink-c17b1df8a2fdc9484a237280809276efde308b9f.tar.gz
git-permalink-c17b1df8a2fdc9484a237280809276efde308b9f.tar.xz
Put pofiles under po/, use one folder for each translated file.
This is an improvement over 67f7c956239a7bc811a1d655d389666048e45fc3, and a final step for #task-7c5cd2aa-6d92-0423-bfa7-81f2e8436586. Now instead of trying to convince po4a and mdpo to work together, each tools gets it own folder and a pofile for each language. This means that if I want to translate files FOO.md and a-dir/BAR.txt to pt and fr, the directory structure of po/ will be: po/ FOO.md/ pt.po fr.po a-dir/ BAR.txt/ pt.po fr.po The po/ folder mirrors the directory structure of the input files, also nesting down directories. This way mdpo can do extration and update on its own way, and po4a can do extraction and update on its on way. The downside is that some translations will be duplicated, because they can appear on more than one file.
-rw-r--r--Makefile2
-rw-r--r--TODOs.md3
-rw-r--r--aux/guix/manifest.scm1
-rwxr-xr-xaux/workflow/l10n.sh30
-rw-r--r--po/CHANGELOG.en.md/eo.po86
-rw-r--r--po/CHANGELOG.en.md/fr.po86
-rw-r--r--po/CHANGELOG.en.md/pt.po86
-rw-r--r--po/README.en.md/eo.po148
-rw-r--r--po/README.en.md/fr.po148
-rw-r--r--po/README.en.md/pt.po148
-rw-r--r--po/doc/git-permalink.en.1.in/eo.po (renamed from doc/po/eo.po)0
-rw-r--r--po/doc/git-permalink.en.1.in/fr.po (renamed from doc/po/fr.po)0
-rw-r--r--po/doc/git-permalink.en.1.in/pt.po (renamed from doc/po/pt.po)0
13 files changed, 719 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index d2a2d54..6658c9e 100644
--- a/Makefile
+++ b/Makefile
@@ -47,7 +47,7 @@ uninstall:
sh aux/workflow/manpages.sh -up $(DESTDIR)$(MANPREFIX) $(manpages)
clean:
- rm -rf public/ src/git-permalink $(manpages) README.*.md CHANGELOG.*.md messages.mo doc/po/*.po~
+ rm -rf public/ src/git-permalink $(manpages) README.*.md CHANGELOG.*.md
dist:
sh aux/workflow/dist.sh -d $(DATE) -V $(VERSION) -n $(NAME) -m $(MAILING_LIST)
diff --git a/TODOs.md b/TODOs.md
index 0974186..21317fc 100644
--- a/TODOs.md
+++ b/TODOs.md
@@ -71,7 +71,8 @@ That is just to say that I want to take some of their ideas, but not all.
In fact, this is a duplicate of [`#task-de34e119-049f-67a0-da8b-e0103ed24a2b`](#task-de34e119-049f-67a0-da8b-e0103ed24a2b).
- TODO in 2021-06-27
-## TODO Translate README.md and CHANGELOG.md {#task-7c5cd2aa-6d92-0423-bfa7-81f2e8436586}
+## DOING Translate README.md and CHANGELOG.md {#task-7c5cd2aa-6d92-0423-bfa7-81f2e8436586}
+- DOING in 2021-06-27
- TODO in 2021-06-26
---
diff --git a/aux/guix/manifest.scm b/aux/guix/manifest.scm
index b6075f4..58dbc6e 100644
--- a/aux/guix/manifest.scm
+++ b/aux/guix/manifest.scm
@@ -14,6 +14,7 @@
pandoc
gettext
po4a-text
+ mdpo-patched
hunspell
hunspell-dict-en-utf8
hunspell-dict-pt-utf8
diff --git a/aux/workflow/l10n.sh b/aux/workflow/l10n.sh
index 89f2a6e..0d435b1 100755
--- a/aux/workflow/l10n.sh
+++ b/aux/workflow/l10n.sh
@@ -1,8 +1,6 @@
#!/bin/sh
set -eu
-mkdir -p doc/po
-
LANGS=
while getopts 'l:' flag; do
case "$flag" in
@@ -20,26 +18,21 @@ if [ -z "$LANGS" ]; then
exit 2
fi
-po() {
- format="$1"
- from_f="$2"
- to_f="$3"
- lang="$4"
- po4a-updatepo -M UTF-8 -f "$format" -m "$from_f" -p "doc/po/$lang.po" -v --previous
- po4a-translate -M UTF-8 -f "$format" -m "$from_f" -p "doc/po/$lang.po" -v -L UTF-8 -l "$to_f" -k 0 >&2
-}
-
for from_f in "$@"; do
for lang in $LANGS; do
to_f="$(echo "$from_f" | sed "s/\.en\./.$lang./")"
printf 'Generating %s...\n' "$to_f"
+ pofile="po/$from_f/$lang.po"
+ mkdir -p "$(dirname "$pofile")"
case "$from_f" in
*.en.[1-9].in)
- po man "$from_f" "$to_f" "$lang"
+ po4a-updatepo -f man -m "$from_f" -p "$pofile"
+ po4a-translate -f man -m "$from_f" -p "$pofile" -l "$to_f" -k 0 -v >&2
;;
- *.en.md|*.en.msg)
- po text "$from_f" "$to_f" "$lang"
+ *.en.md)
+ md2po "$from_f" --include-code-blocks -m --po-filepath "$pofile" --quiet --save
+ po2md "$from_f" --pofiles "$pofile" --quiet --save "$to_f"
;;
*)
echo "Unsupported file format: $from_f" >&2
@@ -52,7 +45,10 @@ done
end="\033[0m"
yellowb="\033[1;33m"
for lang in $LANGS; do
- if LANG=POSIX msgfmt --statistics "doc/po/$lang.po" 2>&1 | grep translated; then
- printf "\n\t${yellowb}WARNING${end}!\n Missing translations for %s\n\n" "doc/po/$lang.po" >&2
- fi
+ # shellcheck disable=2044
+ for pofile in $(find po/ -type f -name "$lang.po"); do
+ if LANG=POSIX msgfmt --statistics "$pofile" 2>&1 | grep untranslated; then
+ printf "\n\t${yellowb}WARNING${end}!\n Missing translations for %s\n\n" "$pofile" >&2
+ fi
+ done
done
diff --git a/po/CHANGELOG.en.md/eo.po b/po/CHANGELOG.en.md/eo.po
new file mode 100644
index 0000000..e56004a
--- /dev/null
+++ b/po/CHANGELOG.en.md/eo.po
@@ -0,0 +1,86 @@
+#
+msgid ""
+msgstr ""
+
+msgid "Changelog for [git-permalink](https://euandreh.xyz/git-permalink/)."
+msgstr ""
+
+msgid "Unreleased"
+msgstr ""
+
+msgid "Changed"
+msgstr ""
+
+msgid "Options"
+msgstr ""
+
+msgid ""
+"When git-permalink encounters an unrecognized option, it now exits with 2 "
+"instead of ignoring it."
+msgstr ""
+
+msgid ""
+"[0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) - "
+"2021-06-25"
+msgstr ""
+
+msgid "Fixed"
+msgstr ""
+
+msgid "Fixed installation path of manpages."
+msgstr ""
+
+msgid ""
+"[0.2.1](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.1) - "
+"2021-06-25"
+msgstr ""
+
+msgid "`getopts`"
+msgstr ""
+
+msgid ""
+"Use `getopts` for better handling of arguments, and start handling `--` "
+"escape."
+msgstr ""
+
+msgid "Tests"
+msgstr ""
+
+msgid ""
+"Integration tests were added, creating empty repositories and monitoring "
+"`STDOUT`, `STDERR` and the usage of `xdg-open`."
+msgstr ""
+
+msgid ""
+"[0.2.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.0) - "
+"2021-06-19"
+msgstr ""
+
+msgid "Added"
+msgstr ""
+
+msgid "Translations"
+msgstr ""
+
+msgid ""
+"Translations for program output and manpages were added for Portuguese, "
+"French and Esperanto."
+msgstr ""
+
+msgid "Code forges"
+msgstr ""
+
+msgid ""
+"All code forges listed in [`#task-"
+"cebc5298-17ad-5c60-dfa5-a25b66433a3a`](https://euandreh.xyz/git-"
+"permalink/TODOs.html#task-cebc5298-17ad-5c60-dfa5-a25b66433a3a) were added, "
+"and the task was marked as `DONE`."
+msgstr ""
+
+msgid ""
+"[0.1.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.1.0) - "
+"2021-06-13"
+msgstr ""
+
+msgid "Initial public release."
+msgstr ""
diff --git a/po/CHANGELOG.en.md/fr.po b/po/CHANGELOG.en.md/fr.po
new file mode 100644
index 0000000..e56004a
--- /dev/null
+++ b/po/CHANGELOG.en.md/fr.po
@@ -0,0 +1,86 @@
+#
+msgid ""
+msgstr ""
+
+msgid "Changelog for [git-permalink](https://euandreh.xyz/git-permalink/)."
+msgstr ""
+
+msgid "Unreleased"
+msgstr ""
+
+msgid "Changed"
+msgstr ""
+
+msgid "Options"
+msgstr ""
+
+msgid ""
+"When git-permalink encounters an unrecognized option, it now exits with 2 "
+"instead of ignoring it."
+msgstr ""
+
+msgid ""
+"[0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) - "
+"2021-06-25"
+msgstr ""
+
+msgid "Fixed"
+msgstr ""
+
+msgid "Fixed installation path of manpages."
+msgstr ""
+
+msgid ""
+"[0.2.1](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.1) - "
+"2021-06-25"
+msgstr ""
+
+msgid "`getopts`"
+msgstr ""
+
+msgid ""
+"Use `getopts` for better handling of arguments, and start handling `--` "
+"escape."
+msgstr ""
+
+msgid "Tests"
+msgstr ""
+
+msgid ""
+"Integration tests were added, creating empty repositories and monitoring "
+"`STDOUT`, `STDERR` and the usage of `xdg-open`."
+msgstr ""
+
+msgid ""
+"[0.2.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.0) - "
+"2021-06-19"
+msgstr ""
+
+msgid "Added"
+msgstr ""
+
+msgid "Translations"
+msgstr ""
+
+msgid ""
+"Translations for program output and manpages were added for Portuguese, "
+"French and Esperanto."
+msgstr ""
+
+msgid "Code forges"
+msgstr ""
+
+msgid ""
+"All code forges listed in [`#task-"
+"cebc5298-17ad-5c60-dfa5-a25b66433a3a`](https://euandreh.xyz/git-"
+"permalink/TODOs.html#task-cebc5298-17ad-5c60-dfa5-a25b66433a3a) were added, "
+"and the task was marked as `DONE`."
+msgstr ""
+
+msgid ""
+"[0.1.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.1.0) - "
+"2021-06-13"
+msgstr ""
+
+msgid "Initial public release."
+msgstr ""
diff --git a/po/CHANGELOG.en.md/pt.po b/po/CHANGELOG.en.md/pt.po
new file mode 100644
index 0000000..e56004a
--- /dev/null
+++ b/po/CHANGELOG.en.md/pt.po
@@ -0,0 +1,86 @@
+#
+msgid ""
+msgstr ""
+
+msgid "Changelog for [git-permalink](https://euandreh.xyz/git-permalink/)."
+msgstr ""
+
+msgid "Unreleased"
+msgstr ""
+
+msgid "Changed"
+msgstr ""
+
+msgid "Options"
+msgstr ""
+
+msgid ""
+"When git-permalink encounters an unrecognized option, it now exits with 2 "
+"instead of ignoring it."
+msgstr ""
+
+msgid ""
+"[0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) - "
+"2021-06-25"
+msgstr ""
+
+msgid "Fixed"
+msgstr ""
+
+msgid "Fixed installation path of manpages."
+msgstr ""
+
+msgid ""
+"[0.2.1](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.1) - "
+"2021-06-25"
+msgstr ""
+
+msgid "`getopts`"
+msgstr ""
+
+msgid ""
+"Use `getopts` for better handling of arguments, and start handling `--` "
+"escape."
+msgstr ""
+
+msgid "Tests"
+msgstr ""
+
+msgid ""
+"Integration tests were added, creating empty repositories and monitoring "
+"`STDOUT`, `STDERR` and the usage of `xdg-open`."
+msgstr ""
+
+msgid ""
+"[0.2.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.0) - "
+"2021-06-19"
+msgstr ""
+
+msgid "Added"
+msgstr ""
+
+msgid "Translations"
+msgstr ""
+
+msgid ""
+"Translations for program output and manpages were added for Portuguese, "
+"French and Esperanto."
+msgstr ""
+
+msgid "Code forges"
+msgstr ""
+
+msgid ""
+"All code forges listed in [`#task-"
+"cebc5298-17ad-5c60-dfa5-a25b66433a3a`](https://euandreh.xyz/git-"
+"permalink/TODOs.html#task-cebc5298-17ad-5c60-dfa5-a25b66433a3a) were added, "
+"and the task was marked as `DONE`."
+msgstr ""
+
+msgid ""
+"[0.1.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.1.0) - "
+"2021-06-13"
+msgstr ""
+
+msgid "Initial public release."
+msgstr ""
diff --git a/po/README.en.md/eo.po b/po/README.en.md/eo.po
new file mode 100644
index 0000000..6f0c784
--- /dev/null
+++ b/po/README.en.md/eo.po
@@ -0,0 +1,148 @@
+#
+msgid ""
+msgstr ""
+
+msgid "git-permalink"
+msgstr ""
+
+msgid "Git extension to generate web permalinks of files in a repository."
+msgstr ""
+
+msgid ""
+"It knows about many of the existing code forges, but allows for URL template"
+" overrides to be used on custom domains or deployments via git config."
+msgstr ""
+
+msgid "Usage"
+msgstr ""
+
+msgid ""
+"Now inside the repository folder, running `git permalink` will try build the"
+" web URL of the given file use `xdg-open` to launch the browser (or whatever"
+" is configured):"
+msgstr ""
+
+msgid ""
+"Or if you just want to output the link without invoking `xdg-open`, you can "
+"use the `-p` flag:"
+msgstr ""
+
+msgid "Installation"
+msgstr ""
+
+msgid "You can pass `PREFIX` or `DESTDIR` to `make` if you'd like:"
+msgstr ""
+
+msgid ""
+"There are no dependencies or requirements, only standard tools such as "
+"`sed`, `mkdir`, etc."
+msgstr ""
+
+msgid "Documentation"
+msgstr ""
+
+msgid ""
+"The documentation is available via installed manpages or online: [`git-"
+"permalink.1`](https://euandreh.xyz/git-permalink/en/git-permalink.1.html) "
+"([pt](https://euandreh.xyz/git-permalink/pt/git-permalink.1.html), "
+"[fr](https://euandreh.xyz/git-permalink/fr/git-permalink.1.html), "
+"[eo](https://euandreh.xyz/git-permalink/eo/git-permalink.1.html))."
+msgstr ""
+
+msgid "Contributing"
+msgstr ""
+
+msgid "Extra tools used for development are:"
+msgstr ""
+
+msgid "[ShellCheck](https://www.shellcheck.net/) for validating scripts;"
+msgstr ""
+
+msgid ""
+"[po4a](https://po4a.org/index.php.en) and "
+"[gettext](https://www.gnu.org/software/gettext/) for i18n and l10n support;"
+msgstr ""
+
+msgid ""
+"[pandoc](https://pandoc.org/) and Perl for generating the documentation HTML"
+" and website."
+msgstr ""
+
+msgid "For running the extra development-only checks, run:"
+msgstr ""
+
+msgid "and for generating the documentation HTML and website, run:"
+msgstr ""
+
+msgid ""
+"Send contributions to the [mailing "
+"list](https://lists.sr.ht/~euandreh/public-inbox?search=%5Bgit-permalink%5D)"
+" via [`git send-email`](https://git-send-email.io/)."
+msgstr ""
+
+msgid "Links"
+msgstr ""
+
+msgid "[homepage](https://euandreh.xyz/git-permalink/)"
+msgstr ""
+
+msgid "[source code](https://git.euandreh.xyz/git-permalink/)"
+msgstr ""
+
+msgid "[bug tracking](https://euandreh.xyz/git-permalink/TODOs.html)"
+msgstr ""
+
+msgid ""
+"[mailing list](https://lists.sr.ht/~euandreh/public-inbox?search=%5Bgit-"
+"permalink%5D)"
+msgstr ""
+
+msgid "[CI logs](https://euandreh.xyz/git-permalink/ci.html)"
+msgstr ""
+
+msgid "[CHANGELOG](https://euandreh.xyz/git-permalink/CHANGELOG.html)"
+msgstr ""
+
+msgid "Releases"
+msgstr ""
+
+msgid ""
+"[v0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) [git-"
+"permalink-v0.2.2.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.2.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.2.tar.gz.asc)), released in 2021-06-25"
+msgstr ""
+
+msgid ""
+"[v0.2.1](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.1) [git-"
+"permalink-v0.2.1.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.1.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.1.tar.gz.asc)), released in 2021-06-25"
+msgstr ""
+
+msgid ""
+"[v0.2.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.0) [git-"
+"permalink-v0.2.0.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.0.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.0.tar.gz.asc)), released in 2021-06-19"
+msgstr ""
+
+msgid ""
+"[v0.1.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.1.0) [git-"
+"permalink-v0.1.0.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.1.0.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.1.0.tar.gz.asc)), released in 2021-06-13"
+msgstr ""
+
+msgid "License"
+msgstr ""
+
+msgid ""
+"The code is licensed under [GNU Affero General Public License v3.0 or "
+"later](https://git.euandreh.xyz/git-permalink/tree/COPYING) (AGPL-3.0-or-"
+"later)."
+msgstr ""
diff --git a/po/README.en.md/fr.po b/po/README.en.md/fr.po
new file mode 100644
index 0000000..6f0c784
--- /dev/null
+++ b/po/README.en.md/fr.po
@@ -0,0 +1,148 @@
+#
+msgid ""
+msgstr ""
+
+msgid "git-permalink"
+msgstr ""
+
+msgid "Git extension to generate web permalinks of files in a repository."
+msgstr ""
+
+msgid ""
+"It knows about many of the existing code forges, but allows for URL template"
+" overrides to be used on custom domains or deployments via git config."
+msgstr ""
+
+msgid "Usage"
+msgstr ""
+
+msgid ""
+"Now inside the repository folder, running `git permalink` will try build the"
+" web URL of the given file use `xdg-open` to launch the browser (or whatever"
+" is configured):"
+msgstr ""
+
+msgid ""
+"Or if you just want to output the link without invoking `xdg-open`, you can "
+"use the `-p` flag:"
+msgstr ""
+
+msgid "Installation"
+msgstr ""
+
+msgid "You can pass `PREFIX` or `DESTDIR` to `make` if you'd like:"
+msgstr ""
+
+msgid ""
+"There are no dependencies or requirements, only standard tools such as "
+"`sed`, `mkdir`, etc."
+msgstr ""
+
+msgid "Documentation"
+msgstr ""
+
+msgid ""
+"The documentation is available via installed manpages or online: [`git-"
+"permalink.1`](https://euandreh.xyz/git-permalink/en/git-permalink.1.html) "
+"([pt](https://euandreh.xyz/git-permalink/pt/git-permalink.1.html), "
+"[fr](https://euandreh.xyz/git-permalink/fr/git-permalink.1.html), "
+"[eo](https://euandreh.xyz/git-permalink/eo/git-permalink.1.html))."
+msgstr ""
+
+msgid "Contributing"
+msgstr ""
+
+msgid "Extra tools used for development are:"
+msgstr ""
+
+msgid "[ShellCheck](https://www.shellcheck.net/) for validating scripts;"
+msgstr ""
+
+msgid ""
+"[po4a](https://po4a.org/index.php.en) and "
+"[gettext](https://www.gnu.org/software/gettext/) for i18n and l10n support;"
+msgstr ""
+
+msgid ""
+"[pandoc](https://pandoc.org/) and Perl for generating the documentation HTML"
+" and website."
+msgstr ""
+
+msgid "For running the extra development-only checks, run:"
+msgstr ""
+
+msgid "and for generating the documentation HTML and website, run:"
+msgstr ""
+
+msgid ""
+"Send contributions to the [mailing "
+"list](https://lists.sr.ht/~euandreh/public-inbox?search=%5Bgit-permalink%5D)"
+" via [`git send-email`](https://git-send-email.io/)."
+msgstr ""
+
+msgid "Links"
+msgstr ""
+
+msgid "[homepage](https://euandreh.xyz/git-permalink/)"
+msgstr ""
+
+msgid "[source code](https://git.euandreh.xyz/git-permalink/)"
+msgstr ""
+
+msgid "[bug tracking](https://euandreh.xyz/git-permalink/TODOs.html)"
+msgstr ""
+
+msgid ""
+"[mailing list](https://lists.sr.ht/~euandreh/public-inbox?search=%5Bgit-"
+"permalink%5D)"
+msgstr ""
+
+msgid "[CI logs](https://euandreh.xyz/git-permalink/ci.html)"
+msgstr ""
+
+msgid "[CHANGELOG](https://euandreh.xyz/git-permalink/CHANGELOG.html)"
+msgstr ""
+
+msgid "Releases"
+msgstr ""
+
+msgid ""
+"[v0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) [git-"
+"permalink-v0.2.2.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.2.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.2.tar.gz.asc)), released in 2021-06-25"
+msgstr ""
+
+msgid ""
+"[v0.2.1](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.1) [git-"
+"permalink-v0.2.1.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.1.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.1.tar.gz.asc)), released in 2021-06-25"
+msgstr ""
+
+msgid ""
+"[v0.2.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.0) [git-"
+"permalink-v0.2.0.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.0.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.0.tar.gz.asc)), released in 2021-06-19"
+msgstr ""
+
+msgid ""
+"[v0.1.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.1.0) [git-"
+"permalink-v0.1.0.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.1.0.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.1.0.tar.gz.asc)), released in 2021-06-13"
+msgstr ""
+
+msgid "License"
+msgstr ""
+
+msgid ""
+"The code is licensed under [GNU Affero General Public License v3.0 or "
+"later](https://git.euandreh.xyz/git-permalink/tree/COPYING) (AGPL-3.0-or-"
+"later)."
+msgstr ""
diff --git a/po/README.en.md/pt.po b/po/README.en.md/pt.po
new file mode 100644
index 0000000..6f0c784
--- /dev/null
+++ b/po/README.en.md/pt.po
@@ -0,0 +1,148 @@
+#
+msgid ""
+msgstr ""
+
+msgid "git-permalink"
+msgstr ""
+
+msgid "Git extension to generate web permalinks of files in a repository."
+msgstr ""
+
+msgid ""
+"It knows about many of the existing code forges, but allows for URL template"
+" overrides to be used on custom domains or deployments via git config."
+msgstr ""
+
+msgid "Usage"
+msgstr ""
+
+msgid ""
+"Now inside the repository folder, running `git permalink` will try build the"
+" web URL of the given file use `xdg-open` to launch the browser (or whatever"
+" is configured):"
+msgstr ""
+
+msgid ""
+"Or if you just want to output the link without invoking `xdg-open`, you can "
+"use the `-p` flag:"
+msgstr ""
+
+msgid "Installation"
+msgstr ""
+
+msgid "You can pass `PREFIX` or `DESTDIR` to `make` if you'd like:"
+msgstr ""
+
+msgid ""
+"There are no dependencies or requirements, only standard tools such as "
+"`sed`, `mkdir`, etc."
+msgstr ""
+
+msgid "Documentation"
+msgstr ""
+
+msgid ""
+"The documentation is available via installed manpages or online: [`git-"
+"permalink.1`](https://euandreh.xyz/git-permalink/en/git-permalink.1.html) "
+"([pt](https://euandreh.xyz/git-permalink/pt/git-permalink.1.html), "
+"[fr](https://euandreh.xyz/git-permalink/fr/git-permalink.1.html), "
+"[eo](https://euandreh.xyz/git-permalink/eo/git-permalink.1.html))."
+msgstr ""
+
+msgid "Contributing"
+msgstr ""
+
+msgid "Extra tools used for development are:"
+msgstr ""
+
+msgid "[ShellCheck](https://www.shellcheck.net/) for validating scripts;"
+msgstr ""
+
+msgid ""
+"[po4a](https://po4a.org/index.php.en) and "
+"[gettext](https://www.gnu.org/software/gettext/) for i18n and l10n support;"
+msgstr ""
+
+msgid ""
+"[pandoc](https://pandoc.org/) and Perl for generating the documentation HTML"
+" and website."
+msgstr ""
+
+msgid "For running the extra development-only checks, run:"
+msgstr ""
+
+msgid "and for generating the documentation HTML and website, run:"
+msgstr ""
+
+msgid ""
+"Send contributions to the [mailing "
+"list](https://lists.sr.ht/~euandreh/public-inbox?search=%5Bgit-permalink%5D)"
+" via [`git send-email`](https://git-send-email.io/)."
+msgstr ""
+
+msgid "Links"
+msgstr ""
+
+msgid "[homepage](https://euandreh.xyz/git-permalink/)"
+msgstr ""
+
+msgid "[source code](https://git.euandreh.xyz/git-permalink/)"
+msgstr ""
+
+msgid "[bug tracking](https://euandreh.xyz/git-permalink/TODOs.html)"
+msgstr ""
+
+msgid ""
+"[mailing list](https://lists.sr.ht/~euandreh/public-inbox?search=%5Bgit-"
+"permalink%5D)"
+msgstr ""
+
+msgid "[CI logs](https://euandreh.xyz/git-permalink/ci.html)"
+msgstr ""
+
+msgid "[CHANGELOG](https://euandreh.xyz/git-permalink/CHANGELOG.html)"
+msgstr ""
+
+msgid "Releases"
+msgstr ""
+
+msgid ""
+"[v0.2.2](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.2) [git-"
+"permalink-v0.2.2.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.2.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.2.tar.gz.asc)), released in 2021-06-25"
+msgstr ""
+
+msgid ""
+"[v0.2.1](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.1) [git-"
+"permalink-v0.2.1.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.1.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.1.tar.gz.asc)), released in 2021-06-25"
+msgstr ""
+
+msgid ""
+"[v0.2.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.2.0) [git-"
+"permalink-v0.2.0.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.2.0.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.2.0.tar.gz.asc)), released in 2021-06-19"
+msgstr ""
+
+msgid ""
+"[v0.1.0](https://git.euandreh.xyz/git-permalink/commit/?id=v0.1.0) [git-"
+"permalink-v0.1.0.tar.gz](https://git.euandreh.xyz/git-"
+"permalink/snapshot/git-permalink-v0.1.0.tar.gz) "
+"([sig](https://git.euandreh.xyz/git-permalink/snapshot/git-"
+"permalink-v0.1.0.tar.gz.asc)), released in 2021-06-13"
+msgstr ""
+
+msgid "License"
+msgstr ""
+
+msgid ""
+"The code is licensed under [GNU Affero General Public License v3.0 or "
+"later](https://git.euandreh.xyz/git-permalink/tree/COPYING) (AGPL-3.0-or-"
+"later)."
+msgstr ""
diff --git a/doc/po/eo.po b/po/doc/git-permalink.en.1.in/eo.po
index c87e854..c87e854 100644
--- a/doc/po/eo.po
+++ b/po/doc/git-permalink.en.1.in/eo.po
diff --git a/doc/po/fr.po b/po/doc/git-permalink.en.1.in/fr.po
index 0eda483..0eda483 100644
--- a/doc/po/fr.po
+++ b/po/doc/git-permalink.en.1.in/fr.po
diff --git a/doc/po/pt.po b/po/doc/git-permalink.en.1.in/pt.po
index e8fe3f3..e8fe3f3 100644
--- a/doc/po/pt.po
+++ b/po/doc/git-permalink.en.1.in/pt.po