Meteotemplate Translations


In this section you can download the most up-to-date language strings as well as view translated and untranslated phrases and even submit your translations if you want to help. If you would like to add a completely new language, you find a mistake in the translations or you would like some new strings to be added, email me at If you add completely new language file to the lang directory, you need to reload the languages by going to the Main settings and just hit "Save" without changing anything.


How to Translate

All the strings are in one centralized MySQL database at You simply go to the translation section, you choose the language you want and an up-to-date text file for the specified language is generated from the database for download.

Upon selecting a language you also immediately get a number of total number of strings, number of translated and number of untranslated for that particular language. You can also view them. You are also shown when was the last update of the database for that particular language so that you can check if you have the latest version already.

In addition, there is a direct link to a translating section. Here you will see all the untranslated strings and an input field where you can enter your translation and then easily send it to me, I will review it and add to the database. In addition, there are automatically suggested translations, which use online translating services to try to guess the right translation and if you think it is correct, you simply click the "copy" button and the suggested string is copied to the field for translation.

This makes everything much easier and organized. For example, I release a new plugin, I add strings to the database, they immediately appear as "untranslated" and as soon as someone submits translation, I just check it and add it to the database, you can immediately generate a new language file with the right strings already.

Another example would be if you added some custom pages, you can now pass your own strings to the translation function and then later if I add this string to the database, it will also be translated. But it will work even before I do so.

I hope this will make everything more organized and usable.

Now just a couple more things about the lang function that does the translation and how it works.

Basically the function gets two parameters: the actual string and case. For case you can use "l" - everything lowercase, "u" - everything uppercase, "c" - first word capitalized, "-" - don't change case, leave as is in the translation file, and "w" - all words capitalized.

There are three possible scenarios:

  • a string is passed which is in the language strings database and a translation for the particular language exists -> the translation is displayed to the user
  • a string is passed which is in the language strings database, but there is no translation for it in the particular language chosen -> English equivalent is returned by default
  • a string is passed which is not in the language strings database -> the string is formatted based on the specified case (the second parameter passed to the function) and then just displayed as it was passed to the function

To illustrate this, some examples:

Imagine we have a database which contains the following strings: "strawberry", "water melon" and "sour cherry".

Now we want to display the word "sour cherry" in our template, we therefore put:

<?php echo lang("sour cherry","c");?>

Now the possible outputs of this:

  • because the string is in the database it will look for it and try to find Czech equivalent - if found it will return "Višeň"
  • the string is in the database, but there is no translation for it in Czech -> it will return "Sour cherry"
  • if the string was not in the database, it would also return "Sour cherry"

If you passed to the function for example:

<?php echo lang("banana","u");?>

It would check the strings database -> not find it there -> therefore just use it as it is and only format it - in this case we specified "u" -> it will return BANANA.

And one more example of the formats, so if you passed like in the above example "sour cherry", then based on the second parameter you would get:

  • "l" - sour cherry
  • "u" - SOUR CHERRY
  • "c" - Sour cherry
  • "w" - Sour Cherry

If you like this template and find it useful, please consider making a small donation. The entire template and plugins, including support is absolutely free and all contributions will go towards covering the costs associated with running this webpage.