Prośba o pomoc w tłumaczeniu

Odpowiedz Nowy wątek
2015-07-09 19:30

Rejestracja: 4 lata temu

Ostatnio: 1 rok temu

0

Witam.
Witam.
Mam problem z tłumaczeniem programu. NIgdy nie programowałem poza HTMLem i podstawami Pascala.
Chodzi o program Pyromaths(http://pyromaths.org/). Program w całości po francusku. Strona też. Nie idzie tego używać na lekcjach matematyki w szkole podstawowej - nawet ja nie jestem w stanie tego używać bez translatora.

Napisałem na forum tego programu (http://forum.pyromaths.org/viewtopic.php?f=22&t=318) chęć spolszczenia programu, ale odpowiedź z gettext mnie przeraża. Szukałem trochę po internecie i znalazłem coś takiego http://inventwithpython.com/b[...]gram-with-the-gettext-module/. Słabo to jednak rozumiem.
Jakieś "stringi" :D:D:D:D:D:D: mam zamienić na coś z _() Ale jak?!!!?? Autor zostawił to w domyśle, a ja ciemna masa nadal jestem w punkcie wyjścia. Da radę przetłumaczyć ten poradnik trochę bardziej "łopatologicznie"?
Znalazłem w końcu gdzie znajdują się pliki po instalacji programu w Ubuntu http://packages.ubuntu.com/precise/all/pyromaths/filelist.
Mógłby mi ktoś bardziej wyjaśnić jak mam się zabrać do spolszczania tej aplikacji? Do których plików i jak mam się zabrać, żeby interfejs programu był polski?

Z góry dziękuję za pomoc
Pozdrawiam

edytowany 1x, ostatnio: Tarzan1984, 2015-07-09 19:31

Pozostało 580 znaków

2015-07-09 21:36

Rejestracja: 5 lat temu

Ostatnio: 2 lata temu

1

Na stronie głównej masz do ściągnięcia źródła programu. Są też na githubie, ale chyba nieaktualne (5 miesięcy od ostatniego commita): https://github.com/JeromeO/Pyromaths

Mam wrażenie, że ten, który ci odpowiadał sam nie ma zbytnio pojęcia o tym co napisał, bo w głównej klasie jak widzę ładuje QTranslator, którego funkcji potem używa, a w poście doradza ci całkiem inne rozwiązanie. Tutaj jest plik z tysiącami tłumaczeń z angielskiego na francuski: https://github.com/JeromeO/Py[...]/blob/master/data/qtmac_fr.ts
Ale w kodzie ma też ręcznie wpisane stringi po francusku. Powyższy plik to chyba głównie interfejs QT (?), ale nie znając tej biblioteki mogę jedynie się domyślać. @spartanPAGE, nie wiem kto tu jeszcze QT ogarnia.

Poza tym autor to typowy francuz - komentarze po francusku, większość kodu też. Angielskiego się uczyć, a nie żaby wpierdzielać :D Jak luknie na ten kod ktoś znający lepiej QT, to będziemy mogli więcej pomóc.

Co do samego gettext to idea jest prosta, zamiast ręcznie wpisywać tekst w kodzie, np print("To jest jakiś tekst"), wpisujesz print(_("To jest jakiś tekst")) i funkcja _ tłumaczy podany tekst zgodnie z podanymi przez ciebie tłumaczeniami dla wybranego języka.

Edit: Po tym, co poczytałem, to QT ma funkcję tr od tego http://pyqt.sourceforge.net/Docs/PyQt4/i18n.html , tworzysz do tego taki plik co wyżej podałem, tylko, że z polskim tłumaczeniem i ładujesz go w metodzie startowej programu, a wszystkie stringi otaczasz tą funkcją (czyli np. self.tr("To będzie przetłumaczone")

edytowany 1x, ostatnio: Wizzie, 2015-07-09 21:48
@MarekR22; Jak się dorwę do kompa to obadam - spartanPAGE 2015-07-09 21:44

Pozostało 580 znaków

2015-07-10 19:08

Rejestracja: 12 lat temu

Ostatnio: 4 minuty temu

1

Z tego co popatrzyłem w kod to francuski jest twardo wpisany.
Nawet anglik będzie widział francuski mimo, że angielska wersja jest :). Edit: No dobra nie jest tak różowo, domyślne napisy są mieszanką angielskiego i francuskiego.

Jeśli zadowala cię wersja angielska to wywal te linku z kodu (te z linku):

    # Intégration de QTranslator
    from PyQt4.QtCore import QTranslator
    translator = QTranslator()
    translator.load("qtmac_fr", "data")
    app.installTranslator(translator)

W sumie to może zrobię forka na github i naprawię wczytywanie tłumaczeń (by tłumaczenia były wczytywane na podstawie aktualnego locale). To będzie zaledwie parę prostych linijek kodu.
Teraz widzę, że to naprawi tylko kontrolki Qt.

Jeśli nawet kod na github nie jest aktualny, to i tak lepiej tam dostarczać wszelkie zmiany. Na pewno będzie dla wszystkich wygodniej. Zawsze można spytać czy źródła są aktualne (albo samemu je porównać) i poprosić o aktualizację.

Kicha straszna. Ten plik z tłumaczeniami dotyczy tylko kontrolek Qt i domyślnych tekstów dostępnych z Qt.
Trochę to pomaga, ale niewiele.

Niestety cała reszta kodu nie przewiduje tłumaczeń i trzeba się namęczyć sporo żeby coś z tego było.
Masz dwa wyjścia, albo rozwiązanie z Qt (IMO za dużo pracy), albo rozwiązanie z pythona (tak jak dał link @Wizzie). IMO drugie rozwiązanie powinno być łatwiejsze.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 4x, ostatnio: MarekR22, 2015-07-10 20:34

Pozostało 580 znaków

2015-07-10 21:13

Rejestracja: 4 lata temu

Ostatnio: 1 rok temu

0

Witam ponownie.

Rozwinął się post na forum samego programu pyromaths http://forum.pyromaths.org/vi[...]22&t=318&p=3073#p3073 i nic z tego nie łapię .. :/

Co do tutejszej dyskusji na wstępie chciałbym bardzo podziękować za pomoc już teraz. Nie jestem programistą, tylko matematykiem, więc pytam jak przysłowiowy "troll idiota".

Proszę mi powiedzieć czy dobrze myślę. Mam do wyboru dwa rozwiązania:

  1. Przetłumaczyć ręcznie linijka po linijce plik http://inventwithpython.com/b[...]gram-with-the-gettext-module/ i to właśnie robię (na 5500 jestem na 1136 linijce) w tym pliku. Jednak nawet jak przetłumaczę to nie wiem co z nim mam zrobić ?

ładujesz go w metodzie startowej programu

Co to znaczy? Jak to zrobić? Gdzie mam wkleić ten plik po przetłumaczeniu na polski? Tłumaczę w nim wszystkie wyrażenia wystepujące między <translation></translation>

Rozumiem,że jest to rozwiązanie:

albo rozwiązanie z Qt (IMO za dużo pracy)
??

  1. rozwiązanie z pythona (tak jak dał link @Wizzie)
    łatwiejsze.
    Rozumiem że chodzi o ten fragment:

Co do samego gettext to idea jest prosta, zamiast ręcznie wpisywać tekst w kodzie, np print("To jest jakiś tekst"), wpisujesz print(("To jest jakiś tekst")) i funkcja tłumaczy podany tekst zgodnie z podanymi przez ciebie tłumaczeniami dla wybranego języka.

Tego to już w ogóle nie rozumiem. Jaki program mam uruchomić? Jakie polecenie w konsoli użyć? Jakie pliki edytować?

Pozostało 580 znaków

2015-07-11 23:04

Rejestracja: 6 lat temu

Ostatnio: 4 godziny temu

1

To ja zacząłem tłumaczenia.
@all -> repo stare, bo dawno temu autor porzucił własne na swoim koncie, utworzył organizację o odpowiedniej nazwie.
Właściwe repozytorium jest tu: https://github.com/Pyromaths/pyromaths
Zabrałem się za Gettext, mój fork: https://github.com/enedil/pyromaths/tree/gettexed
Czego brakuje:
W folderze https://github.com/enedil/pyr[...]ree/gettexed/src/pyromaths/ex w każdym pliku, string, który trzeba przetłumaczyć owinąć w (). W ten sposób string
"Le hexagone"
powinien stać się stringiem
("Le hexagone")
Przykłady znajdziesz w podwolderze 'Lycee', który już w ten sposób zmodyfikowałem.

Co dalej?
Opisałem proces tłumaczenia (po francusku, ale myślę, że dasz radę) w odpowiednim pliku. I dużo łatwiej pójdzie, jeżeli weźmiesz się do pracy na Ubuntu, bo na Windowsie mogą być kwiatki.
Plik: https://github.com/enedil/pyr[...]b/gettexed/locale/TRADUIRE.md

Dodatkowo, polecam edytor Atom -> https://atom.io
Ładnie się integruje z Gitem.

edytowany 1x, ostatnio: enedil, 2015-07-11 23:07

Pozostało 580 znaków

2015-07-11 23:30

Rejestracja: 6 lat temu

Ostatnio: 4 godziny temu

0

Aha, pamiętaj o jednej ważnej rzeczy:
Jak dostać cały kod źródłowy?

git clone https://github.com/enedil/pyromaths.git
cd pyromaths
git checkout gettexed

Po tym dopiero możesz tłumaczyć.

BTW. Jesteś matematykiem. Nie możesz nie dać rady.

Pozostało 580 znaków

2015-07-12 11:27

Rejestracja: 4 lata temu

Ostatnio: 1 rok temu

0

Witam.

Dziękuję za zainteresowanie. Co do pracy to nie odmawiam, ale nadal nie wiem jak się zabrać.

Pobrałem program Atom ze wskazanej strony, ale przy próbie zainstalowania wyrzuca mi komunikat:

Nieprawidłowa architektura "amd64"

Dlatego się pytam: Czy mogę to zrobić przy pomocy zwykłego Gedit?

Co do dalszej roboty, to tak podejmę się, ale nie wiem co z tego wyjdzie. Mogę zepsuć kod programu, bo nie wiem co trzeba przetłumaczyć, a co jest tylko kodem. Nie bardzo wiem jaka jest różnica między jednym a drugim.

Na razie pobieram źródła a potem zobaczę co uda mi się zrobić, robię to jednak zupełnie po omacku :)

