Features/Jetpack/Jetpack-HTML-l10n: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "{{FeatureStatus |Feature name=Jetpack HTML Localization |Feature stage=Draft |Feature status=In progress |Feature health=OK }} {{FeatureTeam |Feature product manager=Dave Mason }...")
 
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{FeatureStatus
{{FeatureStatus
|Feature name=Jetpack HTML Localization
|Feature name=Jetpack HTML Localization
|Feature stage=Draft
|Feature stage=Development
|Feature status=In progress
|Feature status=In progress
|Feature health=OK
|Feature health=OK
Line 7: Line 7:
{{FeatureTeam
{{FeatureTeam
|Feature product manager=Dave Mason
|Feature product manager=Dave Mason
|Feature feature manager=Alex Poirot
|Feature lead engineer=Alex Poirot
}}
}}
{{FeaturePageBody
{{FeaturePageBody
Line 22: Line 24:


This would be parsed and processed exactly as strings are currently processed in the exiting l10n module in jetpack
This would be parsed and processed exactly as strings are currently processed in the exiting l10n module in jetpack
[https://github.com/mozilla/addon-sdk/wiki/HTML-Page-Localization A full, detailed proposal can be found on github]
|Feature non-goals=1. Dynamic Localization of HTML: processing HTML content with locale-specific plaintext strings that is dynamically inserted into a page.  
|Feature non-goals=1. Dynamic Localization of HTML: processing HTML content with locale-specific plaintext strings that is dynamically inserted into a page.  


Line 33: Line 39:


2. Generic Template Processing: this proposal aims, instead, for interoperability with third-party template processors.
2. Generic Template Processing: this proposal aims, instead, for interoperability with third-party template processors.
}}
}}
{{FeatureInfo
{{FeatureInfo

Latest revision as of 16:13, 6 April 2012

Please use "Edit with form" above to edit this page.

Status

Jetpack HTML Localization
Stage Development
Status In progress
Release target `
Health OK
Status note `

{{#set:Feature name=Jetpack HTML Localization

|Feature stage=Development |Feature status=In progress |Feature version=` |Feature health=OK |Feature status note=` }}

Team

Product manager Dave Mason
Directly Responsible Individual Alex Poirot
Lead engineer Alex Poirot
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

{{#set:Feature product manager=Dave Mason

|Feature feature manager=Alex Poirot |Feature lead engineer=Alex Poirot |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=` }}

Open issues/risks

`

Stage 1: Definition

1. Feature overview

As we continue to answer the localization efforts for add-ons created with jetpack we must take a look at the HTML files included or referenced within these add-ons. Currently the Mozilla platform supports the localization of XUL and XHTML via their DTDs and entity references, but there is no support for localizing HTML. In addition, we have answered the localization of strings within jetpack code elements via an l10n module which uses .properties files.

This feature is to complement the work already done for localization by allowing text within HTML files used in jetpack add-ons to be localized.

2. Users & use cases

There are two uses of HTML in jetpack currently: static and dynamic. Static usage is text included in HTML files that are displayed in elements provided by Jetpack. Dynamic usage is when a script is altering existing HTML with page scripts.

Static

The developer creating a new add-on with jetpack who makes use of html files in her add-on adds a property reference within the HTML as such ${foo}. This reference then looks to the .properties file to retrieve the text within the used locale. The locale's processor parser would be responsible for processing the property references and creating the localized text in the proper HTML files to be used in the add-on.

Dynamic The localization of Dynamic HTML in jetpack should work more like the localization of strings in code elements. For the text to be localized, the developer would add her plain-text string like so: alert(_("foo"));

This would be parsed and processed exactly as strings are currently processed in the exiting l10n module in jetpack


A full, detailed proposal can be found on github

3. Dependencies

`

4. Requirements

`

Non-goals

1. Dynamic Localization of HTML: processing HTML content with locale-specific plaintext strings that is dynamically inserted into a page.

This feature page covers this:

document.body.appendChild(_("Hello, World!"));

But not this:

document.body.innerHTML = _("

${helloWorld}

");

At some point we should tackle the latter case of dynamic localization of HTML containing embedded plaintext strings.

2. Generic Template Processing: this proposal aims, instead, for interoperability with third-party template processors.

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=` |Feature overview=As we continue to answer the localization efforts for add-ons created with jetpack we must take a look at the HTML files included or referenced within these add-ons. Currently the Mozilla platform supports the localization of XUL and XHTML via their DTDs and entity references, but there is no support for localizing HTML. In addition, we have answered the localization of strings within jetpack code elements via an l10n module which uses .properties files.

This feature is to complement the work already done for localization by allowing text within HTML files used in jetpack add-ons to be localized. |Feature users and use cases=There are two uses of HTML in jetpack currently: static and dynamic. Static usage is text included in HTML files that are displayed in elements provided by Jetpack. Dynamic usage is when a script is altering existing HTML with page scripts.

Static

The developer creating a new add-on with jetpack who makes use of html files in her add-on adds a property reference within the HTML as such ${foo}. This reference then looks to the .properties file to retrieve the text within the used locale. The locale's processor parser would be responsible for processing the property references and creating the localized text in the proper HTML files to be used in the add-on.

Dynamic The localization of Dynamic HTML in jetpack should work more like the localization of strings in code elements. For the text to be localized, the developer would add her plain-text string like so: alert(_("foo"));

This would be parsed and processed exactly as strings are currently processed in the exiting l10n module in jetpack


A full, detailed proposal can be found on github |Feature dependencies=` |Feature requirements=` |Feature non-goals=1. Dynamic Localization of HTML: processing HTML content with locale-specific plaintext strings that is dynamically inserted into a page.

This feature page covers this:

document.body.appendChild(_("Hello, World!"));

But not this:

document.body.innerHTML = _("

${helloWorld}

");

At some point we should tackle the latter case of dynamic localization of HTML containing embedded plaintext strings.

2. Generic Template Processing: this proposal aims, instead, for interoperability with third-party template processors. |Feature functional spec=` |Feature ux design=` |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

Priority P1
Rank 999
Theme / Goal `
Roadmap Jetpack
Secondary roadmap `
Feature list Jetpack
Project `
Engineering team Jetpack

{{#set:Feature priority=P1

|Feature rank=999 |Feature theme=` |Feature roadmap=Jetpack |Feature secondary roadmap=` |Feature list=Jetpack |Feature project=` |Feature engineering team=Jetpack }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=` |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}


A full, detailed proposal can be found on github