How to change lang resources on the fly?

Hi,

I have some languages specific textures, for (es, en , ru, etc…) and I want it to change the language use by the application on the fly. It is possible with cocos2d-html5?

I have a loader function that loads the language required on startup, and I can call it everytime I need to change the resources, but the second time the textures doesn’t work.

Is anything I can do to change ES textures to EN or other languages on the fly? this is the method I use to load the textures on the fly

cargaMenu: function(){
        var res;
        var res2;

        switch(_lang){
          case "da":
            res = [ { src:JS.Langs.MENU_LANG_DA } ];
            res2 = JS.Langs.MENU_LANG_DA;
            break;
          case "de":
            res = [ { src:JS.Langs.MENU_LANG_DE } ];
            res2 = JS.Langs.MENU_LANG_DE;
            break;
          case "en":
            res = [ { src:JS.Langs.MENU_LANG_EN } ];
            res2 = JS.Langs.MENU_LANG_EN;
            break;
          case "es":
            res = [ { src:JS.Langs.MENU_LANG_ES } ];
            res2 = JS.Langs.MENU_LANG_ES;
            break;
          case "fr":
            res = [ { src:JS.Langs.MENU_LANG_FR } ];
            res2 = JS.Langs.MENU_LANG_FR;
            break;
          case "it":
            res = [ { src:JS.Langs.MENU_LANG_IT } ];
            res2 = JS.Langs.MENU_LANG_IT;
            break;
          case "jp":
            res = [ { src:JS.Langs.MENU_LANG_JA } ];
            res2 = JS.Langs.MENU_LANG_JA;
            break;
          case "nl":
            res = [ { src:JS.Langs.MENU_LANG_NL } ];
            res2 = JS.Langs.MENU_LANG_NL;
            break;
          case "pt":
            res = [ { src:JS.Langs.MENU_LANG_PT } ];
            res2 = JS.Langs.MENU_LANG_PT;
            break;
          case "ru":
            res = [ { src:JS.Langs.MENU_LANG_RU } ];
            res2 = JS.Langs.MENU_LANG_RU;
            break;
          case "tr":
            res = [ { src:JS.Langs.MENU_LANG_TR } ];
            res2 = JS.Langs.MENU_LANG_TR;
            break;
          case "zh":
            res = [ { src:JS.Langs.MENU_LANG_ZH } ];
            res2 = JS.Langs.MENU_LANG_ZH;
            break;          
          default:
            res = [ { src:JS.Langs.MENU_LANG_EN } ];
            res2 = JS.Langs.MENU_LANG_EN;
        }


        //load resources
        cc.LoaderScene.preload(res, function () {
            JSLog("Cargado lenguaje "+_lang);
            cc.SpriteFrameCache.getInstance().addSpriteFrames(res2);

            // initialize director
            var director = cc.Director.getInstance();
            director.replaceScene(new MenuScene());
        }, this);

I found the problem, I need to free the texture before changing the new texture.

I’m freeing the texture using this function.

cc.SpriteFrameCache.getInstance().removeSpriteFramesFromFile(datos[1]);

But I’m having some troubles, sometimes the textures doesn’t show the correct coordinates. I’m investigating the problem