adium/adium

6194bf1c1f66
file isExecutable
Update version number in Info.plist. Add a ticket number to Changes.txt.
#!/bin/sh
###############
#
# Usage: update_adium_from_bundle SOURCE_BUNDLE_PATH LANGUAGE_NAME REPO_LOCATION
# for example:
# ~/bin/update_adium_from_bundle Desktop/Adium_French.app French ~/adium
#
# This script does not cover new localizations initially; they must first be added via Xcode
################
SOURCE=$1
REPO=$3
########
# Functions
########
# Copy all nibs and other files in the current directory to a given destination
# Removes other copies of present in the target location first
loc_copy()
{
for file in * ; do
rm -rf "$1/$file" || true
cp -R "$file" "$1"
done
}
silent_pushd()
{
pushd "$1" >/dev/null
}
silent_popd()
{
popd >/dev/null
}
#####
# Begin!
#####
update_language()
{
#first parameter to update_language is the language
LANG=$1.lproj
DEST_LANG=$LANG
echo "+++++ Updating $LANG"
silent_pushd "$SOURCE/Contents"
silent_pushd "Resources"
# Main resources
silent_pushd $LANG
loc_copy "$REPO/Resources/$DEST_LANG"
# Move the Twitter account view
rm -rf "$REPO/Plugins/Twitter Plugin/Resources/$DEST_LANG/AITwitterAccountView.nib"
mv "$REPO/Resources/$DEST_LANG/AITwitterAccountView.nib" "$REPO/Plugins/Twitter Plugin/Resources/$DEST_LANG"
# Move the WebKit preferences
rm -rf "$REPO/Plugins/WebKit Message View/Resources/$DEST_LANG/WebKitPreferencesView.nib"
mv "$REPO/Resources/$DEST_LANG/WebKitPreferencesView.nib" "$REPO/Plugins/WebKit Message View/Resources/$DEST_LANG"
silent_popd
# Emoticons
if [ -e "Emoticons" ] ; then
echo "Emoticons"
silent_pushd Emoticons
silent_pushd Default.AdiumEmoticonset
if [ -e "Resources/$LANG" ] ; then
silent_pushd Resources/$LANG
cp InfoPlist.strings "$REPO/Resources/Emoticons/Default.AdiumEmoticonSet/Resources/$DEST_LANG"
silent_popd
fi
silent_popd
silent_popd
else
echo "No Emoticons found for $LANG"
fi
# Scripts
if [ -e "Scripts" ] ; then
echo "Scripts"
silent_pushd Scripts
silent_pushd "System Statistics.AdiumScripts"
if [ -e "Resources/$LANG" ] ; then
silent_pushd Resources/$LANG
cp InfoPlist.strings "$REPO/Resources/Scripts/System Statistics.AdiumScripts/Resources/$DEST_LANG"
silent_popd
fi
silent_popd
silent_popd
else
echo "No Scripts found for $LANG"
fi
silent_popd
#back to Contents
silent_pushd Frameworks
echo "Adium Framework"
if [ -e "Adium.framework/Versions/A/Resources/$LANG" ] ; then
silent_pushd Adium.framework/Versions/A/Resources/$LANG
loc_copy "$REPO/Frameworks/Adium Framework/Resources/$DEST_LANG"
silent_popd
fi
echo "AIUtilities.framework"
if [ -e "AIUtilities.framework/Versions/A/Resources/$LANG" ] ; then
silent_pushd AIUtilities.framework/Versions/A/Resources/$LANG
loc_copy "$REPO/Frameworks/AIUtilities Framework/Resources/$DEST_LANG"
silent_popd
fi
echo "AdiumLibpurple.framework"
if [ -e "AdiumLibpurple.framework/Versions/A/Resources/$LANG" ] ; then
silent_pushd AdiumLibpurple.framework/Versions/A/Resources/$LANG
loc_copy "$REPO/Plugins/Purple Service/Resources/$DEST_LANG"
silent_popd
fi
silent_popd
#back to Contents
if [ -e "Library/Spotlight" ] ; then
silent_pushd Library/Spotlight
if [ -e "AdiumSpotlightImporter.mdimporter/Contents/Resources/$LANG" ] ; then
silent_pushd AdiumSpotlightImporter.mdimporter/Contents/Resources/$LANG
loc_copy "$REPO/Other/Adium Spotlight Importer/$DEST_LANG"
silent_popd
fi
silent_popd
fi
}
if [ "$2" = "all" ] ; then
# fr_CA not included
for lang in \
ca \
cs \
da \
de \
en_AU \
en_CA \
es \
fi \
fr \
is \
it \
ja \
nb \
nl \
pl \
pt_BR \
ru \
sk_SK \
sv \
tr \
zh_CN \
zh_TW \
; do
update_language $lang
done
else
update_language $2
fi