Internationalization (D7)
Work is underway to bring even more multilingual and multinational support into Drupal core.
Here are some priority issues you can help with:
Some priority new development
A top priority in the sprint is to code up a solution or solutions for core to translate objects.
There are two leading contenders for how to do this. Likely we will work on both:
- #367603: Object translation option #3: 'translatable' schema field attribute, parallel tables
This approach would add schema information to tables and fields and provide automatic table creation and data handling based on these attributes. For example, the taxonomy term table's 'name' and 'description' fields would be marked 'translatable' in the schema. Locale module would automatically create a table with tid, name, description, and language fields. taxonomy_term_load_multiple() (or a locale rewrite of its queries) would load the translated name rather than the original one as needed. - #367595: Translatable fields
This issue would take the new Fields API and add translation, such that every object that supported fields would get translation by default.
One or both of these solutions could be the basis for solving these outstanding needs:
- #135464: Add language options to block visibility
- #157245: Translatable taxonomy vocabularies and terms
Even if we have one or both of these solutions, though, we will still need a way to translate user-defined strings that aren't in the form of fields or direct object properties. Like variables (embedded in serialized data), menu items (already have a framework for translation, but no solution in core), etc.
Relevant issues:
- #361597: CRUD API for locale source and locale target strings
For Drupal 6 we got partway towards generalizing the locale system to be able to handle more than code-based strings. But currently we still need a contrib module (e.g., i18nstrings) to actually handle the data.
What we need is a set of CRUD APIs in core for handling locale data.
Maybe relevant: #365899: API methods for schema-based load and delete operations - #132293: Multilingual menus
- #155381: Minimum support for multilingual variables
Other issues we could tackle if there are enough interested people include:
- The UI for translating strings is hopelessly dated. In particular, after updating a particular translation, there's no way to return to a list of strings you're editing without submitting a whole new search.
See discussion at http://groups.drupal.org/node/3916.
See #141800: Translation Interface Overview UI suggestion. - #282178: Language negotiation overhaul
Various proposed enhancements of language negotiation, including enabling users to select one or more preferred content languages as well as an interface language. - #132075: Attach fields to translation sets.
- #365934: Handle big texts / module text files / readable and localizable / get rid of _user_get_text()
- #347351: Enable translation fallbacks
- #334283: Add msgctxt-type context to t()
Patches from old Patch Spotlight
Here are a couple patches moved over from the previous patch spotlight:
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion