Saya merancang situs multibahasa di mana saya ingin mendasarkan beberapa gaya saya pada bahasa aktif.
Pikirkan sesuatu seperti ini:
body.en-uk li.artist:before {content:"Artist: "}
body.it-it li.artist:before {content:"Artista: "}
body.de-de li.artist:before {content:"Künstler"}
Apakah ada yang tahu ekstensi yang mampu melakukan ini (mis. Menambahkan kelas ke tag tergantung pada bahasa aktif)?
extensions
smz
sumber
sumber
Jawaban:
Sebenarnya ada solusi yang lebih mudah untuk masalah Anda. Semua templat waras (termasuk semua templat yang datang dengan CMS Joomla) akan menetapkan
lang
atribut pada elemen HTML. Ini memungkinkan Anda untuk menggunakan:lang()
pemilih-semu CSS .Contoh Anda akan terlihat seperti ini:
Ini memiliki beberapa keunggulan. Sebagai permulaan, ini akan berfungsi terlepas dari Templat atau bahkan dengan solusi selain Joomla karena semuanya dilakukan di Browser.
Juga akan berfungsi dengan baik dengan bagian yang disematkan dalam bahasa lain, selama
lang
atributnya diatur dengan benar. Sebagai contoh:Terakhir, Joomla tidak hanya menampilkan bahasa tetapi juga lokal. Jadi satu situs Anda mungkin menggunakan en-GB, yang lain di AS dan templat akan mencerminkannya. Menggunakan
:lang(en)
akan cocok, tetapi Anda juga bisa menggunakan:lang(en-US)
hanya menargetkan Bahasa Inggris Amerika.sumber
Saya hanya akan memodifikasi file templat index.php dan menambahkan kelas langsung di sana.
Akan menetapkan bahasa saat ini sebagai kelas ke tag tubuh.
sumber
Satu hal kecil untuk ditambahkan sehubungan dengan metode Rouven; dukungan browser lebih baik untuk pemilih atribut daripada untuk pemilih pseudo bahasa, jadi Anda mungkin ingin mempertimbangkan untuk menggunakan sesuatu seperti ini untuk menargetkan gaya Anda:
sumber
Di index.php dari templat Anda, Anda dapat mengganti
<body>
tag saat ini dengan yang berikut:Ini akan menampilkan yang berikut sebagai contoh:
sumber