Over the past several months we’ve had conversations with our partners about how to better serve patrons who prefer not to use Aspen in English. As part of those discussions, we’ve updated the Aspen translation system to be more community driven. In this blog we’d like to walk through the process of how we created the system we have today.

When designing the translation system there were some key considerations we wanted to take into account including:

  • Not everything should be translated; make sure the right things can be translated.
  • Translation needs to be done in context.
  • Libraries have special needs that require local translations.
  • Complicated text that requires information to be inserted needs special handling.
  • Translations should be crowdsourced between libraries to make it easier to have complete up to date translations.

When looking at a catalog in Spanish (or other languages), it is important to not translate metadata that could imply that content is available in Spanish when it’s really available in English. Therefore, we don’t translate things like the title, description, and other metadata. To see how the site will look in other languages, we created automatic translations into Ubbi Dubbi and Pig Latin that can be applied to a site.

As we can see from the screenshot using Ubbi Dubbi for the display language, the title, description, author, and series information is not translated, but all the surrounding content is.

Our next challenge was allowing translators to translate Aspen in context. To do this, we created a translation mode where Aspen shows the items that can be translated with a status indicator for if the term has been translated or not.

Anything can be translated by clicking the indicator and entering the new translation. This works for translating to other languages and updating the English translation.

Of course if translators prefer they can also translate by downloading a list of terms, translating them and then uploading the translations.

Once translated, the translations are uploaded to a central server so they can be automatically shared with libraries wanting to setup that language within Aspen.

Although libraries have a lot of similarities, there are regional and library specific reasons to have terms that change locally. For that reason, we allow libraries to override the shared translations locally (both English and other languages). For example, some libraries call the process of pausing delivery of a hold suspending and unsuspending a hold, others call it freezing and holding. Some libraries will also rebrand services they offer. For example, the Central Kansas Library System has branded their OverDrive collection Sunflower eLibrary. Aspen’s translation system allows libraries to translate any term so the label displays differently within a library’s Aspen instance.

This allows facets to be translated:

As well buttons to place holds and checkout materials:

By translating these terms we reduce patron confusion by not referring to collections one way in the library itself and in another way within the online presence.

The translation system in Aspen was originally a very traditional system where strings were looked up within a simple static file and a file had to be created for each language. That system worked really well initially, but it had a number of drawbacks that we needed to address.

For example within search results we show a count of results as:

Showing 1 - 20 of 1500 Results

In the old system this would have been translated as 3 different strings:

“Showing” “of” and “Results”

The translations of those strings would then be concatenated with the numbers to form a complete sentence.

While this worked well for some languages, other languages needed the position of the numbers to be moved to make sense in a sentence.

Aspen’s new translation system includes placeholders for information that gets inserted dynamically. So the sentence above would become:

Showing %1% - %2% of %3% Results

This can then be translated as something like:

%3% results total, showing %1% of %2% on this page.

Which completely changes the order of inserted information based on the library’s preferences.

As we touched on earlier, we wanted translations to be crowdsourced so libraries can collaborate and easily help each other translate Aspen into many different languages. When saving new translations, Aspen will automatically update our central server with the new value if it’s the first time that term has been translated and the partner Aspen site will check the central server for new translations.

We’re excited to see the number of new languages grow within Aspen and see Aspen better server patrons where English is not the best language for them!