Translating Elvanto

Elvanto can be translated into any language. Internationalization and localization are terms used to describe the effort to make Elvanto available in languages other than English, for people from different locales, who use different dialects and local preferences. This article explains how translators (bi- or multi-lingual Elvanto users) can go about localizing Elvanto to more languages. If you’re interested in getting involved in a translation, contact the team for more details.


Assuming that an Elvanto translation into your language does not already exist or has someone working on it, you may want to create a public translation of Elvanto in your language. If so, here are the qualifications you will need:

  • You need to be truly bilingual — fluent in both written English and the language(s) you will translate into. Casual knowledge of either will make translating difficult for you, or make the localization you create confusing to native speakers.

  • You should be familiar with language constructs: nouns, verbs, articles, etc., and be able to identify variations of their contexts in English.

  • You must be willing to make your translation generic so that other churches that use your language in the future can use the same words.

About Locales

A ‘locale’ is a combination of language and regional dialect. Usually locales correspond to countries, as with Portuguese (Portugal) and Portuguese (Brazil). You can do a translation for any locale you wish, even other English locales such as Canadian English or Australian English, to adjust for regional spelling and idioms. The default locale of Elvanto is U.S. English.


Participation in the repository is open to anyone. If there is already a team for your language and locale, we’ll let you know and you can join them. If not, you can either volunteer to be a maintainer for your language and locale, or simply contribute your localization and the repository maintainers will add it. Contact us for more information at the chat bubble below. We ask that any church who translates Elvanto commit 100% to the task. There are over 44,000 words within 6,600 strings that need to be translated. If you do not have a team or the time to take on such a big task, we suggest you find help in order to complete the translation.

Types of Messages


‘Labels’ are short and precise descriptors of the purpose of a UI element. These can be very difficult to translate especially if they are single words, and if the word used in English can be interpreted as either a noun or imperative verb. With most labels, you will need to do some searching through your account to find the context of its use before coming up with an appropriate translation. We are always willing to assist with any words you don’t understand. Because so many of the messages are part of the Elvanto administration interface, labels are probably the most frequent type of message to translate. Examples

Original “Post”

Translated “Artikkeli”

“Post” could be interpreted as an imperative verb, but in this context it’s a noun. The noun form of “post” in English can be difficult to translate, and the most appropriate translation has been difficult for some teams to decide upon. Many translations use their language’s equivalent to the English “Article,” as this one does.

Original “- Select -“

Translated ” – Dewis -“

Items like the surrounding dashes in this example can be eliminated or replaced if they might confuse users in your target locale, or if there are different established conventions for your locale.

Informational Messages

Another frequent type of message, the ‘informational message’ is usually composed of full sentences, and conveys information or requests an action of the user. Since these tend to be longer than labels, they tend to be slightly easier to translate. However, with the longer messages comes more variation in the level of formality (or informality), which is something translators need to be aware of. Example

Original “Your new password is in the mail.” This particular message contains a modified English formulaic expression (“the check/cheque is in the mail”), which contributes to its informali

Strings with Descriptions

If a string contains a vertical bar |, the part on the right of | is a description. Its purpose is to help you translate the string, placing it in certain context or providing additional information. Examples

Original “number_format_decimal_point|$dec_point argument for, default is .”

Translated “,”

The description suggest you look at a web page, in order to translate the string.

Date and Time Locale Settings

Elvanto translates the following: Month names

Original “May”

Translated “Květen”

Month abbreviations

Original “May_May_abbreviation”

Translated “Mag”

Note the unusual original wording. These messages should NOT be translated literally: they are a hack to get around the fact that in English, the full name and abbreviation for May are the same, which our system would erroneously combine into one entry. Weekday Names

Original “Tuesday”

Translated “火曜日

Weekday Abbreviations

Original “Tue”

Translated “Уто”

Weekday Initials

Original “T_Tuesday_initial”

Translated “ti”

