En realidad, hay una solución más fácil para su problema. Cualquier plantilla sensata (incluidas todas las plantillas que vienen con Joomla CMS) establecerá el lang
atributo en el elemento HTML. Esto le permite utilizar el :lang()
pseudo-selector CSS .
Tu ejemplo se vería así:
li.artist:lang(en):before {content:"Artist: "}
li.artist:lang(it):before {content:"Artista: "}
li.artist:lang(de):before {content:"Künstler"}
Esto tiene un par de ventajas. Para empezar, funcionará independientemente de la Plantilla o incluso con soluciones distintas a Joomla, ya que todo se hace en el Navegador.
También funcionará bien con partes incrustadas en otros idiomas, siempre que el lang
atributo esté configurado correctamente. Por ejemplo:
<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>
Por último, Joomla no solo muestra el idioma sino también la configuración regional. Por lo tanto, un sitio puede usar en-GB, otro en-US y la plantilla reflejará eso. El uso :lang(en)
coincidirá con cualquiera de los dos, pero también puede usarlo :lang(en-US)
para apuntar solo al inglés americano.