How to Translate Frontend Labels of a Shack Form

How to Translate Frontend Labels of a Shack Form

Shack Forms Pro allows you to display the labels of the fields of your forms at the frontend of your Joomla site in languages other than English.

This is a two-step process.

  1. Install and enable a Joomla language pack for your preferred language.
  2. Create labels for the fields of the required Shack Forms module in your required language.

Let's take a look at this process in more detail.


Step #1. Install and enable a Joomla language pack for your preferred language

  • Go to the "Joomla Translations" page here.
  • Click on your required language name and download its package.
  • Go to your Joomla administrator panel. Install the downloaded language package the same way you would install a Joomla extension. 
  • Go to "Extensions" > "Languages":

go to extensions languages

  • You will be taken to the "Languages: Installed (Site)". Click on the little yellow star. You will see your new language, Russian in my screenshot below, assigned as the default language of your Joomla site frontend:

assign your new language as default language for site

Excellent! Now you can create frontend labels for the fields of your Shack Forms modules in your preferred language.


Step #2. Create frontend labels for the fields of your Shack Form in your preferred language

  • In your Joomla administrator panel, open the required Shack Forms module.
  • Under the "Module" tab, click on the little error of the required field to see the field's settings. In my demonstration, I clicked on the little error of the "name" field:

open the required field settings

  • Inside the "Field label" field, enter the field label in your preferred language. For my demonstration, I entered "Ваше имя", which is "Your name" in English:

enter your new frontend label

  • Click "Save" or "Save & Close".
  • Check your form from the frontend of your Joomla site. You should see the new field label in your preferred language:

new frontend label at work


Can I translate labels by manually editing the language file of my Shack Forms Pro?

By inspecting your Shack Forms Pro installation pack you may find out that it contains the language file of your preferred non-English language.

For example, for the Russian language, you will find the Shack Forms Pro language file in the /modules/mod_pwebcontact/language/ru-RU/ru-RU.mod_pwebcontact.ini.

Similarly, for the Polish language, you will find the language file in the /modules/mod_pwebcontact/language/pl-PL/pl-PL.mod_pwebcontact.ini.

For the Italian language, you will find the language file in the /modules/mod_pwebcontact/language/it-IT/it-IT.mod_pwebcontact.ini.

You get the picture.

By inspecting your preferred language file, you may further find out that the file already contains a translation of the frontend label of the required field.

For example, the Russian language file contains a translation for the frontend label of the "name" field:

the frontend label for the name field in russian

You may feel tempted to edit this translation to one of your likings manually, directly in your language file. But there are two reasons why we don't recommend taking such an approach.

  1. The main reason is that you will lose your changes next time you update your Shack Forms Pro to its newly released version. 
  2. Secondly, this approach won't work when you start creating new fields in your Shack Form. Your language file won't have them. Theoretically, you may create them with some skills. But they, once again, won't survive your next Shack Forms Pro update.

That's why we strongly recommend translating the frontend labels of the fields of your Shack Forms Pro form from inside the form's module settings, as we discussed in Step #1 and Step #2.


What's Next?

Save $1,000's when you sign up to Joomlashack's Everything Club.

You will get access to all our 32 extensions, and legendary support!

  Click here to join the Everything Club