Hi, we are planning to create two new websites using umbraco (first experience with umbraco).
One site needs to be presented in two languages, dutch and french ... structure and content are all the same. The other site is single-language.
Both sites have some shared content (one language obviously).
Would you recommend creating the multilanguage functionality through Vorto or contentnode duplication?
When choosing the latter, can I automatically copy newly created nodes to the orther language?
I'm sure things are more complicated than this but I reckon Vorto is the way to go when it is a straight like for like translation. However if you're going to have more than the odd exception to an exact copy (e.g. extra pages or section) then you'll need to go with separate sites. Additionally it's worth considering if you need to retain the option of having differences.
If you have to start making some pages visible for 1 language or another, then while it is quite possible it can get complicated quickly.
Keep in mind with Vorto that you don't have a simple mecanism to translate URLs. So if you want a multi-language website with localized URLs, the best way is to duplicate the content nodes. And you'll have more possibilities, like exclusive pages for a language, etc.
About duplicating automatically nodes, there is a way to do it programmatically, but you need a way to know where the clone will be created, or you create it under a special node, then you move it under the right node.
When creating a new language tree, we copy the entire content relating each of the original nodes to the copied ones (relation alias is 'relateOnDocumentCopy). When creating a new node in one language, I can take the corresponding parent in the other language (child of the relation) and copy the node under that content-node ... why use contentFinders?
var parentRelations = ApplicationContext.Current.Services.RelationService.GetByParentId(savedEntity.ParentId);
foreach (var relation in parentRelations)
{
if(relation.RelationType.Alias == "relateDocumentOnCopy")
{
// Copy node to relation.childID
...
}
}
EDIT : Just tested, works like a charm ... I only have to add some handling when adding in the other language (reverse relation).
If you want a good example project you should check the 1-1 multilingual example I created. It uses Vorto and also has a UrlProvider and ContentFinder to change the URLs for each language.
I've setup a sample with vorto and mixed content, I find it quite cumbersome to get it running while copying content nodes is quite ... well, straightforward :-D Is it possible to stay on-page when switching languages?
As for now, i just don't know yet which way to go ... it's a belgian site (www.bankvanbreda.be) so I'm quite sure the french and dutch content will stay the same.
Okay, I took a few moments to look at both content duplication and Vorto.
As for our public sites, my gut feeling tells me to duplicate the content for a few reasons. Most importantly: simplicity ... and not sure if tboth sites will stay 100% equal.
The Translator functionality built into umbraco is "broken" when using Vorto. When creating a task for a translator, the value in the xml contains the json structure of how vorto handles the translations rendering this functionality completely useless. The company I'm working for will probably use this kind of functionality because all translations are outsourced.
Other motivations ... switching languages is easier, localized URLs without having to provide an extra url-field,, easier setup, uncluttered UI. The last point can be resolved by grouping translatable fields in Nested Content but this involves creating another level of extra document types.
As for auto-duplication of new content ... let's call that a challenge ;-)
Only use Vorto if you really need 1-1 multilingual. If a separate tree for each language is possible you should definitely do it. Umbraco has much better support for it and you don't need to hassle with ContentFinders and UrlProviders.
Vorto or not?
Hi, we are planning to create two new websites using umbraco (first experience with umbraco).
One site needs to be presented in two languages, dutch and french ... structure and content are all the same. The other site is single-language. Both sites have some shared content (one language obviously).
Would you recommend creating the multilanguage functionality through Vorto or contentnode duplication?
When choosing the latter, can I automatically copy newly created nodes to the orther language?
kind regards Yoeri
I'm sure things are more complicated than this but I reckon Vorto is the way to go when it is a straight like for like translation. However if you're going to have more than the odd exception to an exact copy (e.g. extra pages or section) then you'll need to go with separate sites. Additionally it's worth considering if you need to retain the option of having differences.
If you have to start making some pages visible for 1 language or another, then while it is quite possible it can get complicated quickly.
Hello Yoeri.
Keep in mind with Vorto that you don't have a simple mecanism to translate URLs. So if you want a multi-language website with localized URLs, the best way is to duplicate the content nodes. And you'll have more possibilities, like exclusive pages for a language, etc.
About duplicating automatically nodes, there is a way to do it programmatically, but you need a way to know where the clone will be created, or you create it under a special node, then you move it under the right node.
Good point. You could resolve this with an IContentFinder of course, but I prefer the path of least resistance in most cases.
When creating a new language tree, we copy the entire content relating each of the original nodes to the copied ones (relation alias is 'relateOnDocumentCopy). When creating a new node in one language, I can take the corresponding parent in the other language (child of the relation) and copy the node under that content-node ... why use contentFinders?
EDIT : Just tested, works like a charm ... I only have to add some handling when adding in the other language (reverse relation).
Hello,
If you want a good example project you should check the 1-1 multilingual example I created. It uses Vorto and also has a UrlProvider and ContentFinder to change the URLs for each language.
https://our.umbraco.org/projects/developer-tools/1-1-multilingual-example/
Jeroen
Hi Jeroen,
Looks interesting ;-)
I've setup a sample with vorto and mixed content, I find it quite cumbersome to get it running while copying content nodes is quite ... well, straightforward :-D Is it possible to stay on-page when switching languages?
As for now, i just don't know yet which way to go ... it's a belgian site (www.bankvanbreda.be) so I'm quite sure the french and dutch content will stay the same.
Y.
Okay, I took a few moments to look at both content duplication and Vorto.
As for our public sites, my gut feeling tells me to duplicate the content for a few reasons. Most importantly: simplicity ... and not sure if tboth sites will stay 100% equal.
The Translator functionality built into umbraco is "broken" when using Vorto. When creating a task for a translator, the value in the xml contains the json structure of how vorto handles the translations rendering this functionality completely useless. The company I'm working for will probably use this kind of functionality because all translations are outsourced.
Other motivations ... switching languages is easier, localized URLs without having to provide an extra url-field,, easier setup, uncluttered UI. The last point can be resolved by grouping translatable fields in Nested Content but this involves creating another level of extra document types.
As for auto-duplication of new content ... let's call that a challenge ;-)
Thanks for the help!
Good choice!
Only use Vorto if you really need 1-1 multilingual. If a separate tree for each language is possible you should definitely do it. Umbraco has much better support for it and you don't need to hassle with ContentFinders and UrlProviders.
Jeroen
Hi all
Do you have the same opinion right now? With newest Umbraco Cloud solution would you choose content duplication or Vorto?
Thanks,
Alex
It depends on your needs. Umbraco Cloud also has perfect Vorto support. So you can use both methods.
Jeroen
is working on a reply...