Sprawy związane z przejściem na PHP

From Meta, a Wikimedia project coordination wiki

Otwarte kwestie:

  • nie działa wyszukiwanie z pliterami
  • nie działa H1
  • sprawa - jak mirrorować Phase III, bo pl:rsync w Phase I był bardzo dobry, a używanie do tego celów dumpów bazy danych jest bardzo złym rozwiązaniem. Może MySQL ma jakieś tricki do tego ?

Kwestie właśnie zamknięte lub zamykane:

  • być może trzeba będzie obrazki poprzenosić ręcznie - no ale obrazki nie będą stracone bo można mirrora zrobić teraz, więc to nie powinno blokować przejścia
  • konwersji &#kodów; na znaki unikodowe:
--- convertWiki2SQL.php.orig    2002-09-19 07:48:35.000000000 +0200
+++ convertWiki2SQL.php 2002-11-03 18:09:45.000000000 +0100
@@ -66,6 +66,23 @@
 if ( $wikiLanguage == "pl" ) {
 $wikiTalk = "Dyskusja" ;
 $fieldSeparator = "\xff";
+
+function num_to_utf8($num)
+{
+    if ($num[0][2] == 'x')
+       $i = hexdec($num[1]);
+    else
+       $i = (int)$num[1];
+    if ($i > 0 && $i < 0x7f)
+       return sprintf ("%c", $i);
+    else if ($i > 0x80 && $i < 0x7ff)
+       return sprintf ("%c%c", 0xC0 | (($i>>6) & 0x1f), 0x80 | ($i & 0x3f));
+    else if ($i > 0x800 && $i < 0xffff)
+       return sprintf ("%c%c%c", 0xE0 | (($i>>12) & 0xf), 0x80 | (($i>>6) & 0x3f), 0x80 | ($i & 0x3f));
+    else
+       return $num[0];
+}
+
 function RecodeCharsetPl ( $text ) {
        # Convert iso8859-2 to UTF-8
        # In a happy world, we could use iconv for this
@@ -85,7 +102,10 @@
        "\xEE" => "\xc3\xae", "\xEF" => "\xc4\x8f", "\xF0" => "\xc4\x91", "\xF1" => "\xc5\x84", "\xF2" => "\xc5\x88", "\xF3" => "\xc3\xb3",
        "\xF4" => "\xc3\xb4", "\xF5" => "\xc5\x91", "\xF6" => "\xc3\xb6", "\xF7" => "\xc3\xb7", "\xF8" => "\xc5\x99", "\xF9" => "\xc5\xaf",
        "\xFA" => "\xc3\xba", "\xFB" => "\xc5\xb1", "\xFC" => "\xc3\xbc", "\xFD" => "\xc3\xbd", "\xFE" => "\xc5\xa3", "\xFF" => "\xcb\x99" ) ;
-       return strtr ( $text , $l2u8 ) ;
+       $text = strtr ($text , $l2u8);
+       $text = preg_replace_callback ('/&#(\d+);/', num_to_utf8, $text);
+       $text = preg_replace_callback ('/&#x([0-9a-fA-F]+);/', num_to_utf8, $text);
+       return $text;
        }
        $recodeCharset = recodeCharsetPl ;
        $firstIsLowercase = firstIsLowercasePl;

Mam zainstalowaną PL-Wikipedię na PHP.
Co dalej ?
Trzeba przejrzeć i zmienić "hardcoded" na zmienne w wikiSkinCologne.php ?
Z PHP orzeł ze mnie nie jest, ale coś takiego dam radę.

Chciałbym rozpocząć dyskusję o tłumaczeniu stringów. Z wieloma się nie zgadzam. Powinniśmy dojść do consensusu. Czy stringi problematyczne dla mnie rzucić tu na jakąś stronę do dalszej dyskusji ?
--Kpjas

Nie tylko w wikiSkinCologne.php ale we wszystkich nowych i zmienionych special_*.php.

W niemieckiej i innych wersjach wikiTextXX.php te brakujące stringi już są może wystarczy je przetłumaczyć i wkleić.
Co do pozostalych plików to rzucę okiem, jutro.

Rzucaj śmiało te stringi tutaj. --Taw

Do Dyskusji[edit]

$wikiWatch = "Obserwuj dla mnie ten artykuł" ;

"Zlecenie monitorowania tego artykułu" (Kpjas)

$wikiNoWatch = "Skończ obserwować dla mnie ten artykuł" ;

"Zaniechanie monitorowania tego artykułu" (Kpjas)

