mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
feat(core,gui): gettext translations and language preference
The app, the tray and the search prompt route every user-visible string through GNU gettext in the `pdfs` text domain, with named placeholders and plural forms. po/ holds the template, update and build scripts, and catalogs for de, en_GB, es, fr, it, nl, pl and pt_BR. Preferences gains a Language row that overrides the system language from the next start (config `language`). Packages compile the catalogs into /usr/share/locale and the desktop files carry translated descriptions and keywords. docs/TRANSLATING.md describes the workflow.
This commit is contained in:
1 parent
66ab1f5b16
commit
d9064ef880
52 files changed
+45287
-1569
No files matched your search
+4
-1
@@ -16,7 +16,7 @@ arch=('x86_64')
|
||||
url="https://github.com/narrrl/proton-drive-linux"
|
||||
license=('MIT')
|
||||
depends=('fuse3' 'gtk4' 'libadwaita' 'webkitgtk-6.0' 'perl-image-exiftool')
|
||||
makedepends=('cargo' 'git')
|
||||
makedepends=('cargo' 'git' 'gettext')
|
||||
provides=('pdfs')
|
||||
# Files-on-demand mount + keyring need these at runtime.
|
||||
optdepends=('gnome-keyring: credential storage via Secret Service'
|
||||
@@ -73,5 +73,8 @@ package() {
|
||||
install -Dm644 "packaging/proton-drive.service" \
|
||||
"$pkgdir/usr/lib/systemd/user/proton-drive.service"
|
||||
|
||||
# Translations: compiled from po/ into /usr/share/locale.
|
||||
po/build.sh "$pkgdir/usr/share/locale"
|
||||
|
||||
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
@@ -53,5 +53,9 @@ package() {
|
||||
install -Dm644 "$srcdir/proton-drive.service" \
|
||||
"$pkgdir/usr/lib/systemd/user/proton-drive.service"
|
||||
|
||||
# Translations ship precompiled in the release tarball.
|
||||
install -dm755 "$pkgdir/usr/share"
|
||||
cp -r --no-preserve=ownership "$srcdir/locale" "$pkgdir/usr/share/locale"
|
||||
|
||||
install -Dm644 "$srcdir/LICENSE-$pkgver" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
@@ -9,7 +9,7 @@ url="https://github.com/narrrl/proton-drive-linux"
|
||||
license=('MIT')
|
||||
depends=('fuse3' 'gtk4' 'libadwaita' 'webkitgtk-6.0' 'dbus' 'gcc-libs' 'glibc'
|
||||
'hicolor-icon-theme')
|
||||
makedepends=('cargo' 'git')
|
||||
makedepends=('cargo' 'git' 'gettext')
|
||||
optdepends=('perl-image-exiftool: thumbnails for camera RAW files'
|
||||
'gnome-keyring: credential storage over the Secret Service API'
|
||||
'kwallet: credential storage over the Secret Service API'
|
||||
@@ -73,6 +73,9 @@ package() {
|
||||
install -Dm644 packaging/proton-drive.service \
|
||||
"$pkgdir/usr/lib/systemd/user/proton-drive.service"
|
||||
|
||||
# Translations: compiled from po/ into /usr/share/locale.
|
||||
po/build.sh "$pkgdir/usr/share/locale"
|
||||
|
||||
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
||||
}
|
||||
@@ -9,7 +9,7 @@ url="https://github.com/narrrl/proton-drive-linux"
|
||||
license=('MIT')
|
||||
depends=('fuse3' 'gtk4' 'libadwaita' 'webkitgtk-6.0' 'dbus' 'gcc-libs' 'glibc'
|
||||
'hicolor-icon-theme')
|
||||
makedepends=('cargo')
|
||||
makedepends=('cargo' 'gettext')
|
||||
optdepends=('perl-image-exiftool: thumbnails for camera RAW files'
|
||||
'gnome-keyring: credential storage over the Secret Service API'
|
||||
'kwallet: credential storage over the Secret Service API'
|
||||
@@ -68,6 +68,9 @@ package() {
|
||||
install -Dm644 packaging/proton-drive.service \
|
||||
"$pkgdir/usr/lib/systemd/user/proton-drive.service"
|
||||
|
||||
# Translations: compiled from po/ into /usr/share/locale.
|
||||
po/build.sh "$pkgdir/usr/share/locale"
|
||||
|
||||
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
||||
}
|
||||
@@ -2,7 +2,23 @@
|
||||
Type=Application
|
||||
Name=Proton Drive for Linux (Tray)
|
||||
GenericName=Cloud Drive Tray
|
||||
GenericName[de]=Cloud-Speicher im Infobereich
|
||||
GenericName[en_GB]=Cloud Drive Tray
|
||||
GenericName[es]=Bandeja de almacenamiento en la nube
|
||||
GenericName[fr]=Zone de notification du stockage en ligne
|
||||
GenericName[it]=Area di notifica archiviazione cloud
|
||||
GenericName[nl]=Cloudopslag in systeemvak
|
||||
GenericName[pl]=Dysk w chmurze w zasobniku
|
||||
GenericName[pt_BR]=Bandeja de armazenamento em nuvem
|
||||
Comment=Proton Drive status and quick actions (unofficial client)
|
||||
Comment[de]=Status und Schnellaktionen für Proton Drive (inoffizieller Client)
|
||||
Comment[en_GB]=Proton Drive status and quick actions (unofficial client)
|
||||
Comment[es]=Estado y acciones rápidas de Proton Drive (cliente no oficial)
|
||||
Comment[fr]=État et actions rapides de Proton Drive (client non officiel)
|
||||
Comment[it]=Stato e azioni rapide di Proton Drive (client non ufficiale)
|
||||
Comment[nl]=Status en snelle acties voor Proton Drive (onofficiële client)
|
||||
Comment[pl]=Stan i szybkie działania Proton Drive (nieoficjalny klient)
|
||||
Comment[pt_BR]=Status e ações rápidas do Proton Drive (cliente não oficial)
|
||||
Exec=pdfs-tray
|
||||
Icon=io.narl.proton-drive-linux
|
||||
Terminal=false
|
||||
|
||||
@@ -2,11 +2,35 @@
|
||||
Type=Application
|
||||
Name=Proton Drive for Linux
|
||||
GenericName=Cloud Drive
|
||||
GenericName[de]=Cloud-Speicher
|
||||
GenericName[en_GB]=Cloud Drive
|
||||
GenericName[es]=Almacenamiento en la nube
|
||||
GenericName[fr]=Stockage en ligne
|
||||
GenericName[it]=Archiviazione cloud
|
||||
GenericName[nl]=Cloudopslag
|
||||
GenericName[pl]=Dysk w chmurze
|
||||
GenericName[pt_BR]=Armazenamento em nuvem
|
||||
Comment=Files-on-demand Proton Drive (unofficial client)
|
||||
Comment[de]=Proton Drive mit Dateien auf Abruf (inoffizieller Client)
|
||||
Comment[en_GB]=Files-on-demand Proton Drive (unofficial client)
|
||||
Comment[es]=Proton Drive con archivos bajo demanda (cliente no oficial)
|
||||
Comment[fr]=Proton Drive avec fichiers à la demande (client non officiel)
|
||||
Comment[it]=Proton Drive con file su richiesta (client non ufficiale)
|
||||
Comment[nl]=Proton Drive met bestanden op aanvraag (onofficiële client)
|
||||
Comment[pl]=Proton Drive z plikami na żądanie (nieoficjalny klient)
|
||||
Comment[pt_BR]=Proton Drive com arquivos sob demanda (cliente não oficial)
|
||||
Exec=pdfs-app
|
||||
Icon=io.narl.proton-drive-linux
|
||||
Terminal=false
|
||||
Categories=Network;FileTransfer;GTK;
|
||||
Keywords=proton;drive;cloud;sync;storage;files;backup;
|
||||
Keywords[de]=proton;drive;cloud;sync;speicher;dateien;sicherung;synchronisation;
|
||||
Keywords[en_GB]=proton;drive;cloud;sync;storage;files;backup;
|
||||
Keywords[es]=proton;drive;nube;sincronizar;almacenamiento;archivos;copia de seguridad;
|
||||
Keywords[fr]=proton;drive;cloud;nuage;synchronisation;stockage;fichiers;sauvegarde;
|
||||
Keywords[it]=proton;drive;cloud;sincronizzazione;archiviazione;file;backup;
|
||||
Keywords[nl]=proton;drive;cloud;synchronisatie;opslag;bestanden;back-up;
|
||||
Keywords[pl]=proton;drive;chmura;synchronizacja;dysk;pliki;kopia zapasowa;
|
||||
Keywords[pt_BR]=proton;drive;nuvem;sincronização;armazenamento;arquivos;backup;
|
||||
StartupNotify=true
|
||||
SingleMainWindow=true
|
||||
@@ -27,6 +27,7 @@ BuildRequires: libsecret-devel
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: glib2-devel
|
||||
BuildRequires: webkitgtk6.0-devel
|
||||
BuildRequires: gettext
|
||||
|
||||
Requires: fuse3
|
||||
Requires: gtk4
|
||||
@@ -80,6 +81,7 @@ install -D -m0644 %{git_dir}/packaging/io.narl.proton-drive-linux.svg \
|
||||
%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/io.narl.proton-drive-linux.svg
|
||||
install -D -m0644 %{git_dir}/packaging/proton-drive.service \
|
||||
%{buildroot}/usr/lib/systemd/user/proton-drive.service
|
||||
%{git_dir}/po/build.sh %{buildroot}%{_datadir}/locale
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
@@ -91,6 +93,7 @@ install -D -m0644 %{git_dir}/packaging/proton-drive.service \
|
||||
%{_sysconfdir}/xdg/autostart/io.narl.proton-drive-linux-tray.desktop
|
||||
%{_datadir}/icons/hicolor/scalable/apps/io.narl.proton-drive-linux.svg
|
||||
/usr/lib/systemd/user/proton-drive.service
|
||||
%{_datadir}/locale/*/LC_MESSAGES/pdfs.mo
|
||||
|
||||
%changelog
|
||||
* Sun Jul 19 2026 Local Packager - 0.4.0-1
|
||||
|
||||
Reference in new issue
Block a user