- see footer for list info -<
Here is how I think it should be based on what u have shown, but I
think you should also be looking at the code that uses the
request.language variable, just setting them will not do anything by
itself if nothing is using it.
<cfparam name="request.language" default="french">
<!--- remove language from querystring --->
<cfset query_string =
ReplaceNoCase(query_string,'language=english','')>
<cfset query_string = ReplaceNoCase(query_string,'language=french','')>
<cfif server_name is "www.111translations.com">
<!--- do you really need this ? --->
<cfset request.language="english">
</cfif>
<cfif isdefined('URL.language')>
<!--- if language is set by a link set request var and cookie to
that language --->
<cfset request.language=URL.language>
<cfset cookie.language = url.language>
<cfelseif isdefined('cookie.language')>
<!--- otherwise if cookie exists, use its value --->
<cfset request.language=cookie.language>
</cfif>
Russ
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Shawn Fawcett
Sent: 06 June 2008 00:21
To: Coldfusion Development
Subject: Re: [CF-Dev] setting language problem
- see footer for list info -<
I'm hurtin' here. Something still really wrong.
<cfif isdefined('request.language')>
<cfset query_string =
ReplaceNoCase(query_string,'language=english','')>
<cfset query_string = ReplaceNoCase(query_string,'language=french','')>
<cfelseif server_name is "www.111translations.com">
<cfparam name="request.language" default="english">
<cfelseif isdefined('cookie.language')>
<cfset request.language = cookie.language>
<cfelse>
<cfparam name="request.language" default="french">
</cfif>
<cfif isdefined('URL.language')>
<cfset cookie.language=URL.language>
<cfset query_string =
ReplaceNoCase(query_string,'language=english','')>
<cfset query_string =
ReplaceNoCase(query_string,'language=french','')>
</cfif>
Snake wrote:
- see footer for list info -<
Well firstly I will point out that u get an error on the page as
cookie.english does not exist
Which is probably because this bit of code doesn't make sense
<cfelseif server_name is "www.111translations.com
<http://www.111translations.com>">
<cfset request.language = cookie.english>
<cfparam name="request.language" default="english">
<cfelse>
<cfset request.language = cookie.french>
<cfparam name="request.language" default="french">
</cfif>
Surely it should be
<cfelseif server_name is "www.111translations.com">
<cfparam name="request.language" default="english">
<cfelse>
<cfparam name="request.language" default="french">
</cfif>
But request.language wont be set by a cfparam if it already exists.
I would suspect that your page is not changing because it relies on
the cookie, which hasn't been set until after the language has been
set and the page has been reloaded. So you need to set and use the
request variable first so that it is applied before you render the
page, then assign it to the cookie.
Russ
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Shawn Fawcett
Sent: 05 June 2008 23:24
To: Coldfusion Development
Subject: [CF-Dev] setting language problem
- see footer for list info -<
I'm having trouble getting the right behavior when setting the
language in our site.
on the index.cfm page I have a choice between english and french
(upper right). When I click on it, it seems to request the language
but the language only changes when I click again or refresh the page.
the code behind the language links is:
<cfoutput> <cfif request.language is "french">
<p><a href="#script_name#?#query_string#&language=english"
>English</a><br />
<a href="#script_name#?#query_string#&language=french"
class="active">Français</font></a></p>
<cfelse>
<p><a href="#script_name#?#query_string#&language=english"
class="active">English</a><br />
<a
href="#script_name#?#query_string#&language=french">Français</font></a></p>
</cfif> </cfoutput>
I have a seperate file act_setlanguage.cfm:
<!--- set the default language or change the language when selected
--->
<cfif isdefined('cookie.language')>
<cfset request.language = cookie.language>
<cfelseif server_name is "www.111translations.com
<http://www.111translations.com>">
<cfset request.language = cookie.english>
<cfparam name="request.language" default="english">
<cfelse>
<cfset request.language = cookie.french>
<cfparam name="request.language" default="french">
</cfif>
<cfif isdefined('URL.language')>
<cfset cookie.language=URL.language>
<cfset query_string =
ReplaceNoCase(query_string,'language=english','')>
<cfset query_string =
ReplaceNoCase(query_string,'language=french','')>
</cfif>
the testing site is here: www.111translations.com
<http://www.111translations.com>
cheers,
Shawn
_______________________________________________
For details on ALL mailing lists and for joining or leaving lists,
go to http://list.cfdeveloper.co.uk/mailman/listinfo
--
CFDeveloper Sponsors:-
- cfdeveloper Hosting provided by www.cfmxhosting.co.uk -<
- Lists hosted by www.Gradwell.com -<
- CFdeveloper is run by Russ Michaels, feel free to volunteer your
help -<
_______________________________________________
For details on ALL mailing lists and for joining or leaving lists,
go to http://list.cfdeveloper.co.uk/mailman/listinfo
--
CFDeveloper Sponsors:-
- cfdeveloper Hosting provided by www.cfmxhosting.co.uk -<
- Lists hosted by www.Gradwell.com -<
- CFdeveloper is run by Russ Michaels, feel free to volunteer your
help -<
_______________________________________________
For details on ALL mailing lists and for joining or leaving lists,
go to http://list.cfdeveloper.co.uk/mailman/listinfo
--
CFDeveloper Sponsors:-
- cfdeveloper Hosting provided by www.cfmxhosting.co.uk -<
- Lists hosted by www.Gradwell.com -<
- CFdeveloper is run by Russ Michaels, feel free to volunteer your
help -<
_______________________________________________
For details on ALL mailing lists and for joining or leaving lists,
go to http://list.cfdeveloper.co.uk/mailman/listinfo
--
CFDeveloper Sponsors:-
- cfdeveloper Hosting provided by www.cfmxhosting.co.uk -<
- Lists hosted by www.Gradwell.com -<
- CFdeveloper is run by Russ Michaels, feel free to volunteer your
help -<