Pobrałem, źródła, ale po ostatnim poleceniu otrzymałem:

[email protected]:~/Pobrane/pyromaths$ git checkout gettexed
fatal: Not a git repository (or any of the parent directories): .git

No nic nie zrobię. Mam pozmieniać coś w katalogu ex. W pobranych źródłach jest taki katalog ale ukryty w /data/. Czy to o ten chodzi?

AUTHORS data Doc NEWS pyromaths setup.cfg src
COPYING debian Makefile PKG-INFO README setup.py utils

Jeśli tak to lipa bo tam są tylko obrazy w formacie png, więc nadal nie wiem co robić :/

Czekam na dalsze instrukcje, podpowiedzi.

Pozdrawiam
Z góry dziękuję
Rafał

edytowany 5x, ostatnio: Tarzan1984, 2015-07-12 11:37

Pozostało 580 znaków

2015-07-12 12:35

Rejestracja: 6 lat temu

Ostatnio: 4 godziny temu

0
Tarzan1984 napisał(a):

Pobrałem program Atom ze wskazanej strony, ale przy próbie zainstalowania wyrzuca mi komunikat:

Nieprawidłowa architektura "amd64"

Masz system 32 bitowy? Tak podejrzewam. No nic, dałoby się Atoma zainstalować, ale po co kombinować. Gedit faktycznie wystarczy.

