Problem

The current process of manually importing translations by means of po files is not an optimal user experience and requires many individual steps which are not self explanatory. Think you run a site with 40 modules and 3 foreign languages. You'll need to download 123 (3*40 for contrib and 3 for core) translation files and check them for updates manually.

Goal

An automated process to import and update interface translations when a site is installed, build and maintained. The functionality provided by Localization Update module is therefore required to be in Drupal core.

Sub-issues

#1029554: Translations update feature user experience
#1260586: Consolidate .po file import to one directory
#1189184: OOP & PSR-0-ify gettext .po file parsing and generation
#1627006: Collect project information for translation update
#1632384: Import available language list from translation server
#1635084: Track import status of files in the locale .po file directory
#1742894: Get status of local and remote translation files
#1804688: Download and import interface translations
#1804702: Display interface translation status
#1848490: Import translations automatically during installation
#1998056: Automatically update interface translations using cron

Follow-up issues

#1293252: locale_language_insert() and locale_language_update() should only have local cache side effects
#1774024: Create helper function to find release info for a project (follow-up issue to locale collect project information)
#1774032: standardize gettext, .po, po terminology (follow-up issue to locale collect project information)
#1777106: Make check for out of date project update information more robust for sites that are not running cron regularly (follow-up)
#1777126: Have locale and update module share/reuse code for version name parsing
#1787520: Translations not imported on installation
#1832946: Create a small project API to be used by Update and Locale
#1834298: Unify name space in Locale module
#1842362: Replace locale_project table and improve caching
#1842380: Convert $source object to a TranslatableProject class
#1861360: Refactor localization update test so people can just enable the test module to test
#1861930: Use "Drupal translations website" instead of Drupal translation server or Community translation server
#1861934: Rework help text for UI translations and importing po files
#1884996: Progress of Import translations automatically during installation goes to warp speed at the end after 60%
#2021749: Core should not force latest version number translations on sites

Details

The below state diagram describes the processes involved in this automated process.
The following use cases should be supported:

  • Install Drupal with one language other than English
  • Install Drupal as part of an installation profile with one or multiple languages
  • Add/remove/update modules
  • Add/remove/update languages
  • Update interface translations manually and automatically (cron)
  • Use local po files and/or remote translation server as translation source.
  • Respect existing local translations and/or translation changes when importing and updating

Comments

Gábor Hojtsy’s picture

Title:Ingrate l10n_update functionality in core» Integrate l10n_update functionality in core

Fix title typo :)

Sutharsan’s picture

subscribing

Gábor Hojtsy’s picture

I've documented how this fits to overall Druapl 8 plans at http://groups.drupal.org/node/161589.

Bojhan’s picture

subscribe

Gábor Hojtsy’s picture

Title:Integrate l10n_update functionality in core» META: Integrate l10n_update functionality in core
plach’s picture

podarok’s picture

subscribe

droplet’s picture

subscribing

Gábor Hojtsy’s picture

Now that #1260586: Consolidate .po file import to one directory landed, I've submitted #1329410: Extend update data collection to support localization update as a good next step to work on for this. Please help there!

Gábor Hojtsy’s picture

Status:Active» Closed (duplicate)
Issue tags:-D8MI+D8MI-meta

Dismantling meta issues to clean up the D8MI issue list. (Working on a better overview for the issues).

Gábor Hojtsy’s picture

Issue summary:View changes

Add sub-issue

Sutharsan’s picture

Status:Closed (duplicate)» Active
Issue tags:+sprint, +language-ui

Re-opening the issue as meta issue for the Localization Update integration currently being worked on during the D8MI sprint in Barcelona.

Gábor Hojtsy’s picture

Issue tags:-D8MI-meta+D8MI

Use D8MI so it shows up on our board too.

Gábor Hojtsy’s picture

Issue summary:View changes

Rewritten issue summary

webflo’s picture

Issue summary:View changes

Updated issue summary.

andypost’s picture

All patches are introduces new variables so we need consistency in naming for #1714462: Convert language negotiation settings to configuration system

Gábor Hojtsy’s picture

Issue tags:-D8MI, -sprint+D8MI-meta

Now #1627006: Collect project information for translation update is committed, but there is some important followup work going on there. #1742894: Get status of local and remote translation files is being worked on. Help there is appreciated.

Gábor Hojtsy’s picture

Issue tags:+D8MI

Add back lost D8MI tag. Removal of sprint tag was intentional so we can focus on the specific tasks.

Gábor Hojtsy’s picture

Issue summary:View changes

Reference to #1742894 (new issue) added.

Sutharsan’s picture

Gábor Hojtsy’s picture

All right, all sub-issues listed above are done! #champagne :)

Any issues missing? :)

plach’s picture

Awesome awesome work, guys!

plach’s picture

Issue summary:View changes

Updated status

Sutharsan’s picture

Issue summary:View changes

Added follow-up issues.

Sutharsan’s picture

Issue summary:View changes

Cron issue added to list of sub issues.

Sutharsan’s picture

Issue summary:View changes

Updated issue summary.

Sutharsan’s picture

Issue summary:View changes

Updated issue summary.

penyaskito’s picture

I was very tempted of adding D8MI tags to #2045977: Bring l10n_update commands in Drush core, but that's a Drush issue. So just catching your attention there in the meanwhile.

Gábor Hojtsy’s picture

Status:Active» Fixed

I think this should be mighty fine to close as fixed at this point.

Status:Fixed» Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.