-
-
Notifications
You must be signed in to change notification settings - Fork 36
Goals and non-goals #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
3be7b11
Document goals and non-goals
stasm 544ffad
Goals and deliverables, rev2
stasm e332116
Remove _complex_, remove reference to CLDR
stasm 8979970
Replace translations with localizable message strings
stasm 725cc21
Make goal no. 5 broader wrt. TMS and CAT
stasm a3ed25a
Make goal no. 6 more explicit: implementations, frameworks, tools
stasm 311b0a7
Feedback from the May 18 meeting:
stasm 352a98b
Update goal-5: Be capable of...
stasm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
# Goals and Non-Goals | ||
|
||
This document defines the purpose of the Message Format Working Group (MFWG) | ||
and informs the decisions about the scope and the priorities of its efforts. | ||
|
||
## Goals | ||
|
||
The primary task of the MFWG is to develop an industry standard for the | ||
representation of localizable message strings. The design goals are listed | ||
below. | ||
|
||
1. Express grammatical features, such as plurals, genders, and inflections. | ||
|
||
2. Express other variance in translation, due to linguistic and regional | ||
features, the presentation media, context, circumstance, and other factors. | ||
|
||
3. Express formattable data, such as numbers, dates, currencies, and units. | ||
|
||
4. Represent structured data alongside translations, such as markup, comments, | ||
and metadata. | ||
|
||
5. Be capable of localization roundtrip. | ||
|
||
6. Enable the creation of implementations, frameworks and tools building on | ||
top of the standard, manifesting different ideas and programming paradigms, | ||
and optimized for different uses and audiences. | ||
|
||
|
||
## Deliverables | ||
|
||
1. A formal definition of the canonical data model for representing | ||
localizable message strings. | ||
|
||
2. A formal definition of the canonical syntax for representing the data | ||
model, with well defined rules for handling text, special characters, | ||
escape sequences, whitespace, markup, as well as parsing errors. | ||
|
||
3. A specification for a one-to-one mapping between the data model and XLIFF. | ||
|
||
4. A specification for resolving translations at runtime, including | ||
interpolated data types and runtime errors. | ||
|
||
5. A conformance test suite for parsing and formatting messages. | ||
|
||
|
||
## Non-Goals | ||
|
||
The following is a list of potential goals which are explicitly excluded from | ||
the scope of the MFWG. | ||
|
||
1. Design a _general interchange format_ for storing and transferring | ||
translations. Instead, ensure compatibility with the existing interchange | ||
formats. | ||
|
||
2. Support _all grammatical features of all languages_. Instead, focus on | ||
features most commonly encountered in user interfaces, textual, graphical | ||
and spoken ones alike. | ||
|
||
3. Create an _automated engine_ capable of transforming parts of speech in | ||
a grammatically-correct fashion. Instead, allow interfacing with such | ||
automatic and non-automatic engines from within the data model. | ||
|
||
4. Create optimized and efficient _implementations of the standard_. Instead, | ||
create specifications, compliance test suites, recommendations and good | ||
practices to support implementors. | ||
|
||
5. Build a _framework for localizing software_. Instead, design the standard | ||
as a building block to be used by third parties to create localization | ||
frameworks. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we do same as before mot specify XLIFF or we can try all together define at least some base formats more than only XLIFF.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIUC, in the l10n tools world, XLIFF is the de facto standard format that they all support for importing/exporting, regardless of which other file formats they support. It's an open standard that is not vendor-specific. The core of it is implemented across most tools, even if some may attempt an embrace,extend,... strategy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd argue that XLIFF is probably the most complete (and complex) standard that is also not consistently adopted to the same extent across different products. It might be interesting to also consider the opposite file format (the simplest), which consist of only
keys
andvalues
- for example.properties
file. If we could support both then we should have a complete and flexible solution.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great point. It has been my experience as well that many vendors say they support XLIFF, and then it turns out that everyone supports a different subset of XLIFF.