K2 language problem

GK User
Wed Feb 15, 2012 5:24 pm
Hi,

I'm using template Financial Business in combination with K2, Joomla 1.5.23

I have a Dutch language file installed, but not all the terms are being translated. When I switch to the default 'Beez' template, these terms are translated. So it seems they are overrided by the template?

Please help,

Regards,

Paul
User avatar
Fresh Boarder

GK User
Wed Feb 15, 2012 8:59 pm
What do you mean by 'all the terms are being translated' ? You talking about frontend or backend ?
User avatar
Platinum Boarder

GK User
Wed Feb 15, 2012 9:34 pm
I mean on the frontend, see attached image for an example
User avatar
Fresh Boarder

GK User
Fri Feb 17, 2012 2:42 pm
Hi,

Someone fixed the problem for me and was so kind to tell me how he did it. Perhaps thsi is usefull to other people:


The problem is in the PHP code that echo's the sentence instead of the language constant. For example, it says in the PHP code:

<?php echo JText::_('Subscribe to this RSS feed'); ?>

When it should be

<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?>

The language file contains a 'K2_SUBSCRIBE_TO_THIS_RSS_FEED' item that will be translated to the given language but it doesn't have a a 'Subscribe to this RSS feed', so there is no translation found.

The easiest fix:

Go to your template directory and then enter the html directory. Find the directory called com_k2 and rename it to com_k2_old

So <joomla_root>/templates/<template_name>/html/com_k2 becomes <joomla_root>/templates/<template_name>/html/com_k2_old

Joomla can not override the K2 output anymore so it will use the default K2 output. This default output should work fine. But it can break up your site, because the output files could have been changed in order to fit to your needs (or the default files contain errors). If that's the case, use the manual fix below.

It could be that the above fix doesn't work or you do not have a com_k2 directory in your html directory in the template folder. Then follow these steps. If that doesn't work, follow the more manual work fix below:

This is also an easy fix but it could break up your website. The fix is to replace the output from the template with the default output from K2. Use at your own risk and always, always make a backup. There is a fix that takes more effort if the easy fix fails. You can find that one below this one.

Download the latest K2 version and unpack the archive, do not install it.

Go to your template directory via FTP on your website. If the following directories do not exist in this template directory, create them:

html/com_k2/templates/default

So the directory structure should read:
<joomla_root>/templates/<template_name>/html/com_k2/templates/default

If the structure already exists, there are also PHP files to be found in 'html/com_k2/templates' and 'html/com_k2/templates/default'.

Important: Make a backup of all these files and directories!

You are going to overwrite these files but if they have been changed (changed the output html), you will override these changes and the adjustments have to be made manually (see below).

So after having made a backup of these files (!) go to the unpacked folder where you unpacked the latest version of K2. Go to the directory:

<k2_unpacked_directory>/components/com_k2/templates

Now copy these files and the directory 'default' to <joomla_root>/templates/<template_name>/html/com_k2/templates

This will reset the output to the default output of K2.


If that doesn't work or breaks up your site, restore the backup you made earlier (or rename com_k2_old folder in your template/html folder back to com_k2) and follow these steps:

Download the files and folders from <joomla_root>/templates/<template_name>/html/com_k2/templates into a directory on your computer.

Open each file one by one.

Search for JText::_

If the string after JText::_ in the downloaded file contains a normal sentence instead of something like K2_SUBSCRIBE_TO_THIS_RSS_FEED found in the unpacked K2 files at the mentioned location, then you have to replace all these strings in JText::_ in the downloaded files with the corresponding JText::_ in the unpacked K2 files.

So for example:

Found in the downloaded register.php files:

echo JText::_( 'Account details' );

At the same location in the K2 unpacked register.php file

echo JText::_('K2_ACCOUNT_DETAILS');

Now you should replace echo JText::_( 'Account details' ); with echo JText::_( 'Account details' );

After all these changes have been made, make a backup of <joomla_root>/templates/<template_name>/html/com_k2

Now upload the new changed files to this folder, overwriting the files that are already there.

Easiest way to make a backup of <joomla_root>/templates/<template_name>/html/com_k2 is to rename it to something like <joomla_root>/templates/<template_name>/html/com_k2_backup and create a new directory com_k2 and upload your changes there.

Use at your own risk.
User avatar
Fresh Boarder

GK User
Fri Feb 17, 2012 4:21 pm
Hi Paul,

Thank you for the information however this has been already changed when K2 change their language strings so i am assuming you are using an old version when K2 language strings was just like that.

See you around.
User avatar
Platinum Boarder


cron