Skip to main content

Release notes

  • 0.2.2 -
    • Fixed bug with n_ extraction

    • Fixed bug when _ and n_ variable translations being inserted into .po file

  • 0.2.1 - Great speed improvement (x4) by moving file reading to nodejs.

  • 0.2.0 - Now only one nodejs process spawned for single babel run, so in total for big amount of files will work much faster.

  • 0.1.4 - minor bugfixes

  • 0.1.3 - Initial release

Installation

pip install pybabel-hbs

Usage

Add [hbs: path/**.hbs] to babel.cfg

Expected workflow

  1. Use helpers inside handlebar (gettext/ngettext as both regular and block heleprs supported)

  2. JS side should pass data to Jed wrapper (see client_side_usage)

  3. Jed wrapper passes the strings and parameters to Jed

  4. Jed instance translates string to language it was initiated with

  5. Jed uses po2json output (use po2json on generated .po files and then pass output to Jed)

  6. As for generating .po files just add [hbs: **.hbs] to babel config (babel.cfg), (considering extension installed via pip or via setup.py install)

  • Extension for babel to support handlebars.

  • Uses native Handlebars.js parsing with small hack for passing line numbers.

  • Since Handlebars.js is JS this babel extension requires node.js

Supported handlebars helpers:

  • _ (Undercore) helper

    {{_ "Some text to be translated %(param)s" param="some param"}}
  • n_ helper

    {{\n_ num_to_check_against "Some text to be translated with %(num)s" "Some plural text to be translated with %(num)s" num=num_to_check_against}}
  • trans block helper:

    {{#trans params_1="something"}}
        Some text to be translated with %(param_1)s
    {{/trans}}
  • ntrans block helper:

    {{#ntrans num_to_check_aganst param_1="something" num=num_to_check_against}}
        Some text to be translated with %(param_1)s and %(num)s
    {{else}}
        Some plural text to be translated with %(param_1)s and %(num)s
    {{/ntrans}}

Summarizing

  • Every helper can have params, they will be passed to sprintf (built-in into Jed)

  • n_ and ntrans helpers MUST have some integer as first parameter, it will determine if plural or singular form should be used

Release files for PyBabel-hbs 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PyBabel-hbs 0.2.2
File Size Uploaded
PyBabel-hbs-0.2.2.tar.gz 24.4 kB Details

Release files / PyBabel-hbs-0.2.2.tar.gz

Download URL PyBabel-hbs-0.2.2.tar.gz
Size 24.4 kB
Tags Source
SHA-256 checksum
How to use checksums
be4b3bf8879a2ca6e52f7ccb9682d97f5b25faadcef5916c6df5d017dc853d5b
BLAKE2b-256 checksum
How to use checksums
35b2e7ba098693498e99a384813d485abcc6536f09f9af6ee4f631ea8df580e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.2 This release

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.4

1 release file

0.1.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page