Discussion:
[i18n-no] Oversettelse av QT-program: Hjelp ønskes
Johnny A. Solbu
2015-10-20 22:53:19 UTC
Permalink
Hei.
Jeg overtok i sommer utviklingen/vedlikeholdet av «Fryktelig Fin Faktura» som ikke har hatt noe aktivitet siden utviklingen stoppet helt opp i 2009. Jeg kan svært lite om python og Qt som programmet er skrevet i, så det er veldig begrenset hva jeg kan gjøre av endringer og nyutvikling. Så det har begrenset seg til feifiksing, og har fikset mange av feilene som er meldt inn.

Men oversettelse har jeg funnet ut at jeg skal forsøke, da jeg ser noen har etterlyst nynorskutgave.

Jeg har funnet ut hvordan jeg lager og kompilerer oversettelsesfiler for Qt-guien med lupdate og lrelease og har lagt til ting i .pro-filen, men jeg finner ikke ut hvordan jeg får programmet til å bruke oversettelsesfilen(e).

Er det noen Qt-utviklere her som kan hjelpe til med å finne ut hva som mangler å gjøre? Jeg har googlet en del, men jeg forstår ikke instruksene som blir foreslått i eksemplene jeg finner, da alle instrukser jeg finner går ut i fra at koden bruker en hel den .cpp og .h-filer, noe vi ikke gjør. Ikke bruker vi qmake heller, noe de fleste instruksene tar for gitt. ;-)

Koden ligger i et git-repo for de som ønsker å se: http://sourceforge.net/p/finfaktura/code/ci/master/tree/
--
Johnny A. Solbu
web site, http://www.solbu.net
PGP key ID: 0xFA687324
Hans Fredrik Nordhaug
2015-10-21 12:56:34 UTC
Permalink
* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low
* trust
* [209.85.212.169 listed in list.dnswl.org]
* 0.0 FREEMAIL_FROM Sender email is freemail (hansfn[at]gmail.com)

Hei

Jeg er ikke Qt-utvikler, men dette bør vi klare å nøste opp i. Såvidt
jeg kan se så er ikke programmet oversettbart - det inneholder ingen
QTranslator-instanser. (Kjernen av QT skifter kanskje automatisk
basert på lokale, men dine oversettelser blir ikke lastet inn og kan
derfor heller ikke endres.)

Jeg tenker at det enkleste er at du ser på et eksempel f.eks.
layout_test.tar.gz som du finner på
http://activityworkshop.net/software/beaver/pyqt.html (Pass at du tar
med mappenavnet "translations" når du kaller load(). Eksemplet
fungerte fint med Python 3, men du bruker vel Python 2) Ellers er
wikien til QT fin inspirasjon hvis du vil lage det mer dynamisk - se
https://wiki.qt.io/How_to_create_a_multi_language_application

Hans

PS! Vet du om finfaktura også virker/er ment å virke på Windows?

PS! Noen spesiell grunn til at bokmåloversettelsen har fått kode no
istedenfor nb - ref filnavn i mappa "translations"?
Post by Johnny A. Solbu
Hei.
Jeg overtok i sommer utviklingen/vedlikeholdet av «Fryktelig Fin Faktura» som ikke har hatt noe aktivitet siden utviklingen stoppet helt opp i 2009. Jeg kan svært lite om python og Qt som programmet er skrevet i, så det er veldig begrenset hva jeg kan gjøre av endringer og nyutvikling. Så det har begrenset seg til feifiksing, og har fikset mange av feilene som er meldt inn.
Men oversettelse har jeg funnet ut at jeg skal forsøke, da jeg ser noen har etterlyst nynorskutgave.
Jeg har funnet ut hvordan jeg lager og kompilerer oversettelsesfiler for Qt-guien med lupdate og lrelease og har lagt til ting i .pro-filen, men jeg finner ikke ut hvordan jeg får programmet til å bruke oversettelsesfilen(e).
Er det noen Qt-utviklere her som kan hjelpe til med å finne ut hva som mangler å gjøre? Jeg har googlet en del, men jeg forstår ikke instruksene som blir foreslått i eksemplene jeg finner, da alle instrukser jeg finner går ut i fra at koden bruker en hel den .cpp og .h-filer, noe vi ikke gjør. Ikke bruker vi qmake heller, noe de fleste instruksene tar for gitt. ;-)
Koden ligger i et git-repo for de som ønsker å se: http://sourceforge.net/p/finfaktura/code/ci/master/tree/
--
Johnny A. Solbu
web site, http://www.solbu.net
PGP key ID: 0xFA687324
Karl Ove Hufthammer
2015-10-21 15:45:59 UTC
Permalink
* -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low
* trust
* [208.97.132.208 listed in list.dnswl.org]
Post by Hans Fredrik Nordhaug
PS! Noen spesiell grunn til at bokmåloversettelsen har fått kode no
istedenfor nb - ref filnavn i mappa "translations"?
Kan nemna at bruk av «no» som språkkode for bokmål har vore «deprecated»
sidan tidleg på 2000-talet. Den skal aldri brukast.