The weekday initials use the same hack as the month abbreviations to get around the fact that in English Tuesday and Thursday share the same first letter. Not all locales use single-letter abbreviations for all days: in this example, Norwegian Bokmål uses an extra letter to distinguish tirsdag (Tuesday) and torsdag (Thursday). Date Formatting Strings These are PHP date() formatting strings, and they allow you to change the formatting of the date and time for your locale. Elvanto uses the translations elsewhere in the localization file for month names, weekday names, etc. This special string is for the selection of which elements to include in the date & time, as well as the order in which they’re presented.

l, F jS, Y

In English, this gets formatted as:

Sunday, February 27th, 2005

However, different locales format their dates differently. In Danish, for example, dates are written:

søndag, 27. februar 2005

To accomplish this, the Original above would be translated to:

Original “l, F jS, Y”

Translated “l, j. F Y”

To use another example, one way to format dates in Chinese and Japanese is as follows:


This would be accomplished in the translation like this:

Original “l, F jS, Y”

Translated “Y年n月j日”

Lastly, if you need to include literal alphabetic characters in your date format, as sometimes occurs in Spanish, you can backslash them:

Original “l, F jS, Y”

Translated “l j de F de Y “

This would output:

domingo 27 de febrero de 2005

Messages With Placeholders

Many messages contain special formatting placeholders, which allow the insertion of untranslatable dynamic content into the message after it is translated. The placeholders come in two different formats:

  • %sWhen only one placeholder is present, this marker is used.

  • %1$s, %2$s, %3$s, …Numbered placeholders, which allow translations to rearrange the order of the placeholders in the string while maintaining the information each is replaced with.


Original “The e-mail was sent successfully to %s’s e-mail address.”

Translated “El e-mail fue enviado satisfactoriamente a la dirección e-mail de %s”

This message inserts the username of the user to which an email has been sent.

Original “File %1$s of type %2$s is not allowed.”

Translated “类型为%2$s的文件%1$s不允许被上传。”

This message reverses the order in which the file name and type are used in the translation.

Tips for Good Translations

  • Before translating certain words, make sure the word is generic and can be used by other churches in that language. Stay away from using only words your church would use

  • Don’t translate literally, translate organically

  • Being bi- or multi-lingual, you undoubtedly know that the languages you speak have different structures, rhythms, tones, and inflections. Translated messages don’t need to be structured the same way as the English ones: take the ideas that are presented and come up with a message that expresses the same thing in a natural way for the target language. It’s the difference between creating an equal message and an equivalent message: don’t replicate, replace. Even with more structural items in messages, you have creative license to adapt and change if you feel it will be more logical for, or better adapted to, your target audience.

  • Try to keep the same level of formality (or informality)

  • Each message has a different level of formality or informality. Exactly what level of formality or informality to use for each message in your target language is something you’ll have to figure out on your own (or with your team), but Elvanto messages (informational messages in particular) tend to have a politely informal tone in English. Try to accomplish the equivalent in the target language, within your cultural context.

  • Don’t use slang or audience-specific terms

  • If you get stuck or need direction, try reading through the translations of other popular software tools to get a feel for what terms are commonly used, how formality is addressed, etc. Of course, Elvanto has its own tone and feel, so keep that in mind when you’re reading other localizations, but feel free to dig up UI terms and the like to maintain consistency with other software in your language.

Character Encodings

All localizations should have at least a UTF-8 version, but may optionally add versions in other character encodings popular for that locale.

HTML Character Entities

With a few exceptions (noted below), all translations should be written literally, rather than escaping accented and special characters with HTML character entities. Some characters must be escaped to avoid conflict with XHTML markup: angle brackets (< and >), and ampersands (&). In addition, there are a few other characters better used escaped, such as non-breaking spaces ( ), angle quotes (« and »), curly apostrophes (’) and curly quotes. For more information about the W3C’s best practices involving character encodings and character entities, see the following references:

Was this article helpful?
0 out of 0 found this helpful