You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2020/07/04 18:44:06 UTC
[openoffice] 03/11: Add l10n translations.
This is an automated email from the ASF dual-hosted git repository.
damjan pushed a commit to branch scons-build
in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit 946b44884e5e795212e68f0c609b865b2a49be44
Author: Damjan Jovanovic <da...@apache.org>
AuthorDate: Mon Jun 29 06:46:44 2020 +0200
Add l10n translations.
Patch by: me
---
main/site_scons/AllLangRes.py | 43 +++++++++++++++++++++++++++++++++++--------
main/site_scons/site_init.py | 2 ++
2 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/main/site_scons/AllLangRes.py b/main/site_scons/AllLangRes.py
index 1708876..81a8fc4 100644
--- a/main/site_scons/AllLangRes.py
+++ b/main/site_scons/AllLangRes.py
@@ -125,6 +125,9 @@ class SrsTarget:
def __init__(self, srsPath):
self.env = DefaultEnvironment().Clone()
self.env.Append(ENV=platform.getExecutableEnvironment(soenv))
+ # This will come apart at the seams if it finds a .src file
+ # with UTF-8 BOM but non-UTF-8 contents, like we produce with transex3.
+ # So use a different filename extension for those.
self.env.Append(SCANNERS=ClassicCPP("AOOSRCScanner", '.src', "CPPPATH", '^[ \t]*#[ \t]*(?:include|import)[ \t]*(<|")([^>"]+)(>|")'))
self.srsPath = srsPath
@@ -142,20 +145,44 @@ class SrsTarget:
class SrsPartTarget:
def __init__(self, env, file):
srcFile = File(file)
- dstFile = File('Res/SrsPartTarget/' + file)
+ dstFile = File('Res/SrsPartTarget/' + file + '.part')
# print('srcFile.path = ' + srcFile.path)
# print('srcFile.abspath = ' + srcFile.abspath)
# print('srcFile.srcnode().path = ' + srcFile.srcnode().path)
# print('srcFile.srcnode().abspath = ' + srcFile.srcnode().abspath)
- env2 = env.Clone()
- for var in env['CPPPATH']:
- env2.Append(RSC_CPPPATH = ' -I' + var)
- for var in env['CPPDEFINES']:
- env2.Append(RSC_CPPDEFINES = ' -D' + var)
+ # We need private env changes
+ env = env.Clone()
+
+ # If we're translating, there is an extra step
+ withLang = env.get('AOO_WITH_LANG')
+ if withLang == None or withLang == '':
+ translatedFile = srcFile
+ else:
+ sdf = '${LOCDIR}/l10n/${INPATH}/misc/sdf/' + srcFile.Dir('.').srcnode().path + '/localize.sdf'
+ env.Depends(dstFile, sdf)
+ env['AOO_SDF'] = sdf
+ env['AOO_PRJ'] = srcFile.srcnode().path.split('/')[0]
+ translatedFile = File('Res/SrsPartMergeTarget/' + file + '.partmerge')
+ env.Command(translatedFile, srcFile.srcnode(), ' '.join([
+ '${OUTDIR}/bin/transex3',
+ '-p ${AOO_PRJ}',
+ '-i ${SOURCE}',
+ '-o ${TARGET}',
+ '-m ${AOO_SDF}',
+ '-l all']))
+
+ # Because we're using a custom builder, we have to build includes and defs manually
+ env['RSC_CPPPATH'] = '-I' + ' -I'.join(env['CPPPATH'])
+ env['RSC_CPPDEFINES'] = '-D' + ' -D'.join(env['CPPDEFINES'])
+ self.target = env.Command(dstFile, translatedFile, ' '.join([
+ '${OUTDIR}/bin/rsc',
+ '-s',
+ '${RSC_CPPPATH}',
+ '${RSC_CPPDEFINES}',
+ '-fp=$TARGET',
+ '$SOURCE']))
- self.target = env2.Command(dstFile, srcFile.srcnode(),
- '${OUTDIR}/bin/rsc -s ${RSC_CPPPATH} ${RSC_CPPDEFINES} -fp=$TARGET $SOURCE')
class SrsPartMergeTarget:
def __init__(self):
diff --git a/main/site_scons/site_init.py b/main/site_scons/site_init.py
index c38fc50..01a0360 100644
--- a/main/site_scons/site_init.py
+++ b/main/site_scons/site_init.py
@@ -45,6 +45,8 @@ env['SOLARSRC'] = soenv['SOLARSRC']
env['OUTDIR'] = soenv['OUTDIR']
env['WORKDIR'] = soenv['WORKDIR']
env['SOLARENV'] = soenv['SOLARENV']
+env['LOCDIR'] = Dir(soenv['SOLARSRC']).Dir('..').abspath + '/extras'
+env['INPATH'] = soenv['INPATH']
## Useful constants