wiki:BluePrint/Internationalisation

Version 47 (modified by nownikhil, 9 years ago) ( diff )

--

Internationalisation Blueprint

This page looks at ways we can extend the Internationalisation options within Sahana Eden.

Production Options are defined within DeveloperGuidelines/Internationalisation

User perspective is: UserGuidelines/Localisation

ToDo

Below are some tasks that can help in improving the existing translation functionality.

s3translate

  • Pootle integration
  • Add ability to enable/disable menu options (make this a DB table rather than a deployment_setting?)
  • Think about how uploaded files can not conflict with updates from Version Control (currently uploaded updates will be wiped during upgrades)
  • Exclude all templates other than current one by default (option to include all templates, defaulting to off)
  • Default list of modules to the ones which are active in the running template
  • List of modules shouldn't come from list of controllers (e.g. misses translate itself!)
  • Exclude Unit Tests folder
  • Exclude all full paths (2nd occurrence+ is giving full path)
  • Include certain prepop CSV columns (for T(record.field))
  • Don't include vars - e.g. T(r.name) shouldn't add "r.name" to the translation file
  • Rewrite admin.py translate() so that only opt3 is a REST controller for translate_language (no need for an opt)
    • All other opts should be separate controllers
  • Online help to explain that the local languages/code.py will be updated & that uploaded files will be merged
  • Online help to explain 'core files'
  • Copy code from TranslateToolkit internally to avoid having external dependencies & launching a shell

Other

  • JavaScript
  • Extend web2py2po/po2web2py to support translator comments
    def translate(self, message, symbols):
        """
           user ## to add a comment into a translation string
           the comment can be useful do discriminate different possible
           translations for the same string (for example different locations)
    
           T(' hello world ') -> ' hello world '
           T(' hello world ## token') -> 'hello world'
           T('hello ## world ## token') -> 'hello ## world'
        """
    

Different Sources of translated strings

Other options

Notes

Discussions


BluePrints TranslatedPages TranslatedPages

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.