Polska wersja WordPress Sociable

Słowem wstępu: od kilku/nastu dni jestem dumnym członkiem społeczności Flaker’a, dzięki tejże społeczności udało mi się rozwikłać problem niedziałającego spolszczenia do wtyczki Sociable. Konkretniej rzecz ujmując samo rozwiązanie utworzył meloniq i poinformował mnie o tym na Flakerze – za co serdecznie dziękuję.

Dobra, ale o co chodzi? Chodzi o to iż początkowo wzięło mnie na autorskie przetłumaczenie tejże wtyczki. Spolszczenie zrobiłem, ale nie działało, a tymczasem naprawienie tejże usterki w cale nie było takie trudne. Problem tkwił w pliku sociable.php:

function sociable_init_locale(){
 global $sociablepluginpath;
 load_plugin_textdomain('sociable', false, 'i18n');
 }
 add_filter('init', 'sociable_init_locale');

Wyżej wymieniony wpis modyfikujemy, jak poniżej i do głównego katalogu wtyczki wrzucamy plik sociable-pl_PL.mo:

$plugin_dir = basename(dirname(__FILE__));
 load_plugin_textdomain('sociable', 'wp-content/plugins/' . $plugin_dir, $plugin_dir);

Nie jestem autorem rozwiązania i jeśli meloniq będzie prosił o usunięcie tego zapisu – usunę go. W końcowej części tego wpisu będziecie mieli możliwość pobrania spolszczonej wersji wtyczki (oryginalnej i mojej „modyfikacji”).

Słowem wstępu to tyle

Spolszczenie po tej modyfikacji działa znakomicie, acz są problemy, bo nie wszystko jest spolszczone, lecz nie było tych zapisów szablonie (?).

Korciło mnie jeszcze jedno – brak polskich serwisów społecznościowych w tej wtyczce. Oczywiście jest dostępna do pobrania Polska wersja wtyczki SociableSociable Polska, ale jak to się mówi, diabeł tkwi w szczegółach. Jest jedno niedopatrzenie, które bardzo mnie zirytowało ostatnimi czasy – Ci, którzy korzystali/korzystają z serwisu społecznościowego Blip, wiedzą że lubi on równie często zaliczać, pady co Gadu-Gadu. Tym samym, odkryłem że Polska odsłona wtyczki nie posiada odpowiednich ikon na dysku/serwerze – pobiera je ze stron. Sami zobaczcie (pierwszy kod z oryginalnej wersji, drugi z polskiej):

	'Wykop' => Array(
		'favicon' => 'wykop.png',
		'url' => 'http://www.wykop.pl/dodaj?url=PERMALINK',
		'spriteCoordinates' => Array(91,73),
		'supportsIframe' => false,
	),
	$known_sites['Flaker'] = array(
		'favicon' => 'http://flaker.pl/favicon.ico',
		'url' => 'http://flaker.pl/add2flaker.php',
		'description' => 'Wrzuć to na Flakera - powiadom swoich Znajomych'
	);

Dostrzegacie różnicę, że oryginalna wersja wtyczki posiada ikonki w odpowiednim katalogu, jako plik, a polska odsyła do „favicon.ico”? No właśnie, to mnie boli, bo wydłuża znacznie czas ładowania strony, zwłaszcza w przypadku, gdy padnie serwer tejże społeczności.

Poza tym, po co tak kombinować pod górkę z osobną wtyczką, skoro to samo można zrobić w jednej – oczywiście musimy liczyć się z faktem, że jeśli zaktualizujemy wtyczkę, wiąże się to z utratą naszych zapisów – so be careful!

Co zmieniłem

Podirytowany polską wersją wtyczki po:

  1. Spolszczyłem ją;
  2. Dodałem polskie serwisy, które przyszły mi do głowy.

Wśród dodanych przeze mnie serwisów na chwilę obecną znaleźć można:

  1. Blip;
  2. Śledzik;
  3. Flaker;
  4. Kciuk.

Jeśli ktoś ma propozycje – niech pisze w komentarzach, albo na stronie kontaktowej.

O spolszczeniu pisałem wcześniej, ale teraz skupmy się na dodawaniu nowych serwisów. Piszę to, gdyż poprosił mnie o to @SzyderczyCyc, dokładniej – o tu!

Proces niezwykle prosty, opiszę go krokami:

  1. Otwieramy plik sociable.php;
  2. Przechodzimy do linii 687 (jest na samym końcu serwisów podstawowych);
  3. Dodajemy nowy serwis:
     	'nazwa' => Array(
            'favicon' => 'nazwa.rozsz',
            'url' => 'adres',
            'description' => 'opis',
    	),

Zapisujemy plik z odpowiednio uzupełnionymi wartościami i działa! Potrzebujemy oczywiście do tego ikonkę serwisu o rozmiarach 16×16 pikseli, oraz odpowiedni adres url. Z dostępnych wartości mamy TITLE, który odpowiada za tytuł wpisu, oraz PERMALINK, odpowiedzialny za odnośnik do wpisu. Na przykładzie Flaker’a wpis wygląda tak:

 	'Flaker' =>
        'favicon' => 'flaker.png',
        'url' => 'http://flaker.pl/add2flaker.php',
        'description' => 'Flaker',
 	),

Pobieranie

Wszystko, co jest niezbędne do pobrania znajduje się w repozytoriach WordPress’a.

Nadmieniam, że jeśli ktoś chciałby dodać nowy serwis – nie widzę przeszkód i jestem otwarty na nowe propozycje serwisów. Ty samym mam nadzieję, że komuś jeszcze przyda się ta „wspólna” modyfikacja skryptu :).

Pozdrawiam.


Komentarze

6 odpowiedzi na „Polska wersja WordPress Sociable”

  1. […] blog.keepmind.eu 12:02 blog.keepmind.eu/…a-wersja-wordpress-sociab… Pokaż reakcje /* */ inne strony z tej witryny + obserwuj co […]

  2. W nowej wersji wtyczki Sociable Polska ten wspomniany problem z ikonami będzie rozwiązany ;-).

  3. Szczerze powiedziawszy, mógłbym się przyczynić z Tobą do rozwoju polskiej wersji, ale w sposób określony w tym wpisie: modyfikacja oryginalnej wersji + tłumaczenie i polskie serwisy.

  4. Świetna przeróbka, skorzystam. Dzięki

  5. Nie wszsytko działa jak trzeba np. sledzik, u mnie na glownej stonie sie nie pokazuje w ogole w opcjach strony nawet jak zaznaczecze ze masie pokzywac to po aktualizacji dalej jest zaznaczona opcja dziwne moze lepiej zrobic polska wersje wtyczki sexybookmarks

  6. […] mi propozycję podesłania wtyczki do bazy wtyczek WordPress’a. Wtyczkę, o której pisałem (Polska wersja WordPress Sociable) odnaleźć możecie już w repozytoriach WordPress’a, a dokładniej pod adresem: […]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *