From 3be7b11518649aea646b6f40a824b50eeb7a2d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Thu, 16 Apr 2020 20:40:50 +0200 Subject: [PATCH 1/8] Document goals and non-goals --- guidelines/goals.md | 73 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 guidelines/goals.md diff --git a/guidelines/goals.md b/guidelines/goals.md new file mode 100644 index 0000000000..b6e5983b83 --- /dev/null +++ b/guidelines/goals.md @@ -0,0 +1,73 @@ +# Goals and Non-Goals + +## Goals + +The goals define the purpose of the Message Format Working Group (MFWG) and +inform the decisions about the scope and the priorities of its efforts. + +### Data model for defining translations + + - Create a description of a data model representing translation units + (_messages_). The data model will be agnostic with respect to the file + format and the programming environment. + + - Design the data model for representing collections of translation + units (_resources_). + + - Make it possible to express complex grammatical features, such as plurals, + genders, and inflections, catalogued in the CLDR. + + - Make it possible to express other variance in translation, due to + other linguistic and regional features not listed in the CLDR, as well as + due to the presentation media, context, circumstance, and other factors. + +### Canonical syntax representing the data model + + - Design the canonical text representation of the data model, with well + defined rules for handling text, special characters, escape sequences, + whitespace, and markup. + + - Define parsing errors and the requirements for how to handle them. + + - Allow other representations of the data model, optimized for other uses and + audiences, to coexist with the canonical syntax. + +### Compatibility with the localization industry practices + + - Ensure that the data model is interoperable with existing interchange + formats. In particular, specify how to losslessly convert translations to + and from XLIFF. + + - Ensure that the data model allows the use of machine translation and + translation memory solutions for authoring translations. + +### Runtime interpolation and formatting + + - Specify the steps involved in resolving translations at runtime to allow + their use in building localized experiences for users. + + - Define the data types which can be interpolated in translations, and + specify how they're interpolated. Define the error scenarios and error + handling. + + - Enable a wide range of user space solutions building on top of the data + model and the runtime specification, manifesting different ideas and + programming paradigms. + + +## Non-Goals + +The following is a list of potential goals which are explicitly excluded from +the scope of the MFWG. + + - Design a __general interchange format__ for storing and transferring + translations. + + - Support __all grammatical features of all languages__. + + - Create an __automated engine__ capable of transforming parts of speech in + a grammatically-correct fashion. + + - Create optimized and efficient __implementations of the standard__. + + - Build a __framework for localizing software__. From 544ffadeec5b98296f92da90cf35d8d69d3b5529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Thu, 14 May 2020 14:45:25 +0200 Subject: [PATCH 2/8] Goals and deliverables, rev2 --- guidelines/goals.md | 90 ++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 46 deletions(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index b6e5983b83..4ff236fba1 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -1,58 +1,48 @@ # Goals and Non-Goals -## Goals - -The goals define the purpose of the Message Format Working Group (MFWG) and -inform the decisions about the scope and the priorities of its efforts. - -### Data model for defining translations +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. - - Create a description of a data model representing translation units - (_messages_). The data model will be agnostic with respect to the file - format and the programming environment. - - - Design the data model for representing collections of translation - units (_resources_). +## Goals - - Make it possible to express complex grammatical features, such as plurals, - genders, and inflections, catalogued in the CLDR. +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. - - Make it possible to express other variance in translation, due to - other linguistic and regional features not listed in the CLDR, as well as - due to the presentation media, context, circumstance, and other factors. + 1. Express complex grammatical features, such as plurals, genders, and + inflections, catalogued in the CLDR. -### Canonical syntax representing the data model + 2. Express other variance in translation, due to other linguistic and regional + features not listed in the CLDR, as well as due to the presentation media, + context, circumstance, and other factors. - - Design the canonical text representation of the data model, with well - defined rules for handling text, special characters, escape sequences, - whitespace, and markup. + 3. Represent structured data alongside translations, like markup, comments, + and metadata. - - Define parsing errors and the requirements for how to handle them. + 4. Ensure interoperability with existing interchange formats, in particular + with XLIFF. - - Allow other representations of the data model, optimized for other uses and - audiences, to coexist with the canonical syntax. + 5. Ensure that machine translation and translation memory solutions can be + used for authoring translations. -### Compatibility with the localization industry practices + 6. Enable a wide range of user space solutions building on top of the + standard, manifesting different ideas and programming paradigms, and + optimized for different uses and audiences. - - Ensure that the data model is interoperable with existing interchange - formats. In particular, specify how to losslessly convert translations to - and from XLIFF. - - Ensure that the data model allows the use of machine translation and - translation memory solutions for authoring translations. +## Deliverables -### Runtime interpolation and formatting + 1. A formal definition of the canonical data model for representing + translations. - - Specify the steps involved in resolving translations at runtime to allow - their use in building localized experiences for users. + 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. - - Define the data types which can be interpolated in translations, and - specify how they're interpolated. Define the error scenarios and error - handling. + 3. A specification for lossless conversion between the data model and XLIFF. - - Enable a wide range of user space solutions building on top of the data - model and the runtime specification, manifesting different ideas and - programming paradigms. + 4. A specification for resolving translations at runtime, including + interpolated data types and runtime errors. ## Non-Goals @@ -60,14 +50,22 @@ inform the decisions about the scope and the priorities of its efforts. The following is a list of potential goals which are explicitly excluded from the scope of the MFWG. - - Design a __general interchange format__ for storing and transferring - translations. + 1. Design a _general interchange format_ for storing and transferring + translations. Instead, ensure compatibility with the existing interchange + formats. - - Support __all grammatical features of all languages__. + 2. Support _all grammatical features of all languages_. Instead, focus on + features most commonly encountered in user interfaces, textual, graphical + and spoken ones alike. - - Create an __automated engine__ capable of transforming parts of speech in - a grammatically-correct fashion. + 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. - - Create optimized and efficient __implementations of the standard__. + 4. Create optimized and efficient _implementations of the standard_. Instead, + create specifications, compliance test suites, recommendations and good + practices to support implementors. - - Build a __framework for localizing software__. + 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. From e3321160a9ddb96483e86b477cf260087f68f08e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Fri, 15 May 2020 09:57:56 +0200 Subject: [PATCH 3/8] Remove _complex_, remove reference to CLDR --- guidelines/goals.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index 4ff236fba1..6bc18da24d 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -9,14 +9,12 @@ 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 complex grammatical features, such as plurals, genders, and - inflections, catalogued in the CLDR. + 1. Express grammatical features, such as plurals, genders, and inflections. - 2. Express other variance in translation, due to other linguistic and regional - features not listed in the CLDR, as well as due to the presentation media, - context, circumstance, and other factors. + 2. Express other variance in translation, due to linguistic and regional + features, the presentation media, context, circumstance, and other factors. - 3. Represent structured data alongside translations, like markup, comments, + 3. Represent structured data alongside translations, such as markup, comments, and metadata. 4. Ensure interoperability with existing interchange formats, in particular From 8979970349fd888c569b3ad95ba7ef22d125a6f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Fri, 15 May 2020 09:58:13 +0200 Subject: [PATCH 4/8] Replace translations with localizable message strings --- guidelines/goals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index 6bc18da24d..d59ae55b4f 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -31,7 +31,7 @@ below. ## Deliverables 1. A formal definition of the canonical data model for representing - translations. + 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, From 725cc214438e2ed7e14057cf8e6d1c0a03d14f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Mon, 18 May 2020 09:43:33 +0200 Subject: [PATCH 5/8] Make goal no. 5 broader wrt. TMS and CAT --- guidelines/goals.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index d59ae55b4f..63a78f02b1 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -20,8 +20,8 @@ below. 4. Ensure interoperability with existing interchange formats, in particular with XLIFF. - 5. Ensure that machine translation and translation memory solutions can be - used for authoring translations. + 5. Ensure that the standard can integrate with existing TMS and CAT + toolchains. 6. Enable a wide range of user space solutions building on top of the standard, manifesting different ideas and programming paradigms, and From a3ed25a81ca1817221c89d1a8a76858d96e68073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Mon, 18 May 2020 09:43:57 +0200 Subject: [PATCH 6/8] Make goal no. 6 more explicit: implementations, frameworks, tools --- guidelines/goals.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index 63a78f02b1..14fe05c3f1 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -23,9 +23,9 @@ below. 5. Ensure that the standard can integrate with existing TMS and CAT toolchains. - 6. Enable a wide range of user space solutions building on top of the - standard, manifesting different ideas and programming paradigms, and - optimized for different uses and audiences. + 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 From 311b0a7265b614cafd454375ee92cc9e64bf3a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Wed, 20 May 2020 16:14:12 +0200 Subject: [PATCH 7/8] Feedback from the May 18 meeting: - Added a goal about using i18n formatters. - Removed the goal about interoperability with interchange formats. - Rephrased the goal about compatibility with TMS/CAT to mention `localization roundtrip` instead. - Replaced `lossless conversion` with `one-to-one mapping` in the deliverable abvout XLIFF. - Added a deliverable about a conformance test suite. --- guidelines/goals.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index 14fe05c3f1..6a473c44be 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -14,14 +14,12 @@ below. 2. Express other variance in translation, due to linguistic and regional features, the presentation media, context, circumstance, and other factors. - 3. Represent structured data alongside translations, such as markup, comments, - and metadata. + 3. Express formattable data, such as numbers, dates, currencies, and units. - 4. Ensure interoperability with existing interchange formats, in particular - with XLIFF. + 4. Represent structured data alongside translations, such as markup, comments, + and metadata. - 5. Ensure that the standard can integrate with existing TMS and CAT - toolchains. + 5. Ensure compatibility with the localization roundtrip workflows. 6. Enable the creation of implementations, frameworks and tools building on top of the standard, manifesting different ideas and programming paradigms, @@ -37,11 +35,13 @@ below. model, with well defined rules for handling text, special characters, escape sequences, whitespace, markup, as well as parsing errors. - 3. A specification for lossless conversion between the data model and XLIFF. + 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 From 352a98ba956010fc75a6e31c6db3a63607bf53de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Thu, 28 May 2020 16:05:24 +0200 Subject: [PATCH 8/8] Update goal-5: Be capable of... --- guidelines/goals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/goals.md b/guidelines/goals.md index 6a473c44be..d1fc85d5d3 100644 --- a/guidelines/goals.md +++ b/guidelines/goals.md @@ -19,7 +19,7 @@ below. 4. Represent structured data alongside translations, such as markup, comments, and metadata. - 5. Ensure compatibility with the localization roundtrip workflows. + 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,