Jeżeli chcesz jednak Atoma, który dobrze koloruje składnię, masz od tego PPA:

sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom
Tarzan1984 napisał(a):

Co do dalszej roboty, to tak podejmę się, ale nie wiem co z tego wyjdzie. Mogę zepsuć kod programu, bo nie wiem co trzeba przetłumaczyć, a co jest tylko kodem. Nie bardzo wiem jaka jest różnica między jednym a drugim.

Czym jest string?
Jest to ciąg znaków.
W Pythonie są trzy sposoby na tworzenie ciągów znaków.

  1. Ciąg w cudzysłowie, n.p. "le cube".
  2. Ciąg w apostrofach, n.p. 'le cube'.
  3. Ciąg w potrójnym cudzysłowie (bądź potrójnych apostrofach): """le cube""".

Każdy z tych trzech rodzajów stringów (bo tak właśnie, z angielska wszyscy programiści mówią na cągi znaków) może zaczynać się jeszcze od dodatkowego modyfikatora, n.p.
u'le racine du polynome de seconde degrée'
Ten oznacza, że string jest ciągiem znaków zakodowanych w UNICODE. Nie musisz się tym przejmować.
Dam przykłady:
user image
Zauważ, że masz tam ciągi znaków. Ale czy cokolwiek w nich jest po francusku? Nie, nie wgłębiając się w szczegóły, są to telementy dokumentu .tex.
user image
Na tym rysunku masz dwa typy stringów. Pierwszy, potrójny jest opisem funkcji. Służy tylko programiście. Jak go rozpoznasz?
Następuje zaraz po defincji funkcji lub klasy. Ich nie warto tłumaczyć, bo użytkownik ich nigdy nie zobaczy.
Drugi typ - w apostrofach -> nie tłumaczyć. Dlaczego? Jest to także element składnik tex.
W kwestiach .tex - wszystko, co w stringach poprzedzisz \ będzie fragmentem .tex, którego nie tłumaczy się.
user image
Widzisz te stringi po definicji funkcji?
Te, które zawierają zdania po francusku?
Te trzeba przetłumaczyć. Ale nie w kodzie!
Po prostu zamień
u"Calculer..."
na
_(u"Calculer...")
. Pamiętaj, że na razie nic nie tłumaczysz. Na razie zamieniasz stringi na takie, które można tłumaczyć.
user image
Podobnie jak poprzednio - tylko tym razem użyto apostrofa.

