Putting the i18n files in openlp/i18n is incorrect on Linux/BSD/*nix, they belong in /usr/share/openlp/i18n. This proposal fixes that.

bzr-revno: 1382
This commit is contained in:
Raoul Snyman 2011-03-13 12:13:03 +02:00
commit 98ef451f66
5 changed files with 25 additions and 15 deletions

View File

@ -4,13 +4,10 @@ recursive-include openlp *.csv
recursive-include openlp *.html recursive-include openlp *.html
recursive-include openlp *.js recursive-include openlp *.js
recursive-include openlp *.css recursive-include openlp *.css
recursive-include openlp *.qm
recursive-include documentation * recursive-include documentation *
recursive-include resources/forms * recursive-include resources *
recursive-include resources/i18n * recursive-include scripts *
recursive-include resources/images *
recursive-include scripts *.py
include resources/*.desktop
include copyright.txt include copyright.txt
include LICENSE include LICENSE
include README.txt
include openlp/.version include openlp/.version

View File

@ -35,6 +35,7 @@ import urllib2
from datetime import datetime from datetime import datetime
from PyQt4 import QtGui, QtCore from PyQt4 import QtGui, QtCore
if sys.platform != u'win32' and sys.platform != u'darwin': if sys.platform != u'win32' and sys.platform != u'darwin':
try: try:
from xdg import BaseDirectory from xdg import BaseDirectory
@ -134,7 +135,7 @@ class AppLocation(object):
elif dir_type == AppLocation.LanguageDir: elif dir_type == AppLocation.LanguageDir:
app_path = _get_frozen_path( app_path = _get_frozen_path(
os.path.abspath(os.path.split(sys.argv[0])[0]), os.path.abspath(os.path.split(sys.argv[0])[0]),
os.path.split(openlp.__file__)[0]) _get_os_dir_path(dir_type))
return os.path.join(app_path, u'i18n') return os.path.join(app_path, u'i18n')
else: else:
return _get_os_dir_path(dir_type) return _get_os_dir_path(dir_type)
@ -169,15 +170,21 @@ def _get_os_dir_path(dir_type):
if dir_type == AppLocation.DataDir: if dir_type == AppLocation.DataDir:
return os.path.join(unicode(os.getenv(u'APPDATA'), encoding), return os.path.join(unicode(os.getenv(u'APPDATA'), encoding),
u'openlp', u'data') u'openlp', u'data')
elif dir_type == AppLocation.LanguageDir:
return os.path.split(openlp.__file__)[0]
return os.path.join(unicode(os.getenv(u'APPDATA'), encoding), return os.path.join(unicode(os.getenv(u'APPDATA'), encoding),
u'openlp') u'openlp')
elif sys.platform == u'darwin': elif sys.platform == u'darwin':
if dir_type == AppLocation.DataDir: if dir_type == AppLocation.DataDir:
return os.path.join(unicode(os.getenv(u'HOME'), encoding), return os.path.join(unicode(os.getenv(u'HOME'), encoding),
u'Library', u'Application Support', u'openlp', u'Data') u'Library', u'Application Support', u'openlp', u'Data')
elif dir_type == AppLocation.LanguageDir:
return os.path.split(openlp.__file__)[0]
return os.path.join(unicode(os.getenv(u'HOME'), encoding), return os.path.join(unicode(os.getenv(u'HOME'), encoding),
u'Library', u'Application Support', u'openlp') u'Library', u'Application Support', u'openlp')
else: else:
if dir_type == AppLocation.LanguageDir:
return os.path.join(u'/usr', u'share', u'openlp')
if XDG_BASE_AVAILABLE: if XDG_BASE_AVAILABLE:
if dir_type == AppLocation.ConfigDir: if dir_type == AppLocation.ConfigDir:
return os.path.join(unicode(BaseDirectory.xdg_config_home, return os.path.join(unicode(BaseDirectory.xdg_config_home,

View File

@ -63,6 +63,8 @@ class LanguageManager(object):
""" """
Find all available language files in this OpenLP install Find all available language files in this OpenLP install
""" """
log.debug(u'Translation files: %s', AppLocation.get_directory(
AppLocation.LanguageDir))
trans_dir = QtCore.QDir(AppLocation.get_directory( trans_dir = QtCore.QDir(AppLocation.get_directory(
AppLocation.LanguageDir)) AppLocation.LanguageDir))
file_names = trans_dir.entryList(QtCore.QStringList(u'*.qm'), file_names = trans_dir.entryList(QtCore.QStringList(u'*.qm'),

View File

@ -2,12 +2,16 @@
# -*- makefile -*- # -*- makefile -*-
build: build:
mkdir -p openlp/i18n mkdir -p resources/i18n/qm
for TSFILE in resources/i18n/*.ts; do\ for TSFILE in resources/i18n/*.ts; do\
lrelease-qt4 $$TSFILE -qm openlp/i18n/`basename $$TSFILE .ts`.qm;\ lrelease-qt4 $$TSFILE -qm resources/i18n/qm/`basename $$TSFILE .ts`.qm;\
done done
install: install:
mkdir -p $(DESTDIR)/usr/share/openlp/i18n
cd resources/i18n/qm && for QMFILE in*.qm; do\
mv $QMFILE $(DESTDIR)/usr/share/openlp/i18n;\
done
clean: clean:
rm -fR resources/i18n/qm

View File

@ -1,9 +1,9 @@
#!/usr/bin/make -f #!/usr/bin/make -f
DEB_PYTHON_SYSTEM := pysupport DEB_PYTHON_SYSTEM := pysupport
DEB_MAKE_BUILD_TARGET := build DEB_MAKE_BUILD_TARGET := build
DEB_MAKE_INSTALL_TARGET := DEB_MAKE_INSTALL_TARGET := install
DEB_MAKE_CLEAN_TARGET := DEB_MAKE_CLEAN_TARGET := clean
include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk include /usr/share/cdbs/1/class/python-distutils.mk
@ -14,8 +14,8 @@ binary-post-install/openlp::
mkdir -p debian/openlp/usr/share/icons/hicolor/$$SIZE/apps && \ mkdir -p debian/openlp/usr/share/icons/hicolor/$$SIZE/apps && \
cp resources/images/openlp-logo-$$SIZE.png debian/openlp/usr/share/icons/hicolor/$$SIZE/apps/openlp.png; \ cp resources/images/openlp-logo-$$SIZE.png debian/openlp/usr/share/icons/hicolor/$$SIZE/apps/openlp.png; \
done done
mkdir -p debian/openlp/usr/share/icons/hicolor/scalable/apps && \ mkdir -p debian/openlp/usr/share/icons/hicolor/scalable/apps && \
cp resources/images/openlp-logo.svg debian/openlp/usr/share/icons/hicolor/scalable/apps/openlp.svg cp resources/images/openlp-logo.svg debian/openlp/usr/share/icons/hicolor/scalable/apps/openlp.svg
cd debian/openlp/usr/bin/ && mv openlp.pyw openlp cd debian/openlp/usr/bin/ && mv openlp.pyw openlp