plugin python per QGis e QtCreator e Linguist

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

plugin python per QGis e QtCreator e Linguist

mando
Ciao a tutti,

sto cercando di tradurre il mio plugin e fino alla creazione di un progetto con qt creator (sbirciando il plugin Gdal Tools) ci arrivo [1].

con il comando lupdate genero i files .ts, li traduco, e con lrelease genero i .qm.

A questo punto cambio la lingua a qgis.... en per esempio...apro il mio plugin ma non vedo aggiornamenti nella lingua.....

Mi manca un passaggio??  Suggerimenti???

Chiedo a Giuseppe Sucameli un aiutino!!!

Grazie

Ciaooo!!


Quando lancio lupdate pyarchinit.pro ricevo un sfilza di questi messaggi:

ers/mac/.qgis/python/plugins/pyarchinit/__init__.py:3: Unterminated C++ string

/Users/mac/.qgis/python/plugins/pyarchinit/__init__.py:21: Unterminated C++ string

/Users/mac/.qgis/python/plugins/pyarchinit/pyarchinitConfigDialog.py:3: Unterminated C++ string

/Users/mac/.qgis/python/plugins/pyarchinit/pyarchinitConfigDialog.py:21: Unterminated C++ string

/Users/mac/.qgis/python/plugins/pyarchinit/pyarchinitConfigDialog.py:37: Unterminated C++ character
 ...


Quando lancio lrelease pyarchinit.pro ottengo:


iMac-di-Mac-OsX:pyarchinit mac$ lrelease pyarchinit.pro
Updating '/Users/mac/.qgis/python/plugins/pyarchinit/i18n/pyarchinit_plugin_en_US.qm'...
    Generated 1 translation(s) (1 finished and 0 unfinished)

    Ignored 512 untranslated source text(s)
Updating '/Users/mac/.qgis/python/plugins/pyarchinit/i18n/pyarchinit_plugin_it_IT.qm'...
    Generated 1 translation(s) (1 finished and 0 unfinished)

    Ignored 512 untranslated source text(s)

    Generated 0 translation(s) (0 finished and 0 unfinished)

    Ignored 513 untranslated source text(s)








[1]
SOURCES = __init__.py \
          imageViewer_ui.py \
          pyarchinit_Gis_Time_controller.py \
          pyarchinit_Individui.py \
          pyarchinit_Inv_Materiali_mainapp.py \
          pyarchinit_Periodizzazione_mainapp.py \
          pyarchinit_plugin.py \
          pyarchinit_Site_mainapp.py \
          pyarchinit_Struttura_mainapp.py \
          pyarchinit_Tafonomia_mainapp.py \
          pyarchinit_Upd_mainapp.py \
          pyarchinit_US_mainapp.py \
          pyarchinit_pyarchinit_US.py \
          pyarchinitConfigDialog.py \
          pyarchinitInfoDialog.py \
          sortpanelmain.py \
          modules/gui/info.py \
          modules/gui/pyarchinit_image_viewer_dialog.py \
          modules/gui/pyarchinit_individui_ui.py \
          modules/gui/pyarchinit_inventario_reperti_ui.py \
          modules/gui/pyarchinit_Periodo_fase_ui.py \
          modules/gui/pyarchinit_Site_ui.py \
          modules/gui/pyarchinit_Struttura_ui.py \
          modules/gui/pyarchinit_Tafonomia_ui.py \
          modules/gui/pyarchinit_US_ui.py \
          modules/gui/sort_panel_ui.py \
          modules/gui/Ui_pyarchinitConfig.py \
          modules/gui/Ui_UpdValues.py

FORMS =   modules/gui/info.ui \
          modules/gui/pyarchinit_image_viewer_dialog.ui \
          modules/gui/pyarchinit_individui_ui.ui \
          modules/gui/pyarchinit_inventario_reperti_ui.ui \
          modules/gui/pyarchinit_Periodo_fase_ui.ui \
          modules/gui/pyarchinit_Site_ui.ui \
          modules/gui/pyarchinit_Struttura_ui.ui \
          modules/gui/pyarchinit_Tafonomia_ui.ui \
          modules/gui/pyarchinit_US_ui.ui \
          modules/gui/sort_panel_ui.ui \
          modules/gui/Ui_pyarchinitConfig.ui \
          modules/gui/Ui_UpdValues.ui

TRANSLATIONS = i18n/pyarchinit_plugin_it_IT.ts \
                             i18n/pyarchinit_plugin_en_US.ts




_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
527 iscritti al 7.7.2011
Reply | Threaded
Open this post in threaded view
|

Re: plugin python per QGis e QtCreator e Linguist

Giuseppe Sucameli-2
Ciao Luca,

2011/8/26 Luca Mandolesi <[hidden email]>:
> apro il mio plugin ma non vedo aggiornamenti nella lingua.....
> Mi manca un passaggio??  Suggerimenti???
> Chiedo a Giuseppe Sucameli un aiutino!!!

trovi tutto quello che ti serve proprio nel plugin GdalTools.
Se guardi all'interno del file GdalTools.py troverai delle righe di codice
che impostano il traduttore nella lingua corretta, basterà adattarle alle
tue esigenze.

> Quando lancio lupdate pyarchinit.pro ricevo un sfilza di questi messaggi:
> ers/mac/.qgis/python/plugins/pyarchinit/__init__.py:3: Unterminated C++
> string

