Page MenuHomePhabricator

Get Phabricator i18n ready for
Closed, ResolvedPublic


  • We get a "sync" process working, so strings can be imported from Phabricator to Translatewiki.
  • We get an "export" process working, so strings can be exported from Translatewiki to a format we can read.

The link to the full comment contains a lot more information and context. This task focuses to the technical improvements required in Phabricator to allow Wikimedia and other Phabricator users to T225: Use to localize Phabricator unofficially, at their own discretion.


Event Timeline

Nemo_bis renamed this task from Enable Phabricator to interact with to Get Phabricator i18n ready for 24 2016, 2:38 PM
Nemo_bis added a project: I18n.
Nemo_bis updated the task description. (Show Details)

Quim, what does "unofficially" stand for? Thank you.

I think "unofficially" means that translatewiki would not become the official translation tool for phabricator upstream.

"unofficially" here means that

  • Wikimedia Phabricator and any other Phabricator instance will be able to use translation files
  • these files will be advertised upstream as community resources
  • upstream will not be responsible for these translations (quality, bugs, etc)
  • upstream will not stop others willing to create their own translation files
  • these files will be advertised upstream as community resources
  • upstream will not be responsible for these translations (quality, bugs, etc)

This makes very little sense; what matters is that Phacility gives Phabricator proper i18n. Actual localizations are the only way to gauge whether i18n is working. Also, the en and qqq locale are tightly coupled with development. But I understand that Phabricator developers have little experience with i18n and may need some time to learn how things work.

what matters is that Phacility gives Phabricator proper i18n.

If "proper i18n" is equivalent to "i18n ready for", then this is what this task is about.

@Nemo_bis, your negative opinions about the Phabricator developers are counterproductive at best, and you keep posting them here and there. Please stop. They don't represent the attitude of collaboration Wikimedia wants to keep with the Phabricator project and they don't contribute to anything good. If you want to help resolving Phabricator (Upstream) tasks with the Phabricator project, good. If not, there are many other projects where you can contribute to.

Any chance that the translatewiki import may occur before Wikimania? There will be a translathon during the event, so this would be a good match.

@Psychoslave this is an interesting idea. Just for reference, Wikimania starts on June 22.

Are you referring to T132468: Translathon for Wikimania 2016? We could mark this task as blocking that one, as an aspiration. The Translathon will happen regardless of the status of this task, but we might get some volunteers interested in translating Phabricator strings, indeed.

Yes, that't probably where I heard about it.

Ok for marking this task as a blocking one for T132468, as far as I'm concerned.

Quick summary of upstream activity: In, Nikerabbit and Epriestley have discussed quite some implementation details.

Related patches merged in upstream:

Quoting epriestley in :

We now export strings into projects/<project>/<group>/en.json, etc. For example, here are strings which appear ONLY in Maniphest:;00108900457eda804c9c786dd76ff96620a05195

We now include type information at the top of the human-readable "qqq" string. For example, here is a string with five variables, two of which are plurals:;00108900457eda804c9c786dd76ff96620a05195$64

We now export a frequency.json, with string keys in a list. Since we haven't actually collected frequency data, the order is currently (roughly) random:;00108900457eda804c9c786dd76ff96620a05195

Aklapper claimed this task.

My belief is that we've satisfied all the requirements for Translatewiki to move forward on their side.

There are some additional areas for iteration/improvement on our side, and I imagine there will be ongoing work as we run into issues and surprises, but I believe this isn't blocked by anything on our side.

Hence I'm closing this task as resolved.
Any potential specific issues coming up in the future should get filed as separate tasks.

Setting up an actual project on is covered in T225: Use to localize Phabricator instead.