(this copy actually includes the attachment!) :-)


Hi Kim,

Attached is the configure.xml(.txt) with the localization changes made
to it.  It seems to work fine..

I put the variables in the file, and referenced them in the menu defs..
Is there another change that needs to be made elsewhere?  I dont know
how the translation is done.

Monty


Kim Gr�sman wrote:

Hi Monty,

Just one thing: Make sure you use a localizable constant for the menu options - that's what the weird arrays are for. With that in place, people can translate the menu from strings.js.

Thanks,
Kim


<search function="configureDQSD">
  <name>Configure DQSD</name>
  <description>
    Configure DQSD<br/>
  </description>
  <link></link>
  <category nomenu="true">Configure</category>
  <contributor>Brent Beardsley</contributor>

  <script><![CDATA[
    var CONFIGURE_LOCAL_ALIASES_NAME = 
    {
      en: "Local Aliases..."
    };

    var CONFIGURE_LOCAL_ALIASES_DESCRIPTION = 
    {
      en: "Edit local aliases"
    };
    
    var CONFIGURE_LOCAL_PREFERENCES_NAME = 
    {
      en: "Local Preferences..."
    };

    var CONFIGURE_LOCAL_PREFERENCES_DESCRIPTION = 
    {
      en: "Edit local preferences"
    }

    var CONFIGURE_LOCAL_STYLESHEET_NAME = 
        {
          en: "Local Stylesheet..."
        }

        var CONFIGURE_LOCAL_STYLESHEET_DESCRIPTION = 
        {
          en: "Edit local stylesheet"
        }

    var CONFIGURE_SYSTEM_ALIASES_NAME = 
    {
      en: "System Aliases..."
    };

    var CONFIGURE_SYSTEM_ALIASES_DESCRIPTION = 
    {
      en: "Edit system aliases"
    };
    
    var CONFIGURE_SYSTEM_PREFERENCES_NAME = 
    {
      en: "System Preferences..."
    };

    var CONFIGURE_SYSTEM_PREFERENCES_DESCRIPTION = 
    {
      en: "Edit system preferences"
    }

    var CONFIGURE_RELOAD_DQSD_NAME = 
    {
      en: "Reload..."
    };

    var CONFIGURE_RELOAD_DQSD_DESCRIPTION =
    {
      en: "Reload Quick Search Deskbar"
    };

    var CONFIGURE_RELOAD_DQSD_PROMPT =
    {
      en: "Are you sure you want to reload the Quick Search Deskbar?"
    };

    var CONFIGURE_INSTALLED_ADDONS_NAME = 
    {
      en: "Installed Addons"
    };
    
    var CONFIGURE_COLOR_SCHEME_DESCRIPTION = 
    {
      en: "Load Color Scheme"
    };

    var BLUE_COLOR_SCHEME_DESCRIPTION = 
    {
      en: "Blue"
    };
    
    var OLIVE_COLOR_SCHEME_DESCRIPTION = 
    {
      en: "Olive"
    };
    
    var SILVER_COLOR_SCHEME_DESCRIPTION = 
    {
      en: "Silver"
    };
    
    var NONE_COLOR_SCHEME_DESCRIPTION = 
    {
      en: "None"
    };


        function editSearchFile(strFilename)
        {
                return editConfigFile(strFilename);
        }

    function editCSSFile(strFilename)
        {
                var myEditor = (typeof cssEditorExe != "undefined") ? 
cssEditorExe : "notepad";
                var install_dir = ".";
                if (ensureLauncher())
                {
                        install_dir = DQSDLauncher.InstallationDirectory;
                }
                var cmd = "\""+myEditor+"\" \""+install_dir+"\\"+strFilename + 
"\"";
                openDocument(cmd);
                return "";
        }

        function editConfigFile(strFilename)
        {
                var myEditor = (typeof configureEditorExe != "undefined") ? 
configureEditorExe : "notepad";
                var install_dir = ".";
                if (ensureLauncher())
                {
                        install_dir = DQSDLauncher.InstallationDirectory;
                }
                var cmd = "\""+myEditor+"\" \""+install_dir+"\\"+strFilename + 
"\"";
                openDocument(cmd);
                return "";
        }

        function buildConfigureMenu(mb, hmenu)
        {
                mb.AppendMenuItem( local(CONFIGURE_LOCAL_ALIASES_NAME), 
"editConfigFile(\"localaliases.txt\")", 
local(CONFIGURE_LOCAL_ALIASES_DESCRIPTION), hmenu);
                mb.AppendMenuItem( local(CONFIGURE_LOCAL_PREFERENCES_NAME), 
"editConfigFile(\"localprefs.js\")", 
local(CONFIGURE_LOCAL_PREFERENCES_DESCRIPTION), hmenu);
                mb.AppendMenuItem( local(CONFIGURE_LOCAL_STYLESHEET_NAME), 
"editCSSFile(\"localsearch.css\")", 
local(CONFIGURE_LOCAL_STYLESHEET_DESCRIPTION), hmenu);
           
           var confthememenu = mb.AppendSubMenu( 
local(CONFIGURE_COLOR_SCHEME_DESCRIPTION), hmenu);
           mb.AppendMenuItem( local(BLUE_COLOR_SCHEME_DESCRIPTION), 
"loadcssfile(\"localsearch_blue.css\")", "Load the blue color scheme", 
confthememenu);
                mb.AppendMenuItem( local(OLIVE_COLOR_SCHEME_DESCRIPTION), 
"loadcssfile(\"localsearch_olive.css\")", "Load the olive color scheme", 
confthememenu);
                mb.AppendMenuItem( local(SILVER_COLOR_SCHEME_DESCRIPTION), 
"loadcssfile(\"localsearch_silver.css\")", "Load the silver color scheme", 
confthememenu);
        mb.AppendMenuItem( local(NONE_COLOR_SCHEME_DESCRIPTION), 
"loadcssfile(\"none\")", "Remove the current color scheme", confthememenu);
                
                mb.AppendSeparator(hmenu);
                mb.AppendMenuItem( local(CONFIGURE_SYSTEM_ALIASES_NAME), 
"editConfigFile(\"aliases.txt\")", local(CONFIGURE_SYSTEM_ALIASES_DESCRIPTION), 
hmenu);
                mb.AppendMenuItem( local(CONFIGURE_SYSTEM_PREFERENCES_NAME), 
"editConfigFile(\"preferences.js\")", 
local(CONFIGURE_SYSTEM_PREFERENCES_DESCRIPTION), hmenu);     
                mb.AppendSeparator(hmenu);
                mb.AppendMenuItem( local(CONFIGURE_RELOAD_DQSD_NAME), "if 
(confirm('"+local(CONFIGURE_RELOAD_DQSD_PROMPT)+"')) reload();", 
local(CONFIGURE_RELOAD_DQSD_DESCRIPTION), hmenu);

                ensureLauncher();
                var addonFolders = 
getFolders(DQSDLauncher.InstallationDirectory+"\\addons\\");
                var installedAddons = null;
                if (addonFolders != "") {
                        installedAddons = addonFolders.split('\n');
                        if (installedAddons.length > 0 && installedAddons[0] == 
".") {
                                installedAddons = installedAddons.slice(1);
                        }
                } else {
                        installedAddons = new Array();
                }

                if (installedAddons.length > 0) {
                        mb.AppendSeparator(hmenu);
                        var haddons = 
mb.AppendSubMenu(local(CONFIGURE_INSTALLED_ADDONS_NAME)+" 
("+installedAddons.length+")", hmenu);
                        for (var i=0; i < installedAddons.length; i++) {
                                mb.AppendMenuItem(installedAddons[i], "", 
installedAddons[i], haddons);
                                mb.DisableMenuItem(i, haddons);
                        }
                }

        }
        function loadcssfile (cssfilename)
        {
           var install_dir = DQSDLauncher.InstallationDirectory;
           if (cssfilename == "none") {
              writeFile(install_dir+'\\theme.css', "");
              reload();
              return;
           }
      var cssContent=readFile(install_dir+'\\'+cssfilename);
      writeFile(install_dir+'\\theme.css', cssContent);
           reload();
        }
        
        function configureDQSD(q)
        {
          // build the menu
          var mb = new ActiveXObject("DQSDTools.MenuBuilder");
          if (mb != null) {
            // Align the menu with the button
            mb.HorizontalAlignment = ( buttonalign == 'left' ? 1 : 2 ); // 1 = 
left, 2 = right (default)

            var hmenu = 0;
            buildConfigureMenu(mb, hmenu);
            var fn = mb.Display(document);
            if (fn) {
              eval(fn);
            }
            mb = null;
          }
        }

        function configureMenuHook(mb)
        {
                var confhmenu = mb.InsertSubMenu("Configure", 2);
                buildConfigureMenu(mb, confhmenu);
        }
        
        registerMenuHook(configureMenuHook);
    ]]>
  </script>
</search>

Reply via email to