Mniejsza już o obserwowanie - monitorowanie, ale dlaczego nie używać tradycyjnej formy drugiej osoby trybu rozkazującego, czyli:

  • "Watch this article for me" - "Monitoruj dla mnie ten artykuł"
  • "Stop watching this artcle for me" - "Skończ monitorować dla mnie ten artykuł"

--Taw

Nie jestem pewien, ale chyba bardziej jest przyjęte tłumaczyć na język polski z użyciem form bezosobowych.

--

To chyba przez Microsoft ;-) IMHO forma osobowa brzmi naturalniej

--Polimerek

Jak na razie w Wikipedii używane są tylko formy osobowe - Zapisz, Obejrzyj itd. --Taw


$wikiCopyrightNotice = "Please notice that all contributions to Wikipedia are considered to be released under the GNU Free Documentation License. If you don't want your writing to be edited mercilessly and redistributed at will, then don't hit submit. You are also promising us that you wrote this yourself, or copied it from a public domain resource. DO NOT USE COPYRIGHTED WORK WITHOUT PERMISSION!" ;
$wikiCopyrightNotice = "Wszystkie kontrybucje do Wikipedii są uważane za udostępnione na zasadach GNU Free Documentation License. Jeśli nie chcesz żeby twoje dzieło było bezlitośnie edytowane i dowolnie redystrybutowane, nie naciskaj przycisku zachowaj. Zachowując obiecujesz też nam, że sam to napisałeś lub skopiowałeś z materiałów nie objętych prawem autorskim (public domain). NIE UŻYWAJ BEZ POZWOLENIA MATERIAŁÓW OBJĘTYCH PRAWEM AUTORSKIM!" ;

Proszę pamiętać o tym, że przyjmuje się, iż wszelki wkład w Wikipedię jest udostępniany na zasadach GNU Free Documentation License. Jeśli nie chcesz żeby twoje dzieło było bezlitośnie edytowane i dowolnie rozpowszechniane, nie klikaj na przycisk "Zapisz". Dokonujesz jednocześnie oświadczenia, że wkład jest twoim dziełem lub pochodzi z public domain (twórczość nie objęta prawem autorskim). PROSZĘ NIE UŻYWAĆ BEZ POZWOLENIA MATERIAŁÓW OBJĘTYCH PRAWEM AUTORSKIM!" (Kpjas)
"Proszę pamiętać o tym, że przyjmuje się, iż wszelki wkład w Wikipedię jest udostępniany na zasadach GNU Free Documentation License. Jeśli nie chcesz żeby twoje dzieło było bezlitośnie edytowane i dowolnie rozpowszechniane, nie klikaj na przycisk "Zapisz". Dokonujesz jednocześnie oświadczenia, że wkład jest twoim dziełem lub pochodzi z materiałów dostępnych na zasadach public domain albo licencji GNU Free Documentation License lub kompatybilnej. PROSZĘ NIE UŻYWAĆ BEZ POZWOLENIA MATERIAŁÓW OBJĘTYCH PRAWEM AUTORSKIM!". To pod względem prawnym jest bardziej ścisłe. No ale ja stary debianowiec mam inne podejście niż goście z Wikipedii. --Taw

$wikiSave = "Zachowaj" ;

Zapisz (Kpjas)
OK. --Taw

$wikiWrongPassword = "Złe hasło dla użytkownika $1!" ;

"Nieprawidłowe hasło dla użytkownika $1!" ; (Kpjas)
OK. --Taw
"Pomyliłeś hasło, $1!" ; (Matusz) a może tak? a przynajmniej Niewłaściwe bo Nieprawidłowe kojarzy się z jakimiś regułami

$wikiUpload = "Uploaduj pliki" ;

"Prześlij pliki na serwer"; (Kpjas)
OK. --Taw

$wikiRandomPage = "Losowa Strona" ;

"Strona wylosowana"; (Kpjas)
Mi tam się "Losowa Strona" bardziej podoba w związku z siłą wiązania określeń przed i po wyrazie określanym w języku polskim. "Strona wylosowana" jest jak dla mnie za silnie związane, a to w sumie luźny i jednorazowy związek. (wiem, mieszam) --Taw

$wikiEditHelp = "Pomoc w sprawie edycji" ;

"Jak należy edytować strony"; (Kpjas)
Obojętnie. --Taw

$wikiMostWanted = "Najbardziej pożądane" ;

"Najczęściej poszukiwane" (Kpjas)
To nie o poszukiwania tylko o ilość linków chodzi. --Taw
"Strony, których brakuje najbardziej" "Strony najbardziej potrzebne" Kpjas
OK. --Taw

