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.

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.

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
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.


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.
V4 jdownloads categories


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 V4 farlang switcher front end selects the language in which they were displayed

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.

V4 jD info env4 jD info frV4 jD info de

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

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.
install joomla lang06A
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.
V4 lang install03A


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.

lang install 05

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.
lang install 06
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 v4-button-download-now button
After clicking on it, you will be able to Save the zip file in a suitable folder on your device by clicking on the V4 button OK button.

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

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 V4 button system, then in the V4 button content lang section click on  V4 button install languages. Locate one of the downloaded language files you saved and load  the zip fle into the upload area.  The installation starts automatically as usual.
 Now repeat for the other languages, one at a time.

lang install 08
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.
V4 lang installed ok
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 V4 button components, then on V4 farlang. Next click on V4 translation. This brings up the main translation starting pointV4 tranlation start point


First select the target Language using the V4 select language pulldown01 pull down. For example click on say German. 

Next use the V4 select comtent element01element  pulldown and select jDownloads Categories.

There are five specific jDownloads items.
V4 select language pulldownV4 content elemint list

jD Categories

In V4 button components select V4 farlang, then V4 translation. In the V4 select content pulldown pulldown choose V4 content element categories  This opens up a list of all the jD Categories and sub Categories. The untranslated elements have a V4 red dot in the State column.V4 category list01


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

Use the v4 button copy sourcebuttons to copy the reference items to the Target items.

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

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.
V4 category translate example02

Translating Downloads

Translating Downloads follows the same general sequence as translating the jD Categories.
Again in V4 button components select V4 farlang and then V4 translation.  At top right select the language, which in this example is German.
In the V4 select content pulldown select Downloads.
 
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'.
V4 download list01
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).
V4 download translate example02

Translating Licenses

Similarly translating Licenses follows the same general sequence as translating the jD Categories.
Again in V4 button components select V4 farlang and then V4 translation. After choosing the languages  select V4 select jdownloads licenses


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.
V4 jdownloads licenses




This is the view where the v4 button copy source button is used to copy the Reference text to the Translation side.
V4 License GNU LGNU01

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.
V4 License GNU LGNU02

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.



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 v4 button copy sourcebutton to copy the English source to the target.
Note that each section of the layout may need expanding
V4 files layout full info01
To translate the Layouts then click onv4 button falangthen on V4 translation. This opens up the translation panel. At the top first click on theV4 layout select language pull down and select V4 layouts select french. Next on the V4 layout select content elementpulldown select V4 layout select jdownloads templates, 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 
V4 layout list
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' butonv4 button copy sourceto 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
V4 layout translate alternate files01





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.
V4 layout translate alternate files02


Remember to set V4 published set.
V4 layout translate alternate file03





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.
V4 layout parts compltetd




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





The image opposite shows the same result after selecting French with the the Falang Language Switcher.
V4 Layouts full info fr

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 V4 user group 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.  
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!!
V4 limit message daily
TEXT
TEXTIMAGE
ColinM February 2025, Updated May 2025, July 2025

Print Email

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.