I'm trying to build my first multilangual website and run into some questions and troubles.
Is there a Datatype for picking the defined Languages under Settings?
-> could not select anything with Datatype "myLanguagePicker" using rendercontrol "Dictionary Picker", also tried with prevalue "Navigation"?
I can select the Language-Codes from a Breadcrumb Link e.g DE | EN | FR using umbraco.library:GetDictionaryItem('Navigation').
But how can I redirect Users to something like www.mydomain.com/de if DE is selected?
And how can I define Language Domains for my root-Websites
Content
|Startseite assigned Language German and www.mydomain.com
|Startpage could not assign Language English with www.mydomain.com because www.mydomain.com already exits
Also tried with www.mydomain.com/de and www.mydomain.com/en but after assigning nothing worked anymore and I had to delete the entries in Table umbracoDomains.
Do I need to deal with URL-Rewriting for this to work or do I just overlook something?
Also I was not able to login as User Translator1 with role "Translator" after giving correct permissions on all Root-Nodes. But im not sure how this should work togheter with the languagedomains - so maybe it's related?
The current user doesn't have access to this application. Please contact the system administrator.
[quote=YAMOD]Is there a Datatype for picking the defined Languages under Settings?
-> could not select anything with Datatype "myLanguagePicker" using rendercontrol "Dictionary Picker", also tried with prevalue "Navigation"?
I can select the Language-Codes from a Breadcrumb Link e.g DE | EN | FR using umbraco.library:GetDictionaryItem('Navigation').
But how can I redirect Users to something like www.mydomain.com/de if DE is selected?[/quote]
Don't have the answer to the assign domain specific problem atm. Need to check that...
[quote=YAMOD]Also I was not able to login as User Translator1 with role "Translator" after giving correct permissions on all Root-Nodes. But im not sure how this should work togheter with the languagedomains - so maybe it's related?
The current user doesn't have access to this application. Please contact the system administrator.[/quote]
It could be an issue! Need to verify this as well! Ok, have reproduced the YSOD that is due to the fact that you've not selected any module. Just make sure translator1 has access to any of the six sections. I agree that a check is required on save! I'll add a work item on Codeplex for this.
Still trying to sort language issue....seems there are many ways to accomplish this! If possible I would like to use DomainPrefixes - with multiple root nodes.
There are two root-nodes (Documentype=mySite) with Names DE (1064) and EN (1174) and the following Settings
When I try to republish the two Root-Nodes with all child-Content it get the error
"Root element is missing."
Whats wrong with above?
As a second approach I created a stub-root and arranged the Domains below
/MultilangualRoot Type (myRoot) (no content, except doing some kind of redirection to one of the subnodes)
/de Type (mySite)
/en Type (mySite)
But I can still not republish the Sites. Also in "manage hostname " the assigned Hostname www.mydomain.com does not show up in the dialog but exists in the DB.
[code][XmlException: Root element is missing.]
System.Xml.XmlTextReaderImpl.Throw(Exception e) +90
System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res) +109
System.Xml.XmlTextReaderImpl.ParseDocumentContent() +1954433
System.Xml.XmlTextReaderImpl.Read() +41
System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) +145
System.Xml.XmlDocument.Load(XmlReader reader) +96
System.Xml.XmlDocument.LoadXml(String xml) +197
umbraco.editorControls.relatedlinks.RelatedLinksData.ToXMl(XmlDocument data) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\components\editorControls\relatedlinks\RelatedLinksData.cs:17
umbraco.cms.businesslogic.property.Property.ToXml(XmlDocument xd) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\Property\Property.cs:90
umbraco.cms.businesslogic.web.Document.XmlPopulate(XmlDocument xd, XmlNode& x, Boolean Deep) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\web\Document.cs:948
umbraco.cms.businesslogic.web.Document.XmlGenerate(XmlDocument xd) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\web\Document.cs:869
umbraco.cms.businesslogic.web.Document.PublishWithResult(User u) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\web\Document.cs:149
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:130
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:144
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:144
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:144
umbraco.dialogs.publish.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:82
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
umbraco.BasePages.BasePage.OnLoad(EventArgs e) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\businesslogic\BasePages\BasePage.cs:287
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436[/code]
On the property page on the DE and EN sites the first alternative link seems to be duplicated - maybe this is the problem?
and if follow the upper and lower links I get
[code]Page not found
No umbraco document matches the url 'http://www.mydomain.com/default.aspx?umbPage=/en.aspx&'
umbraco tried this to match it using this xpath query'/domainprefixes-are-used-so-i-do-not-work')[/code]
How to do Multilanguage Website?
Hi all
I'm trying to build my first multilangual website and run into some questions and troubles.
Is there a Datatype for picking the defined Languages under Settings?
-> could not select anything with Datatype "myLanguagePicker" using rendercontrol "Dictionary Picker", also tried with prevalue "Navigation"?
I can select the Language-Codes from a Breadcrumb Link e.g DE | EN | FR using umbraco.library:GetDictionaryItem('Navigation').
But how can I redirect Users to something like www.mydomain.com/de if DE is selected?
And how can I define Language Domains for my root-Websites
Content
|Startseite assigned Language German and www.mydomain.com
|Startpage could not assign Language English with www.mydomain.com because www.mydomain.com already exits
Also tried with www.mydomain.com/de and www.mydomain.com/en but after assigning nothing worked anymore and I had to delete the entries in Table umbracoDomains.
Do I need to deal with URL-Rewriting for this to work or do I just overlook something?
Also I was not able to login as User Translator1 with role "Translator" after giving correct permissions on all Root-Nodes. But im not sure how this should work togheter with the languagedomains - so maybe it's related?
The current user doesn't have access to this application. Please contact the system administrator.
Can anybody help?
Thanks, YAMOD
Hi YAMOD,
[quote=YAMOD]Is there a Datatype for picking the defined Languages under Settings?
-> could not select anything with Datatype "myLanguagePicker" using rendercontrol "Dictionary Picker", also tried with prevalue "Navigation"?
I can select the Language-Codes from a Breadcrumb Link e.g DE | EN | FR using umbraco.library:GetDictionaryItem('Navigation').
But how can I redirect Users to something like www.mydomain.com/de if DE is selected?[/quote]
Here's a solution: http://www.nibble.be/?p=32
Don't have the answer to the assign domain specific problem atm. Need to check that...
[quote=YAMOD]Also I was not able to login as User Translator1 with role "Translator" after giving correct permissions on all Root-Nodes. But im not sure how this should work togheter with the languagedomains - so maybe it's related?
The current user doesn't have access to this application. Please contact the system administrator.[/quote]
It could be an issue! Need to verify this as well! Ok, have reproduced the YSOD that is due to the fact that you've not selected any module. Just make sure translator1 has access to any of the six sections. I agree that a check is required on save! I'll add a work item on Codeplex for this.
http://www.codeplex.com/umbraco/WorkItem/View.aspx?WorkItemId=20429
Regards,
/Dirk
Hi Dirk
Thanks for your your help.
Still trying to sort language issue....seems there are many ways to accomplish this! If possible I would like to use DomainPrefixes - with multiple root nodes.
There are two root-nodes (Documentype=mySite) with Names DE (1064) and EN (1174) and the following Settings
[code]umbracoSettings.config
web.config [/code]
In the Table umbracoDomains are only two entries:
6 2 1064 www.mydomain.com/de
7 3 1174 www.mydomain.com/en
When I try to republish the two Root-Nodes with all child-Content it get the error
"Root element is missing."
Whats wrong with above?
As a second approach I created a stub-root and arranged the Domains below
/MultilangualRoot Type (myRoot) (no content, except doing some kind of redirection to one of the subnodes)
/de Type (mySite)
/en Type (mySite)
But I can still not republish the Sites. Also in "manage hostname " the assigned Hostname www.mydomain.com does not show up in the dialog but exists in the DB.
[code][XmlException: Root element is missing.]
System.Xml.XmlTextReaderImpl.Throw(Exception e) +90
System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res) +109
System.Xml.XmlTextReaderImpl.ParseDocumentContent() +1954433
System.Xml.XmlTextReaderImpl.Read() +41
System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) +145
System.Xml.XmlDocument.Load(XmlReader reader) +96
System.Xml.XmlDocument.LoadXml(String xml) +197
umbraco.editorControls.relatedlinks.RelatedLinksData.ToXMl(XmlDocument data) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\components\editorControls\relatedlinks\RelatedLinksData.cs:17
umbraco.cms.businesslogic.property.Property.ToXml(XmlDocument xd) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\Property\Property.cs:90
umbraco.cms.businesslogic.web.Document.XmlPopulate(XmlDocument xd, XmlNode& x, Boolean Deep) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\web\Document.cs:948
umbraco.cms.businesslogic.web.Document.XmlGenerate(XmlDocument xd) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\web\Document.cs:869
umbraco.cms.businesslogic.web.Document.PublishWithResult(User u) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\cms\businesslogic\web\Document.cs:149
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:130
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:144
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:144
umbraco.dialogs.publish.doPublishSubs(Document d) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:144
umbraco.dialogs.publish.Page_Load(Object sender, EventArgs e) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\presentation\umbraco\dialogs\publish.aspx.cs:82
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
umbraco.BasePages.BasePage.OnLoad(EventArgs e) in d:\inetpub\wwwroot\ccnet\Source\Umbraco 3.1\umbraco\businesslogic\BasePages\BasePage.cs:287
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436[/code]
On the property page on the DE and EN sites the first alternative link seems to be duplicated - maybe this is the problem?
[quote]Link to document
http://www.mydomain.com/de.aspx
Alternative Links http://www.mydomain.comhttp://www.mydomain.com/de.aspx http://www.mydomain.com/de[/quote]
and if follow the upper and lower links I get
[code]Page not found
No umbraco document matches the url 'http://www.mydomain.com/default.aspx?umbPage=/en.aspx&'
umbraco tried this to match it using this xpath query'/domainprefixes-are-used-so-i-do-not-work')[/code]
Any suggestions?
Thanks, YAMOD
OK - Problem solved
The best suitable way for my multilanguage site is the stub-root approach. Need to make some changes to my XSLT-Scripts but that should work.
/MultilangualRoot Type (myRoot) using umbracoRedirect to default site
/de Type (mySite) having metaLanguage property
/xx same for other languages
There were some missing templates and cache issues that created the publishing Errors.
Found many contributions to the multilanguage challenge in this forum - thanks all!
Yamod
is working on a reply...