Nazwy i lista dostępnych języków
Nazwy języków są zapisywane zgodnie z POSIX'owym standardem znanym jako locale. Zakładam jednak, że Facebook nie zna wszystkich języków świata, więc czasami warto sprawdzić, czy są one obsługiwane. Na Facebook'u listę języków znajdziemy w stopce - może to być albo nazwa aktualnego języka (np. Polski), albo np. na stronie głównej znaczek ».Kody poszczególnych języków odczytamy z kodu źródłowego - najlepiej najechać na link i z podręcznego menu kliknąć 'Zbadaj element' (w przypadku kiedy mamy Firebug'a na Firefox'ie lub pracujemy na Chrome lub Safari). Pierwszym parametrem dla funkcji wykonującej się na zdarzeniu onclick jest kod języka. Możemy też w ten sposób uniknąć szukania kodów języków po różnych innych serwisach czy wikipedii.
XFBML
W przypadku XFBML'a informacja o języku jest zapisana w adresie URL dla skryptu JS. Domyślnie jest on ustawiony na en_US. A oto przykład dla Like Box'a:<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> <fb:like-box href="http://www.facebook.com/platform"></fb:like-box>Jeżeli chcemy wymusić język polski na widżetcie wówczas musimy zmienić z en_US na pl_PL.
IFrame
Osadzając ramkę musimy dodać do adresu URL parametr locale. Taki przypadek jest podany w dokumentacji Facebook'a, ale tylko dla przycisku 'Lubię to'. Okazuje się, że działa także na wszystkie inne Social Pluginy, które mogą być osadzane wykorzystując <iframe>. I znów przykład dla Like Box'a, ale tym razem z językiem ustawiony na francuski (fr_FR):<iframe src="http://www.facebook.com/plugins/likebox.php? href=http%3A%2F%2Fwww.facebook.com%2Fpages%2FJS-CodeBlocks%2F403116485292& width=155& colorscheme=light& connections=2& stream=false& header=true& height=280& locale=fr_FR" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:155px; height:280px;" allowTransparency="true"> </iframe>Mam nadzieję, że teraz ustawienie języka konkretnego pluginu nie będzie już sprawiało problemów.
6 komentarzy:
dzięki - dzisiaj twój wpis był mi bardzo pomocny podczas tworzenia serwisu z social pluginami :)
O, nie wiedziałem o tym. Ostatnio robiąc stronkę w dwóch językach zleceniodawca zwrócił mi uwagę na język Facebookowego Like'a - w angielskiej wersji językowej strony było polskie 'Lubię to!'. Odpowiedziałem, że nie da się tego zamienić i tekst widżetu zależy od ustawień facebooka i osoby aktualnie zalogowanej. :-) Także dobrze wiedzieć.
Dzięki wielkie, męczyłem się z tym trochę :)
ja mam odwrotny problem ... na polskiej stronie mam wersje angielska ...zmieniam na pl_PL i nic wciaż jest "Like" .dodalem nawet link z polskim przedrostkiem pl-pl ...i nic.
oczywiscie strona na facebooku jest po Polsku
src="http://connect.facebook.net/pl_PL/all.js#xfbml=1"
href="http://pl-pl.facebook.com/pages/O%C5%9Bwietlenie-LED-wwwzarowkiledowecom/134331619970360"
width="250" height="308" show_faces="true" stream="false" header="false" colorscheme="light"
Zasadniczo powinno wyświetlać komunikat po polsku - czy na stronie jest może osadzona jeszcze raz biblioteka Facebookowa? Np. do jakiegoś buttona 'lubię to' czy innego elementu. Wówczas tamte ustawienia mogą być brane pod uwagę, a nie te w bibliotece definiowanej tuż przed interesującym nas widżetem
Przydatne informacje, dzięki.
Prześlij komentarz