Lahmizzar Muinela
2014-01-03 ee0fca9252320d8f870ca247e7cf079577a2b01b
add language package build script
4 files added
356 ■■■■■ changed files
build 56 ●●●●● patch | view | raw | blame | history
builder/buildManifest 110 ●●●●● patch | view | raw | blame | history
builder/create 89 ●●●●● patch | view | raw | blame | history
builder/pull 101 ●●●●● patch | view | raw | blame | history
build
New file
@@ -0,0 +1,56 @@
#!/bin/bash
clear
  ######################################
  # Author: devXive, Lahmizzar Muinela #
  # Email: support@devxive.com         #
  # Twitter: @devXive                  #
  # Website: http://www.devxive.com    #
  ######################################
# Simple script to build an appropriate language manifest
#
# How to use
# ./build update 4.2.0b4 2013-12-06 (Fetch Updates from transifex and create the install file)
# ./build 4.2.0b4 2013-12-06 (Create the install file from current languages folder)
# Name as used in builder/create
tempDir="pkg_projectfork_languages"
version="$2"
if [[ "$1" == "--help" || "$2" == "--help" || "$3" == "--help" || "$4" == "--help" ]]
    then
      echo 'How to use:'
      echo '-----------'
      echo 'Fetch updates from transifex first, then build the language installer package'
      echo '  ./build update [version_number_to_set] [manual_build_date]'
      echo '  EG: ./build update 4.2.0b4 2013-12-06'
      echo ' '
      echo 'Create the language installer package from current state (without updating languages from transifex first)'
      echo '  ./build [version_number_to_set] [manual_build_date]'
      echo '  EG: ./build noupdate 4.2.0b4 2013-12-06'
      echo ' '
      echo 'If you want tu use the current timestamp as build date'
      echo '  ./build noupdate 4.2.0.4b'
      echo 'or'
      echo '  ./build update 4.2.0.4b'
      echo ' '
      echo ' '
      echo 'This Help'
      echo '  ./build --help'
      echo ' '
      echo ' '
      echo 'To get advanced instructions on how to use the transifex client, you have to read the API. http://api.transifex.com.'
    exit 1
  fi
if [[ "$1" == "" || "$2" == "" ]]
    then
      echo 'Error: Not all options set! Type "./build --help" to get more options'
    exit 1
  fi
builder/create $1 $2 $3
# Create zip here to prevent deep folder creations in zip file // TODO: Fix this!
zip -r archive/zips/lang_pf4_$version.zip $tempDir/*
rm -rf "$tempDir"
builder/buildManifest
New file
@@ -0,0 +1,110 @@
#!/bin/bash
  ######################################
  # Author: devXive, Lahmizzar Muinela #
  # Email: support@devxive.com         #
  # Twitter: @devXive                  #
  # Website: http://www.devxive.com    #
  ######################################
# Simple script to build an appropriate language manifest
#
# How to use
# ./buildManifest [Joomla Language String] [Transifex Language String]
#
# > ./buildManifest ru-RU
rootPath='../languages'
# Settings
filePrefix='lang_pf4_'
# ver='4.2.0b4'
ver="$3"
creationDate=''
name="Projectfork Language - $1"
author='Projectfork Translation Team'
authorEmail='support@projectfork.net'
authorUrl='www.projectfork.net'
copyright='(C) 2012 - 2013 by the Projectfork Translation Team. All rights reserved.'
# Advanced Settings
installVer="2.5"
########## ------------------- DO NOT TOUCH BELOW ------------------- ##########
# Set language string
lang="$1"
txLang="$2"
# Prepare file and directory
file="$filePrefix$lang$fileSuffix.xml"
dir="$lang"
rm -rf "$rootPath/$dir/$file"
# rm -rf "$rootPath/$dir"
mkdir "$rootPath/$dir"
touch "$rootPath/$dir/$file"
newFile="$rootPath/$dir/$file"
if [[ "$creationDate" == "" ]]
    then
        creationDate=$(date +"%Y-%m-%d")
    fi
echo '<?xml version="1.0" encoding="utf-8"?>' >> "$newFile"
echo '<extension type="file" version="'"$installVer"'" method="upgrade">' >> "$newFile"
echo "    <name>$name</name>" >> "$newFile"
echo "    <author>$author</author>" >> "$newFile"
echo "    <creationDate>$creationDate</creationDate>" >> "$newFile"
echo "    <copyright>$copyright</copyright>" >> "$newFile"
echo "    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>" >> "$newFile"
echo "    <authorEmail>$authorEmail</authorEmail>" >> "$newFile"
echo "    <authorUrl>$authorUrl</authorUrl>" >> "$newFile"
echo "    <version>$ver</version>" >> "$newFile"
echo "    <description>" >> "$newFile"
echo "        <![CDATA[" >> "$newFile"
echo "            The $lang language pack for Projectfork 4, a Project Management extension for Joomla!" >> "$newFile"
echo "" >> "$newFile"
echo "            <h6>Translation Credits:</h6>" >> "$newFile"
echo "            <strong>This translation is brought to you by the <a href=\"https://www.transifex.com/projects/p/projectfork-languages/language/$txLang/members/\" target=\"_blank\">$lang - Translation Team</a></strong>" >> "$newFile"
echo "        ]]>" >> "$newFile"
echo "    </description>" >> "$newFile"
echo "" >> "$newFile"
echo "    <fileset>" >> "$newFile"
echo "        <files folder=\"admin\" target=\"administrator/language/$lang\">" >> "$newFile"
echo "            <filename>$lang.com_pfcomments.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfcomments.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfforum.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfforum.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfmilestones.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfmilestones.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfprojects.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfprojects.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfrepo.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfrepo.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pftasks.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pftasks.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pftime.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pftime.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfusers.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_pfusers.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_projectfork.ini</filename>" >> "$newFile"
echo "            <filename>$lang.com_projectfork.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.plg_content_pfcomments.ini</filename>" >> "$newFile"
echo "            <filename>$lang.plg_content_pfcomments.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.plg_content_pfnotifications.ini</filename>" >> "$newFile"
echo "            <filename>$lang.plg_content_pfnotifications.sys.ini</filename>" >> "$newFile"
echo "        </files>" >> "$newFile"
echo "" >> "$newFile"
echo "        <files folder=\"site\" target=\"language/$lang\">" >> "$newFile"
echo "            <filename>$lang.com_projectfork.ini</filename>" >> "$newFile"
echo "            <filename>$lang.mod_pf_dash_buttons.ini</filename>" >> "$newFile"
echo "            <filename>$lang.mod_pf_dash_buttons.sys.ini</filename>" >> "$newFile"
echo "            <filename>$lang.mod_pf_tasks.ini</filename>" >> "$newFile"
echo "            <filename>$lang.mod_pf_tasks.sys.ini</filename>" >> "$newFile"
echo "        </files>" >> "$newFile"
echo "    </fileset>" >> "$newFile"
echo "</extension>" >> "$newFile"
builder/create
New file
@@ -0,0 +1,89 @@
#!/bin/bash
  ######################################
  # Author: devXive, Lahmizzar Muinela #
  # Email: support@devxive.com         #
  # Twitter: @devXive                  #
  # Website: http://www.devxive.com    #
  ######################################
# Simple script to build an appropriate language manifest
#
# How to use
# ./create update 4.2.0b4 2013-12-06 (Fetch Updates from transifex first, then create the install file)
# ./create 4.2.0b4 2013-12-06 (Create the install file from the existing/current languages folder)
setUpdate="$1"
setVersion="$2"
setDate="$3"
if [[ "$1" != "update" && "$1" != "noupdate" ]]
    then
      echo 'Please use update or noupdate or add option --help to get more informations'
    exit 1
  fi
if [[ "$1" != "" && "$2" == "" ]]
    then
        echo 'Please set a version number or add option --help to get more informations'
        exit 1
    fi
if [[ "$3" == "" ]]
    then
        setDate=$(date +"%Y-%m-%d")
    echo 'Using $setDate as build date'
    fi
version=$setVersion
creationDate=$setDate
if [[ "$1" == "update" ]]
    then
    ./pull $version
  fi
sourcePath=$(realpath .)
tempDir="$sourcePath/pkg_projectfork_languages"
fileName="pkg_projectfork_languages.xml"
rm -rf "$tempDir"
mkdir "$tempDir"
touch "$tempDir/$fileName"
cp -r $sourcePath/languages $tempDir
cp -r $sourcePath/archive/installer $tempDir
cp $sourcePath/archive/install.script.php $tempDir
file="$tempDir/pkg_projectfork_languages.xml"
echo '<?xml version="1.0" encoding="UTF-8"?>' >> "$file"
echo '<extension type="package" version="2.5" method="upgrade">' >> "$file"
echo '    <name>Projectfork Language Pack Installer</name>' >> "$file"
echo '    <packagename>projectfork_languages</packagename>' >> "$file"
echo "    <creationDate>$creationDate</creationDate>" >> "$file"
echo '    <author>Projectfork Translation Team</author>' >> "$file"
echo '    <authorEmail>support@projectfork.net</authorEmail>' >> "$file"
echo '    <authorUrl>http://www.projectfork.net</authorUrl>' >> "$file"
echo '    <copyright>(C) 2012 - 2013 by the Projectfork Translation Team. All rights reserved.</copyright>' >> "$file"
echo "    <version>$version</version>" >> "$file"
echo '    <updateable>fullupdate</updateable>' >> "$file"
echo '    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>' >> "$file"
echo '    <description></description>' >> "$file"
echo '' >> "$file"
echo '    <scriptfile>install.script.php</scriptfile>' >> "$file"
echo '' >> "$file"
echo '    <files folder="languages">' >> "$file"
echo '    </files>' >> "$file"
echo '' >> "$file"
echo '    <!-- Extension Update Specification -->' >> "$file"
echo '    <updateservers>' >> "$file"
echo '        <server type="extension" priority="1" name="PF4 Translation Update Server">https://raw.github.com/projectfork/Translations/master/archive/update.xml</server>' >> "$file"
echo '    </updateservers>' >> "$file"
echo '</extension>' >> "$file"
# zip build in build script
# zip -r $sourcePath/archive/zips/lang_pf4_$version.zip $tempDir/*
# rm -rf "$tempDir"
builder/pull
New file
@@ -0,0 +1,101 @@
#!/bin/bash
  ######################################
  # Author: devXive, Lahmizzar Muinela #
  # Email: support@devxive.com         #
  # Twitter: @devXive                  #
  # Website: http://www.devxive.com    #
  ######################################
# Simple script to pull tx translatons and build manifest files
# To add a language, please have a look at the .tx/config file, if the language exists
#
# How to use
# > ./pull
txClient="../../../transifex-client/tx"
version="$1"
$txClient pull -l fr_FR    # 100%
./buildManifest fr-FR fr_FR $version
$txClient pull -l de_DE    # 100%
./buildManifest de-DE de_DE $version
$txClient pull -l hu_HU    # 100%
./buildManifest hu-HU hu_HU $version
$txClient pull -l pt_BR    # 100%
./buildManifest pt-BR pt_BR $version
$txClient pull -l es_ES    # 100%
./buildManifest es-ES es_ES $version
$txClient pull -l tr_TR    # 100%
./buildManifest tr-TR tr_TR $version
$txClient pull -l pl_PL    # 98%
./buildManifest pl-PL pl_PL $version
$txClient pull -l ca_ES    # 97%
./buildManifest ca-ES ca_ES $version
$txClient pull -l zh_TW    # 97%
./buildManifest zh-TW zh_TW $version
$txClient pull -l nl_NL    # 97%
./buildManifest nl-NL nl_NL $version
$txClient pull -l it_IT    # 97%
./buildManifest it-IT it_IT $version
$txClient pull -l ja_JP    # 97%
./buildManifest ja-JP ja_JP $version
$txClient pull -l ro_RO    # 97%
./buildManifest ro-RO ro_RO $version
$txClient pull -l th_TH    # 97%
./buildManifest th-TH th_TH $version
$txClient pull -l ru_RU    # 95%
./buildManifest ru-RU ru_RU $version
$txClient pull -l el_GR    # 94%
./buildManifest el-GR el_GR $version
$txClient pull -l cs_CZ    # 93%
./buildManifest cs-CZ cs_CZ $version
$txClient pull -l pt_PT    # 93%
./buildManifest pt-PT pt_PT $version
$txClient pull -l da_DK    # 92%
./buildManifest da-DK da_DK $version
$txClient pull -l sv_SE    # 90%
./buildManifest sv-SE sv_SE $version
$txClient pull -l nb_NO    # 84%
./buildManifest nb-NO nb_NO $version
$txClient pull -l sk_SK    # 69%
./buildManifest sk-SK sk_SK $version
$txClient pull -l uk_UA    # 56%
./buildManifest uk-UA uk_UA $version
$txClient pull -l nl_BE    # 41%
./buildManifest nl-BE nl_BE $version
$txClient pull -l bg_BG    # 34%
./buildManifest bg-BG bg_BG $version
$txClient pull -l es_MX    # 31%
./buildManifest es-MX es_MX $version
$txClient pull -l ar_AA    # 23%
./buildManifest ar-AA ar_AA $version
$txClient pull -l fa_IR    # 14%
./buildManifest fa-IR fa_IR $version