Return-Path: X-Original-To: apmail-openoffice-dev-archive@www.apache.org Delivered-To: apmail-openoffice-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 44FBE106A2 for ; Fri, 23 Aug 2013 16:21:48 +0000 (UTC) Received: (qmail 33047 invoked by uid 500); 23 Aug 2013 16:21:46 -0000 Delivered-To: apmail-openoffice-dev-archive@openoffice.apache.org Received: (qmail 32794 invoked by uid 500); 23 Aug 2013 16:21:46 -0000 Mailing-List: contact dev-help@openoffice.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openoffice.apache.org Delivered-To: mailing list dev@openoffice.apache.org Received: (qmail 32779 invoked by uid 99); 23 Aug 2013 16:21:46 -0000 Received: from minotaur.apache.org (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Aug 2013 16:21:46 +0000 Received: from localhost (HELO mail-la0-f51.google.com) (127.0.0.1) (smtp-auth username jani, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Aug 2013 16:21:45 +0000 Received: by mail-la0-f51.google.com with SMTP id es20so644496lab.24 for ; Fri, 23 Aug 2013 09:21:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=krQcQVIz1tYQzHrCIF74cSpJvZi41tx+Jkz7e55oEB0=; b=IvKpzWSZX4FPjm6iWnl5r95Q8t+SktOktm8KEB3NU48gAaRzksOLa1tPUowCYJ6nS2 8wP34vs5kySpJ9A2D9Rgy0WLFGohTQP2wrGh1hTzBw3whXZhgv8Jo93q1a6JAjsq3Zws vn0u2gY+8melYQmS56RfWDxt2pe9f0XiiYzXgUNpe7/FjJpjw6gi5he5pu7XnbPxeTJz B28PagSBLoKKeyrQNWGMuMTuGXhrSjWUk4os4IDr8KgQtR6hQO5KUcG4vjexvnMYc3dT Uf+IR0QXfBPnA1/NgV/b4n+6bdiKFTqPXg8YTXHKz0XcJN90Zjcb0Zp4EfprgTdmtFpB lAAw== MIME-Version: 1.0 X-Received: by 10.152.8.51 with SMTP id o19mr284756laa.42.1377274903561; Fri, 23 Aug 2013 09:21:43 -0700 (PDT) Received: by 10.112.141.167 with HTTP; Fri, 23 Aug 2013 09:21:43 -0700 (PDT) In-Reply-To: References: Date: Fri, 23 Aug 2013 18:21:43 +0200 Message-ID: Subject: Re: Brainstorming: Can we refactor the website to make translation easier? From: janI To: dev Cc: l10n@openoffice.apache.org Content-Type: multipart/alternative; boundary=001a11c352aa628ab104e49fcd6a --001a11c352aa628ab104e49fcd6a Content-Type: text/plain; charset=ISO-8859-1 On 23 August 2013 17:58, Rob Weir wrote: > (Responses to dev@openoffice.apache.org, please) > > Obviously our website is quite large. Google reports 21207 pages > indexed in the www subdomain, and a further 48075 pages in the wiki > subdomain. But for purpose of this post, when I talk about the "home > page" I'm talking about the contents of our main index.html and the > most commonly visited pages directly linked to it, e.g., the > why/download/product/get-involved, etc. pages. > > This core homepage content amounts to around 25 pages. > > Today this content is scattered around the content tree. Some of it > is in the root. Some of it in /why and /download directories. Some > of it is template-related and is in /templates rather than in > /content. > > As a test I tried to create my own NL page, in the fictitious "xx" > locale. You can see it here: http://www.openoffice.org/xx/ > > It is not working correctly, but it already required a lot of > non-trivial hacking: > > 1) I had to hunt around and guess which files to copy. Do I copy > scripts, images and CSS, or just content pages? Some of the > directories had out-dated content that was not linked to my anyone. > It was hard to figure out what the minimum amount of content needed > was, and where it was located. > > 2) The main index.html file had to be edited to refer to CSS in the > root, rather than current directory > > 3) Download page is missed up, missing CSS and/or scripts. > Presumably I need to copy something into the xx/download dir, or edit > scripts to make them refer /download off the root. > > 4) The /xx/why pages are not showing the right side navigation now. I > must have missed something there as well. > > Of course, I could figure the above out eventually. It just requires > some time and effort and trial and error. But none of this is > documented, and even if it were this is a fragile approach and > probably beyond th web development skills of a typical translator. > > But we do know this has been done for some languages. They got it to > work. The German page is a good example: > > http://www.openoffice.org/de/ > > Now this looks good, but it is still a messy thing from a maintenance > perspective. If we make structural changes to the main English page, > then those changes need to be manually merged into to every NL page. > > What can we do to improve this? > > Here's my idea: > > 1) What if we refactored the home page so it was all self-contained > into these directories: /scripts, /styles, /images and /en/? > > 2) Make the /en directory be pure content. Only the stuff that needs > to be translated. It loads everything else, scripts, images, etc., > via URLs relative to the root, e.g.., in /scripts, /styles, etc. > > 3) Reduce or eliminate any embedded Javascript within pages. For > example, refactor the code in download/index.html so it is external > and depends on JSON resource files for translated strings. Aim so > translators never need to touch script. > > 4) Ultimate goal is for someone to be able to jump start a new NL home > page by simply requesting an svn copy of the /en directory, and then > editing the resulting files. No one should ever need to do what I'm > doing with the "xx" pages. > > 5) Maintenance is far easier. Most things like changing the scripts, > is done in one place only. But even changes to the HTML are easier. > Since we then have a common branch point via the svn copy, when > structural changes are added to the main /en HTML, these can be merged > in more elegantly to the translated versions, using Subversion. > > 6) Via Apache redirects we can ensure that the default call to > www.openoffice.org/ goes to /en/. Conceivably we could also do locale > detection and send requests automatically to the appropriate NL home > page. > > A variation on the above would be to use Pootle, rather than svn > copy/merge to maintain the translations. But that would require the > same refactoring work to enable it. And it would require further > investigation to identify a way of extracting and merging translation > strings in MDText files as well as (X)HTML files. > > This is obviously more than a one-person task. So I'd be interested > in hearing what you think in general about this approach, whether > there is a simpler alternative I've missed, and whether this is > something you'd be interested in helping with. > I like a lot of your ideas, let me add my own experience. If the our pages do not contain text, but that is totally outsourced in one or more json objects, then translation becomes easy, and the pages themself stay simple. when the url is called without arguments the "en-json" is used, and if called with lang="xx" "xx-json" is used. If we use json objects, then pootle becomes an elegant tool for translation, because it knows how to handle xml, and if we want to stay with po files its about 1 day work in genLang. A number of top companies (incl. the one I used to work for) do it like this, they of course then hire a translator to translate the json objects. Splitting functionality and text is the key, when thats done the rest is trvial work. This will of course make cms a bit top kill, but I can live with that :-) rgds jan I. > > Regards, > > -Rob > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org > For additional commands, e-mail: dev-help@openoffice.apache.org > > --001a11c352aa628ab104e49fcd6a--