Building on Debian

Hi there,

In order to debug localization into Japanese, I am willing to set up an environment to build and test Duplicati on the source code on Debian. I checked How to build from source · duplicati/duplicati Wiki · GitHub on Wiki, but I am not quite sure how to proceed from here.

It would be appreciated if someone would guide me in a right direction. Thanks in advance.

Hi @toastwine, that sounds great!

The instructions are a bit outdated, especially after the move to .NET8 in the master branch.

To debug, you just need the .NET SDK installed, then you can do:

git checkout https://github.com/duplicati/duplicati
cd duplicati
dotnet build
dotnet run

If you prefer an IDE, there are support files for VS Code in the repo, so you can just open the checked out folder with VS Code and choose one of the debug options (TrayIcon is probably easiest).

1 Like

Thanks for the instruction! It seems that setting up the environment indeed has become a lot clearer thanks to removal of Mono dependencies.

I ran dotnet run after successful build with dotnet build, but it looks like I am missing something here:

temp@debian ~/duplicati (master)> dotnet run
Couldn't find a project to run. Ensure a project exists in /home/temp/duplicati, or pass the path to the project using --project.

As I have never worked on a .NET project by myself, I am not quite sure what to do :frowning_with_open_mouth: Moved to Duplicati.GUI.TrayIcon directory and it seems dotnet run worked.

What’s the future of localization, if you know? I had heard of some problems with Transifex.

https://explore.transifex.com/duplicati/duplicati/ is the last status I knew. Japanese is partial.

I don’t do translation, but it surprises me if a personal build is necessary to test localizations.

Wouldn’t Settings in any released build help debug? Or maybe look in the relevant .po file?

It is basically just my preference; I like to test localized strings on the actual UI, not only in case of Duplicati but also other free software projects which I contribute to.

This makes a lot of sense, as it gets it in context, but you can start by changing Settings

image

Maybe there’s more, and someone else can answer build questions. Thanks for your work.

I’m not sure why *.po files for Serbian language could not be downloaded, but ones for Japanese can be successfully downloaded on my machine.

After setting localization.pot and localization_webroot.pot for corresponding directories and rerun dotnet build, after having compiled the files with convert_to_mo.sh in Localizations/duplicati and compile.sh in Localizations/webroot (which I am not really sure if needed or not; dotnet build might be sufficient), I successfully applied the latest localization status to the UI:

The paragraph under the buttons row are only available on Transifex, which confirms that the localization files have been properly applied :smile:

2 Likes