Det er kanskje på tide at me får fjerna «no_NO» som eit lokale frå glibc
fullstendig (no er det eit alias til nb_NO), for å unngå at folk lagar
omsettingsfiler med dette namnet (eg har sett fleire eksempel i det siste).
--
Karl Ove Hufthammer
Petter Reinholdtsen
2015-10-21 16:33:15 UTC
Permalink
* -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
* -5.0 PING_UIO_MAIL_IS_INTERNAL Message has never been outside
* 129.240.0.0/16 or 193.157.115.0/24

[Karl Ove Hufthammer]
Post by Karl Ove Hufthammer
Det er kanskje på tide at me får fjerna «no_NO» som eit lokale frå glibc
fullstendig (no er det eit alias til nb_NO), for å unngå at folk lagar
omsettingsfiler med dette namnet (eg har sett fleire eksempel i det siste).
Det tror jeg kun er en god ide når alle operativsystemer med uavhengige
libc/locale-implementasjon gjør endringen samtidig. Det er jo ikke alle
som bruker glibc.
--
Vennlig hilsen
Petter Reinholdtsen
Johnny A. Solbu
2015-10-22 06:49:18 UTC
Permalink
Post by Hans Fredrik Nordhaug
Jeg er ikke Qt-utvikler, men dette bør vi klare å nøste opp i.
Det er ikke jeg heller. :-)
Men jeg syntes at programmet var bra nok til mitt bruk, og det eksisterer visst ikke andre linux-alternativer for norske fakturaer som ikke er en nettjeneste. og da måtte jeg i det minste forsøke å få det til å fungere.
Post by Hans Fredrik Nordhaug
Såvidt jeg kan se så er ikke programmet oversettbart - det inneholder ingen
QTranslator-instanser.
Det har vel jeg også skjønt etter å ha lest flere av googletreffene, men det er alt jeg har skjønt. Jeg skjønte aldri hvor de mente jeg skulle legge inn den load()-saken og alt jeg fant gikk ut fra at man kodet i noe annet enn det vi gjør, men skal se litt på det eksemplet du linker til når jeg er hjemme fra jobb i kveld.
Post by Hans Fredrik Nordhaug
PS! Vet du om finfaktura også virker/er ment å virke på Windows?
Ja, det skal gjøre det, og derfor har vi både tarball og zip-fil tilgjengelig for nedlasting.[1] Når det ble utviklet av opphavsmannen inntil han mistet interessen i 2009, ble det utgitt en windowsinstaller. Men siden jeg ikke har Windows og derfor ikke kan lage en windowsinstaller, kan jeg ikke hjelpe med hvordan det skal installeres der. men for de som vet hvordan kan pyqt4, python2 og repportlab installeres fra pip(2) også i windows. Og da burde programmet la seg kjøre.

Dersom noen vet hvordan man går frem i GNU/Linux for å lage en windowsinstaller som vil fungere så vil vi gjøre det. Den installeren må enten ha med alle avhengigheter bundlet, eller hente de ned fra nett ved installasjon.

