Skip to content

Lingora is a free and open-source localization management program that analyses fluent translation files highlighting discrepancies between reference and target languages.

License

Notifications You must be signed in to change notification settings

nigeleke/lingora

Repository files navigation

lingora

MIT License Language Build Coverage Version

Site | GitHub | API | Coverage Report

lingora is a free and open-source localization management program that analyses fluent translation files highlighting discrepancies between reference and target language files.

lingora is designed primarily to be used as a command line tool, but also provides a graphical user interface.

deb | rpm | AppImage | Windows | MacOs

Operation

lingora compares the entries of a reference translation file against one or more target translation files.

A Lingora.toml file can be used to define the reference translation file, and target translation files (or search paths).

If the Lingora.toml file exists in the current working directory, then it will be used. An explicit config file can be specified using the --config=path/to/your-config.toml command line argument. If no config file exists then sensible defaults will be used.

It is recommended that projects provide an expicit Lingora.toml file minimally specifying the reference translation file that all other files are compared against.

By default (i.e., no toml file exists, or is specified) lingora will look for the translation files in ./i18n/ and it will use <current_system_locale>.ftl as the reference translation file.

Command line arguments can be used to override config file settings, with -r path/to/reference_file.ftl and -t path/to/target_file.ftl command line arguments. -t may also specify a folder, in which case all *.ftl files will be used as targets. The reference and target file names are expected to use the <language>-<locale> naming convention.

Additional functionality

  • lingora can create a config.rs source file containing a function to create an I18nConfig for the dioxus-i18n crate.

  • A GUI interface, to browse files can be invoked with the --output=gui or -o gui command line argument.

Command line arguments

  • To list help:

    lingora --help
  • The default run looks at all ftl files in the ./i18n/ folder, looking for a <current_system_locale>.ftl for the reference file. Only one <current_system_locale>.ftl must exist for this command to run successfully. Output is to stdout.

    lingora
    # or, by redirecting stdout:
    lingora > i18n-errors.txt
  • To get the result of an analysis, but not see the details use the --output=silent option. This command does not output anything unless there are inconsistencies in or between the reference and/or target folders, in which case an error return of Error: IntegrityErrorsDetected is displayed.

    lingora -o silent
  • To specify the reference locale: note this looks for target ftl files in the ./i18n/ folder.

    lingora -r ./i18n/en/en-GB.ftl
  • To specify reference and target(s): note -t ... can be a folder, in which case a deep search for all .ftl files within the folder is performed.

    lingora -r ./i18n/en/en-GB.ftl -t ./i18n/en/en-AU.ftl -t ./i18n/it/it.ftl
  • To output an opininated I18nConfig initialisation function: Output is to the provide path. The output settings can be modified in the Lingora.toml configuration file.

    lingora --dioxus-i18n=path/to/your_i18n_config.rs
  • To use a config file, other than ./Lingora.toml. Note, if Lingora.toml exists in the current working directory, then it will be used by default without specifying explicitly in this command line argument.

    lingora --config=path/to/your_config.toml
  • The override the default root folder (./i18n/). Note any default root folder is not used if any targets (--target=... / -t ...) are provided.

    lingora --root=path/to/your_root_folder
  • To run the desktop application, use the --output=gui option:

    lingora -o gui

Developmemt

cargo test
cargo llvm-cov

Build

cargo binstall dioxus-cli
dx bundle

About

Lingora is a free and open-source localization management program that analyses fluent translation files highlighting discrepancies between reference and target languages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published