With jdReplace you can replace a text in all files of a directory
Go to file
JakobDev f3bb8532f1
Some checks failed
ci/woodpecker/push/check-starting Pipeline was successful
ci/woodpecker/tag/check-starting Pipeline was successful
ci/woodpecker/tag/pypi-deploy Pipeline failed
ci/woodpecker/tag/sourceforge-deploy Pipeline was successful
Fix typo
2023-12-13 11:56:47 +01:00
.woodpecker Fix typo 2023-12-13 11:56:47 +01:00
deploy Fix typo 2023-12-13 11:44:24 +01:00
jdReplace Prepare Release of Version 4.2 2023-12-13 11:39:50 +01:00
screenshots Add translated Screenshots 2023-06-06 08:34:31 +02:00
tools Move to Codeberg 2023-05-30 14:58:28 +02:00
.editorconfig Rework CI 2023-12-13 11:24:39 +01:00
.gitignore Add support for pyproject-appimage 2023-12-13 11:17:50 +01:00
BuildBackend.py Move to Codeberg 2023-05-30 14:58:28 +02:00
install-unix-datafiles.py Move to Codeberg 2023-05-30 14:58:28 +02:00
jdReplace.py Move to Codeberg 2023-05-30 14:58:28 +02:00
LICENSE Move to Codeberg 2023-05-30 14:58:28 +02:00
MANIFEST.in Move to Codeberg 2023-05-30 14:58:28 +02:00
pyproject.toml Add support for pyproject-appimage 2023-12-13 11:17:50 +01:00
README.md Add translated Screenshots 2023-06-06 08:34:31 +02:00
requirements.txt Move to Codeberg 2023-05-30 14:58:28 +02:00

jdReplace

With jdReplace you can replace a text in all files of a directorys

jdReplace

jdReplace is a simple mass search and replace tool. You set a directory, a text to replace, the replacement and click OK. jdReplace will do the rest.

Install

Flatpak

You can get jdReplace from Flathub

AUR

Arch Users can get jdReplace from the AUR

pip

You can install jdReplace from PyPI using pip:

pip install jdReplace

Using this Method, it will not include a Desktop Entry or any other Data file, so you need to run jdReplace from the Command Line. Use this only, when nothing else works.

From source

This is only for experienced Users and someone, who wants to package jdReplace for a Distro. jdReplaceshould be installed as a Python package. You can use pip or any other tool that can handle Python packages. You need to have lrelease installed to build the Package. After that, you should run install-unix-datafiles.py which wil install things like the Desktop Entry or the Icon in the correct place. It defaults to /usr, but you can change it with the --prefix argument. It also applies the translation to this files. You need gettext installed to run install-unix-datafiles.py.

Here's a example of installing jdReplace into /usr/local:

sudo pip install --prefix /usr/local .
sudo ./install-unix-datafiles.py --prefix /usr/local

Translate

You can help translating jdReplace on Codeberg Translate

Develop

jdReplaceis written in Python and uses PyQt6 as GUI toolkit. You should have some experience in both. You can run jdReplace.pyto start jdReplace from source and test your local changes. It ships with a few scripts in the tools directory that you need to develop.

BuildTranslations.py

This script takes all .ts files and compiles it to .qm files. The .ts files are containing the translation source and are being used during the translation process. The .qm contains the compiled translation and are being used by the Program. You need to compile a .ts file to a .qm file to see the translations in the Program.

UpdateTranslations.py

This regenerates the .ts files. You need to run it, when you changed something in the source code. The .ts files are contains the line in the source, where the string to translate appears, so make sure you run it even when you don't changed a translatable string, so the location is correct.

UpdateUnixDataTranslations.py

This regenerates the translation files in deploy/translations. these files contains the translations for the Desktop Entry and the AppStream File. It uses gettext, as it is hard to translate this using Qt. These files just exists to integrate the translation with Weblate, because Weblate can't translate the Desktop Entry and the AppStream file. Make sure you run this when you edited one of these files. You need to have gettext installed to use it.