Jakiś czas temu dostałem pytanie od stałego czytelnika:
W angielskim jest 0 „No Responses”, 1 „One Response”, 2 i więcej „Responses”. W polskim 0 „Bez komentarza”, 1 „1 komentarz”, 2-4 „Komentarze”, 5 i więcej- „Komentarzy”. Nie jest stylistycznie poprawnie pisanie np. „2 komentarzy”, a taką formę można najczęściej spotkać w różnych miejscach w sieci. Ja rozwiązuję ten problem w moich templatkach 0 „Wpisz komentarz”, 1 „Jeden komentarz”, 2 i więcej „Komentarzy: „. Nie wiem, czy jest możliwe zaimplementowanie przedziału 2-4 tak, aby było „komentarze”. Na razie nie spotkałem się tym w żadnej templatce. Próbowałem sam to rozwiązać, ale bez skutku. Może warto o tym napisać?
Spróbujemy rozwiązać ten problem w najprostszy z możliwych sposobów.
Najpierw będziemy sprawdzać ile mamy komentarzy, a potem w zależności od tego w jakim przedziale znajdzie się ta liczba ustawimy odpowiedni format wyświetlania.
Sprawę załatwi poniższy kod:
$num_comments = get_comments_number(); if ( comments_open() ) { if ( $num_comments == 0 ){ $comments = "Nie ma jeszcze komentarzy"; } elseif ( $num_comments == 1 ) { $comments = "Jest już pierwszy komentarz"; } elseif ( 5 > $num_comments > 1 ) { $comments = "Są już " . $num_comments . " komentarze"; } else { $comments = "Jest już " . $num_comments. " komentarzy"; } $write_comments = '<a href="' . get_comments_link() .'">'. $comments.'</a>'; } else { $write_comments = 'Komentarze są wyłączone'; }
Na koniec wstawiamy i ostylowujemy w odpowiednim miejscu:
<?php echo $write_comments; ?>
Dla zainteresowany więcej informacji w Codex: get_comments_number
Komentarze
16 odpowiedzi na „Jak zrobić prawidłową (polską) odmianę informacji o liczbie komentarzy w WordPress?”
Byłoby super, gdyby to jeszcze opakować translacjami.
@Przemek – Trzeba trochę zmodyfikować pliki językowe i potem dodać zamiast „xyz” -> __(’ xyz’)
[…] tego serwisu Follow us on Twitter 88 śledzących RSS / Mail 413 czytelników WordPress i liczenie komentarzy po polsku 1 głosuj! WordPress sam z siebie pozwala wyświetlać odmienioną liczbę komentarzy dla […]
Można też tak, że jak n to liczba komentarzy i n = 1 wtedy używamy formy „1 komentarz”, gdy n => <2;4> lub n % 10 => <2;4> to wybieramy formę „% komentarze” a dla reszty „% komentarzy”.
Tak trochę nie do końca zadziała to tak, jak powinno. Tzn. błędny jest warunek, że dla >=5 wyświetla się „komentarzy”, bo np. 24 też go spełnia, a powinno być „komentarze” ;)
@Łukasz Więcek – Masz rację – zupełnie o tym zapomniałem ale przyznam szczerze, że nie mam pomysłu, jak to w prosty sposób załatwić…
Może stosować te warunki tylko do ostatnich cyfr z ciągu – bo czy to będzie:
4, 104, 1004, … komentarze
14, 114, 114, … komentarzy
Na upartego, jest to do zrobienia. Tylko trzeba by pogłówkować, bo dla małych liczb jest tylko trochę zamieszania, a później, to już schemat się powiela (>=20).
Tłumacząc angielski motyw WordPressa na polski, zawsze stosuję formę: Komentarze (X). I to najprostsze rozwiązanie sprawy. ;)
@Tomasz Gąsior – Oczywiście to jest najprostsze rozwiązanie ale czasami klienci chcą inaczej :)
Gdzieś/kiedyś znalazłem i używam do dzisiaj, sprawdza się bardzo dobrze: http://pastebin.com/hgEDAaRG
Może tutaj jeszcze rozmowa z amistad18 może wniesie coś ciekawego do dyskusji:
http://pl.forums.wordpress.org/topic/prawidlowa-wersja-slowa-komentarze
Dzięki za zajęcie się tym tematem.
@Tomasz Gąsior – jest jeszcze prostsze rozwiązanie, można wyświetlać samą liczbę komentarzy w graficznym dymku. Nie trzeba wtedy żadnego tłumaczenia nie tylko na polski, ale też na dowolny język.
Ja cały czas myślałem jak zrobić „dodatkowe” liczby mnogie w języku polskim, nie wpadłem na liczenie komentarzy. Spróbuję to zaimplementować.
a nie lepiej używać „Komentarze: 1” dla każdej opcji się sprawdzi i nie mabłędów :) jak tak zazwyczaj robię, w przeciwnym wypadku jest sporo wątpliwości, pytań i narzekań ze strony klientów internautów etc. :)
pozdrawiam
[…] będzie odpowiedzią do dyskusji, jaka wywiązała się pod artykułem na dev.wpzlecenia dotyczącym prawidłowej odmiany informacji o liczbie komentarzy. Autor artykułu słusznie zwrócił uwagę na potrzebę dbałości o poprawną odmianę słówka […]
Chciałam się tu dopisać z rozwiązaniem, ale ostatecznie zdecydowałam, że lepiej pokazac je w formie tutoriala, żeby było jasno i przejrzyście:
http://webfaces.pl/blog/rozwiazany-problem-liczby-mnogiej-w-tlumaczeniu-motywu-wordpressa/
Ja również używał bym prostej wersji. 1.Nie ma jeszcze komentarzy 2. Zostawionych komentarzy i tutaj liczba – każda pasuje :)