Introduction
(3)It is assumed that you have successfully installed the Falang Component as described in article XXXXXXX
Continuing on from that article, this article describes adding French and German views to jDownloads. Switching which language an item is shown in the front end is by using the Falang Language Switcher.
Continuing on from that article, this article describes adding French and German views to jDownloads. Switching which language an item is shown in the front end is by using the Falang Language Switcher.
The French and German versions are then created with Falang.
Here we are using the 'Pro' version of Falang which may be used on many sites. This is a paid version. There are also versions that are restricted to a single site at a lower cost and also a free version.
Falang is compatible with both Joomla 4 and Joomla 5. The following notes relate to using faLang 5.20.
Here we are using the 'Pro' version of Falang which may be used on many sites. This is a paid version. There are also versions that are restricted to a single site at a lower cost and also a free version.
Falang is compatible with both Joomla 4 and Joomla 5. The following notes relate to using faLang 5.20.
Add support for jDownloads
The various content types in jDownloads are:
(1) adding the jD Language files;
(2) translating Categories and sub categories;
(3) translating Downloads;
(4) translating Licenses;
(5) translating Layouts.
(6) translating User Limits
(1) adding the jD Language files;
(2) translating Categories and sub categories;
(3) translating Downloads;
(4) translating Licenses;
(5) translating Layouts.
(6) translating User Limits
Each of these is treated below
General Discussion And Examples
jDownloads has Categories, Downloads, Licenses, Layouts and User Group Limits that require translations.
The jD categories are like Article categories complete with sub categories A Download has a title, an alias, permissions, access level, user access, a publication status, a language attribute and it is located in a jD category. Optionally it may also have descriptions, symbols, images, previews, price, licence and many other items. All of these are stored in the database.
A Download includes a downloadable file. The downloadable file itself is not in the database. In most cases it is stored on your site in a sub-directory of the jDownloads directory, but it may also be stored on an external site, see downloads on external site (opens in new window/tab) for more information.
For a particular jD category and Download then with Falang the same file will be downloaded irrespective of the current language. This is the norm for multilingual sites.
With Components such as jDownloads, Falang adopts a different strategy to effect translations in the front end. Basically, the Language Switcher just changes which component language file is used.
The jD categories are like Article categories complete with sub categories A Download has a title, an alias, permissions, access level, user access, a publication status, a language attribute and it is located in a jD category. Optionally it may also have descriptions, symbols, images, previews, price, licence and many other items. All of these are stored in the database.
A Download includes a downloadable file. The downloadable file itself is not in the database. In most cases it is stored on your site in a sub-directory of the jDownloads directory, but it may also be stored on an external site, see downloads on external site (opens in new window/tab) for more information.
For a particular jD category and Download then with Falang the same file will be downloaded irrespective of the current language. This is the norm for multilingual sites.
With Components such as jDownloads, Falang adopts a different strategy to effect translations in the front end. Basically, the Language Switcher just changes which component language file is used.
In this example, as illustrated opposite, we have a main category, called Test Dir with two subcategories called 'pdf files', with 2 published Downloads, and 'zip files', with 4 published Downloads.

The three images opposite all reference the same actual Download when shown in the jD Download Details view in the Front End.
Using the Farlang Language Switcher

Only the language of the descriptive text giving the 'name' of the data changes. That is there is nothing to change in jDownloads itself.
Note: Sometimes when showing French then a text string may still be shown in English. This is because the French jDownloads translation is not itself complete at the time of writing.



Install jDownloads language packs
First please note that installing a language for jDownloads, or any other non-core component, does not use the Install Languages in the Joomla Extensions Manager. That is just for installing languages for Joomla! itself.
Basically the process is to download the appropriate jDownloads language pack and then install as if it were a regular extension.
Also note that the same translations are used for both jDownloads 3.9 and jDownloads 4.x
Basically the process is to download the appropriate jDownloads language pack and then install as if it were a regular extension.
Also note that the same translations are used for both jDownloads 3.9 and jDownloads 4.x
Find jDownloads Language Translations
The first step is to go to the jDownloads documentation site (opens in a new tab/window) and then click on the Translations menu item as illustrated opposite.

Each Downloads language translation file has all the language content for the Component, all the modules and all the plugins.
Note the restriction in red text - we are trying to resolve this.
The language files are listed below this message.
Note the restriction in red text - we are trying to resolve this.
The language files are listed below this message.

Just scroll down to find the required language and click on the Title of that language.
Each language pack is a zip file with about 50 language files in it. These are for the component, modules and plugins that form jDownloads.

After selecting the required language, you will then see a list of the various translation parts of jDownloads, followed by a 'bar' indicating how much of each individual part has been translated as indicated opposite.

Some translations may be incomplete. What happens is that if a particular language string is missing then jDownloads uses the corresponding one from the English language pack. From time to time you should recheck the jDownloads language files to see if they have been updated.
Scroll down to the

After clicking on it, you will be able to Save the zip file in a suitable folder on your device by clicking on the

Personally, I use a folder called 'jD Language Files'.

Install jD languages
The downloaded language pack is self- installing.
So use the normal Install as you would for any extension as indicated opposite.
Do NOT use the 'Install Languages'
Use



Now repeat for the other languages, one at a time.

Note that the German language files are already installed in jDownloads. So in this example only the French language needed to be Uploaded.
You now have the specific jDownloads language files in place.

You now have the specific jDownloads language files in place.

