Try our conversational search powered by Generative AI!

Per Nergård
Mar 5, 2013
  11896
(1 votes)

EPiServer localization xml files structure

In CMS7 there are a couple of new things that can be localized. I hadn’t had the time to check it out but a question in the forums   about localization of “GroupName” on page types got me curious.

Localization of page types and properties are the same as for earlier versions of EPiServer.

Blocks are new to CMS7. Thomas Krantz blogged about block localization over here but I will include it in the example below just for completeness. The example for blocks in the Alloy demo package ContentTypeNames.xml is incorrect at least in the first production release.

Groups then. The DisplayAttribute.GroupName is localized via heading elements. These headings localizes the tab names in edit mode.

I couldn’t find anything about ContentTypeAttribute.GroupName so I fired up good old reflector. It turned out that you can localize GroupName via specifying groups in the xml file.

I expected this to localize the labels for the different groups of page types  you get when creating a new page. This is not the case. What’s actually localized is the bracketed prefix on the page type when you view them in admin mode. I can’t see much use for this so I’ve checked with the support and they have an existing bug regarding that page type information localization doesn’t work so hopefully this will be fixed soon.

Below is an example lang file for reference.

<?xml version="1.0" encoding="utf-8" ?>
<languages>
 
  <language name="English" id="en">
 
    <!-- Blocks -->
    <blocktypes>
      <blocktype name="PageListBlock">
        <name>Page List</name>
        <description>Blockbeskrivning</description>
      </blocktype>
    </blocktypes>
 
    <!-- Tab headings aka GroupName in Displayattribute for a property-->
    <headings>
      <heading name="Default">
        <description>Default</description>
      </heading>
    </headings>
    
    <pagetypes>
      <!-- PropertyNames -->
      <common>
        <property name="DisableIndexing">
          <caption>Disable indexing</caption>
          <help>Help</help>
        </property>
      </common> 
      
      <!-- Page types -->
      <pagetype name="ArticlePage">
        <name>Article</name>
        <description>Help</description>
      </pagetype>
      
      <!-- Groupname in ContentTypeAttribute-->
      <groups>
        <group name="Test">Prefix</group>
      </groups>
    </pagetypes>
  </language>
 
</languages>
Mar 05, 2013

Comments

Apr 23, 2013 01:37 PM

Update: (It seems I can't edit old posts with live writer from another computer so a comment have to be sufficient).

if you wan't to localize propertynames on a per type basis the format is like this. The pagetype element name attribute can be both the name of a pagetype as well as a blocktype.




Caption
HelpText


janaka.podiralahamy
janaka.podiralahamy Nov 18, 2013 05:02 PM

i am able to see my changes on page types but not with blocks. can you help? thanks!

Please login to comment.
Latest blogs
Optimizely and the never-ending story of the missing globe!

I've worked with Optimizely CMS for 14 years, and there are two things I'm obsessed with: Link validation and the globe that keeps disappearing on...

Tomas Hensrud Gulla | Apr 18, 2024 | Syndicated blog

Visitor Groups Usage Report For Optimizely CMS 12

This add-on offers detailed information on how visitor groups are used and how effective they are within Optimizely CMS. Editors can monitor and...

Adnan Zameer | Apr 18, 2024 | Syndicated blog

Azure AI Language – Abstractive Summarisation in Optimizely CMS

In this article, I show how the abstraction summarisation feature provided by the Azure AI Language platform, can be used within Optimizely CMS to...

Anil Patel | Apr 18, 2024 | Syndicated blog

Fix your Search & Navigation (Find) indexing job, please

Once upon a time, a colleague asked me to look into a customer database with weird spikes in database log usage. (You might start to wonder why I a...

Quan Mai | Apr 17, 2024 | Syndicated blog