1-888-365-2779
+1-888-365-2779
Try Now
More in this section

Forums / Bugs & Issues / Localization and page questions [4.2.1650]

Localization and page questions [4.2.1650]

10 posts, 1 answered
  1. Jochem Bökkers
    Jochem Bökkers avatar
    787 posts
    Registered:
    13 Aug 2007
    25 Aug 2011
    Link to this post
    I ran into some questions this morning regarding localization and translation of pages and I was hoping someone could shed some light on them...

    Is it possible to override the localization url routing? 
    Out of the box the default language doesn't have a culture specified in the url.
    How can we instead of website.com/home & http:/website.com/es/home  have website.com/en/home & website.com/es/home where 'en' is the default language?

    The resource.config file just lists the languages, it doesn't specify the re-write rule somewhere only in the [sf_url_data] table.

    Page overview should have flexible column widths.
    I've tried to add these languages and look at the screenshot attached :)

    <add culture="en" uiCulture="en" key="english-en" />

    <add culture="en-US" uiCulture="en-US" key="english (united states)-en-us" />
    <add culture="es-US" uiCulture="es-US" key="spanish (united states)-es-us" />

    <add culture="nl-BE" uiCulture="nl-BE" key="dutch (belgium)-nl-be" />
    <add culture="fr-BE" uiCulture="fr-BE" key="french (belgium)-fr-be" />

    <add culture="en-GB" uiCulture="en-GB" key="english (united kingdom)-en-gb" />
    <add culture="fr-FR" uiCulture="fr-FR" key="french (france)-fr-fr" />
    <add culture="es-ES" uiCulture="es-ES" key="spanish (spain, international sort)-es-es" />

    And for those wondering, the first 'en' culture is only added to adress the first url-rewrite question.

    Is it possible in some way to visualize the inheritence and/or change the inheritence? 
    Ideally everyone will start with an 'en' page but in 6 months, you're bound to have a group of pages inheriting from a 'fr' page and others from a 'es' page. 

    Is there some way to show which is the 'parent' page and is it possible to change the parent? Neither on the page overview, nor on page edit does it tell me which page is the parent.

    Parent may sound like a stupid word when all pages are synced, but under water there must be a version the rest derives from, also see my next 2 question.

    Is it possible to have one version waiting for approval with inheritence? 
    If translations are synced, is it possible to have that parent page, or the default language wait for approval instead of some hidden translation ? When viewing the page overview in English, I don't see the fr-BE version waiting for approval. Or perhaps give the language version that awaits approval that yellow/orange approval color?

    Is it possible to have one language version break inheritence, while others remain inherited? 
    So for instance with the above cultures, is it possible to have all the 'en' pages inherit but the 'fr' page is broken from inheritence?

    Multiple url's in combination with translations.
    If I set a multiple-url for the 'parent' page, this doesn't get applied to the inherited translations. 
    However if I edit the properties of a localized version and add the same url, it doesn't add the /fr-BE/ in between...

    website/home is also accesible as website/homepage but
    website/fr-BE/home is not accesible as website/fr-BE/homepage if I say ~/homepage, but only if I manually add the rewrite rule ~/fr-BE/homepage.

    Will this change in future versions? Or will this be default behavior?

    Is there a way to attach role permissions to a language? 
    So someone in the 'AuthorFR' role to only be allowed to edit 'french localized' pages? I understand that with inherited pages that'll never work, but is there some way to make the 'preferred language' (as entered in profile) the mandatory and exclusive language? 

    That way, when you have a project without inherited translations, multiple languages can be exclusively handled by a certain role. I know you can set permissions but they're only effective after a page is created, not before and the language restriction could work throughout the whole site.

  2. Jochem Bökkers
    Jochem Bökkers avatar
    787 posts
    Registered:
    13 Aug 2007
    26 Aug 2011
    Link to this post
    to add to that:

    Revision history keeps localized unsynced versions.
    Each language version, even though pages are in sync seems to keep it's own revisions, resulting in data loss if latest content was added through a different language version.

    The EN version may be at revision 5 while fr-BE may only have 1 revision. Reverting to last fr-BE revision results in all the content added by different languages since the previous fr-BE revision being lost.

    The only way to avoid this is manually open each language version and manually scan the different revisions to try and visually reconstruct what the actual 'previous' published revision is.
  3. Stanislav Velikov
    Stanislav Velikov avatar
    1113 posts
    Registered:
    16 Aug 2017
    30 Aug 2011
    Link to this post
    Hi Jochem,

    Is it possible to override the localization url routing?

    I have logged this as a feature request. Refer to the PITS issue.
    This can be done with assigning some dummy language version for default language and redirecting from the home page to home page in English. I have attached a redirect widget that can be used on home page.

    Page overview should have flexible column widths.
    By default when you have too many translations you click to expand all translations. We currently don`t provide a property that allows this.

    Is it possible to have one language version break inheritance, while others remain inherited? 
    When your pages are synced you can stop syncing some pages. This is done when editing a synced page at the bar where the publish page button is placed.

    Is it possible in some way to visualize the inheritence and/or change the inheritance?
    All pages will inherit from the first page if you sync them(you specify inheritance only the first time you add translation). If you don`t sync them there is no inheritance.

    Is it possible to have one version waiting for approval with inheritance?
    The current workflow implementation doesn`t show you which pages are sent for approval. As only the pages from the current language are shown, they will not hint you for pages that needs approval. To ease the approval process you may sort the pages by last modified to find items that need approval.

    Multiple url's in combination with translations.
    The additional url`s will not be added for each translated page. This is currently not done because of the localization url strategy. Other properties for pages will be transfered to the new language version.

    Is there a way to attach role permissions to a language?
    We have planned such task. Currently this is not possible.

    Revision history keeps localized unsynced versions.
    This is such because revision history doesn`t account if you pages have relation to each other or not. It keeps old version only of the current page.

    Kind regards,
    Stanislav Velikov
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

  4. Jochem Bökkers
    Jochem Bökkers avatar
    787 posts
    Registered:
    13 Aug 2007
    30 Aug 2011
    Link to this post
    Hey Stanislav,

    Awesome, thx for the redirect!

    I've got 2 follow up questions if you don't mind. 

    "Is it possible to have one language version break inheritance, while others remain inherited? 
    When your pages are synced you can stop syncing some pages. This is done when editing a synced page at the bar where the publish page button is placed.
    "

    I'm a total blond probably, but I don't see it (see attached screenshot).

    ---
    Secondly regarding the versioning/publishing of localized versions.
    Published pages are synched but previous versions or unpublished versions aren't so to speak. And since there isn't a visual clue as to what's been edited when, things are prone to mistakes no?

    You could edit a Bulgarian version of the homepage, Sonya could edit a English version of the homepage. When Georgi logs on the following day he sees just the Bulgarian approval. He makes some additional changes to your version and publish it. Later that day he logs in and sees Sonya's Bulgarian approval and approves it.

    Now both your and Georgi's edits are gone and the original page with Sonya's edits are published. 

    Shouldn't everything just be versioned to the page you're inheriting from? This way you avoid those mistakes and save yourself an hour of figuring out which version to actually restore.
  5. Stanislav Velikov
    Stanislav Velikov avatar
    1113 posts
    Registered:
    16 Aug 2017
    01 Sep 2011
    Link to this post
    Hello Jochem,

    I have attached screenshot with stop syncing button. This is on page that is synced copying the content from previous translation.

    Published pages are synched but previous versions or unpublished versions aren't so to speak. And since there isn't a visual clue as to what's been edited when, things are prone to mistakes no?

    Yes this is by design. When a page is unpublished its lifecycle is Draft mode and the page doesn`t communicate with related pages(example if you unpublish a group page pages under are not shown in navigation). This will surely create mistakes. but unpublishing a page means explicitly you don`t want this page to reflect changes. I hope this makes sense to you. Excuse us for the inconvenience.

    Shouldn't everything just be versioned to the page you're inheriting from? This way you avoid those mistakes and save yourself an hour of figuring out which version to actually restore.

    This is a good solution, but synced pages reflect the changes widgets(meaning add widget delete widget). It is supposed when creating synced pages that only the content will differ not widgets. Non synced pages can suit you in this scenario.

    All the best,
    Stanislav Velikov
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

  6. Jochem Bökkers
    Jochem Bökkers avatar
    787 posts
    Registered:
    13 Aug 2007
    01 Sep 2011
    Link to this post
    Hey Stanislav,

    Thanks for responding. Beats me why I don't have the 'stop syncing' button, but as you saw on my screenshot, it's not there unfortunately.

    With 'unpublished' pages I meant drafts as well as pages specifically 'unpublished', but I understand why the decision is made for this. So we'll just adapt to it, but I just wanted to point out 1 error and 1 suggestion..

    The bug:
    On the backend, changes are applied immediately - even changes saved as draft or changes awaiting approval.

    To test it out, create a new localized page from a synced one, delete a widget and save the page as draft.
    Now look at all the language versions on the Backend and on the Frontend. Personally I think changes should be applied only when a version gets published, because this is a fun way to cheat WF permissions.

    Also, just for april fools, I could create a draft localized copy, delete all the widgets and save it as a draft. Anyone opening the page on the backend would get a blank page and totally freak out :)

    ---

    The suggestion:
    When editing or publishing a draft, can't there be a warning sign stating that the page I'm working on doesn't reflect the latest copy? I'm sure a combination of version/published date & widget count could add up to such a warning that at least warns the user that some information might get lost...
  7. Stanislav Velikov
    Stanislav Velikov avatar
    1113 posts
    Registered:
    16 Aug 2017
    07 Sep 2011
    Link to this post
    Hello Jochem,

    Concerning the stop syncing button please refer to this part of the documentation. I hope this will help you create such pages that will ease your development.

    The bug you mention is the approach Sitefinity has by design. When creating a synced page you are warned that all pages will get affected. This includes also the pages that are drafts. The page should not be synced in order to avoid changes made to other pages.

    I thank you for the suggestion. This is valid for not synced pages.There was such a warning every time you try to publish a synced content, but after numerous requests it was removed.

    Kind regards,
    Stanislav Velikov
    the Telerik team

    Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

    Answered
  8. Jochem Bökkers
    Jochem Bökkers avatar
    787 posts
    Registered:
    13 Aug 2007
    07 Sep 2011
    Link to this post
    Hey Stanislav,

    Thanks for the clarification!
    Jochem.
  9. Pepperio
    Pepperio avatar
    9 posts
    Registered:
    30 Nov 2010
    25 Jan 2012
    Link to this post
    Whats the latest on this:

    Is there a way to attach role permissions to a language?

    We have planned such task. Currently this is not possible.

    Is this possible in 4.4 ? Whats the suggested workaround if not

    Thanks
  10. Stanislav Velikov
    Stanislav Velikov avatar
    1113 posts
    Registered:
    16 Aug 2017
    30 Jan 2012
    Link to this post
    Hello,

     It is not possible in Sitefinity 4.4 it will not be possible in 5.0 release too. This is because the current lifecycle to which Roles apply doesn`t include languages.

    Regards,
    Stanislav Velikov
    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
10 posts, 1 answered