( Zaloguj | Zarejestruj )
![]() ![]() |
08.9.2009 - 15:57
Post
#1
|
|
![]() Grupa: Bloger Postów: 4 Nr: 6 677 |
Witam,
w pluginie WP Google Weather mam problem z wyświetlaniem polskich znaków Cała wtyczka jest już spolszczona. Stan pogody i dni tygodnia są ściągane chyba ze strony googla, nigdzie ich nie znalazłem, więc nie mam możliwości ich ręcznego przetłumaczenia. Przejrzałem linia po linii wszystkie pliki, które są w tej wtyczce, i nic, jako zielony nie znalazłem. CODE #load resource into a xmldom $xmlData = simplexml_load_string(utf8_encode($output)); jest to jedyne miejsce gdzie znalazłem skrót utf8 CODE function replaceChars($data){ $search = array('Ă„', 'Ă–', 'Ăś', 'ä', '¶', 'ö', 'ĂĽ', ' '); $replace = array('Ae', 'Oe', 'Ue', 'ae', 'ś' ,'oe', 'ue', '%20'); $output = str_replace($search, $replace, $data); improwizując, próbowałem dodać znak '¶' w nadziei, że zamieni go na 'ś' jednak nic to nie dało. Czy jest jakieś inne miejsce, w którym można to podmienić ? W wp bawię się od niedawna więc wybaczcie moje niedouczenie... Moj wp to http://www.taxisolidarnosc.pl/ skórka Atahualpa, po ciężkich bojach udało mi się ją samodzielnie przerobić na polski, jednak w tym przypadku jestem zdany na was... |
|
|
|
05.3.2010 - 03:01
Post
#2
|
|
|
Grupa: Bloger Postów: 5 Nr: 7 923 |
Szukałeś w złym miejscu. Zamiana znaków, którą przytoczyłeś robi korektę bodajże przed wysyłką zapytania do Googla, poprawiając nazwę miasta. Ja zrobiłem zamianę w funkcji, która buduje już gotowe tabelki z pogodą i zadziałało
Znajdź w kodzie pliku "wp-google-weather/wp-google-weather.php" to miejsce: KOD function buildWidget($city, $temp, $lang, $forecast) { $conditions = $this->getData($city, $temp, $lang, $forecast); i dołóż tam podobną funkcję do tej, którą znalazłeś. Powinno być tak: KOD function buildWidget($city, $temp, $lang, $forecast) { $conditions = $this->getData($city, $temp, $lang, $forecast); $znajdz = array('ê', '¶', '|'); $zamien = array('ę', 'ś', 'Ś'); $conditions['current']['condition'] = str_replace($znajdz, $zamien, $conditions['current']['condition']); Korygujemy w ten sposób konkretny string z nagłówka. Tak na gorąco wyłapałem trzy błędne polskie znaki. Jeżeli jest ich więcej, to trzeba poszerzyć tabelki zamiany o kolejne pozycje. PS. Moja znajomość PHP jest na podobnym poziomie co Twoja. Dla starych wyjadaczy problem był pewnie banalny, ale chyba by im kapelusz spadł z głowy, gdyby się nad nim pochylili... Ot, takie forum. Ten post edytował Griszek 05.3.2010 - 03:33 |
|
|
|
07.3.2010 - 16:51
Post
#3
|
|
|
Grupa: Bloger Postów: 5 Nr: 7 923 |
Jak się okazuje spolszczyć trzeba jeszcze kilka ciągów znaków. Uzupełniony zapis wygląda następująco:
KOD $znajdz = array('ê', '¶', '¦', '¿'); $zamien = array('ę', 'ś', 'Ś', 'ż'); $conditions['current']['condition'] = str_replace($znajdz, $zamien, $conditions['current']['condition']); $conditions['forecast'][1]['day'] = str_replace($znajdz, $zamien, $conditions['forecast'][1]['day']); $conditions['forecast'][2]['day'] = str_replace($znajdz, $zamien, $conditions['forecast'][2]['day']); $conditions['forecast'][3]['day'] = str_replace($znajdz, $zamien, $conditions['forecast'][3]['day']); $conditions['forecast'][1]['condition'] = str_replace($znajdz, $zamien, $conditions['forecast'][1]['condition']); $conditions['forecast'][2]['condition'] = str_replace($znajdz, $zamien, $conditions['forecast'][2]['condition']); $conditions['forecast'][3]['condition'] = str_replace($znajdz, $zamien, $conditions['forecast'][3]['condition']); Można by pewnie bardziej elegancko, ale jak na razie działa. Ten post edytował Griszek 09.3.2010 - 23:44 |
|
|
|
17.3.2010 - 11:55
Post
#4
|
|
![]() Grupa: Bloger Postów: 4 Nr: 6 677 |
Zaraz jak odzyskam dostęp do "swojego" bloga robię poprawki.
"Robię" stronę związku zawodowego i przed wyborami przewodniczący bał się krytyki, wyciął psikusa - zablokował stronę. Po wyborach odzyskam dostęp i poprawię u "siebie". przy okazji polecam taxisolidarnosc.pl wykonane przez lamera, czyli mnie |
|
|
|
![]() ![]() |
| : 24 05 12 - 09:51 |