A critical vulnerability was discovered in React Server Components (Next.js). Our Systems Remain Fully Protected. Learn More


Jan 29, 2012
  5672
(6 votes)

Language files Visual Studio Extension for EPiServer

As you certainly know, EPiServer localization is based on XML files with a certain structure. Working with translations in code is not hard, but I believe it could be even easier with a small extension, that I am going to introduce to you. This is a Visual Studio 2010 extension that has three main functions:

  1. Show values of translation keys as a tool-tips.
  2. Navigate to a line in a language file containing the key.
  3. Copy to the clipboard an expression with path to the key selected in a language file.


In code editor all recognized translation keys are decorated with a thin border.  Tool-tips are shown if you hover a mouse pointer over a decorated translation key. Smart-tags used for navigation can be expanded with left mouse click or by pressing "Ctrl + ." key combination.

The extension can recognize two types of translation references: basic XPath “/admin/settings/heading” and resource binding <%$ Resources: EPiServer, admin.settings.heading %>. Relative paths like Translate(“#heading”) and filtering by attribute value expressions  like Translate(“/pagetypes/property[@name=’Description’]”) are not supported for now.

The extension can be installed from Extension Manager in Visual Studio 2010 (select Online gallery and type “EPiServer” in the search request) or alternatively it can be downloaded from this page.  The source code for the extension is available here.

This project was born during a series of hack-days that we have here in EPiServer development team and it is not an official EPiServer release. You are very welcome to leave feedback and suggestions here in comments or on extensions page. Bugs can be reported and tracked here.

Jan 29, 2012

Comments

valdis
valdis Jan 30, 2012 02:27 PM

cool!

Jan 30, 2012 03:35 PM

Very nice, I have knocked together this macro http://world.episerver.com/Blogs/Lee-Crowe/Dates/2011/6/Language-File-Population-Helper-VS-Macro-v11/ that makes populating the language file much less of a mundane task for large global site builds. It would be useful if you could extend the extension to allow you to select text and easily add it to the language file.

Jan 30, 2012 03:55 PM

Very cool !

Dan Matthews
Dan Matthews Jan 30, 2012 04:31 PM

Very neat!

Jan 30, 2012 04:42 PM

@Croweman I have plans to add something like this in the future

Steve Celius
Steve Celius Jan 30, 2012 09:37 PM

Nice! Installed and works like a charm!

Feb 4, 2012 07:39 PM

Cool! Good job, I like!

morgan-henskjold.jensen@capgemini.com

Very nice, will help a lot. Thanks.

Arild Henrichsen
Arild Henrichsen Mar 6, 2012 03:48 PM

This is really a sweet extension!

Thomas Krantz
Thomas Krantz Aug 24, 2012 04:21 PM

Will you also upgrade this extension for Visual Studio 2012?

Aug 27, 2012 10:26 PM

@Thomas Yes, I have started working on the Visual Studio 2012 support.

Sep 2, 2012 10:21 PM

The extension was updated for Visual Studio 2012

Oct 26, 2012 02:17 PM

Like!

AndrewR
AndrewR May 7, 2014 09:36 AM

I have a new request / idea: The language doublesearch.
I quite often need to search like this:
Take some text from a user-provided screenshot, for example "Last ned:"
Search for this text to find the language key "/document/download".
Do a new search to find code that uses the language key.

I would like an extension that allows developers to enter a search text, and then get the language key, and a list of places where the key is used.
Any hopes for an extension upgrade to include this ?

But then maybe I'm the only one doing it this way.

Johan Book
Johan Book May 14, 2015 12:39 AM

Great tool! Need update for VS 2013

Please login to comment.
Latest blogs
Jhoose Security Modules v2.6.0 — Added support for Permissions Policy and .NET 10

Version 2.6.0 adds Permissions Policy header support, updates to .NET 10, improved policy management, configurable security settings, and enhanced...

Andrew Markham | Dec 6, 2025 |

Building a 360° Customer Profile With AI: How Opal + Optimizely Unlock Predictive Personalization

Creating truly relevant customer experiences requires more than collecting data—it requires understanding it. Most organizations already have rich...

Sujit Senapati | Dec 4, 2025

Building a Lightweight Optimizely SaaS CMS Solution with 11ty

Modern web development often requires striking a difficult balance between site performance and the flexibility needed by content editors. To addre...

Minesh Shah (Netcel) | Dec 3, 2025

Creating Opal Tools Using The C# SDK

Over the last few months, my colleagues at Netcel and I have partaken in two different challenge events organised by Optimizely and centered around...

Mark Stott | Dec 3, 2025