You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2016/10/04 10:49:48 UTC
[18/35] git commit: updated refs/heads/master to de09b5a
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/60edc8af/client/pom.xml
----------------------------------------------------------------------
diff --git a/client/pom.xml b/client/pom.xml
index 5787717..3954795 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -391,32 +391,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <executions>
- <execution>
- <id>generate-sources</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <workingDirectory>${basedir}/marvin</workingDirectory>
- <executable>python</executable>
- <arguments>
- <argument>${basedir}/../tools/transifex/gen-l10n.py</argument>
- <argument>-i</argument>
- <argument>${basedir}/WEB-INF/classes/resources/</argument>
- <argument>-o</argument>
- <argument>${basedir}/../ui/l10n/</argument>
- <echo>Generating JS localization</echo>
- </arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
<groupId>ru.concerteza.buildnumber</groupId>
<artifactId>maven-jgit-buildnumber-plugin</artifactId>
<version>1.2.6</version>
@@ -533,11 +507,6 @@
<include name="web.xml"/>
</fileset>
</copy>
- <copy todir="${basedir}/target/generated-webapp/WEB-INF/classes">
- <fileset dir="${basedir}/WEB-INF/classes">
- <include name="resources/**/*"/>
- </fileset>
- </copy>
<copy todir="${basedir}/target/generated-webapp">
<fileset dir="${basedir}/../ui"/>
</copy>
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/60edc8af/tools/transifex/.tx/config
----------------------------------------------------------------------
diff --git a/tools/transifex/.tx/config b/tools/transifex/.tx/config
index 4579d97..45bd841 100644
--- a/tools/transifex/.tx/config
+++ b/tools/transifex/.tx/config
@@ -1,149 +1,22 @@
-
[main]
host = https://www.transifex.com
-[CloudStack_UI.2-2messagesproperties]
-file_filter = translations/CloudStack_UI.2-2messagesproperties/<lang>.properties
-source_lang = en
-type = PROPERTIES
-
-[CloudStack_UI.30xmessagesproperties]
-file_filter = translations/CloudStack_UI.30xmessagesproperties/<lang>.properties
-source_lang = en
-type = PROPERTIES
-
-[CloudStack_UI.41xmessageproperties]
-file_filter = translations/CloudStack_UI.41xmessageproperties/<lang>.properties
-source_lang = en
-type = UNICODEPROPERTIES
-
-[CloudStack_UI.42xmessagesproperties]
-file_filter = translations/CloudStack_UI.42xmessagesproperties/<lang>.properties
-source_lang = en
-type = UNICODEPROPERTIES
-
-[CloudStack_UI.43xmessagesproperties]
-file_filter = translations/CloudStack_UI.43xmessagesproperties/<lang>.properties
-source_lang = en
-type = UNICODEPROPERTIES
-
-[CloudStack_UI.44xmessagesproperties]
-file_filter = translations/CloudStack_UI.44xmessagesproperties/<lang>.properties
-source_lang = en
-type = UNICODEPROPERTIES
-
-[CloudStack_UI.45xmessagesproperties]
-file_filter = translations/CloudStack_UI.45xmessagesproperties/<lang>.properties
-source_file = work-dir/messages.properties
-source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
-type = UNICODEPROPERTIES
-
-[CloudStack_UI.46xmessagesproperties]
-source_file = work-dir/messages.properties
-source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.hu = work-dir/messages_hu.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
-
-[CloudStack_UI.47xmessagesproperties]
-source_file = work-dir/messages.properties
-source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.hu = work-dir/messages_hu.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
-
-[CloudStack_UI.48xmessagesproperties]
-source_file = work-dir/messages.properties
-source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.hu = work-dir/messages_hu.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
-
-[CloudStack_UI.49xmessagesproperties]
-source_file = work-dir/messages.properties
-source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.hu = work-dir/messages_hu.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
-
-[CloudStack_UI.410xmessagesproperties]
-source_file = work-dir/messages.properties
-source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.hu = work-dir/messages_hu.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
+[CloudStack_UI.410_messagesjson]
+source_file = work-dir/en.json
+source_lang = en
+trans.ar = work-dir/ar.json
+trans.ca = work-dir/ca.json
+trans.de_DE = work-dir/de_DE.json
+trans.es = work-dir/es.json
+trans.fr_FR = work-dir/fr_FR.json
+trans.hu = work-dir/hu.json
+trans.it_IT = work-dir/it_IT.json
+trans.ja_JP = work-dir/ja_JP.json
+trans.ko_KR = work-dir/ko_KR.json
+trans.nb_NO = work-dir/nb_NO.json
+trans.nl_NL = work-dir/nl_NL.json
+trans.pl = work-dir/pl.json
+trans.pt_BR = work-dir/pt_BR.json
+trans.ru_RU = work-dir/ru_RU.json
+trans.zh_CN = work-dir/zh_CN.json
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/60edc8af/tools/transifex/README-transifex.txt
----------------------------------------------------------------------
diff --git a/tools/transifex/README-transifex.txt b/tools/transifex/README-transifex.txt
index 4b1cd8d..4695543 100644
--- a/tools/transifex/README-transifex.txt
+++ b/tools/transifex/README-transifex.txt
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-sync-transifex-ui is a script to automate the synchronisation between
+sync-transifex-ui.sh is a script to automate the synchronisation between
Apache CloudStack L10N resource files and Transifex CloudStack project.
Requirements to use this script:
@@ -24,7 +24,7 @@ Requirements to use this script:
http://support.transifex.com/customer/portal/topics/440187-transifex-client/articles
On Debian/Ubuntu: apt-get install transifex-client
-Commun usage is:
+Common usage is:
1/ Init and configure the transifex client CLI
(Already made on git CloudStack repo)
@@ -34,38 +34,32 @@ Commun usage is:
2/ Upload to Transifex the last version of the source language (en)
which generally have the new keys/values to translate.
- ./sync-transifex-ui.sh upload-source-language CloudStack_UI.42xmessagesproperties
+ ./sync-transifex-ui.sh upload-source-language CloudStack_UI.410_messagesjson
-3/ Download the last L10N resource files from Transifex to resources
-files directory in CloudStack tree to upade the L10N resource files
+3/ Download the latest L10N resource files from Transifex to resource
+files directory in CloudStack tree to update the L10N resource files
with the translatons from traductors.
- ./sync-transifex-ui.sh download-l10n-languages CloudStack_UI.42xmessagesproperties
+ ./sync-transifex-ui.sh download-l10n-languages CloudStack_UI.410_messagesjson
=====
The sync-transifex-ui provide too the ability to :
* Download from Transifex the source language resource files. Be carrefully,
-with this,you can remove some transation on Transifex if some keys has
+with this, you can remove some transation on Transifex if some keys has
been removed inside the source language resource files.
- ./sync-transifex-ui.sh download-source-language CloudStack_UI.42xmessagesproperties
+ ./sync-transifex-ui.sh download-source-language CloudStack_UI.410_messagesjson
* Upload the L10N resource files on Transifex.
- ./sync-transifex-ui.sh upload-l10n-languages CloudStack_UI.42xmessagesproperties
+ ./sync-transifex-ui.sh upload-l10n-languages CloudStack_UI.410_messagesjson
=====
-Note 1:
-Choose the good branch on git matching with the good resource on Transifex:
-(no branch) <--> CloudStack_UI.2-2messagesproperties
-(no branch) <--> CloudStack_UI.30xmessagesproperties
-(4.1) <--> CloudStack_UI.41xmessageproperties
-(master) <--> CloudStack_UI.42xmessagesproperties
-
-Note 2:
+Note:
If you want add a new L10N language, we need edit the sync-transifex-ui.sh script
to add his language code in LIST_LANG variable, before run the download-l10n-languages
command.
-
+======
+See: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Update+L10N+files+from+Transifex+to+git+repo
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/60edc8af/tools/transifex/gen-l10n.py
----------------------------------------------------------------------
diff --git a/tools/transifex/gen-l10n.py b/tools/transifex/gen-l10n.py
deleted file mode 100644
index 0f1616b..0000000
--- a/tools/transifex/gen-l10n.py
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env python
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Usage: python gen-l10n.py <path to message properties file> <output directory>
-
-import codecs
-import json
-import os
-import sys
-from optparse import OptionParser
-
-
-def generateL10nFile(propFile, outputFile):
- ts = {}
- with open(propFile, 'r') as f:
- for line in f.read().split('\n'):
- if line.startswith('#') or line.startswith('\n') or line.startswith('\r') or line.strip() == "":
- continue
- key, _, value = line.partition('=')
- if key in ts:
- print("[Warning] Found a duplicate translation for key " + key)
- value = value.replace('\#', '#') \
- .replace('\=', '=') \
- .replace('\!', '!') \
- .replace('\:', ':') \
- .replace('\+', '+') \
- .replace('\,', ',') \
- .replace('\>', '>') \
- .replace('\<', '<') \
- .replace('\\>', '>') \
- .replace('\\<', '<') \
- .replace('\\,', ',') \
- .replace('\\ ', ' ') \
- .replace('\\+', '+') \
- .replace('\\\\', '') \
- .decode('unicode-escape')
- ts[key] = value
-
- print("Exporting compiled dictionary: %s" % outputFile)
- with codecs.open(outputFile, "w", "utf-8") as f:
- f.write("// Licensed to the Apache Software Foundation (ASF) under one\n")
- f.write("// or more contributor license agreements. See the NOTICE file\n")
- f.write("// distributed with this work for additional information\n")
- f.write("// regarding copyright ownership. The ASF licenses this file\n")
- f.write("// to you under the Apache License, Version 2.0 (the\n")
- f.write("// \"License\"); you may not use this file except in compliance\n")
- f.write("// with the License. You may obtain a copy of the License at\n")
- f.write("//\n")
- f.write("// http://www.apache.org/licenses/LICENSE-2.0\n")
- f.write("//\n")
- f.write("// Unless required by applicable law or agreed to in writing,\n")
- f.write("// software distributed under the License is distributed on an\n")
- f.write("// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n")
- f.write("// KIND, either express or implied. See the License for the\n")
- f.write("// specific language governing permissions and limitations\n")
- f.write("// under the License.\n")
- f.write("var dictionary = ")
- f.write(json.dumps(ts, ensure_ascii=False, separators=(',\n', ':',), sort_keys=True))
- f.write(";")
-
-
-def parseFileName(propFileName):
- return propFileName.split('messages_')[-1] \
- .replace('properties', 'js') \
- .replace('messages.js', 'en.js')
-
-
-def main():
- parser = OptionParser()
- parser.add_option("-o", "--output", dest="outputDir",
- help="The path to the generated l10n js file")
-
- parser.add_option("-i", "--input", dest="inputDir",
- help="The path to source messages properties files")
-
- (options, args) = parser.parse_args()
- if options.inputDir is None or options.outputDir is None:
- print("Please provide messages and l10n output directory paths")
- sys.exit(1)
-
- if not os.path.exists(options.outputDir):
- os.makedirs(options.outputDir)
-
- for propFile in os.listdir(options.inputDir):
- inputFile = "%s/%s" % (options.inputDir, propFile)
- outputFile = "%s/%s" % (options.outputDir, parseFileName(propFile))
- generateL10nFile(inputFile, outputFile)
-
-
-if __name__ == "__main__":
- main()
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/60edc8af/tools/transifex/sync-transifex-ui.sh
----------------------------------------------------------------------
diff --git a/tools/transifex/sync-transifex-ui.sh b/tools/transifex/sync-transifex-ui.sh
index a470840..a121fbd 100755
--- a/tools/transifex/sync-transifex-ui.sh
+++ b/tools/transifex/sync-transifex-ui.sh
@@ -19,10 +19,10 @@
SRCLANG=en
LIST_LANG="ar ca de_DE es fr_FR it_IT ja_JP ko_KR nb_NO nl_NL pl pt_BR ru_RU zh_CN hu"
-DIRECTORY_RESOURCES="../../client/WEB-INF/classes/resources"
+DIRECTORY_RESOURCES="../../ui/l10n"
WORKDIR="./work-dir"
-AL2_STRING="# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements. See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership. The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License. You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied. See the License for the\n# specific language governing permissions and limitations\n# under the License.\n"
+AL2_STRING="// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License.\n"
doInit()
{
@@ -47,10 +47,9 @@ doUploadL10NLangs()
{
# l10n languages
for CODELANG in ${LIST_LANG} ; do
- if [ -f "${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties" ]; then
- native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties
- sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties
- tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties
+ if [ -f "${DIRECTORY_RESOURCES}/${CODELANG}.json" ]; then
+ grep -v "^\s*//" ${DIRECTORY_RESOURCES}/${CODELANG}.js | sed -e 's/var dictionary = //' -e "\$s/;$//" > ${WORKDIR}/${CODELANG}.json
+ tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/${CODELANG}.json
tx push -t -r ${ARGUMENTS} -l ${CODELANG}
else
echo "Warning: the resource file for language ${CODELANG} doesn't exist."
@@ -62,27 +61,23 @@ doDownloadL10NLangs()
{
# prepare l10n languages
for CODELANG in ${LIST_LANG} ; do
- if [ -f "${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties" ]; then
- native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties
- sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages_${CODELANG}.properties
- tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties
+ if [ -f "${DIRECTORY_RESOURCES}/${CODELANG}.js" ]; then
+ grep -v "^\s*//" ${DIRECTORY_RESOURCES}/${CODELANG}.js | sed -e 's/var dictionary = //' -e "\$s/;$//" > ${WORKDIR}/${CODELANG}.json
+ tx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/${CODELANG}.json
else
echo "\nWarning: the resource file for language ${CODELANG} doesn't exist."
echo "Run this command to force get this language from transifex:"
- echo "\ntx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/messages_${CODELANG}.properties\n"
+ echo "\ntx set -r ${ARGUMENTS} -l ${CODELANG} ${WORKDIR}/${CODELANG}.json\n"
fi
done
# get all resource files from transifex
- tx pull -f --mode=translator -r ${ARGUMENTS}
+ tx pull -f -r ${ARGUMENTS}
# l10n languages
for CODELANG in ${LIST_LANG} ; do
- #tx pull -r ${ARGUMENTS} -l ${CODELANG}
- if [ -f "${WORKDIR}/messages_${CODELANG}.properties" ]; then
- native2ascii -encoding UTF-8 ${WORKDIR}/messages_${CODELANG}.properties ${WORKDIR}/messages_${CODELANG}.properties.tmp1
- grep -v "^#" ${WORKDIR}/messages_${CODELANG}.properties.tmp1 | sort -f | uniq | sed "s/'/\\\\\\\\\'/g" > ${WORKDIR}/messages_${CODELANG}.properties.tmp2
- echo "$AL2_STRING" | cat - ${WORKDIR}/messages_${CODELANG}.properties.tmp2 > ${DIRECTORY_RESOURCES}/messages_${CODELANG}.properties
+ if [ -f "${WORKDIR}/${CODELANG}.json" ]; then
+ sed -e '1s/^/var dictionary = /' -e "\$s/\}$/\};/" -e "1s~^~${AL2_STRING}~" ${WORKDIR}/${CODELANG}.json > ${DIRECTORY_RESOURCES}/${CODELANG}.js
else
echo "Warning: the resource file for language ${CODELANG} doesn't exist on transifex"
fi
@@ -92,10 +87,9 @@ doDownloadL10NLangs()
doUploadSourceLang()
{
# Source language
- if [ -f ${DIRECTORY_RESOURCES}/messages.properties ]; then
- native2ascii -reverse -encoding UTF-8 ${DIRECTORY_RESOURCES}/messages.properties ${WORKDIR}/messages.properties
- sed -i"" "s/\\\\\\\'/'/g" ${WORKDIR}/messages.properties
- tx set --source -r ${ARGUMENTS} -l ${SRCLANG} ${WORKDIR}/messages.properties
+ if [ -f ${DIRECTORY_RESOURCES}/${SRCLANG}.js ]; then
+ grep -v "^\s*//" ${DIRECTORY_RESOURCES}/${SRCLANG}.js | sed -e 's/var dictionary = //' -e "\$s/;$//" > ${WORKDIR}/${SRCLANG}.json
+ tx set --source -r ${ARGUMENTS} -l ${SRCLANG} ${WORKDIR}/${SRCLANG}.json
tx push -s -r ${ARGUMENTS}
else
echo "Warning: the source language doesn't exist!"
@@ -107,10 +101,8 @@ doDownloadSourceLang()
# get all resource files from transifex
tx pull -s -r ${ARGUMENTS}
# Source language
- if [ -f "${WORKDIR}/messages.properties" ]; then
- native2ascii -encoding UTF-8 ${WORKDIR}/messages.properties ${WORKDIR}/messages.properties.tmp1
- grep -v "^#" ${WORKDIR}/messages.properties.tmp1 | sort -f | uniq | sed "s/'/\\\\\\\\\'/g" > ${WORKDIR}/messages.properties.tmp2
- echo "$AL2_STRING" | cat - ${WORKDIR}/messages.properties.tmp2 > ${DIRECTORY_RESOURCES}/messages.properties
+ if [ -f "${WORKDIR}/${SRCLANG}.json" ]; then
+ sed -e '1s/^/var dictionary = /' -e "\$s/\}$/\};/" -e "1s~^~${AL2_STRING}~" ${WORKDIR}/${SRCLANG}.json > ${DIRECTORY_RESOURCES}/${SRCLANG}.js
else
echo "Warning: the source language hasn't been retrieve!"
fi
@@ -150,8 +142,8 @@ case "$COMMAND" in
;;
*|error)
- echo "Usage: $0 [upload-source-language|download-source-language] [upload-l10n-languages|download-l10n-languages] transifex-resource" >&2
- echo "\n\tExemple: $0 download-l10n-languages CloudStack_UI-42xmessagesproperties\n" >&2
+ echo "Usage: $0 [ upload-source-language | download-source-language | upload-l10n-languages | download-l10n-languages ] transifex-resource" >&2
+ echo "\n\tExemple: $0 download-l10n-languages CloudStack_UI.410_messagesjson\n" >&2
echo "Usage: $0 init-transifex URL-transifex-project" >&2
echo "\n\tExemple: $0 init-transifex https://www.transifex.com/projects/p/CloudStack_UI/\n" >&2
exit 1