Slightly tongue in cheek title, but the idea is to use what we have already in a more
effective way.
What follows leads to a simpler set up than present, but more consistent and productive!
It assumes fairly static content, only published infrequently, but allows individuals to
experiment as much as they like. It is a practical application of the separation of
content from styling. It also loses the curly braces stuff and the PO files. Can't be
done? Read on, in rough note form:
1. Use mod_rewrite RewriteCond %{HTTP:Accept-Language}
No need for choose site language drop down
If no relevant file use default language
No need to worry about language specific URLs
No HTTP redirects, but mod_rewrite points path to relevant language directory, or
default language if relevant file is not translated
2. Use HTML fragments for content, styled separately with CSS
Master directory with default language, contains header, navigation, footer and
content fragments
Directory is listing of available content that needs translating, so content list
held in one place. Translators can pick the file they want to translate. mod_rewrite will
point to default language file if a translation is not present.
No need to learn yet another set of codes for a given CMS, just a few good old
HTML tags - H1,H2, P, IMG, A, UL, OL and LI should be good enough for most? This needs to
clear guidance from experience.
Clean HTML. No indentation, Line break in source for new section. Minimise use of
class, id and div.
Translators don't need to see header stuff, etc. only HTML content fragment.
Only problem is TITLE and META name=description translations. Use <!-- -->
and script below to extract?
Need to view HTML fragment. OK in Firefox. Has to have .html extension in Opera.
Crashed Midori. OK in IE6.
Need to make sure UTF-8(?) works in text editors, saving, viewing, distributing.
3. Use git to manage the HTML fragments
Authentication scheme already in place
Distributed system. Translators can work on one page only and feed back to head
translator. Flexibility in working.
Allows changes to be made clear through diffs.
Each language has its own directory accessed using mod_rewrite
Recommend minimal set of git commands for translators. clone --depth ?, commit -a
translated_fragment, patch?
Allows string freeze using a tag
4. Script to combine fragments
CSS, javascript accessed outside of HTML fragments so can be worked on separately to
text.
Separation of style from content.
Script pulls together header fragment, main navigation fragment, relevant content
fragment and footer fragment.
This is essentially a rationalisation of the existing set up in an attempt to make things
clearer and simpler. Ending up with a few directories only such as:
http://git.fedorahosted.org/git/?p=fedora-web.git;a=tree;f=fedoraproject....
Get prototype up and working in next two months. Need one or two translators to test. Need
to produce documentation of process, specifically how to use git and how to edit HTML
fragment (don't translate class and id attributes). Work towards simplicity and
clarity of procedure before communicating with rest of team. Identify any problems that
need to be resolved.
I'm away next week so won't be able to elaborate on this for a while. Happily
produce the relevant mod_rewrite commands when I'm back.
All the best
Al