1. #1
    Ext JS Premium Member
    Join Date
    Feb 2010
    Posts
    9
    Vote Rating
    0
    JackCo is on a distinguished road

      0  

    Default workspace singleton localisation

    workspace singleton localisation


    My application has a template similar to the code below:

    Code:
    MyApp.workspace = function() {
        var viewport;
        //...
        return {
            init: function() {},
            //...
            destroy : function() {}
        }
    }();
    
    // bootstrap application
    Ext.onReady(MyApp.workspace.init, MyApp.workspace);
    All the pre-config components used in the application can be localised with use of language file. Is something similar possible with my application workspace?

    Something like this:

    Code:
    if(MyApp.workspace) {
        Ext.apply(MyApp.workspace.prototype, {
            textConfigVar    : 'localized content',
        });
    }
    Will such an approach work and where should i put the config vars ? Maybe inside the init funtion?

    --

    Jack

  2. #2
    Sencha User steffenk's Avatar
    Join Date
    Jul 2007
    Location
    Haan, Germany
    Posts
    2,664
    Vote Rating
    7
    steffenk has a spectacular aura about steffenk has a spectacular aura about steffenk has a spectacular aura about

      0  

    Default


    Code:
    MyApp.workspace = function() {
        var viewport;
        //...
        return {
            init: function() {}
            //... here you can localize
            destroy : function() {}
        }
    }(); // <- this makes it a singleton
    vg Steffen
    --------------------------------------
    Release Manager of TYPO3 4.5

  3. #3
    Ext JS Premium Member
    Join Date
    Feb 2010
    Posts
    9
    Vote Rating
    0
    JackCo is on a distinguished road

      0  

    Default


    I can only get the inline (default) config var value in the components, but not the localized value defined in a language file.

    My code looks something like this:

    Code:
    MyApp.workspace = function() {
        var viewport;
        //...
        return {
            init: function() {},
            textConfigVar: 'default english',
            someBuildFunction: function() {
                return new Ext.Panel({
                   html: '<p>' + this.textConfigVar + '</p>'
                });
            },
            destroy : function() {}
        }
    }();
    To me it seems this does not work in a similar fashion as some pre-config component. What am i missing ? I could offcourse turn the panel in this case into a pre-config component and define config vars there, but am just wondering if it can be done in this mannor.

    --

    Jack

  4. #4
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,499
    Vote Rating
    47
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    You are missing the fact that you are just creating an Object, not a class.

    MyApp.workspace is assigned to reference what is returned by that return statement. Which is just an object.

  5. #5
    Sencha User steffenk's Avatar
    Join Date
    Jul 2007
    Location
    Haan, Germany
    Posts
    2,664
    Vote Rating
    7
    steffenk has a spectacular aura about steffenk has a spectacular aura about steffenk has a spectacular aura about

      0  

    Default


    you could init a lang object like
    Code:
    MyApp.language = {
      label1: 'bla'
      label2: 'bla2'
    }
    and in your init you can override this object with users language. In your component you would use MyApp.language.label1 for example.
    vg Steffen
    --------------------------------------
    Release Manager of TYPO3 4.5

  6. #6
    Ext JS Premium Member
    Join Date
    Feb 2010
    Posts
    9
    Vote Rating
    0
    JackCo is on a distinguished road

      0  

    Default


    Object in seperate file with localized config vars seems to be a good solution.

    Code:
    return {
        textConfigVars: {
            var1 : 'default var 1',
            var2 : 'default var 2'
        },
        init: function() {
            //...
            this.textConfigVars = MyApp.language.textConfigVars;
            //...
        }
    }
    Code:
    MyApp.language = {
        textConfigVars: {
            var1 : 'localized var 1',
            var2 : 'localized var 2'
        }
    };
    This seems to be a fine solution for my 'problem'.

    Thanks for pointing me into the right direction.

    --

    Jack

Similar Threads

  1. Singleton Pattern
    By plalx in forum Ext 3.x: User Extensions and Plugins
    Replies: 0
    Last Post: 18 Apr 2010, 7:09 AM
  2. Singleton object
    By asagala in forum Ext 3.x: Help & Discussion
    Replies: 9
    Last Post: 7 Oct 2009, 6:30 AM
  3. A Logger singleton
    By Animal in forum Ext 2.x: User Extensions and Plugins
    Replies: 2
    Last Post: 19 Nov 2007, 7:38 AM
  4. Workspace - Web based IDE
    By jguru in forum Community Discussion
    Replies: 1
    Last Post: 20 Jul 2007, 10:55 AM
  5. Your Workspace
    By jon.whitcraft in forum Community Discussion
    Replies: 6
    Last Post: 20 Jun 2007, 6:47 AM

Thread Participants: 2

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi