Hi, simran. Here's how I've handled the problem in
http://www.itia.ntua.gr/ and http://www.meteo.ntua.gr/, sites provided
in English and Greek.

My templates do not have messages, but only variables. For example, no
template says

  <h2>Research projects</h2>

Instead, I have

  <h2><tmpl_var name=Research_projects></h2>

More precisely, since my templates get messed up with too many
variables, I'm using a filter to convert $Variable into
<tmpl_var name=Variable>, thus my template actually says

  <h2>$Research_projects</h2>

Thus, I have only one set of templates for all languages. It is the
Perl script's responsibility to make the correct assignments to the
message variables.

Where are the actual strings stored? I've used two different methods
for the two web sites. One method is store them into the database. I
have the following table:

CREATE TABLE tblStrings
  (StringId INTEGER NOT NULL,
   Text_el TEXT,
   Text_en TEXT,
   PRIMARY KEY (StringId));

(One might prefer (StringId, LanguageId, text), which is more
scalable.)

I have found this to be a good method. One of its advantages is that
the strings are managed by the software we have in order to enter data
into the database. Thus, users of that software are able to alter the
strings, and not only web developers or template designers. However,
this is on a MySQL which runs on the web server, so it's relatively
fast, light, and reliable. But for the other web site, which uses a
remote Oracle server, I wanted to limit database access, and I used
files: I have a directory named "strings", which contains directories
"el" and "en", which contain files, one file for each message, the
file name being the string id. Not the coolest way, but it works.

That's the most part of it. I'm not going into more details, but you
can e-mail me for further questions.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to