Det er en «finfaktura-installer.nsi» i git som lager en installer. Men den laster ned binærfiler fra to zip-filer som ligger på den gamle prosjektsiden på Google Code. Og siden det ikke er noen informasjon om hvordan de ble laget, og det ene arkivet hadde ekstern binærkode, fjerna jeg de arkivene fra git da jeg ikke kan gå god for hva det er. Vi distribuerer ikke binærblobber som vi ikke vet hva gjør.

Og med «vi» så mener jeg meg og Kevin Unhammer, som har tilgang til git-arkivet.
Post by Hans Fredrik Nordhaug
PS! Noen spesiell grunn til at bokmåloversettelsen har fått kode no
istedenfor nb - ref filnavn i mappa "translations"?
Jeg fulgte et eksempel fra et prosjekt på nett, men kan gjerne fikse korrekt filnavn. :-)

[1] http://sourceforge.net/projects/finfaktura/files/
--
Johnny A. Solbu
web site, http://www.solbu.net
PGP key ID: 0xFA687324
Petter Reinholdtsen
2015-10-22 07:03:49 UTC
Permalink
* -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP
* -5.0 PING_UIO_MAIL_IS_INTERNAL Message has never been outside
* 129.240.0.0/16 or 193.157.115.0/24

[Johnny A. Solbu]
Post by Johnny A. Solbu
Jeg fulgte et eksempel fra et prosjekt på nett, men kan gjerne fikse korrekt filnavn. :-)
I den anledning kan det hende du vil ha nytte av å lese
<URL: http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html >.
--
Vennlig hilsen
Petter Reinholdtsen
Johnny A. Solbu
2015-10-23 00:47:26 UTC
Permalink
Post by Johnny A. Solbu
Jeg er ikke Qt-utvikler, men dette bÞr vi klare å nÞste opp i.
Det er ikke jeg heller. :-)
Men jeg syntes at programmet var bra nok til mitt bruk, og det eksisterer visst ikke andre linux-alternativer for norske fakturaer som ikke er en nettjeneste. og da måtte jeg i det minste forsÞke å få det til å fungere.
Såvidt jeg kan se så er ikke programmet oversettbart - det inneholder ingen
QTranslator-instanser.
Det har vel jeg også skjÞnt etter å ha lest flere av googletreffene, men det er alt jeg har skjÞnt. Jeg skjÞnte aldri hvor de mente jeg skulle legge inn den load()-saken og alt jeg fant gikk ut fra at man kodet i noe annet enn det vi gjÞr, men skal se litt på det eksemplet du linker til når jeg er hjemme fra jobb i kveld.
Da har jeg sett litt på eksemplene, og jeg forstår ingenting, :-/
Jeg skjÞnner ikke hva jeg skal legge inn hvor.

Alle eksemplene forutsetter at man lager noe fra grunnen av, mens her er det snakk om å endre det etter at programmet er ferdig...
--
Johnny A. Solbu
web site, http://www.solbu.net
PGP key ID: 0xFA687324
Lars Ivar Igesund
2015-10-23 07:08:43 UTC
Permalink
Fin Faktura bruker ui-filer for å definere GUI'et, altså posisjon av
knappar og slikt, men all logikken er implementert i Python, og oppsett av
ting som omsetjing må inn i Python-koden (eller C++-koden for applikasjonar
som er skrive i det språket). SjÞlv har eg kun skrive Qt C++-applikasjonar
(og uten ui-filer), men dei samme prinsippa gjeld stort sett som for Python.

I fÞrste omgang må du installere QTranslator som nemnd ovanfor. Du kan sjå
eit eksempel her:
https://wiki.python.org/moin/PyQt/Using%20a%20translation%20of%20Qt
I Fin Faktura må dette inn litt seinare sidan Qt ikkje vert sett opp i
__main__-funksjonen, men litt seinare, i start-funksjonen heilt nedst i
gui.py.

Vidare, må normalt tekststrengar som skal omsetjast, sendast gjennom ein
translate-funksjon (i C++ er denne kalla for tr()). Dette sÞrgar for at
omsetjinga faktisk vert brukt, men byggeverktyet genererer også
omsetjingsmalane basert på desse. Med ui-filer, så vert visstnok alle
tekststrengar automatisk dytta inn i tr() og gjort klar for omsetjing.

