How to add your own translations to Extensions?

Featured Image

In my last post about translations I was explaining how to translate words in Magento with inline translation tool as an option, but there are more techniques for translating besides that.
In this post I will try to cover translations for custom modules so they all refer to a single csv file.

Ok first thing is to actually prepare words for translating. Translations will not work if we don’t use proper string for them. So string will look like this:

< ?php echo $this->__('desired word') ?>

Ok now we need to go to the app/code/ and create a directory for all custom modules, so we will make a directory named local. Inside we need to create another directory called Translations for translation module.

Now we should have this – app/code/local/Translations. Inside Translations directory we should make directory named /etc and create config.xml file with this content:

< ?xml version="1.0" encoding="utf-8"?>
<config>
    <modules>
        <translations>
            <version>1.0.0</version>
        </translations>
    </modules>
    <frontend>
        <translate>
            <modules>
                <translations>
                    <files>
                        <default>Translations.csv</default>
                    </files>
                </translations>
            </modules>
        </translate>
    </frontend>
    <adminhtml>
        <translate>
            <modules>
                <translations>
                    <files>
                        <default>Translations.csv</default>
                    </files>
                </translations>
            </modules>
        </translate>
    </adminhtml>
</config>

So what we created is a call for default translation file for all custom modules. After creating a call we need to create Translation.csv file and copy it to a app/locale/en_US/ and in all other language packs enabled. So if we have
french language copy the file in app/locale/fr_FR.

Next stop is to enable Translation module in app/etc/name_of_the_module.xml (Translations.xml) and we should paste this code:

< ?xml version="1.0"?>
<config>
    <modules>
        <translations>
            <active>true</active>
            <codepool>local</codepool>
        </translations>
    </modules>
</config>

After that everything should be working fine, just open the .csv file and start translating.

Hope this will help someone.

Cheers!

9
Top

Care to rate this post?

Author

Filip Svetlicic

Project Manager/Frontend Developer

Filip is Project Manager/Frontend Developer who enjoys working on complex and innovative projects where he can combine his energy, motivation and expertise.

Other posts from this author

Discussion 9 Comments

Add Comment
  1. Nice article but I don’t understand whether you’re just showing how to add translations to a custom module or a custom module that you add translations to for ALL custom modules? If it is the latter, doesn’t this break the modularity of modules? If you want to re-use a module on another site you would have to copy over the extra translations module.

    Also, I think codepool should be codePool.

    Nice article though, I read your site a lot.

  2. @fishpig

    Yes you are right, that is a custom module that adds translations for all custom modules. So if you plan to re-use modules, yes than it’s not so good solution. In that case you can create .csv for each module. I will cover that in next post. You are right about codePool, and i missed some capital letters, my error i will correct that. Thanks for corrections.

  3. nice article. its so helpful….

    Thanks!!!
    - RoKoN

  4. Marcel Aerts

    I can’t get this to work in Magento 1.6.1.0. In the admin area I can see the module is enabled. But I can’t get the translations to work and I don’t know how I can check where it goes wrong. Is this maybe not working in this version of Magento?

  5. Florian B.

    I followed your tutorial and found a bug. The tag has to be otherwise the translation won’t be loaded correctly and therefore won’t load.

  6. Hi,

    Is there any way to change the path to translate.csv?
    for example i need to put translate.csv file inside media folder and read the translations from media/en_US/translate.csv

    Is it possible? If so how?

  7. Peter Svegrup

    Hi Filip,

    Thanks for your article and for pointing me in the right direction to add translation to a module that didn’t have one :)

    This module of yours adds translation for all custom modules but is there a way of adding my own Company_Translations.csv at a global level to substitute the 2 translate.csv under adminhtml and frontend respectively? app > etc > config.xml?

    It’s a constant work of partly adding to the translation of Mage and for the extensions I use as a base for every installation. New words are added, I decide on better phrasing things in Swedish etc.

    Most grateful for your help :)

    All the best

    Peter

  8. hi i m looking for such extension in magneto that help to translate or edit specific word in to other languages ……… is any one help me how i do that is any extension present or i have to make code for that and how i proceed it ?

  9. Tess

    Thanks for the tips. You can use this tool to translate afterwards: https://poeditor.com/. I keep recommending it because it was very helpful for me.

Add Your Comment

Please wrap all source codes with [code][/code] tags.
Top