Skip to content
Snippets Groups Projects
  1. Jul 02, 2015
    • Neill Cox's avatar
      Angular translation via babel (singular only) · 9b36822f
      Neill Cox authored
      An approach to i18n for Angular HTML templates using babel. This patch
      allows only singular translation. Plurals and context will be
      addressed in subsequent patches.
      
      Based on Thai Tran's work at https://review.openstack.org/#/c/187321
      
      This patch implements a custom extractor in
      horizon/utils/babel_extract_angular.py. pybabel really wants this to be
      a package installed into site-packages. I have not done this so as to
      avoid introducing a dependency on another change to global requirements
      just yet. I will upload a package to pypi in parallel so that we can
      start using it in the future.
      
      For now, I have had to modify tools/with_venv.sh to add horizon to the
      PYTHONPATH. This is less than ideal but seemed to be the least worst
      option.
      
      Steps to verify that it works:
      1. Create a new html file in horizon/static or openstack_dashboard/static
      2. Add something like <div translate>hello world!</div> to the html
         To test interpolation add something like:
           <div translate>hello {$name$}!</div>
      3. Run ./run_tests.sh --makemessages
      4. Inspect your djangojs.po file, it should be there.
      
      The following steps are optional:
      5. Run ./run_tests.sh --pseudo de
      6. Run ./run_tests.sh --compilemessages
      7. Go to http://localhost:8000/settings
      8. Change Language to Deutsch
      9. Go to http://localhost:8000/i18n/js/horizon+openstack_dashboard
      10. Your translated text should be there as well.
      
      Note: There are now unit tests as well.
      
      Partially-Implements: blueprint angular-translate-makemessages
      Depends on: If4352aba01ce0ca6337f590c0689d8fe9f0867c8
      
      Change-Id: I26d4fef8646d5f038918cd3376dbbdbef37eb603
      9b36822f
  2. Jun 22, 2015
    • Neill Cox's avatar
      Replace makemessages with babel · 4e0b09a3
      Neill Cox authored
      Replace django's makemessages with babel and babel-django.
      
      This changes the makemessages command to use babel rather than
      Django's builtin makemessages.
      
      There is a follow on patch to add support for angular-gettext.
      
      Change-Id: If4352aba01ce0ca6337f590c0689d8fe9f0867c8
      Depends-On: Iaa835b03af3929b7314b174210079c34de976755
      4e0b09a3
Loading