poiché il codice è in python,
così come utilizzi pyuic per i file .ui e pyrrc per i file .rc,
allo stesso modo devi usare pylupdate invece che lupdate ;)

Saluti!

--
Giuseppe Sucameli
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
527 iscritti al 7.7.2011
Reply | Threaded
Open this post in threaded view
|

Re: plugin python per QGis e QtCreator e Linguist

mando
Allora....

Ho generato i file .ts con pylupdate4....

ho aperto con Linguist quello per l'inglese  e ho cambiato il testo di una label.... di una mia interfaccia per schedare le Strutture archeologiche

poi ho lanciato lrelease

Nel file pyarchinit_plugin.py che è quello che carica tutto il plugin, ho inserito il pezzo di codice (preso da GdalTools e riadattato) subito dopo il def __init__(self.iface) [0]

Quando però do inglese come lingua a Qgis non cambia nulla.....

Mi manca ancora qualche passaggio....ma quale?

Grazie anticipatamente per a pazienza.

Luca



[0]
class PyArchInitPlugin:
def __init__(self, iface):
self.iface = iface
try:
 self.QgisVersion = unicode( QGis.QGIS_VERSION_INT )
except:
 self.QgisVersion = unicode( QGis.qgisVersion )[ 0 ]

if QGis.QGIS_VERSION[0:3] < "1.5":
 # For i18n support
 userPluginPath = QFileInfo( QgsApplication.qgisUserDbFilePath() ).path() + "/python/plugins/pyarchinit"
 systemPluginPath = QgsApplication.prefixPath() + "/python/plugins/pyarchinit"

 overrideLocale = QSettings().value( "locale/overrideFlag", QVariant( False ) ).toBool()
 if not overrideLocale:
localeFullName = QLocale.system().name()
 else:
localeFullName = QSettings().value( "locale/userLocale", QVariant( "" ) ).toString()

 if QFileInfo( userPluginPath ).exists():
translationPath = userPluginPath + "/i18n/pyarchinit_" + localeFullName + ".qm"
 else:
translationPath = systemPluginPath + "/i18n/pyarchinit_" + localeFullName + ".qm"

 self.localePath = translationPath
 if QFileInfo( self.localePath ).exists():
self.translator = QTranslator()
self.translator.load( self.localePath )
QCoreApplication.installTranslator( self.translator )

def initGui(self):
               ........

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
527 iscritti al 7.7.2011
Reply | Threaded
Open this post in threaded view
|

Re: plugin python per QGis e QtCreator e Linguist

Giuseppe Sucameli

On Aug 27, 2011, at 10:48 AM, Luca Mandolesi <[hidden email]> wrote:

> Quando però do inglese come lingua a Qgis non cambia nulla.....
>
> Mi manca ancora qualche passaggio....ma quale?
>
> class PyArchInitPlugin:
> def __init__(self, iface):
> self.iface = iface
fin qui ok.

Le righe seguenti
> try:
>  self.QgisVersion = unicode( QGis.QGIS_VERSION_INT )
> except:
>  self.QgisVersion = unicode( QGis.qgisVersion )[ 0 ]
>
> if QGis.QGIS_VERSION[0:3] < "1.5":
fino a qui invece sono un problema perché come puoi notare il controllo if è verificato solo se la versione di qgis è minore di 1.5.

Questo controllo è stato aggiunto quando GdalTools è stato inserito in trunk per mantenere una sola versione del codice funzionante con tutte le versioni di QGis.

Il resto va bene.
Ciao!

>  # For i18n support
>  userPluginPath = QFileInfo( QgsApplication.qgisUserDbFilePath() ).path() + "/python/plugins/pyarchinit"
>  systemPluginPath = QgsApplication.prefixPath() + "/python/plugins/pyarchinit"
>
>  overrideLocale = QSettings().value( "locale/overrideFlag", QVariant( False ) ).toBool()
>  if not overrideLocale:
> localeFullName = QLocale.system().name()
>  else:
> localeFullName = QSettings().value( "locale/userLocale", QVariant( "" ) ).toString()
>
>  if QFileInfo( userPluginPath ).exists():
> translationPath = userPluginPath + "/i18n/pyarchinit_" + localeFullName + ".qm"
>  else:
> translationPath = systemPluginPath + "/i18n/pyarchinit_" + localeFullName + ".qm"
>
>  self.localePath = translationPath
>  if QFileInfo( self.localePath ).exists():
> self.translator = QTranslator()
> self.translator.load( self.localePath )
> QCoreApplication.installTranslator( self.translator )
>
> def initGui(self):
>                ........
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
527 iscritti al 7.7.2011
Reply | Threaded
Open this post in threaded view
|

Re: plugin python per QGis e QtCreator e Linguist

mando
Perfetto, grazie Giuseppe, funziona a meraviglia.

Una domanda: con Linguist ci traduco i valori che io inserisco nelle gui. Tuttavia ho dei valori che passo alla gui dai miei file main; per esempio nell'interfaccia che manda al db i dati, una label informa l'utente se è in modalità 'usa' oppure 'trova' o in 'inserimento nuovo record': 

self.label_status.setText('Usa') oppure self.label_status.setText('Trova') ecc ecc...

Con linguist si possono tradurre anche valori presenti nei singoli file python del plugin o è necessario crearsi un sistemino apposta di traduzione?

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
527 iscritti al 7.7.2011