I'm not sure what you mean. It sounds like you are saying to keep 5 different versions 
of every page.
The pages are composed of many small elements, buttons, labels, form fields, free 
text, etc. layed out in various places on the page. There is no ONE big piece of text 
to be included in one place. All of the labels and buttons and text must be 
substituted. The CF code and HTML code is interspersed all in and around these. To 
make all of the elements with English text as separate include files would mean having 
hundreds of include files each only one or two words long.
Did I misinterpret what you said?

At 10:51 PM 8/4/00 -0700, Richard Ramos wrote:
>Why not have a session id that chooses one language and use <cfinclude> to
>add the page in the language the user selects?  That way when you go to
>another page it brings up only the content for that language.
>
>Richard Ramos
>Network Administrator
>Softitler Net, Inc.
>www.softitler.com
>[EMAIL PROTECTED]
>
>----- Original Message -----
>From: Peter Theobald <[EMAIL PROTECTED]>
>To: Dan Haley <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
>Sent: Friday, August 04, 2000 10:15 PM
>Subject: Re: Translations on your website . . .
>
>
>> Dan, I hope you dont mind I decided to share this with the list...
>>
>> Please tell me how you are currently doing it, as I'd like to hear
>everything on the topic.
>>
>> We were originally just doing the site in English and French, and planned
>to have two completely parallel versions of the site. UGH! What a pain to
>maintain. We were spending all our time putting changes into both versions
>of the page. Now we are doing English, French, German, Italian, and Spanish
>so it is out of the question to maintain 5 parallel sites!
>>
>> We needed a way to efficiently substitute the appropriate text in
>whichever language, and to maintain the lists of text.
>> We looked at XML/XSL (too complex), we looked at having database queries
>pull each and every label out (too slow).
>>
>> We finally decided to put every single label and text in the entire site
>into variables in a structure, and encase the entire page in one long
><CFOUTPUT> do to the substitution (instead of hundreds of little
><CFOUTPUT>s).
>> Originally we were going to INCLUDE a file with:
>>
>> <CFSCRIPT>
>> enlabel.welcome = "Welcome";
>> delabel.welcome = "Velkommen";
>> frlabel.welcome = "Bienvenue";
>>
>> and so on...
>>
>> But after the great help of people on the CFTALK list I learned a few
>things about scoping variables. Now I can store all the values in the
>database for great maintainability and put the values into an Application
>scoped variable that only gets loaded once.
>>
>> table multilingual
>>         language char[2]
>>         labelname char[15]
>>         value varchar[1000]
>>
>> We will build appropriate admin pages, and an import facility from EXCEL
>files.
>>
>> Now, in the Application.cfm file we do ONE initial load into an
>Application scope variable (or a Server scope variable - what is the
>difference??) that is only executed ONCE like so:
>>
>> // Load all multilingual values ONCE
>> If (NOT IsDefined("Application.langlabels")) {
>>         query all rows from multilingual
>>         lock application
>>         application.langlabels = new array (two dimensional hash/struct)
>>         loop for all rows {
>>                 application.langlabels[language][labelname] = value;
>>                 application.langlabels['db'][labelname] = labelname; //
>for debugging language 'db' will show labels on page
>>                 }
>>         unlock application
>>         }
>>
>> // for every page, load local variable with appropriate language values
>(to avoid locking every access)
>> readonly lock application
>>  label = new array (one dimensional hash/struct)
>>  label = langlabels[session.currentlanguage]
>> unlock
>>
>> ---------------
>> Now in each page I put <CFOUTPUT> at the top and </CFOUTPUT> at the
>bottom.
>> I got rid of all my old plain <CFOUTPUT>s
>> I fixed all my db query <CFOUTPUT QUERY='queryname'> to
></CFOUTPUT><CFOUTPUT QUERY='queryname'>
>>         and </CFOUTPUT> to </CFOUTPUT><CFOUTPUT>
>> I did this because you can't nest CFOUTPUT blocks :-(
>> I fixed all # to ##
>> And I pulled out all English text and replaced it with #label.varname#
>>
>> Phwew....
>> Pulling out all the English text is a big job and we're not done yet. I'll
>let you know how it works!
>>
>>
>>
>> At 03:27 PM 8/4/00 -0700, Dan Haley wrote:
>> >I'd love to hear more on how you are doing translations . . . we are
>> >embarking on a rebuild of both the front-end and the back-end of our
>website
>> >and we need to come up with a better way of handling translations.  Let
>me
>> >know if you'd rather I call you and I can do that too.  I'm PST in the
>US.
>> >
>> >Thanks,
>> >Dan Haley
>> >Telect, Inc.
>>
>>
>> --------------------------------------------------------------------------
>-
>> Peter Theobald, Chief Technology Officer
>> LiquidStreaming http://www.liquidstreaming.com
>> [EMAIL PROTECTED]
>> Phone 1.212.545.1232 Fax 1.212.679.8032
>>
>> --------------------------------------------------------------------------
>----
>> Archives: http://www.mail-archive.com/[email protected]/
>> To Unsubscribe visit
>http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or
>send a message to [EMAIL PROTECTED] with 'unsubscribe' in
>the body.
>>
>
>------------------------------------------------------------------------------
>Archives: http://www.mail-archive.com/[email protected]/
>To Unsubscribe visit 
>http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a 
>message to [EMAIL PROTECTED] with 'unsubscribe' in the body. 


---------------------------------------------------------------------------
Peter Theobald, Chief Technology Officer
LiquidStreaming http://www.liquidstreaming.com
[EMAIL PROTECTED]
Phone 1.212.545.1232 Fax 1.212.679.8032

------------------------------------------------------------------------------
Archives: http://www.mail-archive.com/[email protected]/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to