I think other cases show it is not only an i18n issue. In a business listings site I made I have x.com/dir/CityName/Business_Services/Advertising for example.
The top level category Business_Services is optional as the secondary level category name is unique. The CityName could be any city in the state, or "All_Cities". No city means All_Cities. If there is a city but no topic, it shows table of contents for that city only. A top level topic but no secondary level topic, it shows a blog on that topic. As Bill Moseley does, after the dir (which is Dir.pm) I check if there is a valid city. I also made some experimental tags to modify behavior. So you could add "/show_all_cities" at the end and it would do that regardless of the city. (decided not to use that). Also was going to add a "/tags:(x,y,z,w)" style supplement to be able to submit a set of unordered tags but this also proved overkill. However when doing faceted metadata search the order really isn't important and so order in the url sholdn't be either I think. This suggests to me that it would be useful to create a general url windowing module that lets you specify (and validate urls to) an url format in which certain segments of it may be structured differently. By window I mean it lets you look at and define segments of urls. It could pick up collisions between adjacent keywords too. Could also pad missing virtual folder names (like setting All_Cities if not present). I guess you'd define subs for each window spec. The definition would see x.com/dir/[CITYSPEC]/[MAJORSPEC]]/[MINORSPEC] It need not be complicated as the purpose is human readability. I know Accept-Language is good REST but it is less intuitive and personally I detest being forced to read a Japanese page for a website that has perfectly good English on it. It might be useful if you could define a certain format, like YYYY-MMDD for a publication date, for a certain spec. Then it would be easy to pick up on whether it is present or not and you could easily handle "x.com/Jones/2008-0428" as well as "x.com/Fiction/Jones" and even "x.com/Jones/EarlyWorks" (if you allow the date spec to include EarlyWorks, defined as within 10 years of the first PubDate on record). Anyway the fr/en switch is a small subset of this functionality which is otherwise very useful for helping users (and hopefully Google) intuitively navigate orthogonal metadata (think Author, PubDate, Topic) or data organized into hierarchies with crosslinks, like a Yahoo style topic hierarchy. I suppose this is too long a post but it would benefit all catalyst sites if created. I suppose UrlFu or the like. _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/