These are organised by the language codes so for example the French language file for the component would be in 'administrator/language/fr-FR/fr-FR.com_jdownloads.ini' and similarly the Top Module language is in 'administrator/language/fr-FR/fr-FR.mod_jdownloads_top.ini' .
Making Content Translations
To make a translation then the main Joomla backend menu click on
, then on
. Next click on
. This brings up the main translation starting point




First select the target Language using the

Next use the

There are five specific jDownloads items.


jD Categories
In
select
, then
. In the
pulldown choose
This opens up a list of all the jD Categories and sub Categories. The untranslated elements have a
in the State column.







Click on the Title of the Category you wish to translate which in this example is category Dated Cats.
Use the

Then copy each Target item to your choosen translation sevice. Paste the translated result over the Engish in the right hand side.

In this exampe there are only two items to translate, the Title and the Description.
The translated version appears as shown opposite. Do not forget to Publish.
Now repeat the process for the French language.

Translating Downloads
Translating Downloads follows the same general sequence as translating the jD Categories.
Again in
select
and then
. At top right select the language, which in this example is German.
In the
select Downloads.
Again in



In the

The Downloads are listed alphabetically.
Click on the Title of the Download you wish to translate which in this example is Download '001-24-service-sheet'.
Click on the Title of the Download you wish to translate which in this example is Download '001-24-service-sheet'.

In general there are 3 items to translate: Title, Version and Description.
In this example only the Title existed.
Again remember to publish.
It is more efficient in time to switch to the other language(s).
In this example only the Title existed.
Again remember to publish.
It is more efficient in time to switch to the other language(s).

Translating Licenses
Similarly translating Licenses follows the same general sequence as translating the jD Categories.
Again in
select
and then
. After choosing the languages select 
Again in




This shows the list of Licenses. Two of them have already been translated.
To translate a License click on its name.
In this example we will use the 'GNU/LGPL' license.

This is the view where the


Here the English text in the right hand side has been copied and then translated into German using an external translation service.
The resultant translation was then copied back into the Target Side.
It was also set as published. Then exit by using Save& Close.
Repeat the process using French.

Translating Layouts
The Layouts translation is a little different. There are 23 different Layouts but usually only one from each of the six sections is used.
Farlang offer translation facilities for all 23 layouts but obviously you only need to translate those you need.
Farlang offer translation facilities for all 23 layouts but obviously you only need to translate those you need.
After specifying the language and selecting jDownloads Layouts then to translate a specific layout click on its name.
In this example we are translating Files Layout Full Info. As before click on the

Note that each section of the layout may need expanding

To translate the Layouts then click on
then on
. This opens up the translation panel. At the top first click on the
pull down and select
. Next on the
pulldown select
, which are the Layouts.






This lists all the jDownloads Layouts in alphabetical order.
The small red button in the State Column inicates that a layout has not been translated.
You maybe tempted to only translate the layouts you are currently using, but if you do find a need for one of your untranslated tempates it means rembering how to do it or finding the right place in this article!
Personally I translate all of them as it is all then done

To initiate a layout translation click on the layout name in the form above. Here we are translating the 'Alternate Files Layout.
At the initial step the target is side is empty and the status is unpublished. So click on the 'transfer' buton
to copy each item in turn from the Reference side to the Target side.
There are 4 'code' blocks and 3 'text' blocks.
The code blocks do not need translation. But if the text bolcks are not empty then those blocks will need actual tranlation.
For reference all the text reqiured by the 'code blocks' are already in the jD Language files.
Finally ensure you set to published

There are 4 'code' blocks and 3 'text' blocks.
The code blocks do not need translation. But if the text bolcks are not empty then those blocks will need actual tranlation.
For reference all the text reqiured by the 'code blocks' are already in the jD Language files.
Finally ensure you set to published

This is the view before we have actually rplaced the English on the Righthand side with the French translations.
Usually as the Layout text, the Layout header text, the Layout subheader text and the Layout footer text do not require any translation.

Remember to set


The completed parts will all be listed as shown opposite. They all have green dot in the Status Column
Below them are the list of the remaining Layouts, which have a red dot in the Status Column.
Personally I find it simpler to complete one language at a time.

The image opposite shows the English frontend view at the top of a set of Downloads using the 'Files Layout Full Information' layout.

The image opposite shows the same result after selecting French with the the Falang Language Switcher.

Translating User Groups Limits
In this example we will use the Registered User Group. In jDownloads click on User Group settings. This brings up the list User Groups. So in this example click on the Registered group. This shows a view with three tabs
Click on Group Settings and then ensure that the option 'View User Limits' is set to Yes.
Beneath that is the structure of the actual Limits Message. This uses what are called 'placeholder variables' such as {files_daily_label}, {files_weekly_label}, and so on. To set the actual limit values click on the Limits tab.

Click on Group Settings and then ensure that the option 'View User Limits' is set to Yes.
Beneath that is the structure of the actual Limits Message. This uses what are called 'placeholder variables' such as {files_daily_label}, {files_weekly_label}, and so on. To set the actual limit values click on the Limits tab.
This consists of several pairs of messages. Typically a limit value and a User Message. It is the User Message that will be translated.
Note that all of the user Messages start with {en-GB} and end with {/en-GB} .
All of these need removing!!
Note that all of the user Messages start with {en-GB} and end with {/en-GB} .
All of these need removing!!

TEXT
TEXTIMAGE
ColinM February 2025, Updated May 2025, July 2025