we recently got the requirement to publish the english version of a website already translated to 5 languages (de, en, fr, it, es - currently using archetypes + linguaplone) for the us market under a different domain.
first i'll outline the requirements and possible solutions we thought about.
my key questions here are:
- can you think of better solutions to solve these requirements?
- has somebody already implemented something that solve the remaining contra-point of solution C)?
i can for example think of websites running shops to have similar requirements (different products, prices/taxes depending on the country of the customer)
most of the content of the english version shall remain unchanged.
however there are some things that should be changed for the us website:
- different portlet content (i.e. contact-portlet)
- different UI (i.e. no language chooser)
- some articles shall only/not be shown on us-site
- some articles shall be replaced (i.e. list of sales partners)
to not get punished for duplicate content we gonna add additional headers for the us-website on all other translations
<link rel="alternate" href="http://mydomain.com/products" hreflang="en" />
<link rel="alternate" href="http://mydomain.de/produkte" hreflang="de" />
NEW: <link rel="alternate" href="http://mydomain.us/products" hreflang="en-US" />
A) copy paste
creating a copy of the current zope instance
modify the content in the en/ folder
and publish it under mydomain.us
- lot of work to maintain mydomain.com and mydomain.us in parallel
- not possible to automatically generate links to all translations (as the copied instance does not know about new content in the other languages)
so we'll end up being penalized for broken hreflang links
B) Translate en to en-US
- add another available language en_US (i guess we'd have to patch Linguaplone for this)
- script translation of all en content to en_US
- editors are familiar with managing translations
- system can generate hreflang meta links
- we can easily add / remove some articles for en_US only
- it's still a lot of work to keep content of en and en_US in sync (but this time system can help)
while thinking about how to safe our editors from having to maintain yet another translation tree i came up with this idea:
custom viewlets can be registered for these theme layers
code a custom static-text portlet that let's editors choose which layer it shall be displayed for
or add an output transform that skips content in
<div class="layer-site.us-only">sfadsfs</div> if the layer ist not active.
- currently no way to show a content item only for layer site.en or site.us
this would require to customize the portal_globalnav, the navigation tree code.
maybe even the search.
(kind of simliar to what linguaplone already does by filtering for the current language)
has anybody here done something similar or can thinks of different ways to solve this problem?