Skip to content
On this page

Why Lyrebird

Lyrebird is a visual editor for Application Resource Bundle (.arb) localization files. It is specifically designed to be used for Dart and Flutter projects using the intl package, which is endorsed by the Flutter team. It features

  • A node-based ICU editor for quickly adding and editing translations, even without knowledge of the ICU syntax
  • Metadata fields for each localization key, such as descriptions and placeholders
  • A file list stacked on top of a localization key list to enable quickly switching between languages and the translations therein.

Lyrebird editor screenshot


The following sections explain why we believe it to be a must-have for any multilingual Flutter application.

Advantages

Dart & Flutter

Lyrebird was built from the ground up to support Dart and Flutter projects using intl. Because of this, you can be sure there will not be any compatibility issues between the editor and your codebase. For example, Lyrebird supports only the placeholder types (e.g. DateTime, String, or num) that are allowed by the intl parser.

The recommended way to install Lyrebird is using pub.dev. Because of this, any Dart or Flutter developer will already have the necessary toolchain to get started. Separate Dart or Flutter projects may also use different versions of Lyrebird through the use of development dependencies.

Lyrebird also makes use of localization project files designed by the Flutter team, such as the l10n.yaml file, and will support automatic execution of code-generation scripts like flutter gen-l10n in the future.

Made for developers

Traditional localization tools are often cloud-based and designed for localization experts. Localization keys are hosted online and can quickly be translated by human experts across the globe. This works great for large projects and thousands of localization strings being translated to dozens of languages at once, but it does not take the development process into consideration.

During rapid development processes (e.g. Scrum), it is vital for a developer to be able to efficiently add new localization strings and immediately test them out with generated code. For some companies, a developer's translation skills may even suffice to complete a project, if, for instance, support for only two languages is required.

This is where Lyrebird shines. It can be used directly by the developers and give instant feedback and code generation. No localization files need to be copied or synchronized from a cloud provider, as they may simply be tracked, compared, and merged using Git.

We plan to offer a machine translation service in a future version of Lyrebird, allowing any developer to code in over a hundred languages.