28 lines
1.7 KiB
Markdown
28 lines
1.7 KiB
Markdown
## Translators
|
|
|
|
[Fluent][fluent] is used for localization of the software. Fluent's translation files are found in the [i18n directory](./i18n). New translations may copy the [English (en) localization](./i18n/en) of the project, rename `en` to the desired [ISO 639-1 language code][iso-codes], and then translations can be provided for each [message identifier][fluent-guide]. If no translation is necessary, the message may be omitted.
|
|
|
|
## Packaging
|
|
|
|
If packaging for a Linux distribution, vendor dependencies locally with the `vendor` rule, and build with the vendored sources using the `build-vendored` rule. When installing files, use the `rootdir` and `prefix` variables to change installation paths.
|
|
|
|
```sh
|
|
just vendor
|
|
just build-vendored
|
|
just rootdir=debian/noctua prefix=/usr install
|
|
```
|
|
|
|
It is recommended to build a source tarball with the vendored dependencies, which can typically be done by running `just vendor` on the host system before it enters the build environment.
|
|
|
|
## Developers
|
|
|
|
Developers should install [rustup][rustup] and configure their editor to use [rust-analyzer][rust-analyzer]. To improve compilation times, disable LTO in the release profile, install the [mold][mold] linker, and configure [sccache][sccache] for use with Rust. The [mold][mold] linker will only improve link times if LTO is disabled.
|
|
|
|
[fluent]: https://projectfluent.org/
|
|
[fluent-guide]: https://projectfluent.org/fluent/guide/hello.html
|
|
[iso-codes]: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
|
[just]: https://github.com/casey/just
|
|
[rustup]: https://rustup.rs/
|
|
[rust-analyzer]: https://rust-analyzer.github.io/
|
|
[mold]: https://github.com/rui314/mold
|
|
[sccache]: https://github.com/mozilla/sccache
|