Working with Multi Language

Posted by Community Admin on 04-Aug-2018 11:42

Working with Multi Language

All Replies

Posted by Community Admin on 05-Mar-2012 00:00

Hi Team Telerik,

We have been developing a multi lingual site. Earlier, the requirement of the client was to have a site based on single culture. So, as per the client request we moved forward to design the site multi lingual way.

So, lets assume we have two languages viz, en and en-GB.

The cleint required the entire navigation(top nav and left nav) of the site to be a little interactive with jquery. We decided to build the control using SitemapdataSource.

In earlier version upto 3.7, Sitemapdatasource only contained the data that was enabled to view in navigation(Show in navigation as checked). For the current version, sitemapdatasource returns all records (Dont know the reason why this was done this way).

The way pages where built was few pages were synced with all transaltions and rest were unsynced. Now, for the purpose of generating the left nav, I can use two objects namely, Sitemapdatasource and pageNodeList.

The earlier version was en and when I unsync the page, it creates a duplicate copy of the page and inserts the record in the database. So, when I try to pull the record under a specific page, then my navigation binds two records with same name with the selected culture. It is the same with PageNode list as well.

Please let me know if this is a bug in sitefinity or how can I get the page records of selected language (synced or unsynced) instead of all records.

The version of sitefinity we are using is 4.2.1733.0.

Posted by Community Admin on 07-Mar-2012 00:00

No answer on this?

Anyone?

Regards,
Siddesh Kapadi

Posted by Community Admin on 08-Mar-2012 00:00

Hello Siddesh,

Maybe you should consider using SitefinySiteMapDataSource, since it is configured as asp:SiteMapDataSource control to start from a particular node, show the starting node etc... but it also handles the logic for checking granted/denied permissions, ShowInNavigation and so on, so it will return all pages with ShownInNavigation set to true, as you wanted.
As for your second problem, how do you get the page you're referring to, since when repeating your scenario and using the native and the fluent API to get a page, I only got one record for it, as expected.

All the best,
Jen Peleva
the Telerik team

Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

Posted by Community Admin on 09-Mar-2012 00:00

Hi Jen,

Thansk for your response. Please confirm with the development team on asp:SiteMapDataSource
I am sure that it returns all records with showIn navigation as true.

For the second resolution you have provided, I tried both the objects SiteMapDataSource and also PageNode List, it returns multiple records for UNSYNCED pages (Does unsyncing create multiple records in DB?) and single record for SYNCED pages.

Please confirm these again. If it works, please provide me with the working example of the same.

please try this on version 4.2.1733.0

Thanks for all you help.

Posted by Community Admin on 14-Mar-2012 00:00

Hi Siddesh,

I just consulted with my colleagues from the developers team and as I told you in my previous post, SitefinitySiteMapDataSource should return pages with checked ShowInNavigation. However, it seems that there were some serious Multilingual problems with the 4.2 version, so this might cause the SitefinitySiteMapDataSource to return incorrect pages. We advice you to upgrade to Sitefinity 4.3 or higher version, where these problems have been resolved.
As for your question about Multilingual pages: When you have synchronized translations of a page, those pages represent one page node and this is why in the database you will see one record for them, When you unsynced them, however, they will split into separate records, depending on the number of translations. For example, if you have 2 translations, in the sf_ Page_Node table you should see 2 records with status 2 (Live). In the sf_drafts table you will see the records with status codes 0 and 1, where 0 is master (the masters should be 2 as well) and Temp with code 1, if the page is opened for editing.

Regards,
Jen Peleva
the Telerik team

Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

This thread is closed