There was some discussion already wrt i18n URLs, AFAIK it was also written up in the WIKI, however I cannot seem to find it right now. Anyway, there was no agreement about it.
URL scheme: ----------- To summarize, there were several proposals: * wgo/page.html?lang=en - dismissed: not "friendly url"; we should avoid ?... url parameters * wgo/page.en.html - dismissed: does not work well when url points to a directory e.g: wgo/foo/ => wgo/foo.en/ ? problem: wgo/foo.en/bar.en/baz.en.html is bad. * wgo/foo/bar => wgo/fu/bar - should be dismissed: several languages can translate foo as fu * wgo/en/foo/ ; wgo/de/fu/ - perhaps dismissed?: probably unnecessary complication - this would (probably) also require IRIs (international URIs) therefore, the best choice seems to be: * wgo/en/foo/ ; wgo/de/foo/ - with the addition of wgo/foo/, see below Language negotiation: --------------------- While it is very useful if the language is "auto-detected" for the user, there must be a way to view a page in a specific language, no matter the settings. * proposed language selection priority: 1) URL 2) cookie 3) browser setting 4) fallback to default (English) Auto negotiation: I propose that language auto-negotiation happens only on URLs, which do not include a language identifier. If the user visits a "generic" URL (i.e. URL without the lang id), she should be http-redirected to the negotiated language page (priority as described above). This avoids different kinds of content under the same URL, which would confuse caching proxies. E.g. the URL wgo/about will not be served in English or German or French, etc. But wgo/en/about will always be served in English, and thus can be better cached (until the content itself changes of course :) Note, this implies the URL wgo/about is never actually served, but always redirected. However, links that want to point to localized content should reference the "generic" url. Therefore, we could include a "link to this page" element on every page, pointing to the generic URL. Perhaps describe this linking policy somewhere on the site. Requirement: such redirect must be cheap in plone. Manual language selection: Every page will include a list of the supported languages, where the user can manually change language. This action should: - save the preferred language in a cookie - directly forward the user to the wgo/$lang/... page This list could include an "Automatic" option which clears the cookie, and forwards the user to the "generic" URL. Furthermore, each page could include a link: view in my preferred language (written in the users preferred language!). E.g. John Doe arrives to a wgo page written in Chinese. "Select langage:" is written in Chinese, and the dropdown shows "Chinese" written in Chinese, therefore if he is not familiar with the site, he might not know how to change the language. BTW I'm assuming the language in the selection list appear localized. (English, Deutsch, etc). All agree? Further ideas for the language list: The language list could prioritize based on auto-negotiated languages. E.g. the list could start with "Automatic", then $CookieLanguage, then $BrowserLanguage, and perhaps also include "Default (English)", followed by all the other languages, sorted alphabetically. I guess the preselected item in the list should be the currently displayed language. Perhaps this could be moved to the very beginning of the list. The list includes languages in localized form. Problems: - how is it sorted? - i want to check the Chinese translation, but cannot recognize it in the list. Yet another issue: if the preferred languages appear on top of the list, will it also be included in the alphabetical part below? (it probably should) Error404: --------- What happens, if the requested translation does not exist? - display error message? - redirect to preferred (default?) language? - both? - submit bug report? - invite user to translate? What about outdated translations? Is that an error? Offer to show previous version? Use some heuristics to see how big the change was? (e.g. original content diff size, or authors can mark changes as minor or "not affecting translations") Or offer to show the change to the user? Summary, things to agree upon: - URL scheme: wgo/$lang/foo - lang negotiation priority - the redirecting mechanism from wgo/foo - language selection list - translated? - sorted? - extra items (automatic, preferred langs)? - extra items appear also in alphabetical list? - non-existent translations Cheers, Greg _______________________________________________ gnome-web-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-web-list
