Drupal 8 Multilingual Initiative (D8MI)

Get Started. It's Free
or sign up with your email address
Rocket clouds
Drupal 8 Multilingual Initiative (D8MI) by Mind Map: Drupal 8 Multilingual Initiative (D8MI)

1. Language APIs

1.1. Break up locale.module to pieces

1.1.1. Establish standalone language.module

1.1.1.1. Change language schema to use langcode

1.2. We call too many things language

1.3. API to save languages

1.4. API to delete languages

1.5. API to list languages

1.6. Clean up use of LANGUAGE_NONE

1.7. Clean up language_default()

1.8. Refactor "enabled" bit to be a set of bits

1.9. Language of parts markup in output

1.10. Add upgrade tests for locale module

1.11. Change path schema to use langcode

1.12. Convert enabled column to status

1.13. Naming cleanup: rename drupal_multilingual() to language_multilingual()

1.14. Unify language_list() and locale_language_list()

1.15. Convert comment schema to langcode

2. New node

3. Langauge assignment

3.1. Sync list of languages in core with localize.drupal.org (manually for now)

3.2. Decouple path module from locale

3.3. Get rid of locale_language_name

3.4. Decouple node module from locale

3.5. Decouple comment module from locale

3.6. Form API language selector

4. Language management usability

4.1. Make English a first class language

4.2. Rework language admin listing UI

4.3. Improve "add language" usability

4.4. Decouple domain/path config from languages

4.5. Remove pseudo config-translation from languages

4.6. Refactor the enabled checkbox for multiple uses of languages

5. Language negotiation APIs

5.1. Decouple domain/path config storage from languages

5.2. Unify negotiation hooks, APIs and functions

5.2.1. Unify language types / bootstrap functions

5.3. Document language negotiation API

5.4. Improve language detection from browser

5.5. Remember provider that selected language for later use

5.6. Convert language globals to contexts (WSCCI)

6. Langauge negotiation usability

6.1. Decouple domain/path config from languages

6.2. Better defaults for negotiation on installation

6.3. Add distinct admin UI language option

7. Better translation APIs

7.1. Make t() formatter available as its own function

7.2. Implement msgctxt context in JavaScript too

7.3. Better/consistent location tracking for translations

8. Improve translation management APIs

8.1. Separate gettext parsing from locale module code

8.2. Remove textgroup support from locale

8.3. Separate gettext API from locale database entirely

8.4. CRUD for locale_source and locale_target

8.5. Decouple interface translation data from language schema

8.6. Better error handling for .po file imports

9. Integrate l10n_update module in core

9.1. Consolidate .po import into one directory

9.2. Rework update status API to support us

9.3. Update standard language list from localization server

9.4. Extend localization server language list with more information

10. Entity/field language API

10.1. Move entity system to a module

10.2. Make entities classed objects, introduce CRUD

10.3. Add language to default entity schema

10.4. Define language handling for entities

10.5. Make title behave as a field (again)

10.6. Translatable properties (@todo)

11. Entity/field translation UI

11.1. Move translatable fields UI into core

11.2. Add translation information to content listing admin page

11.3. Add search to the content listing admin page

12. Other usability improvements

12.1. Improve installer language selection

12.2. Enhance installer language selector

13. Configuration translation (@todo)

14. Language dependent listings (@todo)