Błędy w tłumaczeniu SMF 2.1

Zaczęty przez Nolt, 3 Czerwiec 2017, 01:54

0 użytkowników i 1 Gość przegląda ten wątek.

Jurek_K

#15
Witam. Ponieważ zaczynam dziś się dokształcać w polskiej wersji SMF  (SMF 2.1 RC3) wolę się spytać obeznajmionych a nie majstrować... Założyłem próbną wersję forum (moje pierwsze po polsku), pliki pobrane z oficjalnych stron SMF i mam bogaty (i nudny) log błędów...
Zwłaszcza jednego:

Komunikat błędu: 8: Undefined variable: s
Plik: D:/Forum0/Themes/default/languages/Admin.polish.php
Linia: 134
URL strony powodującej błąd: http://localhost/forum/index.php?action=admin;area=logs;sa=errorlog;desc;filter=session;value=6721b4b738977be03b03f413e3b9af2e

Treść wiersza 134 w Admin.polsh.php:

$txt['security_wrong'] = "Administration login attempt!\nReferrer: %1\\$s\nUser agent: %2\\$s\nIP: %3\\$s";

Ponieważ PHP to nie jest moje narzędzie pracy, proszę o diagnozę i propozycję poprawki. Na przykład usunąć drugi backslash przed $s  ?...
A może u Was to jest już gdzieś poprawione?... Dziękuję.

Jurek Karczmarczuk
/Caen, Francja/

js

Tłumaczenie SMF 2.1 jest niekompletne, dlatego generują się błędy w dzienniku błędów.

Jurek_K

Dziękuję. Sygnalizuję tylko, że to nie jest kwestia tłumaczenia.

Diagnozy błędów zniknęły, gdy usunąłem nadmiarowe backslashe, które się pojawiły z niejasnych powodów (proszę porównać polską wersję językową z Themes/default/languages/...english.php .)

JK

js


CrimeS

SMF 2.1 z GitHub:
$txt['security_wrong'] = 'Administration login attempt!
Referrer: %1$s
User agent: %2$s
IP: %3$s';



SMF 2.1 RC3 POLISH z sm.org:
$txt['security_wrong'] = "Administration login attempt!\nReferrer: %1\\$s\nUser agent: %2\\$s\nIP: %3\\$s";

Na crowdin do przetłumaczenia:
Administration login attempt!\nReferrer: %1\$s\nUser agent: %2\$s\nIP: %3\$s

Ta nieprzetłumaczona wersja z paczki polish bezpośrednio na sm.org zawiera dodatkowe znaki. Może przy wykonywaniu import/export dodało dodatkowe.

Jurek_K

Na moje listy dotyczące nadmiarowych backslashów przed $s w Admin.polish.php itp., dostałem trzy odpowiedzi ze strony Waszych "guru", oraz mail, który zawierał informacje, że ktoś mi napisał odpowiedź w tym wątku.:

CytatCrimeS napisał odpowiedź w wątku, który śledzisz.Zobacz ją pod tym adresem: https://www.smf.pl/index.php?topic=12676.new;topicseen#new

Dziękuję uprzejmie. Sygnalizuję tylko, że

  • Ta odpowiedź ze strony CrimeS jest niczym innym jak potwierdzeniem tego co sam napisałem, więc nazwanie tego "odpowiedzią" jest niezbyt ścisłe.
  • Pierwsza odpowiedź ze strony "js" informuje mnie, że błąd jest generowany, gdyż tłumaczenie jest niekopletne. To sformułowanie jest nieścisłe i sugeruje mocno, że js nie sprawdził w ogóle o co chodzi. Trudno.

  • Na moją uwagę, że nie niekompletność tłumaczenia jest winna, tylko że ktoś popełnił błąd składniowy, dostałem sugestię by zgłosić to do SMF (Github). Nie skorzystałem, gdyż ciągle wierzę, że rada aby z kłopotami zwracać sie do Was, była poważna. Czyżbym się pomylił? Co mają twórcy tego oprogramowania do tego, że ktoś z polskiej ekipy się pośliznął? Powtarzam, że pliki ...english.php są poprawne.

Reasumując: przykro mi, że pozwalam sobie na krytykę użytecznej inicjatywy spolszczenia SMF, ale stwierdzam, że Wasze reakcje na moje listy nie zasługują na żadną pozytywną ocenę, a link o treści  "[pomogł]" w identyfikacji autora odpowiedzi budzi tylko moje zgorszenie. Oczywiście poprawiłem sobie sam te 8 identycznych błędów w trzech plikach, za które jesteście być może odpowiedzialni, a może nie - nie wiem... Nie wołalem o ratunek, tylko sygnalizowałem, że autorzy tych plików winni zostać poinformowani, i przejrzeć co zrobili.
Dziękuję jeszcze raz i do widzenia
JK /Francja/

CrimeS

Moja odpowiedź jest tylko rozwinięciem tego co napisałeś w treści swojej wiadomości, bo brakowało konkretnych linii z różnych źródeł tłumaczenia. Dostałeś automatycznego maila z silnika SMF o pojawieniu się nowej wiadomości - nikt prywatnie nic nie wysyłał.

