mirror of
https://github.com/openwrt-xiaomi/xmir-patcher.git
synced 2026-09-22 22:57:55 +03:00
lang: Update lang patch scripts
This commit is contained in:
+26
-14
@@ -1,8 +1,19 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
INST_FLAG_FN=/tmp/lang_patch.log
|
||||||
|
|
||||||
DIR_PATCH=/etc/crontabs/patches
|
DIR_PATCH=/etc/crontabs/patches
|
||||||
DIR_BACKUP=$DIR_PATCH/lang_backup
|
DIR_BACKUP=$DIR_PATCH/lang_backup
|
||||||
|
|
||||||
|
TARGET1_DIR=/usr/share/xiaoqiang
|
||||||
|
MIRROR1_DIR=/tmp/_usr_share_xiaoqiang
|
||||||
|
SYNCOBJECT1=$MIRROR1_DIR.sync
|
||||||
|
|
||||||
|
TARGET2_DIR=/usr/lib/lua/luci
|
||||||
|
MIRROR2_DIR=/tmp/_usr_lib_lua_luci
|
||||||
|
SYNCOBJECT2=$MIRROR2_DIR.sync
|
||||||
|
|
||||||
|
|
||||||
if [ `find /tmp -maxdepth 1 -name 'base.*.lmo' | wc -l` -eq 0 ]; then
|
if [ `find /tmp -maxdepth 1 -name 'base.*.lmo' | wc -l` -eq 0 ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -23,28 +34,28 @@ fi
|
|||||||
|
|
||||||
if [ $CLEAN_INSTALL = 1 ]; then
|
if [ $CLEAN_INSTALL = 1 ]; then
|
||||||
NEED_RESTORE_MNT=0
|
NEED_RESTORE_MNT=0
|
||||||
if mount | grep -q ' on /usr/lib/lua/luci' ; then
|
if mount | grep -q " on $TARGET1_DIR" ; then
|
||||||
umount -l /usr/lib/lua/luci
|
umount -l $TARGET1_DIR
|
||||||
NEED_RESTORE_MNT=1
|
NEED_RESTORE_MNT=1
|
||||||
fi
|
fi
|
||||||
if [ -f /usr/lib/lua/luci/i18n/base.en.lmo ]; then
|
if grep -q "option CHANNEL 'stable'" $TARGET1_DIR/xiaoqiang_version ; then
|
||||||
# INT firmware may contain a file "base.en.lmo"
|
echo '1' > $DIR_BACKUP/fw_stable
|
||||||
echo "1" > $DIR_BACKUP/skip_base_en
|
|
||||||
fi
|
fi
|
||||||
cp -f /usr/lib/lua/luci/view/web/inc/sysinfo.htm $DIR_BACKUP/
|
[ $NEED_RESTORE_MNT = 1 ] && mount --bind $MIRROR1_DIR $TARGET1_DIR
|
||||||
cp -f /usr/lib/lua/luci/i18n/base.*.lmo $DIR_BACKUP/
|
|
||||||
[ $NEED_RESTORE_MNT = 1 ] && mount --bind /tmp/_usr_lib_lua_luci /usr/lib/lua/luci
|
|
||||||
fi
|
fi
|
||||||
if [ $CLEAN_INSTALL = 1 ]; then
|
if [ $CLEAN_INSTALL = 1 ]; then
|
||||||
NEED_RESTORE_MNT=0
|
NEED_RESTORE_MNT=0
|
||||||
if mount | grep -q ' on /usr/share/xiaoqiang' ; then
|
if mount | grep -q " on $TARGET2_DIR" ; then
|
||||||
umount -l /usr/share/xiaoqiang
|
umount -l $TARGET2_DIR
|
||||||
NEED_RESTORE_MNT=1
|
NEED_RESTORE_MNT=1
|
||||||
fi
|
fi
|
||||||
if grep -q "option CHANNEL 'stable'" /usr/share/xiaoqiang/xiaoqiang_version ; then
|
if [ -f $TARGET2_DIR/i18n/base.en.lmo ]; then
|
||||||
echo '1' > $DIR_BACKUP/fw_stable
|
# INT firmware may contain a file "base.en.lmo"
|
||||||
|
echo "1" > $DIR_BACKUP/skip_base_en
|
||||||
fi
|
fi
|
||||||
[ $NEED_RESTORE_MNT = 1 ] && mount --bind /tmp/_usr_share_xiaoqiang /usr/share/xiaoqiang
|
cp -f $TARGET2_DIR/view/web/inc/sysinfo.htm $DIR_BACKUP/
|
||||||
|
cp -f $TARGET2_DIR/i18n/base.*.lmo $DIR_BACKUP/
|
||||||
|
[ $NEED_RESTORE_MNT = 1 ] && mount --bind $MIRROR2_DIR $TARGET2_DIR
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f $DIR_BACKUP/skip_base_en ]; then
|
if [ -f $DIR_BACKUP/skip_base_en ]; then
|
||||||
@@ -105,6 +116,7 @@ fi
|
|||||||
uci set luci.main.lang=en
|
uci set luci.main.lang=en
|
||||||
#uci commit luci
|
#uci commit luci
|
||||||
|
|
||||||
# run patch
|
# forced run patch
|
||||||
|
rm -f $INST_FLAG_FN
|
||||||
$DIR_PATCH/lang_patch.sh
|
$DIR_PATCH/lang_patch.sh
|
||||||
|
|
||||||
|
|||||||
+43
-28
@@ -1,48 +1,64 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
[ -e "/tmp/lang_patch.log" ] && return 0
|
INST_FLAG_FN=/tmp/lang_patch.log
|
||||||
|
|
||||||
|
[ -e "$INST_FLAG_FN" ] && return 0
|
||||||
|
|
||||||
DIR_PATCH=/etc/crontabs/patches
|
DIR_PATCH=/etc/crontabs/patches
|
||||||
DIR_BACKUP=$DIR_PATCH/lang_backup
|
DIR_BACKUP=$DIR_PATCH/lang_backup
|
||||||
SYNC_OBJ=/tmp/_patch_sync
|
|
||||||
|
TARGET1_DIR=/usr/share/xiaoqiang
|
||||||
|
MIRROR1_DIR=/tmp/_usr_share_xiaoqiang
|
||||||
|
SYNCOBJECT1=$MIRROR1_DIR.sync
|
||||||
|
|
||||||
|
TARGET2_DIR=/usr/lib/lua/luci
|
||||||
|
MIRROR2_DIR=/tmp/_usr_lib_lua_luci
|
||||||
|
SYNCOBJECT2=$MIRROR2_DIR.sync
|
||||||
|
|
||||||
|
|
||||||
if [ `find $DIR_PATCH -maxdepth 1 -name 'base.*.lmo' | wc -l` -eq 0 ]; then
|
if [ `find $DIR_PATCH -maxdepth 1 -name 'base.*.lmo' | wc -l` -eq 0 ]; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
for i in $(seq 1 45); do
|
||||||
STATE=`mkdir $SYNC_OBJ 2>&1`
|
mkdir $SYNCOBJECT1 &> /dev/null && break
|
||||||
if [[ "$STATE" != *"can't create"* ]]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
if ! mount | grep -q " on $TARGET1_DIR" ; then
|
||||||
if ! mount | grep -q ' on /usr/lib/lua/luci' ; then
|
mkdir -p $MIRROR1_DIR
|
||||||
mkdir -p /tmp/_usr_lib_lua_luci
|
cp -rf $TARGET1_DIR/* $MIRROR1_DIR/
|
||||||
cp -rf /usr/lib/lua/luci/* /tmp/_usr_lib_lua_luci/
|
mount --bind $MIRROR1_DIR $TARGET1_DIR
|
||||||
mount --bind /tmp/_usr_lib_lua_luci /usr/lib/lua/luci
|
|
||||||
fi
|
fi
|
||||||
if ! mount | grep -q ' on /usr/lib/lua/luci' ; then
|
if ! mount | grep -q " on $TARGET1_DIR" ; then
|
||||||
rm -rf $SYNC_OBJ
|
rm -rf $SYNCOBJECT1
|
||||||
return 1 # error
|
return 1 # error
|
||||||
fi
|
fi
|
||||||
if [ ! -f /tmp/_usr_lib_lua_luci/i18n.lua ]; then
|
if [ ! -f $MIRROR1_DIR/xiaoqiang_version ]; then
|
||||||
rm -rf $SYNC_OBJ
|
rm -rf $SYNCOBJECT1
|
||||||
return 1 # error
|
return 1 # error
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! mount | grep -q ' on /usr/share/xiaoqiang' ; then
|
# unlock change luci.main.lang
|
||||||
mkdir -p /tmp/_usr_share_xiaoqiang
|
sed -i "s/option CHANNEL 'stable'/option CHANNEL 'release'/g" $TARGET1_DIR/xiaoqiang_version
|
||||||
cp -rf /usr/share/xiaoqiang/* /tmp/_usr_share_xiaoqiang/
|
|
||||||
mount --bind /tmp/_usr_share_xiaoqiang /usr/share/xiaoqiang
|
rm -rf $SYNCOBJECT1
|
||||||
|
|
||||||
|
|
||||||
|
for i in $(seq 1 45); do
|
||||||
|
mkdir $SYNCOBJECT2 &> /dev/null && break
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
if ! mount | grep -q " on $TARGET2_DIR" ; then
|
||||||
|
mkdir -p $MIRROR2_DIR
|
||||||
|
cp -rf $TARGET2_DIR/* $MIRROR2_DIR/
|
||||||
|
mount --bind $MIRROR2_DIR $TARGET2_DIR
|
||||||
fi
|
fi
|
||||||
if ! mount | grep -q ' on /usr/share/xiaoqiang' ; then
|
if ! mount | grep -q " on $TARGET2_DIR" ; then
|
||||||
rm -rf $SYNC_OBJ
|
rm -rf $SYNCOBJECT2
|
||||||
return 1 # error
|
return 1 # error
|
||||||
fi
|
fi
|
||||||
if [ ! -f /tmp/_usr_share_xiaoqiang/xiaoqiang_version ]; then
|
if [ ! -f $MIRROR2_DIR/i18n.lua ]; then
|
||||||
rm -rf $SYNC_OBJ
|
rm -rf $SYNCOBJECT2
|
||||||
return 1 # error
|
return 1 # error
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -51,11 +67,10 @@ cp -f $DIR_PATCH/base.*.lmo /usr/lib/lua/luci/i18n/
|
|||||||
# unlock WEB lang menu
|
# unlock WEB lang menu
|
||||||
sed -i 's/ and features\["system"\]\["i18n"\] == "1" //' /usr/lib/lua/luci/view/web/inc/sysinfo.htm
|
sed -i 's/ and features\["system"\]\["i18n"\] == "1" //' /usr/lib/lua/luci/view/web/inc/sysinfo.htm
|
||||||
|
|
||||||
# unlock change luci.main.lang
|
rm -rf $SYNCOBJECT2
|
||||||
sed -i "s/option CHANNEL 'stable'/option CHANNEL 'release'/g" /usr/share/xiaoqiang/xiaoqiang_version
|
|
||||||
|
|
||||||
echo "lang patched" > /tmp/lang_patch.log
|
|
||||||
rm -rf $SYNC_OBJ
|
echo "lang patched" > $INST_FLAG_FN
|
||||||
|
|
||||||
MAIN_LANG=$( uci -q get luci.main.lang )
|
MAIN_LANG=$( uci -q get luci.main.lang )
|
||||||
[ "$MAIN_LANG" == "" ] && uci set luci.main.lang=en
|
[ "$MAIN_LANG" == "" ] && uci set luci.main.lang=en
|
||||||
|
|||||||
+13
-1
@@ -1,8 +1,18 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
INST_FLAG_FN=/tmp/lang_patch.log
|
||||||
|
|
||||||
DIR_PATCH=/etc/crontabs/patches
|
DIR_PATCH=/etc/crontabs/patches
|
||||||
DIR_BACKUP=$DIR_PATCH/lang_backup
|
DIR_BACKUP=$DIR_PATCH/lang_backup
|
||||||
|
|
||||||
|
TARGET1_DIR=/usr/share/xiaoqiang
|
||||||
|
MIRROR1_DIR=/tmp/_usr_share_xiaoqiang
|
||||||
|
SYNCOBJECT1=$MIRROR1_DIR.sync
|
||||||
|
|
||||||
|
TARGET2_DIR=/usr/lib/lua/luci
|
||||||
|
MIRROR2_DIR=/tmp/_usr_lib_lua_luci
|
||||||
|
SYNCOBJECT2=$MIRROR2_DIR.sync
|
||||||
|
|
||||||
if [ -d $DIR_BACKUP ]; then
|
if [ -d $DIR_BACKUP ]; then
|
||||||
if [ -f $DIR_BACKUP/fw_stable ]; then
|
if [ -f $DIR_BACKUP/fw_stable ]; then
|
||||||
sed -i "s/option CHANNEL 'release'/option CHANNEL 'stable'/g" /usr/share/xiaoqiang/xiaoqiang_version
|
sed -i "s/option CHANNEL 'release'/option CHANNEL 'stable'/g" /usr/share/xiaoqiang/xiaoqiang_version
|
||||||
@@ -28,7 +38,9 @@ uci commit firewall
|
|||||||
rm -rf $DIR_BACKUP
|
rm -rf $DIR_BACKUP
|
||||||
rm -f $DIR_PATCH/lang_patch.sh
|
rm -f $DIR_PATCH/lang_patch.sh
|
||||||
rm -f $DIR_PATCH/base.*.lmo
|
rm -f $DIR_PATCH/base.*.lmo
|
||||||
rm -f /tmp/lang_patch.log
|
rm -f $INST_FLAG_FN
|
||||||
|
rm -f $SYNCOBJECT1
|
||||||
|
rm -f $SYNCOBJECT2
|
||||||
|
|
||||||
luci-reload
|
luci-reload
|
||||||
rm -f /tmp/luci-indexcache
|
rm -f /tmp/luci-indexcache
|
||||||
|
|||||||
+2
-1
@@ -228,4 +228,5 @@ gw.run_cmd(f"rm -f {fn_remote} ; rm -f {fn_remote_i} ; rm -f {fn_remote_u}")
|
|||||||
if full_install:
|
if full_install:
|
||||||
gw.run_cmd(f"rm -f {fn_www_remote}")
|
gw.run_cmd(f"rm -f {fn_www_remote}")
|
||||||
|
|
||||||
print("Ready! The language files are installed.")
|
prefix = '' if action == 'install' else 'un'
|
||||||
|
print(f"Ready! The language files are {prefix}installed.")
|
||||||
|
|||||||
Reference in New Issue
Block a user