Tarzan1984 napisał(a):

Na razie pobieram źródła a potem zobaczę co uda mi się zrobić, robię to jednak zupełnie po omacku :)

Pobrałem, źródła, ale po ostatnim poleceniu otrzymałem:

[email protected]:~/Pobrane/pyromaths$ git checkout gettexed
fatal: Not a git repository (or any of the parent directories): .git

Bo widzę, że pobrałeś plik .zip lub .tag.gz?
Musisz repozytorium sklonować:

git clone https://github.com/enedil/pyromaths.git
cd pyromaths

Dopiero teraz checkout:
git checkout gettexed

Tarzan1984 napisał(a):

No nic nie zrobię. Mam pozmieniać coś w katalogu ex. W pobranych źródłach jest taki katalog ale ukryty w /data/. Czy to o ten chodzi?

AUTHORS data Doc NEWS pyromaths setup.cfg src
COPYING debian Makefile PKG-INFO README setup.py utils

Jeśli tak to lipa bo tam są tylko obrazy w formacie png, więc nadal nie wiem co robić :/

Niestety, nie. Tamten zawiera zdjęcia zadań. O nie będzie trzeba dodatkowo prosić, bo nie wyedytujesz ich ładnie.
Miałem na myśli katalog src/pyromaths/ex

Tarzan1984 napisał(a):

Czekam na dalsze instrukcje, podpowiedzi.

Pozdrawiam
Z góry dziękuję
Rafał

Proszę bardzo!
Pozdrawiam.
Michał

edytowany 1x, ostatnio: enedil, 2015-07-12 12:40

Pozostało 580 znaków

2015-07-12 14:46

Rejestracja: 4 lata temu

Ostatnio: 1 rok temu

0

Witam.
A wyrażenia w potrójnym cudzysłowie?

def quest_rectangle_angle_diag(exo, cor):
"""On donne un rectangle ABCD de centre E, la diagonale AC et l'angle AEB"""

Chyba też?

Pozostało 580 znaków

2015-07-12 16:20

Rejestracja: 6 lat temu

Ostatnio: 4 godziny temu

0
Tarzan1984 napisał(a):

Witam.
A wyrażenia w potrójnym cudzysłowie?

def quest_rectangle_angle_diag(exo, cor):
"""On donne un rectangle ABCD de centre E, la diagonale AC et l'angle AEB"""

Chyba też?

Nie. To są tylko informacje dla programistów.
Przeszukałem każdy plik źródłowy, i nigdzie nie ma do nich odwołania.

Pozostało 580 znaków

2015-07-12 21:11

Rejestracja: 4 lata temu

Ostatnio: 1 rok temu

0

Witam.
Zrobiłem jak zostało przykazane :) Załączam katalog w załączniku (ten katalog ex)

Co dalej?

  • ex.zip (0.3 MB) - ściągnięć: 84

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0