Unntaket i Fin Faktura ser ut til å vere feildialogar - iallfall ser det ut
som om mange av dei får teksten sin direkte frå koden i gui.py (og kanskje
andre Python-filer). Dersom du vil omsetje dei, anbefalar eg å pakke
tekstrengane inn i translate() (sjå
http://pyqt.sourceforge.net/Docs/PyQt5/i18n.html for meir informasjon,
sannsynlegvis må ein også inn i .pro-fila for å setje opp uthenting av
strengar frå Python-filene ved hjelp av pylupdate5-verktyet).

Frå SourceForge sitt web-view, kan det også sjå ut til at kodinga av
Python-filene er feil, sidan norske teikn i dialogtekstane vises feil. Er
også ei moglegheit at det berre er web-viewet som trur at fila har anna
koding enn den faktisk har.

Og til slutt, takk for tipset - det kan hende eg ser nÊrare på Fin Faktura
som brukar ved ei seinare anledning :)

Mvh,
Lars Ivar Igesund
Post by Johnny A. Solbu
Post by Johnny A. Solbu
Jeg er ikke Qt-utvikler, men dette bÞr vi klare å nÞste opp i.
Det er ikke jeg heller. :-)
Men jeg syntes at programmet var bra nok til mitt bruk, og det
eksisterer visst ikke andre linux-alternativer for norske fakturaer som
ikke er en nettjeneste. og da måtte jeg i det minste forsÞke å få det til å
fungere.
Post by Johnny A. Solbu
Såvidt jeg kan se så er ikke programmet oversettbart - det inneholder
ingen
Post by Johnny A. Solbu
QTranslator-instanser.
Det har vel jeg også skjÞnt etter å ha lest flere av googletreffene, men
det er alt jeg har skjÞnt. Jeg skjÞnte aldri hvor de mente jeg skulle legge
inn den load()-saken og alt jeg fant gikk ut fra at man kodet i noe annet
enn det vi gjÞr, men skal se litt på det eksemplet du linker til når jeg er
hjemme fra jobb i kveld.
Da har jeg sett litt på eksemplene, og jeg forstår ingenting, :-/
Jeg skjÞnner ikke hva jeg skal legge inn hvor.
Alle eksemplene forutsetter at man lager noe fra grunnen av, mens her er
det snakk om å endre det etter at programmet er ferdig...
--
Johnny A. Solbu
web site, http://www.solbu.net
PGP key ID: 0xFA687324
_______________________________________________
i18n-no mailing list
https://lister.ping.uio.no/mailman/lister.ping.uio.no/listinfo/i18n-no
Johnny A. Solbu
2015-10-23 17:04:28 UTC
Permalink
Er det noen Qt-utviklere her som kan hjelpe til med å finne ut hva som mangler å gjÞre?
Og da fikk jeg hjelp fra Eivind Tagseth, som sendte en merge request.
Tusen takk. :-)

Det neste spÞrsmålet blir jo da om det er mulig å bruke translation project til å oversette programmet, eller er det begrenset til .po-filer? Qt bruker jo .ts-filer.
Hvis ikke, er det andre resurser som kan brukes til formålet?
--
Johnny A. Solbu
web site, http://www.solbu.net
PGP key ID: 0xFA687324
Jacob Sparre Andersen
2015-10-23 17:12:21 UTC
Permalink
Det neste spørsmålet blir jo da om det er mulig å bruke translation project til å oversette programmet, eller er det begrenset til .po-filer? Qt bruker jo .ts-filer.
Hvis ikke, er det andre resurser som kan brukes til formålet?
Programmet 'po4a' kanvist nok oversætte mellem '.ts'-formatet og
'.po'-formatet.

God fornøjelse,

Jacob
--
Compiled code speed is not the _really_ important speed of a
programming language. What's important is the speed of:
- Implementing a complex algorithm by an average programmer,
including bug-fixing.
- Understanding an implementation of a complex algorithm for
an average programmer.
Loading...