A specialized grep for po files.
Go to file
Julien Palard 21de43921d
Adding an example.
2023-03-19 11:32:01 +01:00
tests Colors and tty (#53) 2022-08-30 17:09:12 +02:00
.gitignore Adding a .gitignore. 2020-04-02 15:44:16 +02:00
LICENSE LICENSE 2019-11-01 20:23:59 +01:00
README.md Adding an example. 2023-03-19 11:32:01 +01:00
pogrep.py Releasing 0.1.4. 2022-12-01 14:51:24 +01:00
pyproject.toml Releasing 0.1.3. 2022-08-30 17:21:50 +02:00
requirements-dev.in Colors and tty (#53) 2022-08-30 17:09:12 +02:00
requirements-dev.txt Colors and tty (#53) 2022-08-30 17:09:12 +02:00
requirements.txt Colors and tty (#53) 2022-08-30 17:09:12 +02:00
tox.ini Colors and tty (#53) 2022-08-30 17:09:12 +02:00

README.md

pogrep

Searches for string in po files. popgrep supports various GNU grep options to ease its use.

Pogrep is part of poutils!

Poutils (.po utils) is a metapackage to easily install useful Python tools to use with po files and pogrep is a part of it! Go check out Poutils to discover the other tools!

Examples

Print usage: pogrep --help

Find how 'flavors' has already been translated: search recursively in the current directory, show the names of the matching files, excluding the venv and the locales directories which are not relevant:

pogrep --recursive --line-number --exclude-dir venv --exclude-dir locales flavor

Search the word 'typo' in traductions, but not in sources:

pogrep --recursive --translation --no-source --word-regexp typo

Blame usage of 'allogène' in traductions:

pogrep --recursive --ignore-case --blame allogène

Searching in Debian manpages

To search for a translation in the Debian manpages translations:

$ git clone https://salsa.debian.org/manpages-l10n-team/manpages-l10n
$ pogrep -r 'new pipe buffer' manpages-l10n-team/po/fr/
╒══════════════════════════════════════╤══════════════════════════════════════╕
│ Make the new pipe buffer allocation. │ Allocation du tampon pour le nouveau │
│                                      │ tube.                                │
├──────────────────────────────────────┼──────────────────────────────────────┤
│ Before Linux 4.9, bugs similar to    │ Avant Linux 4.9, des bogues          │
│ points (1) and (3) could also occur  │ similaires aux points (1) et (3)     │
│ when the kernel allocated memory for │ pourraient se produire quand le      │
│ a new pipe buffer; that is, when     │ noyau alloue de la mémoire pour le   │
│ calling B<pipe>(2)  and when opening │ nouveau tampon de tube, cest-à-dire │
│ a previously unopened FIFO.          │ lors de lappel B<pipe>(2) et lors   │
│                                      │ de louverture dune nouvelle FIFO   │
│                                      │ précédemment non ouverte.            │
╘══════════════════════════════════════╧══════════════════════════════════════╛

Contributing

Please test your contribution using tox -p auto.