Nie jestem związany z tłumaczeniem, więc wypadałoby poczekać na wypowiedzi osób które miały wkład w tym temacie :)

Nolt

Panowie, nie ma co się spinać :)

Z tego co na szybko zobaczyłem i co już zostało zresztą wcześniej mniej więcej napisane:
linia 134 z oryginalnego pliku (paczki instalacyjnej) wygląda następująco
// argument(s): HTTP_REFERER (if applicable), HTTP_USER_AGENT, ip address
$txt['security_wrong'] = "Administration login attempt!\nReferrer: %1\$s\nUser agent: %2\$s\nIP: %3\$s";

Jak widać nie zawiera dodatkowych backslashy oraz innych nadmiarowych znaków

Tu z kolei linia z paczki z tłumaczeniem PL (pobrana jak ta powyżej z simplemachines.org):
// argument(s): HTTP_REFERER (if applicable), HTTP_USER_AGENT, ip address
$txt['security_wrong'] = "Administration login attempt!\nReferrer: %1\\$s\nUser agent: %2\\$s\nIP: %3\\$s";


Nie wiem, jak jest z tłumaczeniem na Crowdin i jak obecnie generowane są paczki tłumaczenia (kiedyś odpowiadał za to LE, z którego zrezygnowali).

Niemniej to co powyżej; obie linie się różnią i ewidentnie jest to błąd. Jako że linia jest nieprzetłumaczona można przypuszczać:
- została zmodyfikowana podczas aktualizacji tłumaczenia (przy którejś z wersji RC*) i powielona dalej bez poprawienia (zdarzało się to nawet przed przejściem na Crowdin) gdyż nawet LE średnio radził sobie z porównaniem oryginalnych tekstów, a co najwyżej wskazywał te, które nie zostały przetłumaczone
- co gorsze, ale mniej prawdopodobne (sugeruję się tym iż dev SMF przetestowali konsekwencje przeniesienia tłumaczeń na nową platformę) i generowana paczka produkuje błędy przy eksporcie.

Jak to widzę obecnie? Wskoczyć do starego LE póki jest dostępny oraz prześledzić wszystkie zmiany oznaczone jako outdated i je poprawić → eksport i import na crowdin a jeżeli to nie możliwe kontaktować się z dev SMF i poprosić ich o import.

Sprawdzając LE widzę oraz potwierdza wszystko to co opisałem powyżej na przykładzie pliku Admin.polish.php:
CytatEntries outdated:   14 (2.10%)
110   $txt['security_wrong']   "Administration login attempt!\nReferrer: %1\$s\nUser agent: %2\$s\nIP: %3\$s"   'Próba zalogowania jako administrator!' . "\n" . 'Referer: %1$s' . "\n" . 'User agent: %2$s' . "\n" . 'IP: %3$s'   [Revisions] [Edit]
110   $txt['security_wrong']   "Administration login attempt!\nReferrer: %1\$s\nUser agent: %2\$s\nIP: %3\$s"   'Próba zalogowania jako administrator!' . "\n" . 'Referer: %1$s' . "\n" . 'User agent: %2$s' . "\n" . 'IP: %3$s'   [Revisions] [Edit]

Linie nie poprawione nawet ze spacjami, jak to interpretuje Crowdin i jak eksportuje to zadanie dla Was i ewentualny kontakt z dev SMF.

www.wizzi.pl
Moje style dla SMF 2

SMF.PL FAQ
nie odpowiadam na żadne PW, więc ich nie wysyłajcie chyba że zostaniecie o to poproszeni

Adrian

Dla informacji  -  znany błąd, będzie poprawiony w RC4.
the simplest solution is most likely the right one

Kogut

#24
Jeśli połączymy wydarzenie w kalendarzu z wątkiem na forum, i będziemy chcieli – w tym wątku – wyeksportować wydarzenie do kalendarza na komputerze, po najechaniu na ikonkę pokazaną w załączniku wyświetli się tekst:
Eksportuj wydażenie
zamiast poprawnego
Eksportuj wydarzenie

CrimeS

Dzięki za zgłoszenie, poprawiłem to od razu

Kogut

Znalazłem jeszcze jedną literówkę w tłumaczeniu: po wykonaniu szybkiej edycji, na chwilę pojawia się okno z tekstem:
Pomyślnie zmodyikowano wiadomość.
zamiast
Pomyślnie zmodyfikowano wiadomość.

CrimeS

Poprawione, pomyślałem jeszcze że "Pomyślnie zapisano wiadomość." również pasuje.

Kogut

Nie wiem, czy to błąd tłumaczenia, czy samego SMF, ale po opuszczeniu grupy (Profil forum -> Grupy użytkowników), wyświetla się komunikat, że do niej dołączyliśmy...
W przykładzie ukazanym w załączniku opuściłem grupę ,,test".

js

#29
@Kogut dziękuję Ci za zgłaszanie błędów. Jeśli napotkasz jakieś niejasności w tłumaczeniu to proszę zgłoś to tutaj.

Później poprawię tę linię.