[opencms-dev] Multilingual NavText

Paul-Inge Flakstad flakstad at npolar.no
Fri Oct 14 13:49:08 CEST 2011


Hi Thomas,

See my comments below.

Hi Paul,

well, structured content can contain multiple languages so I'd say that also an intended possibility in OpenCMS. It's just the navigation that doesn't support that.
Content in multiple languages is indeed an intended possibility, but the standard way to _handle_ content in multiple languages is by employing siblings. (Relying heavily upon the fact that siblings do not necessarily share their set of properties. Furthermore, as you know, the standard OpenCms navigation is partly property-based.)
We also have parts of our site that define the navigation inside the xml content. That, however, makes it harder to view the navigation in the workplace explorer, since you'd then have to open the resource file. Ok, editing navigation in the workplace explorer is still suboptimal - you can't see the navpos for example - but it's still a start and AFAIK you don't have the new sitemap editor in the workplace, do you?
I’ve created 20+ sites, all with a structured content-based navigation, and most with the entire navigation tree defined in a single file. Many editors have been involved, and this implementation has been easily understood by them. Given that the navigation tree is visible to them when editing the file, the whole thing is actually quite intuitive. (Of course, I do not get to use the new sitemap editor, but that’s hardly a problem. Bottom line is the standard OpenCms navigation solution does not work for me, and the structured content solution is a good substitute.)

I'll think about the property-per-language approach, but that has the disadvantage that standard edit options like "edit navigation" wouldn't support that.
It is possible to customize the edit option so that it would handle your custom solution.
Best regards,
Paul
2011/10/14 Paul-Inge Flakstad <flakstad at npolar.no<mailto:flakstad at npolar.no>>
Hi Thomas,

First of all, I don’t think you’re asking a commonly asked question. The “default” way to handle multiple languages in OpenCms is by employing siblings. Since you’re avoiding this (I don’t get why, it’s a pretty neat solution), you’re also straying from the way OpenCms was intended to work. With this in mind, I wouldn’t expect to find a quick fix anywhere. You’re at a point where you’ll have to create a custom implementation.

While your proposed solutions would work, they do raise the bar for the editors, and errors are likely to occur.

A couple of other suggestions:

1.       Define one navtext property for each language. (Basically the same as using the default property, but this way you’ll free the editors from the syntax requirement.)

2.       Make your own navigation system – structured content works well for this. (I would go for this. It is like your properties file alternative, but easier to maintain. I have successfully implemented such a system on my sites, because I wanted a navigation that was independent from the folder structure. It works like a charm. :)

HTH.

Best regards,
Paul

From: opencms-dev-bounces at opencms.org<mailto:opencms-dev-bounces at opencms.org> [mailto:opencms-dev-bounces at opencms.org<mailto:opencms-dev-bounces at opencms.org>] On Behalf Of Thomas Göttlich
Sent: 14. oktober 2011 11:30
To: The OpenCms mailing list
Subject: [opencms-dev] Multilingual NavText

Hi,

I know this is a commonly asked question but since I couldn't find anything helpful in the wiki or using google yet, I'll ask my question here:

How can I maintain a folder's navtext property in a multilingual way?

We currently have a site that consists of one tree and structured content containing mutliple languages.
Our templates use a fallback mechanism to retrieve content in the default language (English) if there's no content for the requested language (e.g. German).
This works on a per-field basis, i.e. you could, for example, set some images in the default language only and just translate the text in the other supported languages.

Because of this, and since it is a much cleaner approach IMHO, we don't want to fiddle around with different structures in multiple languages (i.e. no siblings!).

All worked fine so far, since we didn't use the OpenCMS navigation facilities yet.

However, now we need to employ them and thus there's the problem of how to translate the navtext property.

Right now I could think of two ways, both of which don't fully satisfy me:

1. Store a key in the navtext and in the template access a properties file. That would require the user to maintain an additional file and keep it in sync with the keys.

2. Directly store the translations in the navtext, i.e. like this: "en=Some Folder,de=Irgendein Ordner,nl=Een map,es=Cualquier directorio,zh=某一个文件夹" etc.
Then I'd have to split the navtext in the template and extract the correct language. The problem with this is that it's quite fragile since the user would need to enter the translations in the correct format, i.e. <language code>=<translation>,<language code>=<translation>, ... . This might be error prone.

Any more ideas?

Thanks in advance,

Thomas


_______________________________________________
This mail is sent to you from the opencms-dev mailing list
To change your list options, or to unsubscribe from the list, please visit
http://lists.opencms.org/mailman/listinfo/opencms-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20111014/31e9f0d6/attachment.htm>


More information about the opencms-dev mailing list