$wikiStubs = "Krótkie artykuły"

"Artykuły szczątkowe" (Kpjas)
To i tak zmienili z "Short articles" na "Short pages" ostatnio, bo to przecież nie artykuły. A "szczątkowe" jest ohydnym słowem. "Najmniejsze strony" czy coś w tym stylu bym proponował. --Taw
"Mini strony" Kpjas
Nie bardzo widzę do jakiego zwrotu typu "mini X" ma to nawiązywać. Ja bym jednak przy "najmniejsze" pozostał. --Taw

$wikiLongPages = "Długie artykuły" ;

"Obszerne artykuły" lub "Rozbudowane artykuły" (Kpjas)
Ja bym jednak za "Największe artkuły" był. --Taw

$wikiMyWatchlist = "Moja lista obserwowanych" ;

"Strony monitorowane dla mnie" (Kpjas)
OK. --Taw

$wikiResultsPerPage = "Zwróć do $1 wyników wyszukiwania na stronę" ;

"Pokazuj max. $1 wyników wyszukiwania na stronie" (Kpjas)
"Pokazuj do $1 wyników wyszukiwania na stronie" ? --Taw

$wikiUploadRestrictions = "Musisz się zalogować żeby uploadować plik!" ;

"Musisz się zalogować żeby przesłać plik na serwer!" (Kpjas)

$wikiUploadSuccess = "Plik $1 został uploadowany!" ; $wikiUploadSuccess1 = "*$1, $2 uploadował plik $3\n" ; $wikiUploadSuccess2 = "Upload pliku $1" ;

itd itd konsekwentnie prześlij na serwer zamiast upload
OK. --Taw

$wikiUploadText .= ""Browse..." żeby znaleźć plik który chcesz\n";

Przeglądaj" żeby znaleźć plik który chcesz\n"; (Kpjas)
OK. --Taw

$wikiContribTitle = "Kontrybucje użytkownika $1" ;

"Wkład użytkownika $1" (Kpjas)
Obojętnie. --Taw

$wikiLinkhereTitle = "Strony które linkują do $1" ;

"Strony które wskazują na $1" i dalej konsekwentnie (Kpjas)
Ja tam wole linkują, ale specjalnie to mi nie zależy, żeby akurat tak było. --Taw
jestem za wskazują Matusz

$wikiContribDenied = "Podja nazwę użytkownika!" ;

"Podaj nazwę użytkownika!" (Kpjas)
Z typosami to ty chyba nie musisz tu przychodzić i się pytać o zdanie. --Taw

$wikiWantedTitle = "Najbardziej Pożądane Strony" ;

"Najczęściej poszukiwane Strony" (Kpjas)
Ale to nie dotyczy stron poszukiwanych tylko takich które mają najwięcej linków a ich nie ma. --Taw
Jak wyżej.
OK. --Taw

Kpjas i inni: Tawa kilka następnych dni raczej nie będzie, więc dokończcie tłumaczenie we własnym zakresie. --Taw


(a propos ogłoszenia z 29.08.2002 z Tablicy ogłoszeń)

A co trzeba tłumaczyć? I co to jest 'Phase III software'? Jestem 'newbie' jeśli chodzi o CVS, ale domyślam się, że chodzi o 'newcodebase' z projektu 'wikipedia' na [1]. Jeśli tak, to chyba wystarczy przetłumaczyć tylko jeden plik: Language.php i umieścić w LanguagePl.php I chętnie mogę to zrobić. Ale jeśli trzeba będzie lokalizować inne rzeczy to... możemy negocjować ;)

Niemiecka Wikipedia przeszła na nowy software 28 sierpnia - skoro im się udało, to i nam też powinno się udać! Jak widać to nie jest rzecz niewykonalna ;-)

A jak będzie wyglądała dyskusja nad przetłumaczoną wersją? Użytkować będą 'wszyscy', nie tylko ja, więc dobrze by było, żeby całą polonizację zaaprobowała co najmniej 'większość' (cokolwiek to znaczy). Czy dyskusja i ewentualne poprawki byłyby na tej stronie, czy dopiero po umieszczeniu na 'żywym organizmie' lub na [2]? A co tam jest teraz? Wersja z 'fpw' (z [3]), czy coś innego?

Ach, jeszcze jedno! Zobaczyłem dyskusję nad polskim logo (polskie napisy pod soczewką, brak 'PL', itp). Też przydałoby się zainstalować w tym samym czasie. Zrobiłbym to, ale już w strasznych bólach, więc może lepiej ktoś inny...

--Youandme

