I have solved most of this problem by adding a request filter [1] that sets the PersistentLocale on every request and thus adding the locale to every url throughout the application. Though /url and /en/url still have duplicate content, nothing in my app links to /url anymore so google won't index it.

The only duplicate content left is on / and /en/start. But I'll solve that with a redirect I think, or maybe, make sure that all links in my app to the home page go to / in stead of /locale/Start

Cheers,
Joost


[1]
public RequestFilter buildLocaleFilter(
@InjectService("PersistentLocale") final PersistentLocale persistantLocale, @InjectService("ThreadLocale") final ThreadLocale threadLocale) {

       return new RequestFilter() {

           public boolean service(Request request, Response response,
                   RequestHandler handler) throws IOException {

               persistantLocale.set(threadLocale.getLocale());
               return handler.service(request, response);
           }

       };
   }

Howard Lewis Ship wrote:
Maybe my intention is that you would supply your own mechanism by
rewriting URLs, but still ...

On Tue, Jan 5, 2010 at 5:54 PM, Howard Lewis Ship <hls...@gmail.com> wrote:
Seems like a bug to me that if you turn ENCODE_LOCALE_INTO_PATH off,
it doesn't then substitute some other approach (like a cookie from
5.0, or a query parameter).

On Tue, Jan 5, 2010 at 5:11 PM, Thiago H. de Paula Figueiredo
<thiag...@gmail.com> wrote:
Em Tue, 05 Jan 2010 16:33:46 -0200, Stephan Schwab <s...@caimito.net>
escreveu:

Thiago,
Hi!

I tried that but now I cannot switch languages any more. By switching I
mean through a component that sets the PersistentLocale.
I've never tested disabling the locale encoded into path myself.

After setting SymbolConstants.ENCODE_LOCALE_INTO_PATH to false the locale
doesn't get encoded in the path anymore and apparently that is some kind
of a requirement for the PersistentLocale thing to work.
Might that be a bug? I've created TAP5-972.
I guess it isn't a bug because it's exactly how it works. I would try to
override the PersistentLocale service with an implementation that uses
cookies, just as it was before 5.1

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and
instructor
Owner, software architect and developer, Ars Machina Tecnologia da
Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



--
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com






---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to