Skip to main content

A localization library for python utilizing Google's ARB format for Flutter

Project description

pyARB

PyPI PyPI - License

A localization library for python utilizing the ARB format for Flutter.

Changelog

Usage

pyARB takes a primary .arb file and generates a python code equivalent.

pyarb l10ns [-h] [-e USE_EXISTING] arb_location [target_directory]

positional arguments:
  arb_location          The directory containing the arb files.
  target_directory      Location of the generated py file. Defaults to the directory above arb_location.

optional arguments:
  -h, --help            show this help message and exit
  -e USE_EXISTING, --use-existing USE_EXISTING
                        Use existing arb files as locale list. You must specify the primary arb here

pyarb l10ns path/to/directory will prompt the user for a list of locales. The first in the list will be considered the primary locale and it will also be set as the fallback in case there is a problem with another locale. The primary .arb file must be present. If other locales are missing it will create the missing .arb file with the contents of the primary file. If a locale is already present then it will be left as it is to preserve translations already present in that file.

pyarb l10ns path/to/directory -e en_US will use the existing arb files as the list of allowed locales. It will use the specified locale as the primary locale, in this case: 'en_US'.

Example

Both of the above examples will create the generated_components.py file at path/to which you can then use in your code.

from path.to.generated_components import Translator, Lang

t = Translator(Lang.en_US)
print(t.followers_count(999950))
print(t.many_items("Bob", 10))

# Also supports static references
print(Translator.followers_count_static(Lang.es_ES, 6851651))
print(Translator.many_items_static(Lang.es_ES, "Juan", 3))

Docstrings are also provided to show what variables are needed for the translation key so your IDE can show you exactly what each localization is, what it needs, and what it will do.

A word on arb files

If you are not sure on how arb files are formatted read through the documentation found on localizely

Does not yet support

  • DateTime and Object types in the .arb specification.
  • The compactLong format for number types.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyarb-1.2.0.tar.gz (13.2 kB view hashes)

Uploaded Source

Built Distribution

pyarb-1.2.0-py3-none-any.whl (15.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page