Wg mnie trzeba najpierw przetłumaczyć (wiele już było zrobione, więc nie tłumacz od początku), monitować Lee Daniela Crockera oraz Jimbo i listy mailingowe wikipedia-l i intlwiki-l, w międzyczasie "ogłosić" tłumaczenie drukiem na naszej Wikipedii do doszlifowania.
Ewentualnie można wrzucić stringi na stronę i tłumaczyć wspólnie.
--Kpjas

OK. Będę więc bazował na tłumaczeniach z wersji 'fpw' oraz na tym co widzę na test.wikipedia.com. Zabieram się do pracy... Jeśli ktoś zaczął i nie dokończył może mi wysłać kopię. --Youandme


(1) Jak tłumaczymy "image"? "Rysunek" (nie obejmie fotografii), "zdjęcie" (nie obejmie rysunków), "plik graficzny" (w wielu miejscach przydałoby się ktrótsze)? To słowo pojawia się w wielu kontekstach, m.in. jako przestrzeń nazw. Może po prostu "plik"?

Obrazek lub coś innego zgodnie z kontekstem.
Kpjas
Proponuję "rycina" - ma chyba najszersze znaczenie.
Mitch2037

(2) Czy tłumaczymy przestrzenie nazw a jeśli już to jak? Skoro już przyzwyczajeni jesteśmy do "Dyskusji". to chyba trzeba... Do ustalenia są:

  • "Special" -> "Specjalne"
    • Strony specjalne ? Kpjas
  • "Talk" -> "Dyskusja"
    • "O_artykule", w tekście strony można by dalej używać "Dyskusja" Youandme
  • "User" -> "Użytkownik" (pojawi się pewnie jako "U%E5%BCytkownik", brzydko)
  • "User_talk" " -> będzie zbyt długie
    • Dyskusje Wikipedysty będzie [[Dyskusje Wikipedysty:Topory]] Kpjas
  • "Wikipedia" - bez zmian
  • "Wikipedia_talk" -> będzie zbyt długie
    • Sprawy edytorskie ? Dyskusja edytorska ? O Wikipedii ? Dot. Wikipedii ? Kpjas
    • Dyskusja edytorska jest chyba najładniej. --Taw
    • "O_Wikipedii" lub "Edytorskie" - przez analogię do "Specjalne". W zasadzie co tam się znajdzie? Na angielskiej jest chyba tylko jeden artykuł o błędach w oprogramowaniu. Czy to jest sprawa edytorska? Youandme
  • "Image" -> ??
    • Obrazek Kpjas
    • "Obrazek" IMHO brzmi zdrobniale, jak z dziecięcego języka. Poza tym odkryłem, że na angielskiej, w przestrzeni "Image" trzymane są także pliki dźwiękowe (i pojawiają się na stronie "Special:Imagelist"!). Więc dla polskiej wersji proponuję "Media", na razie konfliktu nie ma (por. pliki convertdb.php, Output Page.php oraz strona "Special:Upload"). Najlepiej jednak będzie spytać się na liście dyskusyjnej. Youandme
Generalnie jest to czy tłumaczyć żeby było max. zrozumiałe czy żeby było krótkie i zgrabne. Na niemieckiej gdzie tłumaczone słowa są dłuższe niż angielskie wygląda to paskudnie. Kpjas
Żeby było krótko i zgrabnie. A najmniej istotna jest wierność orginałowi. --Taw

(3) Czy "Other languages:" w kontekście "przeczytaj tą stronę w innym języku" tłumaczyć, np. "Inne języki:", "Ta strona w innym języku:"; "Ta strona po:", "Ta strona w języku:", itp. Od tego zależą końcówki przymiotników (niemiecki, niemiecku, niemieckim) - a lista języków jest długa... Chyba najbezpieczniej by było zrobić tak by dostosować do pytania jaki? (język).

Inne wersje językowe tego artykułu: angielska, niemiecka itd. --Taw

(4) "Developer"

  • Deweloper? (nie wiem czy już dość dobrze przyjęło się w polskim), w pewnych miejscach użytkownik / Wikipedysta o prawach dewelopera
  • Programista? Najbardziej swojsko i w końcu chyba o rozwijanie "oprogramowania" chodzi...
  • NIe do przyjęcia, ale może kogoś zainspirują ;) Ulepszacz, Rozwijacz, Magik, Guru, Wtajemniczony

Aha, i nazwy z listy stron specjalnych lepiej tłumaczyć z nowej wersji (tej bez "show ..." itp.). Niemiecka to akurat zepsuła. --Taw