mirror of
https://github.com/johrpan/musicus.git
synced 2025-10-26 11:47:25 +01:00
63 lines
No EOL
1.3 KiB
Markdown
63 lines
No EOL
1.3 KiB
Markdown
# Musicus
|
|
|
|
The classical music player and organizer.
|
|
|
|
## Hacking
|
|
|
|
### ORM
|
|
|
|
This program uses [Diesel](https://diesel.rs) as its ORM. After installing
|
|
the Diesel command line utility, you will be able to create a new schema
|
|
migration using the following command:
|
|
|
|
```
|
|
$ diesel migration generate [change_description]
|
|
```
|
|
|
|
To update the `src/db/schema.rs` file, you should use the following command:
|
|
|
|
```
|
|
$ diesel migration run --database-url test.sqlite
|
|
```
|
|
|
|
This file should never be edited manually.
|
|
|
|
### Internationalization
|
|
|
|
Execute the following commands from the project root directory to update
|
|
translation files whenever translatable strings have been changed.
|
|
|
|
1. Update `po/POTFILES`
|
|
|
|
```bash
|
|
cat <<EOF > po/POTFILES
|
|
data/de.johrpan.Musicus.desktop.in.in
|
|
data/de.johrpan.Musicus.gschema.xml.in
|
|
EOF
|
|
|
|
find data/ui -name "*.blp" >> po/POTFILES
|
|
find src -name "*.rs" -a ! -name "config.rs" >> po/POTFILES
|
|
```
|
|
|
|
2. Update `po/template.pot`
|
|
|
|
```bash
|
|
xgettext \
|
|
--from-code=UTF-8 \
|
|
--add-comments \
|
|
--keyword=_ \
|
|
--keyword=C_:1c,2 \
|
|
--files-from=po/POTFILES \
|
|
--output=po/template.pot
|
|
```
|
|
|
|
3. Update translation files
|
|
|
|
```bash
|
|
msgmerge \
|
|
--update \
|
|
--backup=off \
|
|
--no-fuzzy-matching \
|
|
po/de.po \
|
|
po/template.pot
|
|
``` |