Staging Translations Import needs Review?

Asked by Ulf Adams

I'm investigating handling translations for my open source project in launchpad. I've setup the project in the staging area (staging.launchpad.net) and uploaded a translation template. However, it seems that the staging area also requires someone to review the template. Is that true?

There are also a couple of ugly bug reports (119602, 190250, 157138). For example, one about horrible multi-week waits for the review and bad feedback. Some of these are over a year old. I get the impression that Rosetta isn't actively being worked on, which in turn doesn't encourage me to entrust my precious project to launchpad. Are these fears unsubstantiated?

Question information

Language:
English Edit question
Status:
Answered
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jeroen T. Vermeulen (jtv) said :
#1

Be careful in using staging for testing! Its database is normally reset to a fresh copy of the production one every day. For long-running demos, use demo.launchpad.net instead (but beware that it's likely to be an old version of Launchpad, because it'd take a lot of work to update its code without also resetting its database to a fresh copy).

About review: any uploaded template that is completely new, or whose path/filename doesn't match an existing one in the same series needs manual review. For new projects we need to verify that they meet our requirements, and for existing ones a human checks whether it represents a new template or an existing one that was just renamed. This review happens once a week except in extreme circumstances. Cases with long delays are usually for new projects, and are often traced back to emails from us requiring more information not being received, or even not read. The backup mechanism for this is to ask in the Answers section for Rosetta, which will alert the staff.

Known templates, as well as their translations are "reviewed" automatically by a script that runs several times a day. After that, they are normally imported within minutes. Translation files may be held for manual review however if their file names do not encode their language codes in a way we can safely recognize (e.g. po/mytemplate/da.po), and do not match known names of translation files in the same release series.

Launchpad Translations is definitely being actively maintained! You can follow its development online, and you'll see that a lot of work is done for every monthly release. The documentation is being rewritten and a good portion of the result is waiting to be moved out of draft (see help.launchpad.net). We hope the user interface has become a bit clearer in the past few weeks as well. We're going to do more work on that; most of the complaints about long waits are traced back to people not receiving (or reading) emails asking for more information, or missing the text that says their project hasn't been set up to use Launchpad for Translations yet. But with an application and data sets of this size, there is always a lot to do.

Revision history for this message
Ulf Adams (ulf-ofahrt) said :
#2

<sarcasm>Aha. Before I go over to demo.launchpad.net, are there any other testing setups I should know of? </sarcasm>

No, I think launchpad is cool, especially Rosetta. I just like to test the whole translation thing before I commit to it. The problem is the following:

My project is written in Java, and we don't use gettext (right now, we couldn't, even if we wanted to). It's a server-side component (Servlet) and it has to support multiple different languages at the same time. It also uses a custom template engine. The template engine supports Internationalization, but - at this time - doesn't support .po files. So I have to go and write some code to support them. I have read the gettext (po-file) documentation, and I am confident that I can make it work. But, before I put more time into this, I would like to have a way to test Rosetta (as a project administrator), to see exactly what we need to support and to get an idea of how it's going to work.

To do just that, I was looking at creating a project in launchpad and try some things out (especially Rosetta). Note that at this time, I do not have a complete po-file, I am just making up stuff. When I went into the launchpad project registration thing, it said that for testing, I should use the staging area. So I went and looked at the staging area. I created a demo project and enabled Rosetta support. I uploaded a (demo) .po-file, and...

...waited...

...waited...

...and realized that even in the staging area, launchpad requires the uploaded .po-files to be reviewed, which noone does (because that would be stupid, right?). So I went looking in the bugtracker if anyone has encountered this issue before, and I saw all those really old bugs, and I thought: Gosh, wait, am I really going to commit to using Rosetta for translations?

So: I'd like to try out Rosetta, with as little hassle on my side as possible. Where and how?

Here's what's not going to work for us: We are not going to wait for a week for po files to be reviewed every time I upload a new version.

Yes, I understand that sometimes, occasionally, perhaps, if there are not too many changes, they can be accepted automatically. Whatever that means... (Plus I still don't understand what these reviews are actually good for.)

I am scared of things that I don't understand. Switching to Rosetta is - for us - a big move, and if I'm not convinced it's the right thing, it ain't gonna happen.

Revision history for this message
Jeroen T. Vermeulen (jtv) said :
#3

You are right, we're not explaining staging and demo anywhere! I've notified the translation team and filed the problem as bug 252626. It was well received, so hopefully it will be fixed soon.

I see two options for testing your project:

[A] Register the project in regular Launchpad, after which it will start showing up on staging. (If you decide not to use Launchpad after all, no harm done; a project can be registered in Launchpad without being hosted here). Then, test the _translation_ stuff on the staging copy of the project. This will have to happen in short test runs, limited to one day.

[B] Register the project on demo and do all testing there. (I see it's just been updated to a recent version).

The scripts for uploading and downloading translations do not normally run on staging and demo, so when you want an upload processed or an export generated, you'll have to ping me (jtv on #launchpad) or an administrator. The advantage of testing on demo is that once your template is imported, any updates and all of its translation files can be imported by running first the automated-review script and then the import script. On staging there'd be an extra step that the admins can't do.

Now, about those review delays. In production use of Launchpad, a template is held for review only if:

(a) Its file name or directory changes. The system can't be sure whether it's meant to be the same file or a new one, so a human needs to check.

(b) It is the first translation file for the project. At this point we need to check whether it meets various policies: is the project free software? Does the uploader represent or coordinate with the authors? For gettext files, does the template use English as its starting language?

(c) It is completely new in its release series. Every product release series has its own separate translations, and since release series represent major changes to your application, you may want your templates named and organized differently for each.

In all other cases, an uploaded template will simply be imported, normally within the hour. Similarly, translation files are held for manual review if:

(a) It is not clear to the system what template they belong to. If you use multiple templates in the same project, prevent this by uploading translation files from pages belonging to the right templates; or upload tarballs, with each template (together with its translations) in its own directory.

(b) The language code could not be recognized from the translation file's name. To prevent this, name each translation file after its language code with nothing else but the file name extension: de.po for German, nb.po for Bokmål, fr.po for French, and so on. Or upload each translation file from the page for that specific translation.

(c) The language code extracted from the file name is unknown or not likely to be correct. Use a 2-letter language code if ISO 639 assigns one to the language, or its 3-letter code otherwise. Never include a country code in the language code except in the few cases where this is necessary: Portuguese is pt, but Brazilian Portuguese is pt_BR. There is no cn for Chinese; Traditional is cn_TW and Simplified is cn_ZH. British English is en_GB.

Here, again, all other cases will go through automatically and quickly.

Can you help with this problem?

Provide an answer of your own, or ask Ulf Adams for more information if necessary.

To post a message you must log in.