[Women-website] Language Negotiation and charsets

Thierry Reding women-website@lists.alioth.debian.org
Sat, 2 Apr 2005 00:17:29 +0200


--fdj2RfSjLxBAspz7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* Jutta Wrage wrote:
[...]=20
> So we _are_ talking about negotiation. Tierry's suggestion would work=20
> against negotiation. Visitors would _always_ have to use the switcher
> and would go nowhere, if a page is not existing in the same language,
> it is linked from.

That is not true. Due to content negotiation, the user will always be
redirected to the negotiated language at the first page access (unless they
access a specific language URL already). I.e.: if you access

    http://women.alioth.debian.org

you will get the negotiated language. Which is good. My suggestion was mere=
ly
to make things so, that *if* a person chooses to use the "language switcher=
",
that person will stay with that language until they explicitly access a page
again that will give them the negotiated language. As example:

    You access http://women.alioth.debian.org, you have German set as
    preferred language, so you get the German page. This is standard
    behaviour, and is a good thing.

    Now you deliberately pick a language from the "language switcher", say
    Spanish, because you want to read the page in Spanish. Thus you go to
    http://women.alioth.debian.org/index.es.html. This is a good thing. From
    there, whenever you click a link, say the link to "foo", you go to
    "foo.es.html", instead of "foo.de.html". If you want to switch back to
    German, you do so via the "language switcher".

> Tierry's suggestion:
>=20
> fo.en.html links to bar.en.html
> fo.de.html links to bar.de.html - which might not exist: Error 404

This would happen if we do that the lazy way, which we won't, right? What I
propose is to only use language-specific links if we are absolutely sure th=
at
the page we link to actually exists. Otherwise, the link should go to a
negotiated page.

For instance:

    You are currently looking at the Spanish involvement page. From there,
    there is a link to the IRC FAQ, which exists in Spanish. So the link go=
es
    to 'ircfaq.es.html'. On the same page, there is a link which goes to the
    profiles page, which does not exist in Spanish. That link should contain
    '../profiles' or '../profiles/index', thus giving you the page in the
    best negotiated language.

> normal behavior:
> foo is called as foo by the visitor.
> foo.de.html links to bar -> user gets bar.html instead of an error if=20
> the german page does not exist (or any other existing language in order=
=20
> his preferences in the negotiation.
>=20
> That is how negotiation works

I am not saying that this is not how content negotiation works. However I do
not believe that it makes sense at all to provide a "language switcher" whi=
ch
switches only the current page, and switches back to the negotiated language
for the next page again. I don't think that would be much of a switch, then.
I do not see why anyone would want to have it this way either. The only case
I can think of where this behaviour might actually be useful is for testing
purposes, and thus should not be included on the page anyway.

Cheers,
Thierry


--fdj2RfSjLxBAspz7
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCTch4hS8Ykk2Ma9MRAmDlAKCNuMgWInyiS+d5LOWINMbDOKKDtgCglSV2
4HgnM0PLjr4uvGOE7SrBgBc=
=Jrnx
-----END PGP SIGNATURE-----

--fdj2RfSjLxBAspz7--