Labs/Jetpack/Reboot/JEP/113: Difference between revisions

From MozillaWiki
< Labs‎ | Jetpack‎ | Reboot‎ | JEP
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:
=== Proposal ===
=== Proposal ===
Implement a set of API's allowing for jetpack localization
Implement a set of API's allowing for jetpack localization
* simple example:
<pre class="brush:js">
var ctx = l10n.Context()
ctx.addReference('url://foo.l10n')
var val = ctx.getValue('id1')
notification.show(val)
var val2 = ctx.getValue('id2', {tabs: 5})
notification.show(val2)
</pre>


* bind example:
* bind example:

Revision as of 00:39, 6 February 2010

JEP 113 - Localization

  • Champion: Zbigniew Braniecki - gandalf@mozilla.com
  • Type: ?
  • Bug Ticket:
  • Status: ?

Proposal

Implement a set of API's allowing for jetpack localization

  • simple example:
var ctx = l10n.Context()
ctx.addReference('url://foo.l10n')


var val = ctx.getValue('id1')

notification.show(val)

var val2 = ctx.getValue('id2', {tabs: 5})

notification.show(val2)


  • bind example:
var ctx = l10n.Context()
ctx.addReference('url://foo.l10n')

var params = {
  tabs = 1;
}

ctx.bindEntity('l10n_id1', params);

// ...
params['tabs'] = 7; // at this poin the entity value updates to a new value
  • other API bindings examples:
var ctx = l10n.Context()
ctx.addReference('url://foo.l10n')

notification.show({'l10n_id': 'id1'})
contextMenu.add({
  l10n_id: 'id2',
  action: function() {}
})

Key Issues

  • Is L10n part of a core?
  • How do we load/store files?
  • Do we hook l10n into other API's or do we provide separate methods only?
  • can we bind variables?

Dependencies & Requirements

  • byte loading
  • local urls


Internal Methods

API Methods

  • addReference(url) - adds a l10n file for a locale
  • getValue(l10n_id(, {params})) - loads an entity value
  • bindEntity(l10n_id, params) - binds entity to a set of variables. Makes an entity value update when one of params changes
  • setLocale(ab-CD) - switch locale
  • more API may be hooked into other API's depending on what we want

Interdependencies