実際には、問題に対するより簡単な解決策があります。適切なテンプレート(Joomla CMSに付属するすべてのテンプレートを含む)はlang、HTML要素に属性を設定します。これにより、CSS :lang()疑似セレクターを使用できるようになります。
あなたの例は次のようになります:
li.artist:lang(en):before {content:"Artist: "}
li.artist:lang(it):before {content:"Artista: "}
li.artist:lang(de):before {content:"Künstler"}
これにはいくつかの利点があります。手始めに、それはすべてブラウザで行われるので、テンプレートに関係なく、またはJoomla以外のソリューションでも動作します。
また、lang属性が正しく設定されていれば、他の言語の埋め込みパーツでも問題なく機能します。例えば:
<html lang="en">
  <head>
    <style>
     blockquote:lang(de) { color: red; }
     blockquote:lang(en) { color: red; }
    </style>
  </head>
  <body>
    <p>A famous German quote is:</p>
    <blockquote lang="de">
      <p>Den Wald vor lauter Bäumen nicht sehen</p>
    </blockquote>
    <p>A famous English quote is:</p>
    <blockquote>
      <p>Listen to many, speak to a few.</p>
    </blockquote>
  <body>
</html>
最後に、Joomlaは言語だけでなくロケールも出力します。したがって、1つのサイトでen-GBを使用し、別のサイトでen-USを使用すると、テンプレートはそれを反映します。を使用:lang(en)するとどちらにも一致しますが、:lang(en-US)アメリカ英語のみをターゲットにする場合にも使用できます。