Drupal 8 Multilingual Initiative (D8MI)
by Gábor Hojtsy
1. New node
2. Better translation APIs
2.1. Make t() formatter available as its own function
2.2. Implement msgctxt context in JavaScript too
2.3. Better/consistent location tracking for translations
3. Improve translation management APIs
3.1. Separate gettext parsing from locale module code
3.2. Remove textgroup support from locale
3.3. Separate gettext API from locale database entirely
3.4. CRUD for locale_source and locale_target
3.5. Decouple interface translation data from language schema
3.6. Better error handling for .po file imports
4. Integrate l10n_update module in core
4.1. Consolidate .po import into one directory
4.2. Rework update status API to support us
4.3. Update standard language list from localization server
4.4. Extend localization server language list with more information
5. Entity/field language API
5.1. Move entity system to a module
5.2. Make entities classed objects, introduce CRUD
5.3. Add language to default entity schema
5.4. Define language handling for entities
5.5. Make title behave as a field (again)
5.6. Translatable properties (@todo)
6. Entity/field translation UI
6.1. Move translatable fields UI into core
6.2. Add translation information to content listing admin page
6.3. Add search to the content listing admin page
7. Other usability improvements
7.1. Improve installer language selection
7.2. Enhance installer language selector
8. Language APIs
8.1. Break up locale.module to pieces
8.1.1. Establish standalone language.module
8.1.1.1. Change language schema to use langcode
8.2. We call too many things language
8.3. API to save languages
8.4. API to delete languages
8.5. API to list languages
8.6. Clean up use of LANGUAGE_NONE
8.7. Clean up language_default()
8.8. Refactor "enabled" bit to be a set of bits
8.9. Language of parts markup in output
8.10. Add upgrade tests for locale module
8.11. Change path schema to use langcode
8.12. Convert enabled column to status
8.13. Naming cleanup: rename drupal_multilingual() to language_multilingual()
8.14. Unify language_list() and locale_language_list()
8.15. Convert comment schema to langcode
9. Langauge assignment
9.1. Sync list of languages in core with localize.drupal.org (manually for now)
9.2. Decouple path module from locale
9.3. Get rid of locale_language_name
9.4. Decouple node module from locale
9.5. Decouple comment module from locale
9.6. Form API language selector
10. Language management usability
10.1. Make English a first class language
10.2. Rework language admin listing UI
10.3. Improve "add language" usability
10.4. Decouple domain/path config from languages
10.5. Remove pseudo config-translation from languages
10.6. Refactor the enabled checkbox for multiple uses of languages
11. Language negotiation APIs
11.1. Decouple domain/path config storage from languages
11.2. Unify negotiation hooks, APIs and functions
11.2.1. Unify language types / bootstrap functions