Hello Laszlo, thanks for taking the time to reply and figure it out. Am Dienstag, den 26.09.2006, 21:09 -0400 schrieb Laszlo Pandy: > Mostly I just want to know why > we use need to use POTFILES.in and not just run the translations merge > on all *.py files? I took a look at Michael's gnome-app-install and together with him applied the changes to jokosher. Using POTFILES.in is the canonical way of dealing with translations - you will find it in other projects as well. I CCed Michael, I'm sure he has some *clever* reply. :-) > Also what happened to these two lines which grab translation template > strings from the glade file and the instrument files?: > > python i18nReadInstr.py ../../Instruments/*.instr > i18n.instr.h > xgettext -k_ -kN_ -o $@ ../../Jokosher.glade.h ../../*.py i18n.instr.h I'm not sure - it's been a while since I looked at it - wouldn't it suffice to add them to POTFILES.in? > BTW, the setup.py file looks pretty good :). I'm glad you like it. Have a nice day, Daniel PS: Leaving the rest of the patch attached for Michael. > diff -ruN trunk/locale/src/Makefile jokosher/locale/src/Makefile > --- trunk/locale/src/Makefile 2006-08-04 22:46:08.000000000 +0200 > +++ jokosher/locale/src/Makefile 2006-08-25 14:46:03.000000000 +0200 > @@ -1,34 +1,20 @@ > -#Generic rule for MO files > -%.mo: DIR1 = ../$(basename $@) > -%.mo: DIR2 = $(DIR1)/LC_MESSAGES > -%.mo: %.po > - ############## > - #GENERATING $@ > - ############## > - if [ ! -d $(DIR1) ]; then mkdir $(DIR1); fi > - if [ ! -d $(DIR2) ]; then mkdir $(DIR2); fi > - msgfmt $< -o $@ > - cp $@ $(DIR2)/jokosher.mo > - > -#Generic rule for PO files > -%.po: jokosher.pot > - ################## > - #MERGING $@ AND $< > - ################## > - msgmerge -UN $@ $< > - > -#Generic rule for POT files > -%.pot: ../../Jokosher.glade ../../*.py ../../Instruments/*.instr > - ############ > - #CREATING $@ > - ############ > - intltool-extract --type=gettext/glade ../../Jokosher.glade > - python i18nReadInstr.py ../../Instruments/*.instr > i18n.instr.h > - xgettext -k_ -kN_ -o $@ ../../Jokosher.glade.h ../../*.py i18n.instr.h > > -update: $(shell ls *.po) > +DOMAIN=jokosher > +PO_FILES := $(wildcard *.po) > > -all: $(subst .po,.mo,$(shell ls *.po)) > +all: update-po > > -clean: > - rm *.mo i18n.instr.h ../../Jokosher.glade.h > \ Kein Zeilenumbruch am Dateiende. > +# update the pot > +$(DOMAIN).pot: > + intltool-update -p -g $(DOMAIN) > + > +# merge the new stuff into the po files > +merge-po: $(PO_FILES) > + intltool-update -r -g $(DOMAIN); > + > +# create mo from the pos > +%.mo : %.po > + mkdir -p mo/$(subst .po,,$<)/LC_MESSAGES/ > + msgfmt $< -o mo/$(subst .po,,$<)/LC_MESSAGES/$(DOMAIN).mo > + > +update-po: $(DOMAIN).pot merge-po $(patsubst %.po,%.mo,$(wildcard *.po)) > diff -ruN trunk/locale/src/POTFILES.in jokosher/locale/src/POTFILES.in > --- trunk/locale/src/POTFILES.in 1970-01-01 01:00:00.000000000 +0100 > +++ jokosher/locale/src/POTFILES.in 2006-08-25 14:55:12.000000000 +0200 > @@ -0,0 +1,12 @@ > +../Jokosher/AddInstrumentDialog.py > +../Jokosher/CompactMixView.py > +../Jokosher/EventLaneViewer.py > +../Jokosher/EventViewer.py > +../Jokosher/Extension.py > +../Jokosher/InstrumentConnectionsDialog.py > +../Jokosher/InstrumentViewer.py > +../Jokosher/JokosherApp.py > +../Jokosher/MasterMixerStrip.py > +../Jokosher/MixerStrip.py > +../Jokosher/NewProjectDialog.py > +../Jokosher/VUWidget.py > diff -ruN trunk/setup.py jokosher/setup.py > --- trunk/setup.py 1970-01-01 01:00:00.000000000 +0100 > +++ jokosher/setup.py 2006-08-25 14:57:57.000000000 +0200 > @@ -0,0 +1,42 @@ > +#!/usr/bin/env python > + > +from distutils.core import setup > +import os > +import glob > + > +I18NFILES = [] > +for filepath in glob.glob("locale/src/mo/*/LC_MESSAGES/*.mo"): > + lang = filepath[len("locale/src/mo/"):] > + targetpath = os.path.dirname(os.path.join("share/locale",lang)) > + I18NFILES.append((targetpath, [filepath])) > +os.system("cd locale/src; make update-po") > + > + > +setup(name='jokosher', > + version='0.2', > + scripts=['Jokosher/Jokosher'], > + packages=['Jokosher'], > + data_files=[('share/jokosher/', > + glob.glob("*/*.glade") > + ), > + ('share/jokosher/Instruments', > + glob.glob("Instruments/*.instr") > + ), > + ('share/jokosher/Instruments/images', > + glob.glob('Instruments/images/*') > + ), > + ('share/applications', > + glob.glob("*/jokosher.desktop") > + ), > + ('share/icons/hicolor/48x48/apps', > + ['Jokosher/jokosher-logo.png'] > + ), > + ('share/pixmaps', > + glob.glob("images/*.png") > + ), > + ('share/applications', > + ['jokosher.desktop'], > + ) > + ]+I18NFILES > + ) > +
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil