# Customization - Creating a language pack

## Making language packs

Language packs are simply JavaScript name/value arrays placed in the ".js" files in the "lang" directory. Remember to allways use the "lang_" prefix for these value names so that they don't override other variables in the templates. The example below shows how the cut, copy and paste texts are lang packed. Notice there are two kinds of language packs one is the general one shared by all themes these are located in the "jscripts/tiny_mce/langs" directory the other optional one is theme specific language packs these are contained in "jscripts/tiny_mce/themes/<some theme>/langs".

    tinyMCELang['lang_cut_desc'] = 'Cut (Ctrl+X)';
    tinyMCELang['lang_copy_desc'] = 'Copy (Ctrl+C)';
    tinyMCELang['lang_paste_desc'] = 'Paste (Ctrl+P)';

### Files to edit

When translating TinyMCE, these are the files that currently needs to be translated:

/tinymce/jscripts/tiny_mce/langs/en.js
/tinymce/jscripts/tiny_mce/plugins/<plugin>/langs/en.js
/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js

Notice some language variables may include a name/url of a gif image or simmilar, for example the button for bold has a "F" character in the Swedish language pack.