Translate desktop and metainfo with xdgen
This commit is contained in:
parent
f3d6469bed
commit
fab830c994
19 changed files with 164 additions and 63 deletions
60
Cargo.lock
generated
60
Cargo.lock
generated
|
|
@ -1139,6 +1139,7 @@ dependencies = [
|
|||
"tokio",
|
||||
"url",
|
||||
"vergen",
|
||||
"xdgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1887,6 +1888,16 @@ dependencies = [
|
|||
"percent-encoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "freedesktop_entry_parser"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b368437186ec63ceb50d0832ee1ebcb5878037fe16ead1c68081d4aee0d140a"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"nom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fsevent-sys"
|
||||
version = "4.1.0"
|
||||
|
|
@ -2480,12 +2491,6 @@ dependencies = [
|
|||
"foldhash 0.2.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.17.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.4.1"
|
||||
|
|
@ -3058,12 +3063,12 @@ checksum = "40fac9d56ed6437b198fddba683305e8e2d651aa42647f00f5ae542e7f5c94a2"
|
|||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.14.0"
|
||||
version = "2.11.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
|
||||
checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown 0.17.0",
|
||||
"hashbrown 0.16.1",
|
||||
"serde",
|
||||
"serde_core",
|
||||
]
|
||||
|
|
@ -5457,7 +5462,7 @@ dependencies = [
|
|||
"cfg-expr",
|
||||
"heck 0.5.0",
|
||||
"pkg-config",
|
||||
"toml 1.1.2+spec-1.1.0",
|
||||
"toml 1.1.0+spec-1.1.0",
|
||||
"version-compare",
|
||||
]
|
||||
|
||||
|
|
@ -5703,9 +5708,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "1.1.2+spec-1.1.0"
|
||||
version = "1.1.0+spec-1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee"
|
||||
checksum = "f8195ca05e4eb728f4ba94f3e3291661320af739c4e43779cbdfae82ab239fcc"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde_core",
|
||||
|
|
@ -5727,9 +5732,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.25.11+spec-1.1.0"
|
||||
version = "0.25.6+spec-1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b"
|
||||
checksum = "0db3bae107c9522f86d361697dee1d7386a2ddcf659d5aea5159819a21a3c4a7"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"toml_datetime",
|
||||
|
|
@ -7360,6 +7365,18 @@ version = "3.0.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5"
|
||||
|
||||
[[package]]
|
||||
name = "xdgen"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25af88f104f06d5aeb80c77e5eb85e6f6f355f86f6e34307a14befd716efe4bf"
|
||||
dependencies = [
|
||||
"fluent",
|
||||
"freedesktop_entry_parser",
|
||||
"unic-langid",
|
||||
"xmltree",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "xkbcommon"
|
||||
version = "0.7.0"
|
||||
|
|
@ -7404,12 +7421,27 @@ dependencies = [
|
|||
"bytemuck",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "xml"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "636f85e5ca6488e96401b61eb7de54f4e44755c988af0f52cf90230c312a1a89"
|
||||
|
||||
[[package]]
|
||||
name = "xml-rs"
|
||||
version = "0.8.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
|
||||
|
||||
[[package]]
|
||||
name = "xmltree"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cbc04313cab124e498ab1724e739720807b6dc405b9ed0edc5860164d2e4ff70"
|
||||
dependencies = [
|
||||
"xml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "xmlwriter"
|
||||
version = "0.1.0"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ rust-version = "1.93"
|
|||
|
||||
[build-dependencies]
|
||||
vergen = { version = "8", features = ["git", "gitcl"] }
|
||||
xdgen = "0.1"
|
||||
|
||||
[dependencies]
|
||||
ashpd = { version = "0.12", optional = true }
|
||||
|
|
|
|||
22
build.rs
22
build.rs
|
|
@ -1,5 +1,27 @@
|
|||
use vergen::EmitBuilder;
|
||||
use std::{env, fs, path::PathBuf};
|
||||
use xdgen::{App, Context, FluentString};
|
||||
|
||||
fn main() {
|
||||
EmitBuilder::builder().git_sha(true).emit().unwrap();
|
||||
|
||||
let id = "com.system76.CosmicPlayer";
|
||||
let ctx = Context::new("i18n", env::var("CARGO_PKG_NAME").unwrap()).unwrap();
|
||||
let app = App::new(FluentString("xdg-name"))
|
||||
.comment(FluentString("xdg-comment"))
|
||||
.keywords(FluentString("xdg-keywords"));
|
||||
let output = PathBuf::from("target/xdgen");
|
||||
fs::create_dir_all(&output).unwrap();
|
||||
fs::write(
|
||||
output.join(format!("{}.desktop", id)),
|
||||
app.expand_desktop(format!("res/{}.desktop", id), &ctx)
|
||||
.unwrap(),
|
||||
)
|
||||
.unwrap();
|
||||
fs::write(
|
||||
output.join(format!("{}.metainfo.xml", id)),
|
||||
app.expand_metainfo(format!("res/{}.metainfo.xml", id), &ctx)
|
||||
.unwrap(),
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,3 +46,9 @@ ab-repeat = تكرار A-B
|
|||
ab-repeat-set-a = تكرار A-B (A)
|
||||
ab-repeat-set-b = تكرار A-B (B)
|
||||
ab-repeat-clear = امحُ تكرار A-B
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = مشغّل وسائط COSMIC
|
||||
xdg-comment = مشغّل وسائط لسطح مكتب COSMIC
|
||||
xdg-keywords = فيلم;مقطع;فيديو;صوت
|
||||
|
|
|
|||
|
|
@ -31,3 +31,9 @@ ab-repeat = Opakování A-B
|
|||
ab-repeat-set-a = Opakování A-B (A)
|
||||
ab-repeat-set-b = Opakování A-B (B)
|
||||
ab-repeat-clear = Vymazat opakování A-B
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Přehrávač médií COSMIC
|
||||
xdg-comment = Přehrávač médií pro pracovní prostředí COSMIC
|
||||
xdg-keywords = audio;film;hudba;video;média;zvuk;
|
||||
|
|
|
|||
|
|
@ -45,3 +45,9 @@ ab-repeat = A-B Repeat
|
|||
ab-repeat-set-a = A-B Repeat (A)
|
||||
ab-repeat-set-b = A-B Repeat (B)
|
||||
ab-repeat-clear = Clear A-B Repeat
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = COSMIC Media Player
|
||||
xdg-comment = Media player for the COSMIC desktop
|
||||
xdg-keywords = Audio;Film;Movie;Music;Sound;Video;
|
||||
|
|
|
|||
|
|
@ -36,3 +36,9 @@ open-recent-media-folder = Abrir carpetas multimedia recientes
|
|||
close-media-folder = Cerrar carpeta multimedia
|
||||
quit = Salir
|
||||
off = Apagado
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Reproductor de medios COSMIC
|
||||
xdg-comment = Reproductor de medios para el escritorio COSMIC
|
||||
xdg-keywords = Audio;Película;Música;Vídeo;Sonido;Reproductor;
|
||||
|
|
|
|||
|
|
@ -46,3 +46,9 @@ ab-repeat = A–B ismétlés
|
|||
ab-repeat-set-a = A–B ismétlés (A)
|
||||
ab-repeat-set-b = A–B ismétlés (B)
|
||||
ab-repeat-clear = A–B ismétlés törlése
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = COSMIC Médialejátszó
|
||||
xdg-comment = Médialejátszó a COSMIC asztali környezethez
|
||||
xdg-keywords = hang;film;zene;videó;média;lejátszó;
|
||||
|
|
|
|||
|
|
@ -36,3 +36,9 @@ open-recent-media-folder = Apri cartella multimediale recente
|
|||
close-media-folder = Chiudi cartella multimediale
|
||||
quit = Esci
|
||||
off = Off
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = COSMIC Media Player
|
||||
xdg-comment = Lettore multimediale di COSMIC
|
||||
xdg-keywords = Audio;Video;Musica;Film;Suoni;Riproduzione;
|
||||
|
|
|
|||
|
|
@ -46,3 +46,9 @@ ab-repeat-set-a = A-B Powtarzanie (A)
|
|||
ab-repeat-set-b = A-B Powtarzanie (B)
|
||||
ab-repeat-clear = Wyczyść Powtarzanie A-B
|
||||
previous-frame = Poprzednia Klatka
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Odtwarzacz Multimediów COSMIC
|
||||
xdg-comment = Odtwarzacz Multimediów dla środowiska graficznego COSMIC
|
||||
xdg-keywords = Audio;Dźwięki;Filmy;Muzyka;Vídeo;Media;Odtwarzacz;Multimedia;
|
||||
|
|
|
|||
|
|
@ -46,3 +46,9 @@ ab-repeat = Repetir A-B
|
|||
ab-repeat-set-a = Repetir A-B (A)
|
||||
ab-repeat-set-b = Repetir A-B (B)
|
||||
ab-repeat-clear = Limpar repetição A-B
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Reprodutor de Mídia
|
||||
xdg-comment = Reprodutor de mídia do desktop COSMIC
|
||||
xdg-keywords = Audio;Filme;Música;Som;Vídeo;Media;Player;
|
||||
|
|
|
|||
|
|
@ -35,3 +35,9 @@ open-media-folder = Abrir pasta de multimédias...
|
|||
open-recent-media-folder = Abrir pasta recente de multimédias
|
||||
close-media-folder = Fechar pasta de multimédia
|
||||
quit = Sair
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Reprodutor de Mídia
|
||||
xdg-comment = Reprodutor de mídia do desktop COSMIC
|
||||
xdg-keywords = Audio;Filme;Música;Som;Vídeo;Media;Player;
|
||||
|
|
|
|||
|
|
@ -39,3 +39,8 @@ ab-repeat = Повтор A–B
|
|||
ab-repeat-set-a = Повтор A–B (уст. A)
|
||||
ab-repeat-set-b = Повтор A–B (уст. B)
|
||||
ab-repeat-clear = Повтор A–B (очистить)
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Медиаплеер
|
||||
xdg-keywords = Аудио;Фильм;Музыка;Видео;Медиа;Звук;Мультимедиа;Медиаплеер;
|
||||
|
|
|
|||
|
|
@ -30,3 +30,9 @@ open-media-folder = Otvoriť priečinok s médiami...
|
|||
open-recent-media-folder = Otvoriť posledný priečinok s médiami
|
||||
close-media-folder = Zatvoriť priečinok s médiami
|
||||
quit = Ukončiť
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = Prehrávač Médií COSMIC
|
||||
xdg-comment = Prehrávač médií pre pracovné prostredie COSMIC
|
||||
xdg-keywords = audio;film;hudba;video;prehrávač;média;zvuk;
|
||||
|
|
|
|||
|
|
@ -46,3 +46,9 @@ ab-repeat = A-B-upprepning
|
|||
ab-repeat-set-a = A-B-upprepning (A)
|
||||
ab-repeat-set-b = A-B-upprepning (B)
|
||||
ab-repeat-clear = Rensa A-B-upprepning
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = COSMIC Mediaspelare
|
||||
xdg-comment = Mediaspelare för skrivbordsmiljön COSMIC
|
||||
xdg-keywords = Ljud;Film;Musik;Video;Media;
|
||||
|
|
|
|||
|
|
@ -46,3 +46,7 @@ ab-repeat = A-B 重复
|
|||
ab-repeat-set-a = A-B 重复(A)
|
||||
ab-repeat-set-b = A-B 重复(B)
|
||||
ab-repeat-clear = 清除 A-B 重复
|
||||
|
||||
# XDG Metadata
|
||||
|
||||
xdg-name = COSMIC 媒体播放器
|
||||
|
|
|
|||
4
justfile
4
justfile
|
|
@ -13,11 +13,11 @@ bin-src := cargo-target-dir / 'release' / name
|
|||
bin-dst := base-dir / 'bin' / name
|
||||
|
||||
desktop := APPID + '.desktop'
|
||||
desktop-src := 'res' / desktop
|
||||
desktop-src := 'target/xdgen' / desktop
|
||||
desktop-dst := clean(rootdir / prefix) / 'share' / 'applications' / desktop
|
||||
|
||||
metainfo := APPID + '.metainfo.xml'
|
||||
metainfo-src := 'res' / metainfo
|
||||
metainfo-src := 'target/xdgen' / metainfo
|
||||
metainfo-dst := clean(rootdir / prefix) / 'share' / 'metainfo' / metainfo
|
||||
|
||||
thumbnailer := APPID + '.thumbnailer'
|
||||
|
|
|
|||
|
|
@ -1,18 +1,6 @@
|
|||
#TODO: more build-out, desktop actions, translations?
|
||||
[Desktop Entry]
|
||||
Name=COSMIC Media Player
|
||||
Name[ar]=مشغّل وسائط COSMIC
|
||||
Name[cs]=Přehrávač médií COSMIC
|
||||
Name[zh_CN]=COSMIC 媒体播放器
|
||||
Name[hu]=COSMIC Médialejátszó
|
||||
Name[pl]=Odtwarzacz Multimediów COSMIC
|
||||
Name[pt_BR]=Reprodutor de Mídia
|
||||
Name[pt]=Reprodutor de Mídia
|
||||
Name[ru]=Медиаплеер
|
||||
Name[sk]=Prehrávač Médií COSMIC
|
||||
Name[sv]=COSMIC Mediaspelare
|
||||
Name[es]=Reproductor de medios COSMIC
|
||||
Name[it]=COSMIC Media Player
|
||||
Comment=Media player for the COSMIC desktop
|
||||
Exec=cosmic-player %U
|
||||
Terminal=false
|
||||
Type=Application
|
||||
|
|
@ -21,14 +9,3 @@ MimeType=application/mxf;application/ram;application/sdp;application/vnd.apple.m
|
|||
Icon=com.system76.CosmicPlayer
|
||||
Categories=COSMIC;AudioVideo;Player;Video;
|
||||
Keywords=Audio;Film;Movie;Music;Sound;Video;
|
||||
Keywords[ar]=فيلم;مقطع;فيديو;صوت
|
||||
Keywords[cs]=audio;film;hudba;video;média;zvuk;
|
||||
Keywords[hu]=hang;film;zene;videó;média;lejátszó;
|
||||
Keywords[pl]=Audio;Dźwięki;Filmy;Muzyka;Vídeo;Media;Odtwarzacz;Multimedia;
|
||||
Keywords[pt_BR]=Audio;Filme;Música;Som;Vídeo;Media;Player;
|
||||
Keywords[ru]=Аудио;Фильм;Музыка;Видео;Медиа;Звук;Мультимедиа;Медиаплеер;
|
||||
Keywords[pt]=Audio;Filme;Música;Som;Vídeo;Media;Player;
|
||||
Keywords[sk]=audio;film;hudba;video;prehrávač;média;zvuk;
|
||||
Keywords[sv]=Ljud;Film;Musik;Video;Media;
|
||||
Keywords[es]=Audio;Película;Música;Vídeo;Sonido;Reproductor;
|
||||
Keywords[it]=Audio;Video;Musica;Film;Suoni;Riproduzione;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<component type="desktop-application">
|
||||
<id>com.system76.CosmicPlayer</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
|
|
@ -9,33 +9,15 @@
|
|||
<url type="homepage">https://github.com/pop-os/cosmic-player</url>
|
||||
<url type="bugtracker">https://github.com/pop-os/cosmic-player</url>
|
||||
<name>COSMIC Media Player</name>
|
||||
<name xml:lang="ar">مشغّل وسائط COSMIC</name>
|
||||
<name xml:lang="cs">Přehrávač médií COSMIC</name>
|
||||
<name xml:lang="hu">COSMIC Médialejátszó</name>
|
||||
<name xml:lang="pl">Odtwarzacz Multimediów COSMIC</name>
|
||||
<name xml:lang="pt_BR">Reprodutor de Mídia</name>
|
||||
<name xml:lang="pt">Reprodutor de Mídia</name>
|
||||
<name xml:lang="sk">Prehrávač Médií COSMIC</name>
|
||||
<name xml:lang="es">Reproductor de medios COSMIC</name>
|
||||
<name xml:lang="it">COSMIC Media Player</name>
|
||||
<name xml:lang="sv">COSMIC Mediaspelare</name>
|
||||
<summary>Media player for the COSMIC desktop</summary>
|
||||
<summary xml:lang="ar">مشغّل وسائط لسطح مكتب COSMIC</summary>
|
||||
<summary xml:lang="cs">Přehrávač médií pro pracovní prostředí COSMIC</summary>
|
||||
<summary xml:lang="hu">Médialejátszó a COSMIC asztali környezethez</summary>
|
||||
<summary xml:lang="pl">Odtwarzacz Multimediów dla środowiska graficznego COSMIC</summary>
|
||||
<summary xml:lang="pt_BR">Reprodutor de mídia do desktop COSMIC</summary>
|
||||
<summary xml:lang="pt">Reprodutor de mídia do desktop COSMIC</summary>
|
||||
<summary xml:lang="sk">Prehrávač médií pre pracovné prostredie COSMIC</summary>
|
||||
<summary xml:lang="es">Reproductor de medios para el escritorio COSMIC</summary>
|
||||
<summary xml:lang="it">Lettore multimediale di COSMIC</summary>
|
||||
<summary xml:lang="sv">Mediaspelare för skrivbordsmiljön COSMIC</summary>
|
||||
<description>
|
||||
<p>Media player for the COSMIC desktop</p>
|
||||
<p xml:lang="ar">مشغّل وسائط لسطح مكتب COSMIC</p>
|
||||
<p xml:lang="cs">Přehrávač médií pro pracovní prostředí COSMIC</p>
|
||||
<p xml:lang="hu">Médialejátszó a COSMIC asztali környezethez</p>
|
||||
<p xml:lang="pl">Odtwarzacz Multimediów dla środowiska graficznego COSMIC</p>
|
||||
<p
|
||||
xml:lang="pl"
|
||||
>Odtwarzacz Multimediów dla środowiska graficznego COSMIC</p>
|
||||
<p xml:lang="pt_BR">Reprodutor de mídia do desktop COSMIC</p>
|
||||
<p xml:lang="pt">Reprodutor de mídia do desktop COSMIC</p>
|
||||
<p xml:lang="sk">Prehrávač médií pre pracovné prostredie COSMIC</p>
|
||||
|
|
@ -43,8 +25,20 @@
|
|||
<p xml:lang="es">Reproductor de medios para el escritorio COSMIC</p>
|
||||
<p xml:lang="sv">Mediaspelare för skrivbordsmiljön COSMIC</p>
|
||||
</description>
|
||||
<keywords>
|
||||
<keyword>Audio</keyword>
|
||||
<keyword>Film</keyword>
|
||||
<keyword>Movie</keyword>
|
||||
<keyword>Music</keyword>
|
||||
<keyword>Sound</keyword>
|
||||
<keyword>Video</keyword>
|
||||
</keywords>
|
||||
<launchable type="desktop-id">com.system76.CosmicPlayer.desktop</launchable>
|
||||
<icon type="remote" height="256" width="256">https://raw.githubusercontent.com/pop-os/cosmic-player/master/res/icons/hicolor/256x256/apps/com.system76.CosmicPlayer.svg</icon>
|
||||
<icon
|
||||
type="remote"
|
||||
height="256"
|
||||
width="256"
|
||||
>https://raw.githubusercontent.com/pop-os/cosmic-player/master/res/icons/hicolor/256x256/apps/com.system76.CosmicPlayer.svg</icon>
|
||||
<provides>
|
||||
<id>com.system76.CosmicApplication</id>
|
||||
<binaries>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue