Jan 29, 2012
visibility 5854
star star star star star
(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

error Please login to comment.
Latest blogs
Add more scheduled job settings from the Optimizely CMS 12 admin UI -- with OptiScheduledJob.ExtraParameters

  Optimizely (EPiServer) CMS 12 ships a great scheduled-jobs framework, but it has one frustrating gap: a job has nowhere to store its own...

Binh Nguyen Thi | Jun 25, 2026

Automated Search & Navigation to Graph Migration with Claude Code

A Claude Code plugin that scans your S&N codebase, applies Graph SDK transformations, and validates the result. Install once, run one command. CMS ...

Connor Fortin | Jun 24, 2026

Migrating from Find to Graph: Lessons Learned from a Real CMS 13 Project

While migrating a search solution from Optimizely Search & Navigation (Find) to Optimizely Graph in CMS 13, I encountered several issues that were...

Binh Nguyen Thi | Jun 24, 2026

Optimizely: Upgrade Opti-ID and .NET 10 in CMS 12

Many Optimizely customers are planning their roadmap around a future migration to Optimizely CMS 13. As a result, upgrades such as Opti ID adoption...

Madhu | Jun 23, 2026 |