After some more thought, I realized that it will be easier than I have indicated to support multiple languages.

The
DIR_WS_TEMPLATE . 'buttons/' . $_SESSION['language'] . '/
will be needed just as shown above, but the rest of the PHP code does not need to be changed.

For all background images (which are specified in the stylesheet), you can create a language-specific stylesheet and place appropriate versions of the declarations in it. So in your base stylesheet.css for your default language, you will have
Code:
	
/*example for individual category as bg image*/
a.catBg25 {
    background-image: url(../buttons/english/catbg25.gif);
    height: 30px;
    }
and for your alternate language (say French) you will have /includes/templates/your_template/css/french_stylesheet.css (all lowercase). In that you will change the url of the background image:
Code:
/*example for individual category as bg image*/
a.catBg25 {
    background-image: url(../buttons/french/catbg25.gif);
    height: 30px;
    }
so that when French is activated by the user, the French version will be displayed.

Note: I believe this to be correct, but have not yet tested it. If anyone does this, please post here to confirm that it works or troubleshoot if it doesn't.