diff --git a/files/board/arpl/overlayfs/opt/arpl/boot.sh b/files/board/arpl/overlayfs/opt/arpl/boot.sh index db8f2056..fdc017f6 100755 --- a/files/board/arpl/overlayfs/opt/arpl/boot.sh +++ b/files/board/arpl/overlayfs/opt/arpl/boot.sh @@ -60,14 +60,11 @@ if [ "${RAMDISK_HASH_CUR}" != "${RAMDISK_HASH}" ]; then fi # Load necessary variables -VID="$(readConfigKey "vid" "${USER_CONFIG_FILE}")" -PID="$(readConfigKey "pid" "${USER_CONFIG_FILE}")" MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")" PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")" BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")" SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")" LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")" -SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")" DMI="$(dmesg | grep -i "DMI:" | sed 's/\[.*\] DMI: //i')" CPU="$(echo $(cat /proc/cpuinfo | grep 'model name' | uniq | awk -F':' '{print $2}'))" @@ -85,17 +82,22 @@ if [ ! -f "${MODEL_CONFIG_PATH}/${MODEL}.yml" ] || [ -z "$(readConfigKey "produc exit 1 fi +VID="$(readConfigKey "vid" "${USER_CONFIG_FILE}")" +PID="$(readConfigKey "pid" "${USER_CONFIG_FILE}")" +SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")" +MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")" + declare -A CMDLINE -# Fixed values -CMDLINE['netif_num']=0 # Automatic values CMDLINE['syno_hw_version']="${MODEL}" -[ -z "${VID}" ] && VID="0x0000" # Sanity check -[ -z "${PID}" ] && PID="0x0000" # Sanity check +[ -z "${VID}" ] && VID="0x46f4" # Sanity check +[ -z "${PID}" ] && PID="0x0001" # Sanity check CMDLINE['vid']="${VID}" CMDLINE['pid']="${PID}" CMDLINE['sn']="${SN}" +CMDLINE['mac1']="${MAC1}" +CMDLINE['netif_num']="1" # Read cmdline while IFS=': ' read KEY VALUE; do @@ -115,61 +117,22 @@ if [ ! "${BUS}" = "usb" ]; then DOM="$(readModelKey "${MODEL}" "dom")" fi -NOTSETMACS="$(readConfigKey "notsetmacs" "${USER_CONFIG_FILE}")" -if [ "${NOTSETMACS}" = "true" ]; then - # Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES) - for N in $(seq 1 8); do - [ -n "${CMDLINE["mac${N}"]}" ] && unset CMDLINE["mac${N}"] - done - unset CMDLINE['netif_num'] - echo -e "\033[1;33m*** $(printf "$(TEXT "'Not set MACs' is enabled.")") ***\033[0m" -else - # Validate netif_num - MACS=() - # Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES) - for N in $(seq 1 8); do - [ -n "${CMDLINE["mac${N}"]}" ] && MACS+=(${CMDLINE["mac${N}"]}) - done - NETIF_NUM=${#MACS[*]} - # set netif_num to custom mac amount, netif_num must be equal to the MACX amount, otherwise the kernel will panic. - CMDLINE["netif_num"]=${NETIF_NUM} # The current original CMDLINE['netif_num'] is no longer in use, Consider deleting. - # real network cards amount - NETRL_NUM=$(ls /sys/class/net/ | grep eth | wc -l) - if [ ${NETIF_NUM} -le ${NETRL_NUM} ]; then - echo -e "\033[1;33m*** $(printf "$(TEXT "Detected %s network cards, %s MACs were customized, the rest will use the original MACs.")" "${NETRL_NUM}" "${CMDLINE["netif_num"]}") ***\033[0m" - ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list - for N in $(seq $(expr ${NETIF_NUM} + 1) ${NETRL_NUM}); do - MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')" - # no duplicates - while [[ "${MACS[*]}" =~ "$MACR" ]]; do # no duplicates - MACR="${MACR:0:10}$(printf "%02x" $((0x${MACR:10:2} + 1)))" - done - CMDLINE["mac${N}"]="${MACR}" - done - CMDLINE["netif_num"]=${NETRL_NUM} - fi -fi # Prepare command line CMDLINE_LINE="" grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior " [ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi " || CMDLINE_LINE+="noefi " [ ! "${BUS}" = "usb" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} " -CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M" -CMDLINE_DIRECT="${CMDLINE_LINE}" +CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 skip_vender_mac_interfaces=0,1,2,3,4,5,6,7 loglevel=15 log_buf_len=32M" for KEY in ${!CMDLINE[@]}; do VALUE="${CMDLINE[${KEY}]}" CMDLINE_LINE+=" ${KEY}" - CMDLINE_DIRECT+=" ${KEY}" [ -n "${VALUE}" ] && CMDLINE_LINE+="=${VALUE}" - [ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}" done -# Escape special chars -#CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'` -CMDLINE_DIRECT=$(echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g') echo -e "$(TEXT "Cmdline:\n")\033[1;36m${CMDLINE_LINE}\033[0m" DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")" if [ "${DIRECT}" = "true" ]; then + CMDLINE_DIRECT=$(echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g') # Escape special chars grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_DIRECT}" echo -e "\033[1;33m$(TEXT "Reboot to boot directly in DSM")\033[0m" grub-editenv ${GRUB_PATH}/grubenv set next_entry="direct" @@ -243,22 +206,22 @@ else BOOTWAIT=$((BOOTWAIT - 1)) done rm -f WB WC - echo -en "\r$(printf "%$((${#MSG} * 3))s" " ")\n" -fi + echo -en "\r$(printf "%$((${#MSG} * 2))s" " ")\n" -echo -e "\033[1;37m$(TEXT "Loading DSM kernel...")\033[0m" + echo -e "\033[1;37m$(TEXT "Loading DSM kernel...")\033[0m" -# Executes DSM kernel via KEXEC -if [ "${KVER:0:1}" = "3" -a ${EFI} -eq 1 ]; then - echo -e "\033[1;33m$(TEXT "Warning, running kexec with --noefi param, strange things will happen!!")\033[0m" - kexec --noefi -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog -else - kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog -fi -echo -e "\033[1;37m$(TEXT "Booting...")\033[0m" -for T in $(w | grep -v "TTY" | awk -F' ' '{print $2}'); do - echo -e "\n\033[1;43m$(TEXT "[This interface will not be operational.\nPlease wait for a few minutes before using the http://find.synology.com/ or Synology Assistant find DSM and connect.]")\033[0m\n" >"/dev/${T}" 2>/dev/null || true -done -KERNELWAY="$(readConfigKey "kernelway" "${USER_CONFIG_FILE}")" -[ "${KERNELWAY}" = "kexec" ] && kexec -f -e || poweroff -exit 0 + # Executes DSM kernel via KEXEC + if [ "${KVER:0:1}" = "3" -a ${EFI} -eq 1 ]; then + echo -e "\033[1;33m$(TEXT "Warning, running kexec with --noefi param, strange things will happen!!")\033[0m" + kexec --noefi -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog + else + kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog + fi + echo -e "\033[1;37m$(TEXT "Booting...")\033[0m" + for T in $(w | grep -v "TTY" | awk -F' ' '{print $2}'); do + echo -e "\n\033[1;43m$(TEXT "[This interface will not be operational.\nPlease wait for a few minutes before using the http://find.synology.com/ or Synology Assistant find DSM and connect.]")\033[0m\n" >"/dev/${T}" 2>/dev/null || true + done + KERNELWAY="$(readConfigKey "kernelway" "${USER_CONFIG_FILE}")" + [ "${KERNELWAY}" = "kexec" ] && kexec -f -e || poweroff + exit 0 +fi \ No newline at end of file diff --git a/files/board/arpl/overlayfs/opt/arpl/include/functions.sh b/files/board/arpl/overlayfs/opt/arpl/include/functions.sh index a7411114..fce6afac 100755 --- a/files/board/arpl/overlayfs/opt/arpl/include/functions.sh +++ b/files/board/arpl/overlayfs/opt/arpl/include/functions.sh @@ -103,6 +103,21 @@ function generateSerial() { echo ${SERIAL} } +############################################################################### +# Generate a MAC address for a model +# 1 - Model +# 2 - number +# Returns serial number +function generateMacAddress() { + PRE="$(readModelArray "${1}" "serial.macpre")" + SUF="$(printf '%02x%02x%02x' $((${RANDOM} % 256)) $((${RANDOM} % 256)) $((${RANDOM} % 256)))" + NUM=${2:-1} + for I in $(seq 1 ${NUM}); do + printf '%06x%06x' $((0x${PRE:-"001132"})) $(($((0x${SUF})) + ${I})) + [ ${I} -lt ${NUM} ] && printf ' ' + done +} + ############################################################################### # Validate a serial number for a model # 1 - Model diff --git a/files/board/arpl/overlayfs/opt/arpl/init.sh b/files/board/arpl/overlayfs/opt/arpl/init.sh index 46eb70fa..a3f786c6 100755 --- a/files/board/arpl/overlayfs/opt/arpl/init.sh +++ b/files/board/arpl/overlayfs/opt/arpl/init.sh @@ -77,7 +77,6 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then writeConfigKey "lkm" "prod" "${USER_CONFIG_FILE}" writeConfigKey "dsmlogo" "true" "${USER_CONFIG_FILE}" writeConfigKey "directboot" "false" "${USER_CONFIG_FILE}" - writeConfigKey "notsetmacs" "false" "${USER_CONFIG_FILE}" writeConfigKey "prerelease" "false" "${USER_CONFIG_FILE}" writeConfigKey "bootwait" "10" "${USER_CONFIG_FILE}" writeConfigKey "bootipwait" "10" "${USER_CONFIG_FILE}" @@ -90,6 +89,7 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then writeConfigKey "paturl" "" "${USER_CONFIG_FILE}" writeConfigKey "patsum" "" "${USER_CONFIG_FILE}" writeConfigKey "sn" "" "${USER_CONFIG_FILE}" + writeConfigKey "mac1" "" "${USER_CONFIG_FILE}" # writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}" writeConfigKey "layout" "qwerty" "${USER_CONFIG_FILE}" writeConfigKey "keymap" "" "${USER_CONFIG_FILE}" @@ -102,30 +102,20 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then writeConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}" writeConfigKey "addons.reboottoarpl" "" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" - # When the user has not customized, Use 1 to maintain normal startup parameters. - # writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}" - # writeConfigKey "cmdline.mac1" "`cat /sys/class/net/${ETHX[0]}/address | sed 's/://g'`" "${USER_CONFIG_FILE}" fi -for N in $(seq 1 ${#ETHX[@]}); do - MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')" - # Set custom MAC if defined - MACF="$(readConfigKey "cmdline.mac${N}" "${USER_CONFIG_FILE}")" - if [ -n "${MACF}" -a "${MACF}" != "${MACR}" ]; then - MAC="${MACF:0:2}:${MACF:2:2}:${MACF:4:2}:${MACF:6:2}:${MACF:8:2}:${MACF:10:2}" - echo "$(printf "$(TEXT "Setting %s MAC to %s")" "${ETHX[$(expr ${N} - 1)]}" "${MAC}")" - ip link set dev ${ETHX[$(expr ${N} - 1)]} address ${MAC} >/dev/null 2>&1 && - (/etc/init.d/S41dhcpcd restart >/dev/null 2>&1 &) || true +for ETH in ${ETHX[@]}; do + MACR="$(cat /sys/class/net/${ETH}/address | sed 's/://g')" + IPR="$(readConfigKey "network.${MACR}" "${USER_CONFIG_FILE}")" + if [ -n "${IPR}" ]; then + ip addr add ${IPC}/24 dev ${ETH} + sleep 1 fi - # Initialize with real MAC - writeConfigKey "original-mac${N}" "${MACR}" "${USER_CONFIG_FILE}" - # Enable Wake on Lan, ignore errors - ethtool -s ${ETHX[$(expr ${N} - 1)]} wol g 2>/dev/null done # Get the VID/PID if we are in USB -VID="0x0000" -PID="0x0000" +VID="0x46f4" +PID="0x0001" BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2) [ "${BUS}" = "ata" ] && BUS="sata" diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot b/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot index c0b54c1f..91b6b9a5 100644 --- a/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot +++ b/files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-26 09:43+0800\n" +"POT-Creation-Date: 2023-09-28 20:07+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: boot.sh:8 init.sh:169 +#: boot.sh:8 init.sh:159 msgid "Loader is not configured!" msgstr "" @@ -29,12 +29,12 @@ msgstr "" msgid "DSM zImage changed" msgstr "" -#: boot.sh:41 boot.sh:54 menu.sh:790 menu.sh:798 menu.sh:824 menu.sh:852 -#: menu.sh:864 menu.sh:888 menu.sh:896 menu.sh:947 menu.sh:960 menu.sh:967 +#: boot.sh:41 boot.sh:54 menu.sh:773 menu.sh:781 menu.sh:807 menu.sh:835 +#: menu.sh:847 menu.sh:871 menu.sh:879 menu.sh:930 menu.sh:943 menu.sh:950 msgid "Error" msgstr "" -#: boot.sh:42 menu.sh:961 +#: boot.sh:42 menu.sh:944 msgid "zImage not patched:\\n" msgstr "" @@ -42,106 +42,96 @@ msgstr "" msgid "DSM Ramdisk changed" msgstr "" -#: boot.sh:55 menu.sh:968 +#: boot.sh:55 menu.sh:951 msgid "Ramdisk not patched:\\n" msgstr "" -#: boot.sh:76 +#: boot.sh:73 msgid "Model:" msgstr "" -#: boot.sh:77 +#: boot.sh:74 msgid "Build:" msgstr "" -#: boot.sh:78 +#: boot.sh:75 msgid "LKM: " msgstr "" -#: boot.sh:79 +#: boot.sh:76 msgid "DMI: " msgstr "" -#: boot.sh:80 +#: boot.sh:77 msgid "CPU: " msgstr "" -#: boot.sh:81 +#: boot.sh:78 msgid "MEM: " msgstr "" -#: boot.sh:84 +#: boot.sh:81 msgid "" "The current version of arpl does not support booting %s-%s, please rebuild." msgstr "" -#: boot.sh:125 -msgid "'Not set MACs' is enabled." -msgstr "" - -#: boot.sh:139 -msgid "" -"Detected %s network cards, %s MACs were customized, the rest will use the " -"original MACs." -msgstr "" - -#: boot.sh:169 +#: boot.sh:131 msgid "Cmdline:\\n" msgstr "" -#: boot.sh:174 +#: boot.sh:137 msgid "Reboot to boot directly in DSM" msgstr "" -#: boot.sh:180 init.sh:182 +#: boot.sh:143 init.sh:172 msgid "Detected %s network cards." msgstr "" -#: boot.sh:181 init.sh:183 +#: boot.sh:144 init.sh:173 msgid "Checking Connect." msgstr "" -#: boot.sh:201 +#: boot.sh:164 msgid "Waiting IP.(For reference only)" msgstr "" -#: boot.sh:208 init.sh:208 +#: boot.sh:171 init.sh:198 msgid "DOWN" msgstr "" -#: boot.sh:212 init.sh:212 +#: boot.sh:175 init.sh:202 msgid "NOT CONNECTED" msgstr "" -#: boot.sh:216 init.sh:216 +#: boot.sh:179 init.sh:206 msgid "TIMEOUT (Please check the IP on the router.)" msgstr "" -#: boot.sh:222 +#: boot.sh:185 msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web." msgstr "" -#: boot.sh:234 +#: boot.sh:197 msgid "%2ds (accessing arpl will interrupt boot)" msgstr "" -#: boot.sh:238 +#: boot.sh:201 msgid "A new access is connected, the boot process is interrupted." msgstr "" -#: boot.sh:249 +#: boot.sh:211 msgid "Loading DSM kernel..." msgstr "" -#: boot.sh:253 +#: boot.sh:215 msgid "Warning, running kexec with --noefi param, strange things will happen!!" msgstr "" -#: boot.sh:258 +#: boot.sh:220 msgid "Booting..." msgstr "" -#: boot.sh:260 +#: boot.sh:222 msgid "" "[This interface will not be operational.\\nPlease wait for a few minutes " "before using the http://find.synology.com/ or Synology Assistant find DSM " @@ -168,53 +158,49 @@ msgstr "" msgid "Network devices not found!" msgstr "" -#: init.sh:116 -msgid "Setting %s MAC to %s" -msgstr "" - -#: init.sh:136 +#: init.sh:126 msgid "Loader disk neither USB or DoM" msgstr "" -#: init.sh:144 +#: init.sh:134 msgid "Loader disk:" msgstr "" -#: init.sh:151 +#: init.sh:141 msgid "Resizing %s" msgstr "" -#: init.sh:162 +#: init.sh:152 msgid "Loading keymap" msgstr "" -#: init.sh:172 +#: init.sh:162 msgid "User requested edit settings." msgstr "" -#: init.sh:201 +#: init.sh:191 msgid "Waiting IP." msgstr "" -#: init.sh:222 +#: init.sh:212 msgid "" "Access \\033[1;34mhttp://%s:7681\\033[0m to configure the loader via web " "terminal." msgstr "" -#: init.sh:232 +#: init.sh:222 msgid "Call \\033[1;32mmenu.sh\\033[0m to configure loader" msgstr "" -#: init.sh:234 +#: init.sh:224 msgid "User config is on" msgstr "" -#: init.sh:235 +#: init.sh:225 msgid "Default SSH Root password is" msgstr "" -#: init.sh:241 +#: init.sh:231 msgid "" "You have less than 4GB of RAM, if errors occur in loader creation, please " "increase the amount of memory." @@ -240,928 +226,920 @@ msgstr "" msgid "Choose the model" msgstr "" -#: menu.sh:164 +#: menu.sh:169 msgid "Choose a product version" msgstr "" -#: menu.sh:176 menu.sh:181 menu.sh:187 menu.sh:213 menu.sh:233 +#: menu.sh:179 menu.sh:185 menu.sh:190 menu.sh:196 menu.sh:222 menu.sh:242 msgid "Product Version" msgstr "" -#: menu.sh:177 +#: menu.sh:180 +msgid "" +"The current version has been set to %s. Do you want to reset the version?" +msgstr "" + +#: menu.sh:186 msgid "" "This version does not support UEFI startup, Please select another version or " "switch the startup mode." msgstr "" -#: menu.sh:182 +#: menu.sh:191 msgid "" "This version only support usb startup, Please select another version or " "switch the startup mode." msgstr "" -#: menu.sh:188 +#: menu.sh:197 msgid "Get pat data .." msgstr "" -#: menu.sh:207 +#: menu.sh:216 msgid "" "Failed to get pat data,\\nPlease manually fill in the URL and md5sum of the " "corresponding version of pat." msgstr "" -#: menu.sh:211 +#: menu.sh:220 msgid "Successfully to get pat data,\\nPlease confirm or modify as needed." msgstr "" -#: menu.sh:214 +#: menu.sh:223 msgid "Retry" msgstr "" -#: menu.sh:234 +#: menu.sh:243 msgid "Reconfiguring Synoinfo, Addons and Modules" msgstr "" -#: menu.sh:278 menu.sh:416 menu.sh:554 menu.sh:695 menu.sh:1729 +#: menu.sh:286 menu.sh:424 menu.sh:561 menu.sh:678 menu.sh:1748 msgid "Choose a option" msgstr "" -#: menu.sh:279 +#: menu.sh:287 msgid "Add an addon" msgstr "" -#: menu.sh:280 +#: menu.sh:288 msgid "Delete addon(s)" msgstr "" -#: menu.sh:281 +#: menu.sh:289 msgid "Show user addons" msgstr "" -#: menu.sh:282 +#: menu.sh:290 msgid "Show all available addons" msgstr "" -#: menu.sh:283 +#: menu.sh:291 msgid "Upload a external addon" msgstr "" -#: menu.sh:284 menu.sh:421 menu.sh:550 menu.sh:690 menu.sh:1019 menu.sh:1726 -#: menu.sh:1904 menu.sh:1976 +#: menu.sh:292 menu.sh:429 menu.sh:557 menu.sh:673 menu.sh:1002 menu.sh:1745 +#: menu.sh:1923 menu.sh:1995 msgid "Exit" msgstr "" -#: menu.sh:296 menu.sh:301 menu.sh:307 menu.sh:319 menu.sh:327 menu.sh:345 -#: menu.sh:359 menu.sh:364 menu.sh:368 menu.sh:382 menu.sh:386 menu.sh:394 -#: menu.sh:397 +#: menu.sh:304 menu.sh:309 menu.sh:315 menu.sh:327 menu.sh:335 menu.sh:353 +#: menu.sh:367 menu.sh:372 menu.sh:376 menu.sh:390 menu.sh:394 menu.sh:402 +#: menu.sh:405 msgid "Addons" msgstr "" -#: menu.sh:297 +#: menu.sh:305 msgid "No available addons to add" msgstr "" -#: menu.sh:302 +#: menu.sh:310 msgid "Select an addon" msgstr "" -#: menu.sh:308 +#: menu.sh:316 msgid "Type a optional params to addon" msgstr "" -#: menu.sh:320 +#: menu.sh:328 msgid "No user addons to remove" msgstr "" -#: menu.sh:328 +#: menu.sh:336 msgid "Select addon to remove" msgstr "" -#: menu.sh:365 menu.sh:1283 menu.sh:1314 menu.sh:1347 menu.sh:1803 +#: menu.sh:373 menu.sh:1302 menu.sh:1333 menu.sh:1366 menu.sh:1822 msgid "This feature is only available when accessed via web/ssh." msgstr "" -#: menu.sh:369 +#: menu.sh:377 msgid "Please upload the *.addons file." msgstr "" -#: menu.sh:383 menu.sh:521 menu.sh:1830 menu.sh:1844 +#: menu.sh:391 menu.sh:529 menu.sh:1849 menu.sh:1863 msgid "Not a valid file, please try again!" msgstr "" -#: menu.sh:387 +#: menu.sh:395 msgid "The addon already exists. Do you want to overwrite it?" msgstr "" -#: menu.sh:395 +#: menu.sh:403 msgid "Addon '%s' added to loader, Please enable it in 'Add an addon' menu." msgstr "" -#: menu.sh:398 +#: menu.sh:406 msgid "File format not recognized!" msgstr "" -#: menu.sh:417 +#: menu.sh:425 msgid "Show/Select modules" msgstr "" -#: menu.sh:418 +#: menu.sh:426 msgid "Select loaded modules" msgstr "" -#: menu.sh:419 +#: menu.sh:427 msgid "Upload a external module" msgstr "" -#: menu.sh:420 +#: menu.sh:428 msgid "Priority use of official drivers:" msgstr "" -#: menu.sh:427 menu.sh:440 menu.sh:477 menu.sh:497 menu.sh:500 menu.sh:516 -#: menu.sh:520 +#: menu.sh:435 menu.sh:448 menu.sh:485 menu.sh:505 menu.sh:508 menu.sh:524 +#: menu.sh:528 msgid "Modules" msgstr "" -#: menu.sh:428 +#: menu.sh:436 msgid "Reading modules" msgstr "" -#: menu.sh:441 +#: menu.sh:449 msgid "Select all" msgstr "" -#: menu.sh:442 +#: menu.sh:450 msgid "Deselect all" msgstr "" -#: menu.sh:443 +#: menu.sh:451 msgid "Select modules to include" msgstr "" -#: menu.sh:478 +#: menu.sh:486 msgid "Selecting loaded modules" msgstr "" -#: menu.sh:492 +#: menu.sh:500 msgid "" "This function is experimental and dangerous. If you don't know much, please " "exit.\\n" msgstr "" -#: menu.sh:493 +#: menu.sh:501 msgid "" "The imported .ko of this function will be implanted into the corresponding " "arch's modules package, which will affect all models of the arch.\\n" msgstr "" -#: menu.sh:494 +#: menu.sh:502 msgid "" "This program will not determine the availability of imported modules or even " "make type judgments, as please double check if it is correct.\\n" msgstr "" -#: menu.sh:495 +#: menu.sh:503 msgid "" "If you want to remove it, please go to the \"Update Menu\" -> \"Update " "modules\" to forcibly update the modules. All imports will be reset.\\n" msgstr "" -#: menu.sh:496 +#: menu.sh:504 msgid "Do you want to continue?" msgstr "" -#: menu.sh:501 +#: menu.sh:509 msgid "Please upload the *.ko file." msgstr "" -#: menu.sh:517 +#: menu.sh:525 msgid "Module '%s' added to %s-%s" msgstr "" -#: menu.sh:542 +#: menu.sh:550 msgid "Add/edit a cmdline item" msgstr "" -#: menu.sh:543 +#: menu.sh:551 msgid "Delete cmdline item(s)" msgstr "" -#: menu.sh:545 -msgid "Define a serial number" +#: menu.sh:553 +msgid "Define SN/MAC" msgstr "" -#: menu.sh:547 -msgid "Define a custom MAC" -msgstr "" - -#: menu.sh:548 +#: menu.sh:555 msgid "Show user added cmdline" msgstr "" -#: menu.sh:549 +#: menu.sh:556 msgid "Show model inherent cmdline" msgstr "" -#: menu.sh:559 menu.sh:565 menu.sh:575 menu.sh:583 menu.sh:596 menu.sh:608 -#: menu.sh:625 menu.sh:635 menu.sh:645 menu.sh:648 menu.sh:651 menu.sh:662 -#: menu.sh:670 +#: menu.sh:566 menu.sh:572 menu.sh:582 menu.sh:590 menu.sh:606 menu.sh:616 +#: menu.sh:645 menu.sh:653 msgid "Cmdline" msgstr "" -#: menu.sh:560 +#: menu.sh:567 msgid "Type a name of cmdline" msgstr "" -#: menu.sh:566 +#: menu.sh:573 msgid "Type a value of '%s' cmdline" msgstr "" -#: menu.sh:576 +#: menu.sh:583 msgid "No user cmdline to remove" msgstr "" -#: menu.sh:584 +#: menu.sh:591 msgid "Select cmdline to remove" msgstr "" -#: menu.sh:597 -msgid "Please enter a serial number " +#: menu.sh:602 +msgid "Note: (MAC will not be set to NIC)" msgstr "" -#: menu.sh:609 -msgid "Invalid serial, continue?" +#: menu.sh:607 +msgid "Random" msgstr "" -#: menu.sh:626 -msgid "Type a custom MAC address of %s" +#: menu.sh:617 +msgid "Invalid SN/MAC, retry?" msgstr "" -#: menu.sh:636 -msgid "Invalid MAC" -msgstr "" - -#: menu.sh:646 -msgid "Changing MAC" -msgstr "" - -#: menu.sh:649 -msgid "Renewing IP" -msgstr "" - -#: menu.sh:652 -msgid "Continue to custom MAC?" -msgstr "" - -#: menu.sh:687 +#: menu.sh:670 msgid "Add/edit a synoinfo item" msgstr "" -#: menu.sh:688 +#: menu.sh:671 msgid "Delete synoinfo item(s)" msgstr "" -#: menu.sh:689 +#: menu.sh:672 msgid "Show synoinfo entries" msgstr "" -#: menu.sh:700 menu.sh:706 menu.sh:717 menu.sh:725 menu.sh:742 +#: menu.sh:683 menu.sh:689 menu.sh:700 menu.sh:708 menu.sh:725 msgid "Synoinfo" msgstr "" -#: menu.sh:701 +#: menu.sh:684 msgid "Type a name of synoinfo entry" msgstr "" -#: menu.sh:707 +#: menu.sh:690 msgid "Type a value of '%s' synoinfo entry" msgstr "" -#: menu.sh:718 +#: menu.sh:701 msgid "No synoinfo entries to remove" msgstr "" -#: menu.sh:726 +#: menu.sh:709 msgid "Select synoinfo entry to remove" msgstr "" -#: menu.sh:765 +#: menu.sh:748 msgid "%s cached." msgstr "" -#: menu.sh:769 +#: menu.sh:752 msgid "Cleaning cache" msgstr "" -#: menu.sh:776 +#: menu.sh:759 msgid "" "Based on the current network situation, switch to %s mirror to downloading." msgstr "" -#: menu.sh:780 +#: menu.sh:763 msgid "Downloading %s" msgstr "" -#: menu.sh:791 menu.sh:853 +#: menu.sh:774 menu.sh:836 msgid "Check internet or cache disk space" msgstr "" -#: menu.sh:796 +#: menu.sh:779 msgid "Checking hash of %s: " msgstr "" -#: menu.sh:799 +#: menu.sh:782 msgid "md5 Hash of pat not match, try again!" msgstr "" -#: menu.sh:803 menu.sh:905 menu.sh:915 +#: menu.sh:786 menu.sh:888 menu.sh:898 msgid "OK" msgstr "" -#: menu.sh:807 +#: menu.sh:790 msgid "Disassembling %s: " msgstr "" -#: menu.sh:812 +#: menu.sh:795 msgid "Uncompressed tar" msgstr "" -#: menu.sh:816 +#: menu.sh:799 msgid "Compressed tar" msgstr "" -#: menu.sh:820 +#: menu.sh:803 msgid "Encrypted" msgstr "" -#: menu.sh:825 +#: menu.sh:808 msgid "" "Could not determine if pat file is encrypted or not, maybe corrupted, try " "again!" msgstr "" -#: menu.sh:835 +#: menu.sh:818 msgid "Extractor cached." msgstr "" -#: menu.sh:842 +#: menu.sh:825 msgid "Downloading old pat to extract synology .pat extractor..." msgstr "" -#: menu.sh:882 menu.sh:885 +#: menu.sh:865 menu.sh:868 msgid "Extracting..." msgstr "" -#: menu.sh:897 +#: menu.sh:880 msgid "pat Invalid, try again!" msgstr "" -#: menu.sh:900 +#: menu.sh:883 msgid "Setting hash: " msgstr "" -#: menu.sh:907 +#: menu.sh:890 msgid "Copying files: " msgstr "" -#: menu.sh:948 +#: menu.sh:931 msgid "Addon %s not found!" msgstr "" -#: menu.sh:974 menu.sh:1955 +#: menu.sh:957 menu.sh:1974 msgid "Cleaning" msgstr "" -#: menu.sh:976 +#: menu.sh:959 msgid "Ready!" msgstr "" -#: menu.sh:989 +#: menu.sh:972 msgid "Switch LKM version:" msgstr "" -#: menu.sh:992 +#: menu.sh:975 msgid "Switch direct boot:" msgstr "" -#: menu.sh:994 +#: menu.sh:977 msgid "Timeout of get ip in boot:" msgstr "" -#: menu.sh:995 +#: menu.sh:978 msgid "Timeout of boot wait:" msgstr "" -#: menu.sh:996 +#: menu.sh:979 msgid "kernel switching method:" msgstr "" -#: menu.sh:999 -msgid "Switch 'Do not set MACs':" +#: menu.sh:982 +msgid "Set static IP" msgstr "" -#: menu.sh:1000 +#: menu.sh:983 msgid "Edit user config file manually" msgstr "" -#: menu.sh:1001 +#: menu.sh:984 msgid "Try to recovery a DSM installed system" msgstr "" -#: menu.sh:1002 +#: menu.sh:985 msgid "Show SATA(s) # ports and drives" msgstr "" -#: menu.sh:1004 +#: menu.sh:987 msgid "show/modify the current pat data" msgstr "" -#: menu.sh:1006 +#: menu.sh:989 msgid "Allow downgrade installation" msgstr "" -#: menu.sh:1007 +#: menu.sh:990 msgid "Format disk(s) # Without loader disk" msgstr "" -#: menu.sh:1008 +#: menu.sh:991 msgid "Reset DSM system password" msgstr "" -#: menu.sh:1009 +#: menu.sh:992 msgid "Save modifications of '/opt/arpl'" msgstr "" -#: menu.sh:1011 +#: menu.sh:994 msgid "Custom dts file # Need rebuild" msgstr "" -#: menu.sh:1014 +#: menu.sh:997 msgid "Backup bootloader disk # test" msgstr "" -#: menu.sh:1015 +#: menu.sh:998 msgid "Restore bootloader disk # test" msgstr "" -#: menu.sh:1017 +#: menu.sh:1000 msgid "Install development tools" msgstr "" -#: menu.sh:1018 +#: menu.sh:1001 msgid "Show dsm logo:" msgstr "" -#: menu.sh:1021 menu.sh:1039 menu.sh:1051 menu.sh:1127 menu.sh:1134 -#: menu.sh:1152 menu.sh:1165 menu.sh:1168 menu.sh:1178 menu.sh:1179 -#: menu.sh:1184 menu.sh:1188 menu.sh:1199 menu.sh:1201 menu.sh:1218 -#: menu.sh:1223 menu.sh:1231 menu.sh:1237 menu.sh:1250 menu.sh:1253 -#: menu.sh:1259 menu.sh:1262 menu.sh:1277 menu.sh:1282 menu.sh:1286 -#: menu.sh:1301 menu.sh:1306 menu.sh:1313 menu.sh:1317 menu.sh:1320 -#: menu.sh:1325 menu.sh:1335 menu.sh:1340 menu.sh:1346 menu.sh:1350 -#: menu.sh:1367 menu.sh:1370 menu.sh:1376 menu.sh:1384 menu.sh:1392 -#: menu.sh:1401 menu.sh:1403 +#: menu.sh:1004 menu.sh:1022 menu.sh:1034 menu.sh:1062 menu.sh:1086 +#: menu.sh:1146 menu.sh:1153 menu.sh:1171 menu.sh:1184 menu.sh:1187 +#: menu.sh:1197 menu.sh:1198 menu.sh:1203 menu.sh:1207 menu.sh:1218 +#: menu.sh:1220 menu.sh:1237 menu.sh:1242 menu.sh:1250 menu.sh:1256 +#: menu.sh:1269 menu.sh:1272 menu.sh:1278 menu.sh:1281 menu.sh:1296 +#: menu.sh:1301 menu.sh:1305 menu.sh:1320 menu.sh:1325 menu.sh:1332 +#: menu.sh:1336 menu.sh:1339 menu.sh:1344 menu.sh:1354 menu.sh:1359 +#: menu.sh:1365 menu.sh:1369 menu.sh:1386 menu.sh:1389 menu.sh:1395 +#: menu.sh:1403 menu.sh:1411 menu.sh:1420 menu.sh:1422 msgid "Advanced" msgstr "" -#: menu.sh:1022 menu.sh:1907 +#: menu.sh:1005 menu.sh:1926 msgid "Choose the option" msgstr "" -#: menu.sh:1040 menu.sh:1052 +#: menu.sh:1023 menu.sh:1035 msgid "Choose a waiting time(seconds)" msgstr "" -#: menu.sh:1125 +#: menu.sh:1050 +msgid "Temporary IP: (UI will not refresh)" +msgstr "" + +#: menu.sh:1087 +msgid "Set IP.." +msgstr "" + +#: menu.sh:1144 msgid "\\nTotal of ports: %s\\n" msgstr "" -#: menu.sh:1126 +#: menu.sh:1145 msgid "" "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "connected." msgstr "" -#: menu.sh:1133 +#: menu.sh:1152 msgid "pat: (editable)" msgstr "" -#: menu.sh:1149 +#: menu.sh:1168 msgid "" "This feature will allow you to downgrade the installation by removing the " "VERSION file from the first partition of all disks.\\n" msgstr "" -#: menu.sh:1150 +#: menu.sh:1169 msgid "Therefore, please insert all disks before continuing.\\n" msgstr "" -#: menu.sh:1151 menu.sh:1185 +#: menu.sh:1170 menu.sh:1204 msgid "" "Warning:\\nThis operation is irreversible. Please backup important data. Do " "you want to continue?" msgstr "" -#: menu.sh:1166 +#: menu.sh:1185 msgid "Removing ..." msgstr "" -#: menu.sh:1167 +#: menu.sh:1186 msgid "Remove VERSION file for all disks completed." msgstr "" -#: menu.sh:1189 +#: menu.sh:1208 msgid "" "Warning:\\nThe current hds is in raid, do you still want to format them?" msgstr "" -#: menu.sh:1200 +#: menu.sh:1219 msgid "Formatting ..." msgstr "" -#: menu.sh:1202 +#: menu.sh:1221 msgid "Formatting is complete." msgstr "" -#: menu.sh:1219 +#: menu.sh:1238 msgid "The installed Syno system not found in the currently inserted disks!" msgstr "" -#: menu.sh:1224 +#: menu.sh:1243 msgid "Choose a user name" msgstr "" -#: menu.sh:1232 +#: menu.sh:1251 msgid "Type a new password for user '%s'" msgstr "" -#: menu.sh:1238 +#: menu.sh:1257 msgid "Invalid password" msgstr "" -#: menu.sh:1251 +#: menu.sh:1270 msgid "Resetting ..." msgstr "" -#: menu.sh:1254 +#: menu.sh:1273 msgid "Password reset completed." msgstr "" -#: menu.sh:1260 menu.sh:1318 menu.sh:1371 +#: menu.sh:1279 menu.sh:1337 menu.sh:1390 msgid "" "Warning:\\nDo not terminate midway, otherwise it may cause damage to the " "arpl. Do you want to continue?" msgstr "" -#: menu.sh:1263 +#: menu.sh:1282 msgid "Saving ..." msgstr "" -#: menu.sh:1278 +#: menu.sh:1297 msgid "Save is complete." msgstr "" -#: menu.sh:1287 +#: menu.sh:1306 msgid "" "Currently, only dts format files are supported. Please prepare and click to " "confirm uploading.\\n(saved in /mnt/p3/users/)" msgstr "" -#: menu.sh:1302 +#: menu.sh:1321 msgid "Not a valid dts file, please try again!" msgstr "" -#: menu.sh:1307 +#: menu.sh:1326 msgid "A valid dts file, Automatically import at compile time." msgstr "" -#: menu.sh:1321 +#: menu.sh:1340 msgid "Backuping..." msgstr "" -#: menu.sh:1326 +#: menu.sh:1345 msgid "" "Failed to generate backup. There may be insufficient memory. Please clear " "the cache and try again!" msgstr "" -#: menu.sh:1333 +#: menu.sh:1352 msgid "Click on the address above to download." msgstr "" -#: menu.sh:1334 +#: menu.sh:1353 msgid "" "Please confirm the completion of the download before closing this window." msgstr "" -#: menu.sh:1341 +#: menu.sh:1360 msgid "backup is complete." msgstr "" -#: menu.sh:1351 +#: menu.sh:1370 msgid "" "Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) " "compressed file formats are supported." msgstr "" -#: menu.sh:1368 +#: menu.sh:1387 msgid "Not a valid .zip/.img.gz file, please try again!" msgstr "" -#: menu.sh:1377 +#: menu.sh:1396 msgid "Writing..." msgstr "" -#: menu.sh:1385 +#: menu.sh:1404 msgid "Restore bootloader disk with success to %s!\\nReboot?" msgstr "" -#: menu.sh:1393 +#: menu.sh:1412 msgid "" "This option only installs opkg package management, allowing you to install " "more tools for use and debugging. Do you want to continue?" msgstr "" -#: menu.sh:1402 +#: menu.sh:1421 msgid "opkg installing ..." msgstr "" -#: menu.sh:1404 +#: menu.sh:1423 msgid "" "opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/." "bashrc'" msgstr "" -#: menu.sh:1419 menu.sh:1456 menu.sh:1463 +#: menu.sh:1438 menu.sh:1475 menu.sh:1482 msgid "Try recovery DSM" msgstr "" -#: menu.sh:1420 +#: menu.sh:1439 msgid "Trying to recovery a DSM installed system" msgstr "" -#: menu.sh:1446 +#: menu.sh:1465 msgid "Found a installation:\\nModel: %s\\nProductversion: %s" msgstr "" -#: menu.sh:1450 +#: menu.sh:1469 msgid "\\nSerial: %s" msgstr "" -#: menu.sh:1464 +#: menu.sh:1483 msgid "Unfortunately I couldn't mount the DSM partition!" msgstr "" -#: menu.sh:1472 menu.sh:1478 +#: menu.sh:1491 menu.sh:1497 msgid "Edit with caution" msgstr "" -#: menu.sh:1500 +#: menu.sh:1519 msgid "Alert" msgstr "" -#: menu.sh:1501 +#: menu.sh:1520 msgid "Config changed, would you like to rebuild the loader?" msgstr "" -#: menu.sh:1513 menu.sh:1897 +#: menu.sh:1532 menu.sh:1916 msgid "Choose a language" msgstr "" -#: menu.sh:1527 +#: menu.sh:1546 msgid "Choose a layout" msgstr "" -#: menu.sh:1539 +#: menu.sh:1558 msgid "Choice a keymap" msgstr "" -#: menu.sh:1558 menu.sh:1611 menu.sh:1662 menu.sh:1734 menu.sh:1737 -#: menu.sh:1740 menu.sh:1743 menu.sh:1750 menu.sh:1757 menu.sh:1764 -#: menu.sh:1771 +#: menu.sh:1577 menu.sh:1630 menu.sh:1681 menu.sh:1753 menu.sh:1756 +#: menu.sh:1759 menu.sh:1762 menu.sh:1769 menu.sh:1776 menu.sh:1783 +#: menu.sh:1790 msgid "Update %s" msgstr "" -#: menu.sh:1561 +#: menu.sh:1580 msgid "Checking last version" msgstr "" -#: menu.sh:1574 menu.sh:1577 +#: menu.sh:1593 menu.sh:1596 msgid "Error checking new version" msgstr "" -#: menu.sh:1584 +#: menu.sh:1603 msgid "No new version." msgstr "" -#: menu.sh:1588 +#: menu.sh:1607 msgid "No new version. Actual version is %s\\nForce update?" msgstr "" -#: menu.sh:1593 +#: menu.sh:1612 msgid "Downloading last version" msgstr "" -#: menu.sh:1599 menu.sh:1602 +#: menu.sh:1618 menu.sh:1621 msgid "Error downloading new version" msgstr "" -#: menu.sh:1613 menu.sh:1664 +#: menu.sh:1632 menu.sh:1683 msgid "Extracting last version" msgstr "" -#: menu.sh:1617 +#: menu.sh:1636 msgid "Error extracting update file" msgstr "" -#: menu.sh:1624 +#: menu.sh:1643 msgid "Checksum do not match!" msgstr "" -#: menu.sh:1633 +#: menu.sh:1652 msgid "" "The current version does not support upgrading to the latest update.zip. " "Please remake the bootloader disk!" msgstr "" -#: menu.sh:1638 +#: menu.sh:1657 msgid "Installing new files" msgstr "" -#: menu.sh:1655 +#: menu.sh:1674 msgid "Arpl updated with success to %s!\\nReboot?" msgstr "" -#: menu.sh:1670 +#: menu.sh:1689 msgid "Installing new %s" msgstr "" -#: menu.sh:1699 menu.sh:1702 +#: menu.sh:1718 menu.sh:1721 msgid "%s updated with success!" msgstr "" -#: menu.sh:1716 +#: menu.sh:1735 msgid "Update all" msgstr "" -#: menu.sh:1717 +#: menu.sh:1736 msgid "Update arpl" msgstr "" -#: menu.sh:1718 +#: menu.sh:1737 msgid "Update addons" msgstr "" -#: menu.sh:1719 +#: menu.sh:1738 msgid "Update modules" msgstr "" -#: menu.sh:1720 +#: menu.sh:1739 msgid "Update LKMs" msgstr "" -#: menu.sh:1722 +#: menu.sh:1741 msgid "Set proxy server" msgstr "" -#: menu.sh:1724 +#: menu.sh:1743 msgid "Local upload" msgstr "" -#: menu.sh:1725 +#: menu.sh:1744 msgid "Pre Release:" msgstr "" -#: menu.sh:1734 menu.sh:1757 +#: menu.sh:1753 menu.sh:1776 msgid "addons" msgstr "" -#: menu.sh:1737 menu.sh:1764 +#: menu.sh:1756 menu.sh:1783 msgid "modules" msgstr "" -#: menu.sh:1740 menu.sh:1771 +#: menu.sh:1759 menu.sh:1790 msgid "LKMs" msgstr "" -#: menu.sh:1743 menu.sh:1750 +#: menu.sh:1762 menu.sh:1769 msgid "arpl" msgstr "" -#: menu.sh:1780 menu.sh:1791 menu.sh:1802 menu.sh:1812 menu.sh:1829 -#: menu.sh:1843 +#: menu.sh:1799 menu.sh:1810 menu.sh:1821 menu.sh:1831 menu.sh:1848 +#: menu.sh:1862 msgid "Update" msgstr "" -#: menu.sh:1781 +#: menu.sh:1800 msgid "Please enter a proxy server url" msgstr "" -#: menu.sh:1792 +#: menu.sh:1811 msgid "Invalid proxy server url, continue?" msgstr "" -#: menu.sh:1807 +#: menu.sh:1826 msgid "" "Please keep the attachment name consistent with the attachment name on " "Github.\\n" msgstr "" -#: menu.sh:1808 +#: menu.sh:1827 msgid "Upload update.zip will update arpl.\\n" msgstr "" -#: menu.sh:1809 +#: menu.sh:1828 msgid "Upload addons.zip will update Addons.\\n" msgstr "" -#: menu.sh:1810 +#: menu.sh:1829 msgid "Upload modules.zip will update Modules.\\n" msgstr "" -#: menu.sh:1811 +#: menu.sh:1830 msgid "Upload rp-lkms.zip will update LKMs.\\n" msgstr "" -#: menu.sh:1860 +#: menu.sh:1879 msgid "This person is very lazy and hasn't written anything." msgstr "" -#: menu.sh:1861 +#: menu.sh:1880 msgid "Edit" msgstr "" -#: menu.sh:1878 +#: menu.sh:1897 msgid "Choose a model" msgstr "" -#: menu.sh:1880 +#: menu.sh:1899 msgid "Choose a version" msgstr "" -#: menu.sh:1882 +#: menu.sh:1901 msgid "Addons menu" msgstr "" -#: menu.sh:1883 +#: menu.sh:1902 msgid "Modules menu" msgstr "" -#: menu.sh:1884 +#: menu.sh:1903 msgid "Cmdline menu" msgstr "" -#: menu.sh:1885 +#: menu.sh:1904 msgid "Synoinfo menu" msgstr "" -#: menu.sh:1888 +#: menu.sh:1907 msgid "Advanced menu" msgstr "" -#: menu.sh:1891 +#: menu.sh:1910 msgid "Build the loader" msgstr "" -#: menu.sh:1895 +#: menu.sh:1914 msgid "Boot the loader" msgstr "" -#: menu.sh:1898 +#: menu.sh:1917 msgid "Choose a keymap" msgstr "" -#: menu.sh:1900 +#: menu.sh:1919 msgid "Clean disk cache" msgstr "" -#: menu.sh:1902 +#: menu.sh:1921 msgid "Update menu" msgstr "" -#: menu.sh:1903 +#: menu.sh:1922 msgid "Notepad" msgstr "" -#: menu.sh:1971 +#: menu.sh:1990 msgid "Choose a action" msgstr "" -#: menu.sh:1972 +#: menu.sh:1991 msgid "Poweroff" msgstr "" -#: menu.sh:1973 +#: menu.sh:1992 msgid "Reboot" msgstr "" -#: menu.sh:1974 +#: menu.sh:1993 msgid "Reboot to arpl" msgstr "" -#: menu.sh:1975 +#: menu.sh:1994 msgid "Back to shell" msgstr "" -#: menu.sh:2001 +#: menu.sh:2020 msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgstr "" diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo index 8565a01b..987b2b68 100644 Binary files a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo and b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo differ diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po index d4045478..ac3dc14c 100644 --- a/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po +++ b/files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: arpl-i18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-26 09:43+0800\n" -"PO-Revision-Date: 2023-09-26 09:43+0800\n" +"POT-Creation-Date: 2023-09-28 20:07+0800\n" +"PO-Revision-Date: 2023-09-28 20:07+0800\n" "Last-Translator: ing \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: boot.sh:8 init.sh:169 +#: boot.sh:8 init.sh:159 msgid "Loader is not configured!" msgstr "引导未配置!" @@ -28,12 +28,12 @@ msgstr "Welcome to %s" msgid "DSM zImage changed" msgstr "DSM zImage 已更改" -#: boot.sh:41 boot.sh:54 menu.sh:790 menu.sh:798 menu.sh:824 menu.sh:852 -#: menu.sh:864 menu.sh:888 menu.sh:896 menu.sh:947 menu.sh:960 menu.sh:967 +#: boot.sh:41 boot.sh:54 menu.sh:773 menu.sh:781 menu.sh:807 menu.sh:835 +#: menu.sh:847 menu.sh:871 menu.sh:879 menu.sh:930 menu.sh:943 menu.sh:950 msgid "Error" msgstr "错误" -#: boot.sh:42 menu.sh:961 +#: boot.sh:42 menu.sh:944 msgid "zImage not patched:\\n" msgstr "zImage打补丁失败:\\n" @@ -41,106 +41,96 @@ msgstr "zImage打补丁失败:\\n" msgid "DSM Ramdisk changed" msgstr "DSM Ramdisk 已更改" -#: boot.sh:55 menu.sh:968 +#: boot.sh:55 menu.sh:951 msgid "Ramdisk not patched:\\n" msgstr "Ramdisk打补丁失败:\\n" -#: boot.sh:76 +#: boot.sh:73 msgid "Model:" msgstr "型号: " -#: boot.sh:77 +#: boot.sh:74 msgid "Build:" msgstr "版本: " -#: boot.sh:78 +#: boot.sh:75 msgid "LKM: " msgstr "LKM: " -#: boot.sh:79 +#: boot.sh:76 msgid "DMI: " msgstr "" -#: boot.sh:80 +#: boot.sh:77 msgid "CPU: " msgstr "CPU: " -#: boot.sh:81 +#: boot.sh:78 msgid "MEM: " msgstr "MEM: " -#: boot.sh:84 +#: boot.sh:81 msgid "" "The current version of arpl does not support booting %s-%s, please rebuild." msgstr "当前版本的arpl不支持引导 %s-%s, 请重新编译." -#: boot.sh:125 -msgid "'Not set MACs' is enabled." -msgstr "'不设置MACs' 已开启." - -#: boot.sh:139 -msgid "" -"Detected %s network cards, %s MACs were customized, the rest will use the " -"original MACs." -msgstr "检测到 %s 个网卡, 自定义了 %s 个 MACs, 其他网卡将使用自身 MACs." - -#: boot.sh:169 +#: boot.sh:131 msgid "Cmdline:\\n" msgstr "Cmdline:\\n" -#: boot.sh:174 +#: boot.sh:137 msgid "Reboot to boot directly in DSM" msgstr "重启并直接进入DSM引导" -#: boot.sh:180 init.sh:182 +#: boot.sh:143 init.sh:172 msgid "Detected %s network cards." msgstr "检测到 %s 个网卡." -#: boot.sh:181 init.sh:183 +#: boot.sh:144 init.sh:173 msgid "Checking Connect." msgstr "检查连接." -#: boot.sh:201 +#: boot.sh:164 msgid "Waiting IP.(For reference only)" msgstr "获取 IP.(仅供参考)" -#: boot.sh:208 init.sh:208 +#: boot.sh:171 init.sh:198 msgid "DOWN" msgstr "关闭" -#: boot.sh:212 init.sh:212 +#: boot.sh:175 init.sh:202 msgid "NOT CONNECTED" msgstr "未连接" -#: boot.sh:216 init.sh:216 +#: boot.sh:179 init.sh:206 msgid "TIMEOUT (Please check the IP on the router.)" msgstr "超时 (请检查路由器上的IP.)" -#: boot.sh:222 +#: boot.sh:185 msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web." msgstr "在浏览器中访问 \\033[1;34mhttp://%s:5000\\033[0m 链接 DSM." -#: boot.sh:234 +#: boot.sh:197 msgid "%2ds (accessing arpl will interrupt boot)" msgstr "%2ds (访问arpl将中断启动)" -#: boot.sh:238 +#: boot.sh:201 msgid "A new access is connected, the boot process is interrupted." msgstr "新的连接, 启动过程被中断." -#: boot.sh:249 +#: boot.sh:211 msgid "Loading DSM kernel..." msgstr "加载 DSM kernel..." -#: boot.sh:253 +#: boot.sh:215 msgid "Warning, running kexec with --noefi param, strange things will happen!!" msgstr "警告, 使用'--noefi'参数运行'kexec', 可能有不好的事情发生!!" -#: boot.sh:258 +#: boot.sh:220 msgid "Booting..." msgstr "引导中..." -#: boot.sh:260 +#: boot.sh:222 msgid "" "[This interface will not be operational.\\nPlease wait for a few minutes " "before using the http://find.synology.com/ or Synology Assistant find DSM " @@ -167,53 +157,49 @@ msgstr "挂载 %s 失败" msgid "Network devices not found!" msgstr "网卡未找到!" -#: init.sh:116 -msgid "Setting %s MAC to %s" -msgstr "设置 %s 的MAC为 %s" - -#: init.sh:136 +#: init.sh:126 msgid "Loader disk neither USB or DoM" msgstr "引导磁盘仅支持 USB 或者 DoM" -#: init.sh:144 +#: init.sh:134 msgid "Loader disk:" msgstr "引导盘:" -#: init.sh:151 +#: init.sh:141 msgid "Resizing %s" msgstr "重置 %s 大小" -#: init.sh:162 +#: init.sh:152 msgid "Loading keymap" msgstr "加载keymap" -#: init.sh:172 +#: init.sh:162 msgid "User requested edit settings." msgstr "用户触发编辑设置." -#: init.sh:201 +#: init.sh:191 msgid "Waiting IP." msgstr "获取 IP." -#: init.sh:222 +#: init.sh:212 msgid "" "Access \\033[1;34mhttp://%s:7681\\033[0m to configure the loader via web " "terminal." msgstr "在浏览器中访问 \\033[1;34mhttp://%s:7681\\033[0m 进入WEB终端进行配置." -#: init.sh:232 +#: init.sh:222 msgid "Call \\033[1;32mmenu.sh\\033[0m to configure loader" msgstr "执行 \\033[1;32mmenu.sh\\033[0m 进入设置菜单" -#: init.sh:234 +#: init.sh:224 msgid "User config is on" msgstr "用户配置文件位于" -#: init.sh:235 +#: init.sh:225 msgid "Default SSH Root password is" msgstr "默认SSH的root密码为" -#: init.sh:241 +#: init.sh:231 msgid "" "You have less than 4GB of RAM, if errors occur in loader creation, please " "increase the amount of memory." @@ -239,182 +225,187 @@ msgstr "显示所有型号" msgid "Choose the model" msgstr "选择型号" -#: menu.sh:164 +#: menu.sh:169 msgid "Choose a product version" msgstr "选择版本" -#: menu.sh:176 menu.sh:181 menu.sh:187 menu.sh:213 menu.sh:233 +#: menu.sh:179 menu.sh:185 menu.sh:190 menu.sh:196 menu.sh:222 menu.sh:242 msgid "Product Version" msgstr "版本" -#: menu.sh:177 +#: menu.sh:180 +msgid "" +"The current version has been set to %s. Do you want to reset the version?" +msgstr "当前版本已设置为%s. 是否要重置版本?" + +#: menu.sh:186 msgid "" "This version does not support UEFI startup, Please select another version or " "switch the startup mode." msgstr "该版本不支持UEFI启动, 请选择其他版本或者切换启动模式." -#: menu.sh:182 +#: menu.sh:191 msgid "" "This version only support usb startup, Please select another version or " "switch the startup mode." msgstr "该版本仅支持 usb 启动, 请选择其他版本或者切换启动模式." -#: menu.sh:188 +#: menu.sh:197 msgid "Get pat data .." msgstr "获取pat数据 .." -#: menu.sh:207 +#: menu.sh:216 msgid "" "Failed to get pat data,\\nPlease manually fill in the URL and md5sum of the " "corresponding version of pat." msgstr "获取pat数据失败,\\n请手动填写相应版本pat的URL和MD5." -#: menu.sh:211 +#: menu.sh:220 msgid "Successfully to get pat data,\\nPlease confirm or modify as needed." msgstr "获取pat数据成功,\\n请确认或者按需修改." -#: menu.sh:214 +#: menu.sh:223 msgid "Retry" msgstr "重试" -#: menu.sh:234 +#: menu.sh:243 msgid "Reconfiguring Synoinfo, Addons and Modules" msgstr "重新配置 Syninfo, 插件和模块" -#: menu.sh:278 menu.sh:416 menu.sh:554 menu.sh:695 menu.sh:1729 +#: menu.sh:286 menu.sh:424 menu.sh:561 menu.sh:678 menu.sh:1748 msgid "Choose a option" msgstr "设置" -#: menu.sh:279 +#: menu.sh:287 msgid "Add an addon" msgstr "添加插件" -#: menu.sh:280 +#: menu.sh:288 msgid "Delete addon(s)" msgstr "删除插件(s)" -#: menu.sh:281 +#: menu.sh:289 msgid "Show user addons" msgstr "显示用户插件" -#: menu.sh:282 +#: menu.sh:290 msgid "Show all available addons" msgstr "显示所有可用插件" -#: menu.sh:283 +#: menu.sh:291 msgid "Upload a external addon" msgstr "上传外部插件" -#: menu.sh:284 menu.sh:421 menu.sh:550 menu.sh:690 menu.sh:1019 menu.sh:1726 -#: menu.sh:1904 menu.sh:1976 +#: menu.sh:292 menu.sh:429 menu.sh:557 menu.sh:673 menu.sh:1002 menu.sh:1745 +#: menu.sh:1923 menu.sh:1995 msgid "Exit" msgstr "退出" -#: menu.sh:296 menu.sh:301 menu.sh:307 menu.sh:319 menu.sh:327 menu.sh:345 -#: menu.sh:359 menu.sh:364 menu.sh:368 menu.sh:382 menu.sh:386 menu.sh:394 -#: menu.sh:397 +#: menu.sh:304 menu.sh:309 menu.sh:315 menu.sh:327 menu.sh:335 menu.sh:353 +#: menu.sh:367 menu.sh:372 menu.sh:376 menu.sh:390 menu.sh:394 menu.sh:402 +#: menu.sh:405 msgid "Addons" msgstr "插件" -#: menu.sh:297 +#: menu.sh:305 msgid "No available addons to add" msgstr "没有可用的插件可添加" -#: menu.sh:302 +#: menu.sh:310 msgid "Select an addon" msgstr "选择插件" -#: menu.sh:308 +#: menu.sh:316 msgid "Type a optional params to addon" msgstr "输入插件的加载参数" -#: menu.sh:320 +#: menu.sh:328 msgid "No user addons to remove" msgstr "没有要删除的用户插件" -#: menu.sh:328 +#: menu.sh:336 msgid "Select addon to remove" msgstr "选择要删除的插件" -#: menu.sh:365 menu.sh:1283 menu.sh:1314 menu.sh:1347 menu.sh:1803 +#: menu.sh:373 menu.sh:1302 menu.sh:1333 menu.sh:1366 menu.sh:1822 msgid "This feature is only available when accessed via web/ssh." msgstr "此功能仅通过web/ssh访问时可用." -#: menu.sh:369 +#: menu.sh:377 msgid "Please upload the *.addons file." msgstr "请上传 *.addons 文件." -#: menu.sh:383 menu.sh:521 menu.sh:1830 menu.sh:1844 +#: menu.sh:391 menu.sh:529 menu.sh:1849 menu.sh:1863 msgid "Not a valid file, please try again!" msgstr "不是有效的文件, 请重试!" -#: menu.sh:387 +#: menu.sh:395 msgid "The addon already exists. Do you want to overwrite it?" msgstr "该插件已存在, 是否覆盖?" -#: menu.sh:395 +#: menu.sh:403 msgid "Addon '%s' added to loader, Please enable it in 'Add an addon' menu." msgstr "插件 '%s' 已添加到引导中, 请在'添加插件' 菜单中开启." -#: menu.sh:398 +#: menu.sh:406 msgid "File format not recognized!" msgstr "文件格式无法识别!" -#: menu.sh:417 +#: menu.sh:425 msgid "Show/Select modules" msgstr "显示/选择模块" -#: menu.sh:418 +#: menu.sh:426 msgid "Select loaded modules" msgstr "选择已识别的模块" -#: menu.sh:419 +#: menu.sh:427 msgid "Upload a external module" msgstr "上传一个外部模块" -#: menu.sh:420 +#: menu.sh:428 msgid "Priority use of official drivers:" msgstr "优先使用官方模块:" -#: menu.sh:427 menu.sh:440 menu.sh:477 menu.sh:497 menu.sh:500 menu.sh:516 -#: menu.sh:520 +#: menu.sh:435 menu.sh:448 menu.sh:485 menu.sh:505 menu.sh:508 menu.sh:524 +#: menu.sh:528 msgid "Modules" msgstr "模块" -#: menu.sh:428 +#: menu.sh:436 msgid "Reading modules" msgstr "读取模块中" -#: menu.sh:441 +#: menu.sh:449 msgid "Select all" msgstr "全选全部" -#: menu.sh:442 +#: menu.sh:450 msgid "Deselect all" msgstr "取消全选" -#: menu.sh:443 +#: menu.sh:451 msgid "Select modules to include" msgstr "选择要加载的插件" -#: menu.sh:478 +#: menu.sh:486 msgid "Selecting loaded modules" msgstr "选择已识别的模块" -#: menu.sh:492 +#: menu.sh:500 msgid "" "This function is experimental and dangerous. If you don't know much, please " "exit.\\n" msgstr "该功能是实验性的且危险的, 如果你不了解, 请退出.\\n" -#: menu.sh:493 +#: menu.sh:501 msgid "" "The imported .ko of this function will be implanted into the corresponding " "arch's modules package, which will affect all models of the arch.\\n" msgstr "" "该功能导入 .ko 将被植入相应的架构的模块包中, 这将影响该架构的所有型号.\\n" -#: menu.sh:494 +#: menu.sh:502 msgid "" "This program will not determine the availability of imported modules or even " "make type judgments, as please double check if it is correct.\\n" @@ -422,7 +413,7 @@ msgstr "" "该程序不会判断导入的驱动模块的可用性, 甚至不会做类型判断, 因从请你再三确认是" "否正确.\\n" -#: menu.sh:495 +#: menu.sh:503 msgid "" "If you want to remove it, please go to the \"Update Menu\" -> \"Update " "modules\" to forcibly update the modules. All imports will be reset.\\n" @@ -430,744 +421,731 @@ msgstr "" "如果您想删除它, 请转到 \"更新\"->\"更新模块\" 强制更新模块, 所有导入都将被重" "置.\\n" -#: menu.sh:496 +#: menu.sh:504 msgid "Do you want to continue?" msgstr "是否继续?" -#: menu.sh:501 +#: menu.sh:509 msgid "Please upload the *.ko file." msgstr "请上传 *.ko 文件." -#: menu.sh:517 +#: menu.sh:525 msgid "Module '%s' added to %s-%s" msgstr "模块 '%s' 已添加到 %s-%s" -#: menu.sh:542 +#: menu.sh:550 msgid "Add/edit a cmdline item" msgstr "添加/编辑cmdline参数" -#: menu.sh:543 +#: menu.sh:551 msgid "Delete cmdline item(s)" msgstr "删除cmdline参数(s)" -#: menu.sh:545 -msgid "Define a serial number" -msgstr "自定义SN" +#: menu.sh:553 +msgid "Define SN/MAC" +msgstr "自定义 SN/MAC" -#: menu.sh:547 -msgid "Define a custom MAC" -msgstr "自定义MAC" - -#: menu.sh:548 +#: menu.sh:555 msgid "Show user added cmdline" msgstr "显示用户添加的cmdline参数" -#: menu.sh:549 +#: menu.sh:556 msgid "Show model inherent cmdline" msgstr "显示型号默认的cmdline参数" -#: menu.sh:559 menu.sh:565 menu.sh:575 menu.sh:583 menu.sh:596 menu.sh:608 -#: menu.sh:625 menu.sh:635 menu.sh:645 menu.sh:648 menu.sh:651 menu.sh:662 -#: menu.sh:670 +#: menu.sh:566 menu.sh:572 menu.sh:582 menu.sh:590 menu.sh:606 menu.sh:616 +#: menu.sh:645 menu.sh:653 msgid "Cmdline" msgstr "Cmdline" -#: menu.sh:560 +#: menu.sh:567 msgid "Type a name of cmdline" msgstr "输入参数的名称" -#: menu.sh:566 +#: menu.sh:573 msgid "Type a value of '%s' cmdline" msgstr "输入 '%s' 参数的值" -#: menu.sh:576 +#: menu.sh:583 msgid "No user cmdline to remove" msgstr "没有用户参数被删除" -#: menu.sh:584 +#: menu.sh:591 msgid "Select cmdline to remove" msgstr "选择要删除的参数" -#: menu.sh:597 -msgid "Please enter a serial number " -msgstr "请输入SN " +#: menu.sh:602 +msgid "Note: (MAC will not be set to NIC)" +msgstr "注意: (MAC 不会设置到 NIC)" -#: menu.sh:609 -msgid "Invalid serial, continue?" -msgstr "SN无效, 是否继续?" +#: menu.sh:607 +msgid "Random" +msgstr "随机" -#: menu.sh:626 -msgid "Type a custom MAC address of %s" -msgstr "输入 %s 的自定义MAC地址" +#: menu.sh:617 +msgid "Invalid SN/MAC, retry?" +msgstr "无效 SN/MAC, 重试?" -#: menu.sh:636 -msgid "Invalid MAC" -msgstr "无效的MAC" - -#: menu.sh:646 -msgid "Changing MAC" -msgstr "修改MAC" - -#: menu.sh:649 -msgid "Renewing IP" -msgstr "刷新IP" - -#: menu.sh:652 -msgid "Continue to custom MAC?" -msgstr "继续自定义MAC?" - -#: menu.sh:687 +#: menu.sh:670 msgid "Add/edit a synoinfo item" msgstr "添加/编辑Synoinfo参数" -#: menu.sh:688 +#: menu.sh:671 msgid "Delete synoinfo item(s)" msgstr "删除Synoinfo参数(s)" -#: menu.sh:689 +#: menu.sh:672 msgid "Show synoinfo entries" msgstr "显示Synoinfo参数" -#: menu.sh:700 menu.sh:706 menu.sh:717 menu.sh:725 menu.sh:742 +#: menu.sh:683 menu.sh:689 menu.sh:700 menu.sh:708 menu.sh:725 msgid "Synoinfo" msgstr "Synoinfo" -#: menu.sh:701 +#: menu.sh:684 msgid "Type a name of synoinfo entry" msgstr "输入参数的名称" -#: menu.sh:707 +#: menu.sh:690 msgid "Type a value of '%s' synoinfo entry" msgstr "输入 '%s' 参数的值" -#: menu.sh:718 +#: menu.sh:701 msgid "No synoinfo entries to remove" msgstr "没有Synoinfo参数被删除" -#: menu.sh:726 +#: menu.sh:709 msgid "Select synoinfo entry to remove" msgstr "选择要删除的参数" -#: menu.sh:765 +#: menu.sh:748 msgid "%s cached." msgstr "%s 已缓存." -#: menu.sh:769 +#: menu.sh:752 msgid "Cleaning cache" msgstr "清除缓存" -#: menu.sh:776 +#: menu.sh:759 msgid "" "Based on the current network situation, switch to %s mirror to downloading." msgstr "根据当前的网络状况, 已切换到 %s 镜像服务器进行下载." -#: menu.sh:780 +#: menu.sh:763 msgid "Downloading %s" msgstr "下载 %s 中" -#: menu.sh:791 menu.sh:853 +#: menu.sh:774 menu.sh:836 msgid "Check internet or cache disk space" msgstr "请检查internet或磁盘空间" -#: menu.sh:796 +#: menu.sh:779 msgid "Checking hash of %s: " msgstr "检查 %s 的 hash: " -#: menu.sh:799 +#: menu.sh:782 msgid "md5 Hash of pat not match, try again!" msgstr "pat 的 md5 Hash 不匹配, 请重试!" -#: menu.sh:803 menu.sh:905 menu.sh:915 +#: menu.sh:786 menu.sh:888 menu.sh:898 msgid "OK" msgstr "OK" -#: menu.sh:807 +#: menu.sh:790 msgid "Disassembling %s: " msgstr "解压 %s: " -#: menu.sh:812 +#: menu.sh:795 msgid "Uncompressed tar" msgstr "未压缩tar" -#: menu.sh:816 +#: menu.sh:799 msgid "Compressed tar" msgstr "压缩tar" -#: menu.sh:820 +#: menu.sh:803 msgid "Encrypted" msgstr "已加密" -#: menu.sh:825 +#: menu.sh:808 msgid "" "Could not determine if pat file is encrypted or not, maybe corrupted, try " "again!" msgstr "无法确定pat文件是否加密, 可能已损坏, 请重试!" -#: menu.sh:835 +#: menu.sh:818 msgid "Extractor cached." msgstr "已存在解密程序." -#: menu.sh:842 +#: menu.sh:825 msgid "Downloading old pat to extract synology .pat extractor..." msgstr "下载旧 pat, 提取 .pat 解密程序中..." -#: menu.sh:882 menu.sh:885 +#: menu.sh:865 menu.sh:868 msgid "Extracting..." msgstr "解压中..." -#: menu.sh:897 +#: menu.sh:880 msgid "pat Invalid, try again!" msgstr "无效的 pat, 请重试!" -#: menu.sh:900 +#: menu.sh:883 msgid "Setting hash: " msgstr "设置 hash: " -#: menu.sh:907 +#: menu.sh:890 msgid "Copying files: " msgstr "拷贝文件: " -#: menu.sh:948 +#: menu.sh:931 msgid "Addon %s not found!" msgstr "插件 %s 未找到!" -#: menu.sh:974 menu.sh:1955 +#: menu.sh:957 menu.sh:1974 msgid "Cleaning" msgstr "清除中" -#: menu.sh:976 +#: menu.sh:959 msgid "Ready!" msgstr "已就绪!" -#: menu.sh:989 +#: menu.sh:972 msgid "Switch LKM version:" msgstr "选择LKM版本:" -#: menu.sh:992 +#: menu.sh:975 msgid "Switch direct boot:" msgstr "切换直接启动:" -#: menu.sh:994 +#: menu.sh:977 msgid "Timeout of get ip in boot:" msgstr "启动时获取IP的超时时间:" -#: menu.sh:995 +#: menu.sh:978 msgid "Timeout of boot wait:" msgstr "启动超时时间:" -#: menu.sh:996 +#: menu.sh:979 msgid "kernel switching method:" msgstr "内核切换的方式:" -#: menu.sh:999 -msgid "Switch 'Do not set MACs':" -msgstr "切换'不设置MACs':" +#: menu.sh:982 +msgid "Set static IP" +msgstr "设置静态 IP" -#: menu.sh:1000 +#: menu.sh:983 msgid "Edit user config file manually" msgstr "编辑用户配置文件" -#: menu.sh:1001 +#: menu.sh:984 msgid "Try to recovery a DSM installed system" msgstr "尝试恢复已安装DSM的系统" -#: menu.sh:1002 +#: menu.sh:985 msgid "Show SATA(s) # ports and drives" msgstr "显示SATA(s) # 端口和驱动器" -#: menu.sh:1004 +#: menu.sh:987 msgid "show/modify the current pat data" msgstr "显示/修改当前pat下载链接" -#: menu.sh:1006 +#: menu.sh:989 msgid "Allow downgrade installation" msgstr "允许降级安装" -#: menu.sh:1007 +#: menu.sh:990 msgid "Format disk(s) # Without loader disk" msgstr "格式化磁盘(s) # 不含启动盘" -#: menu.sh:1008 +#: menu.sh:991 msgid "Reset DSM system password" msgstr "重置 DSM 系统密码" -#: menu.sh:1009 +#: menu.sh:992 msgid "Save modifications of '/opt/arpl'" msgstr "保存'/opt/arpl'的修改" -#: menu.sh:1011 +#: menu.sh:994 msgid "Custom dts file # Need rebuild" msgstr "自定义 dts 文件 # 需要重新编译" -#: menu.sh:1014 +#: menu.sh:997 msgid "Backup bootloader disk # test" msgstr "备份启动盘 # 测试" -#: menu.sh:1015 +#: menu.sh:998 msgid "Restore bootloader disk # test" msgstr "恢复启动盘 # 测试" -#: menu.sh:1017 +#: menu.sh:1000 msgid "Install development tools" msgstr "安装开发者工具" -#: menu.sh:1018 +#: menu.sh:1001 msgid "Show dsm logo:" msgstr "显示 dsm logo:" -#: menu.sh:1021 menu.sh:1039 menu.sh:1051 menu.sh:1127 menu.sh:1134 -#: menu.sh:1152 menu.sh:1165 menu.sh:1168 menu.sh:1178 menu.sh:1179 -#: menu.sh:1184 menu.sh:1188 menu.sh:1199 menu.sh:1201 menu.sh:1218 -#: menu.sh:1223 menu.sh:1231 menu.sh:1237 menu.sh:1250 menu.sh:1253 -#: menu.sh:1259 menu.sh:1262 menu.sh:1277 menu.sh:1282 menu.sh:1286 -#: menu.sh:1301 menu.sh:1306 menu.sh:1313 menu.sh:1317 menu.sh:1320 -#: menu.sh:1325 menu.sh:1335 menu.sh:1340 menu.sh:1346 menu.sh:1350 -#: menu.sh:1367 menu.sh:1370 menu.sh:1376 menu.sh:1384 menu.sh:1392 -#: menu.sh:1401 menu.sh:1403 +#: menu.sh:1004 menu.sh:1022 menu.sh:1034 menu.sh:1062 menu.sh:1086 +#: menu.sh:1146 menu.sh:1153 menu.sh:1171 menu.sh:1184 menu.sh:1187 +#: menu.sh:1197 menu.sh:1198 menu.sh:1203 menu.sh:1207 menu.sh:1218 +#: menu.sh:1220 menu.sh:1237 menu.sh:1242 menu.sh:1250 menu.sh:1256 +#: menu.sh:1269 menu.sh:1272 menu.sh:1278 menu.sh:1281 menu.sh:1296 +#: menu.sh:1301 menu.sh:1305 menu.sh:1320 menu.sh:1325 menu.sh:1332 +#: menu.sh:1336 menu.sh:1339 menu.sh:1344 menu.sh:1354 menu.sh:1359 +#: menu.sh:1365 menu.sh:1369 menu.sh:1386 menu.sh:1389 menu.sh:1395 +#: menu.sh:1403 menu.sh:1411 menu.sh:1420 menu.sh:1422 msgid "Advanced" msgstr "高级" -#: menu.sh:1022 menu.sh:1907 +#: menu.sh:1005 menu.sh:1926 msgid "Choose the option" msgstr "设置" -#: menu.sh:1040 menu.sh:1052 +#: menu.sh:1023 menu.sh:1035 msgid "Choose a waiting time(seconds)" msgstr "选择一个等待时间(秒)" -#: menu.sh:1125 +#: menu.sh:1050 +msgid "Temporary IP: (UI will not refresh)" +msgstr "临时 IP: (UI 不会刷新)" + +#: menu.sh:1087 +msgid "Set IP.." +msgstr "设置 IP.." + +#: menu.sh:1144 msgid "\\nTotal of ports: %s\\n" msgstr "\\n端口总数: %s\\n" -#: menu.sh:1126 +#: menu.sh:1145 msgid "" "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "connected." msgstr "\\n\\Z1红色\\Zn 为模拟端口, \\Z2\\Zb绿色\\Zn 为已驱动的物理端口." -#: menu.sh:1133 +#: menu.sh:1152 msgid "pat: (editable)" msgstr "pat: (可编辑)" -#: menu.sh:1149 +#: menu.sh:1168 msgid "" "This feature will allow you to downgrade the installation by removing the " "VERSION file from the first partition of all disks.\\n" msgstr "此功能通过删除所有磁盘的第一个分区的VERSION文件来允许你降级安装.\\n" -#: menu.sh:1150 +#: menu.sh:1169 msgid "Therefore, please insert all disks before continuing.\\n" msgstr "因此, 请插入所有磁盘后再进行操作.\\n" -#: menu.sh:1151 menu.sh:1185 +#: menu.sh:1170 menu.sh:1204 msgid "" "Warning:\\nThis operation is irreversible. Please backup important data. Do " "you want to continue?" msgstr "警告:\\n该操作不可逆, 请提前备份重要数据. 是否继续?" -#: menu.sh:1166 +#: menu.sh:1185 msgid "Removing ..." msgstr "删除中..." -#: menu.sh:1167 +#: menu.sh:1186 msgid "Remove VERSION file for all disks completed." msgstr "已移除所有磁盘的 VERSION 文件." -#: menu.sh:1189 +#: menu.sh:1208 msgid "" "Warning:\\nThe current hds is in raid, do you still want to format them?" msgstr "警告:\\n当前的硬盘处于raid中,是否仍要格式化?" -#: menu.sh:1200 +#: menu.sh:1219 msgid "Formatting ..." msgstr "格式化中..." -#: menu.sh:1202 +#: menu.sh:1221 msgid "Formatting is complete." msgstr "格式化完成." -#: menu.sh:1219 +#: menu.sh:1238 msgid "The installed Syno system not found in the currently inserted disks!" msgstr "未在当前插入的硬盘中找到已安装的syno系统!" -#: menu.sh:1224 +#: menu.sh:1243 msgid "Choose a user name" msgstr "选择一个用户" -#: menu.sh:1232 +#: menu.sh:1251 msgid "Type a new password for user '%s'" msgstr "输入用户 '%s' 的新密码" -#: menu.sh:1238 +#: menu.sh:1257 msgid "Invalid password" msgstr "无效密码" -#: menu.sh:1251 +#: menu.sh:1270 msgid "Resetting ..." msgstr "重置中 ..." -#: menu.sh:1254 +#: menu.sh:1273 msgid "Password reset completed." msgstr "重置密码完成." -#: menu.sh:1260 menu.sh:1318 menu.sh:1371 +#: menu.sh:1279 menu.sh:1337 menu.sh:1390 msgid "" "Warning:\\nDo not terminate midway, otherwise it may cause damage to the " "arpl. Do you want to continue?" msgstr "警告:\\n请不要中途停止, 否则将导致arpl引导损毁, 是否继续?" -#: menu.sh:1263 +#: menu.sh:1282 msgid "Saving ..." msgstr "保存中..." -#: menu.sh:1278 +#: menu.sh:1297 msgid "Save is complete." msgstr "保存完成." -#: menu.sh:1287 +#: menu.sh:1306 msgid "" "Currently, only dts format files are supported. Please prepare and click to " "confirm uploading.\\n(saved in /mnt/p3/users/)" msgstr "" "目前, 只支持dts格式的文件, 请准备并点击确认上传.\\n(保存于 /mnt/p3/users/ 中)" -#: menu.sh:1302 +#: menu.sh:1321 msgid "Not a valid dts file, please try again!" msgstr "dts 文件无效, 请重试!" -#: menu.sh:1307 +#: menu.sh:1326 msgid "A valid dts file, Automatically import at compile time." msgstr "dts 文件有效, 将在编译时自动导入." -#: menu.sh:1321 +#: menu.sh:1340 msgid "Backuping..." msgstr "备份中..." -#: menu.sh:1326 +#: menu.sh:1345 msgid "" "Failed to generate backup. There may be insufficient memory. Please clear " "the cache and try again!" msgstr "生成备份失败, 可能内存不足, 请清除缓存重试!" -#: menu.sh:1333 +#: menu.sh:1352 msgid "Click on the address above to download." msgstr "点击上面的地址下载." -#: menu.sh:1334 +#: menu.sh:1353 msgid "" "Please confirm the completion of the download before closing this window." msgstr "请确认下载完成再关闭此窗口." -#: menu.sh:1341 +#: menu.sh:1360 msgid "backup is complete." msgstr "备份完成." -#: menu.sh:1351 +#: menu.sh:1370 msgid "" "Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) " "compressed file formats are supported." msgstr "请上传备份的文件\\n当前支持 zip(github) 和 img.gz(backup) 格式." -#: menu.sh:1368 +#: menu.sh:1387 msgid "Not a valid .zip/.img.gz file, please try again!" msgstr "不是有效的.zip/.img.gz文件, 请重试!" -#: menu.sh:1377 +#: menu.sh:1396 msgid "Writing..." msgstr "写入中..." -#: menu.sh:1385 +#: menu.sh:1404 msgid "Restore bootloader disk with success to %s!\\nReboot?" msgstr "成功恢复启动盘到 %s!\\n重启?" -#: menu.sh:1393 +#: menu.sh:1412 msgid "" "This option only installs opkg package management, allowing you to install " "more tools for use and debugging. Do you want to continue?" msgstr "" "该选项仅安装 opkg 包管理工具, 使你能够安装更多的工具以供使用和调试, 是否继续?" -#: menu.sh:1402 +#: menu.sh:1421 msgid "opkg installing ..." msgstr "opkg 安装中 ..." -#: menu.sh:1404 +#: menu.sh:1423 msgid "" "opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/." "bashrc'" msgstr "opkg 安装完成. 请重新链接 SSH/web, 或者执行 'source ~/.bashrc'" -#: menu.sh:1419 menu.sh:1456 menu.sh:1463 +#: menu.sh:1438 menu.sh:1475 menu.sh:1482 msgid "Try recovery DSM" msgstr "尝试恢复DSM系统" -#: menu.sh:1420 +#: menu.sh:1439 msgid "Trying to recovery a DSM installed system" msgstr "尝试恢复已安装的DSM系统中" -#: menu.sh:1446 +#: menu.sh:1465 msgid "Found a installation:\\nModel: %s\\nProductversion: %s" msgstr "找到已安装:\\n型号: %s\\n版本: %s" -#: menu.sh:1450 +#: menu.sh:1469 msgid "\\nSerial: %s" msgstr "\\nSN: %s" -#: menu.sh:1464 +#: menu.sh:1483 msgid "Unfortunately I couldn't mount the DSM partition!" msgstr "很遗憾, 我无法挂载DSM分区!" -#: menu.sh:1472 menu.sh:1478 +#: menu.sh:1491 menu.sh:1497 msgid "Edit with caution" msgstr "请谨慎编辑" -#: menu.sh:1500 +#: menu.sh:1519 msgid "Alert" msgstr "警告" -#: menu.sh:1501 +#: menu.sh:1520 msgid "Config changed, would you like to rebuild the loader?" msgstr "配置已更改, 是否重新编译引导?" -#: menu.sh:1513 menu.sh:1897 +#: menu.sh:1532 menu.sh:1916 msgid "Choose a language" msgstr "选择语言" -#: menu.sh:1527 +#: menu.sh:1546 msgid "Choose a layout" msgstr "选择布局" -#: menu.sh:1539 +#: menu.sh:1558 msgid "Choice a keymap" msgstr "选择键盘" -#: menu.sh:1558 menu.sh:1611 menu.sh:1662 menu.sh:1734 menu.sh:1737 -#: menu.sh:1740 menu.sh:1743 menu.sh:1750 menu.sh:1757 menu.sh:1764 -#: menu.sh:1771 +#: menu.sh:1577 menu.sh:1630 menu.sh:1681 menu.sh:1753 menu.sh:1756 +#: menu.sh:1759 menu.sh:1762 menu.sh:1769 menu.sh:1776 menu.sh:1783 +#: menu.sh:1790 msgid "Update %s" msgstr "更新 %s" -#: menu.sh:1561 +#: menu.sh:1580 msgid "Checking last version" msgstr "检测新版本中" -#: menu.sh:1574 menu.sh:1577 +#: menu.sh:1593 menu.sh:1596 msgid "Error checking new version" msgstr "检测新版本错误" -#: menu.sh:1584 +#: menu.sh:1603 msgid "No new version." msgstr "没有新版本." -#: menu.sh:1588 +#: menu.sh:1607 msgid "No new version. Actual version is %s\\nForce update?" msgstr "没有新版本. 实际版本为 %s\\n强制更新?" -#: menu.sh:1593 +#: menu.sh:1612 msgid "Downloading last version" msgstr "下载新版本中" -#: menu.sh:1599 menu.sh:1602 +#: menu.sh:1618 menu.sh:1621 msgid "Error downloading new version" msgstr "下载新版本错误" -#: menu.sh:1613 menu.sh:1664 +#: menu.sh:1632 menu.sh:1683 msgid "Extracting last version" msgstr "解压新版本" -#: menu.sh:1617 +#: menu.sh:1636 msgid "Error extracting update file" msgstr "更新文件解压错误" -#: menu.sh:1624 +#: menu.sh:1643 msgid "Checksum do not match!" msgstr "Checksum不匹配!" -#: menu.sh:1633 +#: menu.sh:1652 msgid "" "The current version does not support upgrading to the latest update.zip. " "Please remake the bootloader disk!" msgstr "当前版本不支持最新的update.zip升级, 请重新制作引导盘!" -#: menu.sh:1638 +#: menu.sh:1657 msgid "Installing new files" msgstr "安装更新中" -#: menu.sh:1655 +#: menu.sh:1674 msgid "Arpl updated with success to %s!\\nReboot?" msgstr "Arpl更新成功 %s!\\n重启?" -#: menu.sh:1670 +#: menu.sh:1689 msgid "Installing new %s" msgstr "安装新 %s 中" -#: menu.sh:1699 menu.sh:1702 +#: menu.sh:1718 menu.sh:1721 msgid "%s updated with success!" msgstr "%s 更新成功!" -#: menu.sh:1716 +#: menu.sh:1735 msgid "Update all" msgstr "更新所有" -#: menu.sh:1717 +#: menu.sh:1736 msgid "Update arpl" msgstr "更新arpl" -#: menu.sh:1718 +#: menu.sh:1737 msgid "Update addons" msgstr "更新插件" -#: menu.sh:1719 +#: menu.sh:1738 msgid "Update modules" msgstr "更新模块" -#: menu.sh:1720 +#: menu.sh:1739 msgid "Update LKMs" msgstr "更新LKMs" -#: menu.sh:1722 +#: menu.sh:1741 msgid "Set proxy server" msgstr "设置代理" -#: menu.sh:1724 +#: menu.sh:1743 msgid "Local upload" msgstr "本地上传" -#: menu.sh:1725 +#: menu.sh:1744 msgid "Pre Release:" msgstr "预发布: " -#: menu.sh:1734 menu.sh:1757 +#: menu.sh:1753 menu.sh:1776 msgid "addons" msgstr "插件" -#: menu.sh:1737 menu.sh:1764 +#: menu.sh:1756 menu.sh:1783 msgid "modules" msgstr "模块" -#: menu.sh:1740 menu.sh:1771 +#: menu.sh:1759 menu.sh:1790 msgid "LKMs" msgstr "LKMs" -#: menu.sh:1743 menu.sh:1750 +#: menu.sh:1762 menu.sh:1769 msgid "arpl" msgstr "arpl" -#: menu.sh:1780 menu.sh:1791 menu.sh:1802 menu.sh:1812 menu.sh:1829 -#: menu.sh:1843 +#: menu.sh:1799 menu.sh:1810 menu.sh:1821 menu.sh:1831 menu.sh:1848 +#: menu.sh:1862 msgid "Update" msgstr "更新" -#: menu.sh:1781 +#: menu.sh:1800 msgid "Please enter a proxy server url" msgstr "请输入代理服务器url" -#: menu.sh:1792 +#: menu.sh:1811 msgid "Invalid proxy server url, continue?" msgstr "无效的代理服务器url, 是否继续?" -#: menu.sh:1807 +#: menu.sh:1826 msgid "" "Please keep the attachment name consistent with the attachment name on " "Github.\\n" msgstr "请保持附件名称与 github 上附件名称一致.\\n" -#: menu.sh:1808 +#: menu.sh:1827 msgid "Upload update.zip will update arpl.\\n" msgstr "上传 update.zip 将更新 arpl.\\n" -#: menu.sh:1809 +#: menu.sh:1828 msgid "Upload addons.zip will update Addons.\\n" msgstr "上传 addons.zip 将更新 插件.\\n" -#: menu.sh:1810 +#: menu.sh:1829 msgid "Upload modules.zip will update Modules.\\n" msgstr "上传 modules.zip 将更新 模块.\\n" -#: menu.sh:1811 +#: menu.sh:1830 msgid "Upload rp-lkms.zip will update LKMs.\\n" msgstr "上传 rp-lkms.zip 将更新 LKMs.\\n" -#: menu.sh:1860 +#: menu.sh:1879 msgid "This person is very lazy and hasn't written anything." msgstr "这个人很懒, 什么也没有写." -#: menu.sh:1861 +#: menu.sh:1880 msgid "Edit" msgstr "编辑" -#: menu.sh:1878 +#: menu.sh:1897 msgid "Choose a model" msgstr "选择型号" -#: menu.sh:1880 +#: menu.sh:1899 msgid "Choose a version" msgstr "选择版本" -#: menu.sh:1882 +#: menu.sh:1901 msgid "Addons menu" msgstr "插件" -#: menu.sh:1883 +#: menu.sh:1902 msgid "Modules menu" msgstr "模块" -#: menu.sh:1884 +#: menu.sh:1903 msgid "Cmdline menu" msgstr "设置Cmdline" -#: menu.sh:1885 +#: menu.sh:1904 msgid "Synoinfo menu" msgstr "设置Synoinfo" -#: menu.sh:1888 +#: menu.sh:1907 msgid "Advanced menu" msgstr "高级设置" -#: menu.sh:1891 +#: menu.sh:1910 msgid "Build the loader" msgstr "编译引导" -#: menu.sh:1895 +#: menu.sh:1914 msgid "Boot the loader" msgstr "启动" -#: menu.sh:1898 +#: menu.sh:1917 msgid "Choose a keymap" msgstr "选择键盘" -#: menu.sh:1900 +#: menu.sh:1919 msgid "Clean disk cache" msgstr "清除磁盘缓存" -#: menu.sh:1902 +#: menu.sh:1921 msgid "Update menu" msgstr "更新" -#: menu.sh:1903 +#: menu.sh:1922 msgid "Notepad" msgstr "备注" -#: menu.sh:1971 +#: menu.sh:1990 msgid "Choose a action" msgstr "选择动作" -#: menu.sh:1972 +#: menu.sh:1991 msgid "Poweroff" msgstr "关机" -#: menu.sh:1973 +#: menu.sh:1992 msgid "Reboot" msgstr "重启" -#: menu.sh:1974 +#: menu.sh:1993 msgid "Reboot to arpl" msgstr "重启到arpl" -#: menu.sh:1975 +#: menu.sh:1994 msgid "Back to shell" msgstr "退出到shell" -#: menu.sh:2001 +#: menu.sh:2020 msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgstr "执行 \\033[1;32mmenu.sh\\033[0m 重新进入设置菜单" diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.mo b/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.mo index 4fd61f0d..70a9cbc1 100644 Binary files a/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.mo and b/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.mo differ diff --git a/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.po b/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.po index c96d941f..ab8bacb9 100644 --- a/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.po +++ b/files/board/arpl/overlayfs/opt/arpl/lang/zh_HK.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: arpl-i18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-26 09:43+0800\n" -"PO-Revision-Date: 2023-09-26 09:43+0800\n" +"POT-Creation-Date: 2023-09-28 20:07+0800\n" +"PO-Revision-Date: 2023-09-28 20:07+0800\n" "Last-Translator: ing \n" "Language-Team: Chinese (HongKong) \n" "Language: zh_HK\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: boot.sh:8 init.sh:169 +#: boot.sh:8 init.sh:159 msgid "Loader is not configured!" msgstr "引導未設置!" @@ -28,12 +28,12 @@ msgstr "Welcome to %s" msgid "DSM zImage changed" msgstr "DSM zImage 已變更" -#: boot.sh:41 boot.sh:54 menu.sh:790 menu.sh:798 menu.sh:824 menu.sh:852 -#: menu.sh:864 menu.sh:888 menu.sh:896 menu.sh:947 menu.sh:960 menu.sh:967 +#: boot.sh:41 boot.sh:54 menu.sh:773 menu.sh:781 menu.sh:807 menu.sh:835 +#: menu.sh:847 menu.sh:871 menu.sh:879 menu.sh:930 menu.sh:943 menu.sh:950 msgid "Error" msgstr "錯誤" -#: boot.sh:42 menu.sh:961 +#: boot.sh:42 menu.sh:944 msgid "zImage not patched:\\n" msgstr "zImage打補丁失敗:\\n" @@ -41,106 +41,96 @@ msgstr "zImage打補丁失敗:\\n" msgid "DSM Ramdisk changed" msgstr "DSM Ramdisk 已變更" -#: boot.sh:55 menu.sh:968 +#: boot.sh:55 menu.sh:951 msgid "Ramdisk not patched:\\n" msgstr "Ramdisk打補丁失敗:\\n" -#: boot.sh:76 +#: boot.sh:73 msgid "Model:" msgstr "型號: " -#: boot.sh:77 +#: boot.sh:74 msgid "Build:" msgstr "版本: " -#: boot.sh:78 +#: boot.sh:75 msgid "LKM: " msgstr "LKM: " -#: boot.sh:79 +#: boot.sh:76 msgid "DMI: " msgstr "" -#: boot.sh:80 +#: boot.sh:77 msgid "CPU: " msgstr "CPU: " -#: boot.sh:81 +#: boot.sh:78 msgid "MEM: " msgstr "MEM: " -#: boot.sh:84 +#: boot.sh:81 msgid "" "The current version of arpl does not support booting %s-%s, please rebuild." msgstr "當前版本的arpl不支持引導 %s-%s, 請重新編譯." -#: boot.sh:125 -msgid "'Not set MACs' is enabled." -msgstr "'不設定MACs' 已開啟." - -#: boot.sh:139 -msgid "" -"Detected %s network cards, %s MACs were customized, the rest will use the " -"original MACs." -msgstr "檢測到 %s 個網卡, 自定義了 %s 個 MACs, 其他網卡將使用自身 MACs." - -#: boot.sh:169 +#: boot.sh:131 msgid "Cmdline:\\n" msgstr "Cmdline:\\n" -#: boot.sh:174 +#: boot.sh:137 msgid "Reboot to boot directly in DSM" msgstr "重啓並直接進入DSM引導" -#: boot.sh:180 init.sh:182 +#: boot.sh:143 init.sh:172 msgid "Detected %s network cards." msgstr "檢測到 %s 個網卡." -#: boot.sh:181 init.sh:183 +#: boot.sh:144 init.sh:173 msgid "Checking Connect." msgstr "檢查連接." -#: boot.sh:201 +#: boot.sh:164 msgid "Waiting IP.(For reference only)" msgstr "獲取 IP.(僅供參考)" -#: boot.sh:208 init.sh:208 +#: boot.sh:171 init.sh:198 msgid "DOWN" msgstr "關閉" -#: boot.sh:212 init.sh:212 +#: boot.sh:175 init.sh:202 msgid "NOT CONNECTED" msgstr "未連接" -#: boot.sh:216 init.sh:216 +#: boot.sh:179 init.sh:206 msgid "TIMEOUT (Please check the IP on the router.)" msgstr "超時 (請檢查路由器上的IP.)" -#: boot.sh:222 +#: boot.sh:185 msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web." msgstr "在瀏覽器中訪問 \\033[1;34mhttp://%s:5000\\033[0m 連結 DSM." -#: boot.sh:234 +#: boot.sh:197 msgid "%2ds (accessing arpl will interrupt boot)" msgstr "%2ds (訪問arpl將中斷啟動)" -#: boot.sh:238 +#: boot.sh:201 msgid "A new access is connected, the boot process is interrupted." msgstr "新的連接, 啟動過程被中斷." -#: boot.sh:249 +#: boot.sh:211 msgid "Loading DSM kernel..." msgstr "加載 DSM kernel..." -#: boot.sh:253 +#: boot.sh:215 msgid "Warning, running kexec with --noefi param, strange things will happen!!" msgstr "警告, 使用'--noefi'參數運行'kexec', 可能有不好的事情發生!!" -#: boot.sh:258 +#: boot.sh:220 msgid "Booting..." msgstr "引導中..." -#: boot.sh:260 +#: boot.sh:222 msgid "" "[This interface will not be operational.\\nPlease wait for a few minutes " "before using the http://find.synology.com/ or Synology Assistant find DSM " @@ -167,53 +157,49 @@ msgstr "掛載 %s 失敗" msgid "Network devices not found!" msgstr "網卡未找到!" -#: init.sh:116 -msgid "Setting %s MAC to %s" -msgstr "設定 %s 的 MAC 為 %s" - -#: init.sh:136 +#: init.sh:126 msgid "Loader disk neither USB or DoM" msgstr "引導磁碟僅支持 USB 或者 DoM" -#: init.sh:144 +#: init.sh:134 msgid "Loader disk:" msgstr "引導盤:" -#: init.sh:151 +#: init.sh:141 msgid "Resizing %s" msgstr "重置 %s 大小" -#: init.sh:162 +#: init.sh:152 msgid "Loading keymap" msgstr "加載keymap" -#: init.sh:172 +#: init.sh:162 msgid "User requested edit settings." msgstr "用戶觸發編輯設定." -#: init.sh:201 +#: init.sh:191 msgid "Waiting IP." msgstr "獲取 IP." -#: init.sh:222 +#: init.sh:212 msgid "" "Access \\033[1;34mhttp://%s:7681\\033[0m to configure the loader via web " "terminal." msgstr "在瀏覽器中訪問 \\033[1;34mhttp://%s:7681\\033[0m 進入WEB終端進行配寘." -#: init.sh:232 +#: init.sh:222 msgid "Call \\033[1;32mmenu.sh\\033[0m to configure loader" msgstr "執行 \\033[1;32mmenu.sh\\033[0m 進入設定選單" -#: init.sh:234 +#: init.sh:224 msgid "User config is on" msgstr "用戶設定檔位於" -#: init.sh:235 +#: init.sh:225 msgid "Default SSH Root password is" msgstr "默認SSH的root密碼為" -#: init.sh:241 +#: init.sh:231 msgid "" "You have less than 4GB of RAM, if errors occur in loader creation, please " "increase the amount of memory." @@ -239,182 +225,187 @@ msgstr "顯示所有型號" msgid "Choose the model" msgstr "選擇型號" -#: menu.sh:164 +#: menu.sh:169 msgid "Choose a product version" msgstr "選擇版本" -#: menu.sh:176 menu.sh:181 menu.sh:187 menu.sh:213 menu.sh:233 +#: menu.sh:179 menu.sh:185 menu.sh:190 menu.sh:196 menu.sh:222 menu.sh:242 msgid "Product Version" msgstr "版本" -#: menu.sh:177 +#: menu.sh:180 +msgid "" +"The current version has been set to %s. Do you want to reset the version?" +msgstr "當前版本已設定為%s. 是否要重置版本?" + +#: menu.sh:186 msgid "" "This version does not support UEFI startup, Please select another version or " "switch the startup mode." msgstr "該版本不支持UEFI啟動, 請選擇其他版本或者切換啟動模式." -#: menu.sh:182 +#: menu.sh:191 msgid "" "This version only support usb startup, Please select another version or " "switch the startup mode." msgstr "該版本僅支持 usb 啟動, 請選擇其他版本或者切換啟動模式." -#: menu.sh:188 +#: menu.sh:197 msgid "Get pat data .." msgstr "獲取pat數據 .." -#: menu.sh:207 +#: menu.sh:216 msgid "" "Failed to get pat data,\\nPlease manually fill in the URL and md5sum of the " "corresponding version of pat." msgstr "獲取pat數據失敗,\\n請手動填寫相應版本pat的URL和MD5." -#: menu.sh:211 +#: menu.sh:220 msgid "Successfully to get pat data,\\nPlease confirm or modify as needed." msgstr "獲取pat數據成功,\\n請確認或者按需修改." -#: menu.sh:214 +#: menu.sh:223 msgid "Retry" msgstr "重試" -#: menu.sh:234 +#: menu.sh:243 msgid "Reconfiguring Synoinfo, Addons and Modules" msgstr "重新配寘 Syninfo, 挿件和模塊" -#: menu.sh:278 menu.sh:416 menu.sh:554 menu.sh:695 menu.sh:1729 +#: menu.sh:286 menu.sh:424 menu.sh:561 menu.sh:678 menu.sh:1748 msgid "Choose a option" msgstr "設定" -#: menu.sh:279 +#: menu.sh:287 msgid "Add an addon" msgstr "添加挿件" -#: menu.sh:280 +#: menu.sh:288 msgid "Delete addon(s)" msgstr "删除挿件(s)" -#: menu.sh:281 +#: menu.sh:289 msgid "Show user addons" msgstr "顯示用戶挿件" -#: menu.sh:282 +#: menu.sh:290 msgid "Show all available addons" msgstr "顯示所有可用挿件" -#: menu.sh:283 +#: menu.sh:291 msgid "Upload a external addon" msgstr "上傳外部挿件" -#: menu.sh:284 menu.sh:421 menu.sh:550 menu.sh:690 menu.sh:1019 menu.sh:1726 -#: menu.sh:1904 menu.sh:1976 +#: menu.sh:292 menu.sh:429 menu.sh:557 menu.sh:673 menu.sh:1002 menu.sh:1745 +#: menu.sh:1923 menu.sh:1995 msgid "Exit" msgstr "退出" -#: menu.sh:296 menu.sh:301 menu.sh:307 menu.sh:319 menu.sh:327 menu.sh:345 -#: menu.sh:359 menu.sh:364 menu.sh:368 menu.sh:382 menu.sh:386 menu.sh:394 -#: menu.sh:397 +#: menu.sh:304 menu.sh:309 menu.sh:315 menu.sh:327 menu.sh:335 menu.sh:353 +#: menu.sh:367 menu.sh:372 menu.sh:376 menu.sh:390 menu.sh:394 menu.sh:402 +#: menu.sh:405 msgid "Addons" msgstr "挿件" -#: menu.sh:297 +#: menu.sh:305 msgid "No available addons to add" msgstr "沒有可用的挿件可添加" -#: menu.sh:302 +#: menu.sh:310 msgid "Select an addon" msgstr "選擇挿件" -#: menu.sh:308 +#: menu.sh:316 msgid "Type a optional params to addon" msgstr "輸入挿件的加載參數" -#: menu.sh:320 +#: menu.sh:328 msgid "No user addons to remove" msgstr "沒有要删除的用戶挿件" -#: menu.sh:328 +#: menu.sh:336 msgid "Select addon to remove" msgstr "選擇要删除的挿件" -#: menu.sh:365 menu.sh:1283 menu.sh:1314 menu.sh:1347 menu.sh:1803 +#: menu.sh:373 menu.sh:1302 menu.sh:1333 menu.sh:1366 menu.sh:1822 msgid "This feature is only available when accessed via web/ssh." msgstr "此功能僅通過web/ssh訪問時可用." -#: menu.sh:369 +#: menu.sh:377 msgid "Please upload the *.addons file." msgstr "請上傳 *.addons 檔案." -#: menu.sh:383 menu.sh:521 menu.sh:1830 menu.sh:1844 +#: menu.sh:391 menu.sh:529 menu.sh:1849 menu.sh:1863 msgid "Not a valid file, please try again!" msgstr "不是有效的檔案, 請重試!" -#: menu.sh:387 +#: menu.sh:395 msgid "The addon already exists. Do you want to overwrite it?" msgstr "該挿件已存在, 是否覆盖?" -#: menu.sh:395 +#: menu.sh:403 msgid "Addon '%s' added to loader, Please enable it in 'Add an addon' menu." msgstr "挿件 '%s' 已添加到引導中, 請在'添加挿件'選單中開啟." -#: menu.sh:398 +#: menu.sh:406 msgid "File format not recognized!" msgstr "檔案格式無法識別!" -#: menu.sh:417 +#: menu.sh:425 msgid "Show/Select modules" msgstr "顯示/選擇模塊" -#: menu.sh:418 +#: menu.sh:426 msgid "Select loaded modules" msgstr "選擇已識別的模塊" -#: menu.sh:419 +#: menu.sh:427 msgid "Upload a external module" msgstr "上傳一個外部模塊" -#: menu.sh:420 +#: menu.sh:428 msgid "Priority use of official drivers:" msgstr "優先使用官方驅動:" -#: menu.sh:427 menu.sh:440 menu.sh:477 menu.sh:497 menu.sh:500 menu.sh:516 -#: menu.sh:520 +#: menu.sh:435 menu.sh:448 menu.sh:485 menu.sh:505 menu.sh:508 menu.sh:524 +#: menu.sh:528 msgid "Modules" msgstr "模塊" -#: menu.sh:428 +#: menu.sh:436 msgid "Reading modules" msgstr "讀取模塊中" -#: menu.sh:441 +#: menu.sh:449 msgid "Select all" msgstr "全選全部" -#: menu.sh:442 +#: menu.sh:450 msgid "Deselect all" msgstr "取消全選" -#: menu.sh:443 +#: menu.sh:451 msgid "Select modules to include" msgstr "選擇要加載的挿件" -#: menu.sh:478 +#: menu.sh:486 msgid "Selecting loaded modules" msgstr "選擇已識別的模塊" -#: menu.sh:492 +#: menu.sh:500 msgid "" "This function is experimental and dangerous. If you don't know much, please " "exit.\\n" msgstr "該功能是實驗性的且危險的, 如果你不瞭解, 請退出.\\n" -#: menu.sh:493 +#: menu.sh:501 msgid "" "The imported .ko of this function will be implanted into the corresponding " "arch's modules package, which will affect all models of the arch.\\n" msgstr "" "該功能導入 .ko 將被植入相應的架構的模塊包中, 這將影響該架構的所有型號.\\n" -#: menu.sh:494 +#: menu.sh:502 msgid "" "This program will not determine the availability of imported modules or even " "make type judgments, as please double check if it is correct.\\n" @@ -422,7 +413,7 @@ msgstr "" "該程式不會判斷導入的驅動模塊的可用性, 甚至不會做類型判斷, 因從請你再三確認是" "否正確.\\n" -#: menu.sh:495 +#: menu.sh:503 msgid "" "If you want to remove it, please go to the \"Update Menu\" -> \"Update " "modules\" to forcibly update the modules. All imports will be reset.\\n" @@ -430,742 +421,731 @@ msgstr "" "如果您想删除它, 請轉到 \"更新\"->\"更新模塊\" 強制更新模塊, 所有導入都將被重" "置.\\n" -#: menu.sh:496 +#: menu.sh:504 msgid "Do you want to continue?" msgstr "是否繼續?" -#: menu.sh:501 +#: menu.sh:509 msgid "Please upload the *.ko file." msgstr "請上傳 *.ko 檔案." -#: menu.sh:517 +#: menu.sh:525 msgid "Module '%s' added to %s-%s" msgstr "模塊 '%s' 已添加到 %s-%s" -#: menu.sh:542 +#: menu.sh:550 msgid "Add/edit a cmdline item" msgstr "添加/編輯cmdline參數" -#: menu.sh:543 +#: menu.sh:551 msgid "Delete cmdline item(s)" msgstr "删除cmdline參數(s)" -#: menu.sh:545 -msgid "Define a serial number" -msgstr "自定義SN" +#: menu.sh:553 +msgid "Define SN/MAC" +msgstr "自定義 SN/MAC" -#: menu.sh:547 -msgid "Define a custom MAC" -msgstr "自定義MAC" - -#: menu.sh:548 +#: menu.sh:555 msgid "Show user added cmdline" msgstr "顯示用戶添加的cmdline參數" -#: menu.sh:549 +#: menu.sh:556 msgid "Show model inherent cmdline" msgstr "顯示型號默認的cmdline參數" -#: menu.sh:559 menu.sh:565 menu.sh:575 menu.sh:583 menu.sh:596 menu.sh:608 -#: menu.sh:625 menu.sh:635 menu.sh:645 menu.sh:648 menu.sh:651 menu.sh:662 -#: menu.sh:670 +#: menu.sh:566 menu.sh:572 menu.sh:582 menu.sh:590 menu.sh:606 menu.sh:616 +#: menu.sh:645 menu.sh:653 msgid "Cmdline" msgstr "Cmdline" -#: menu.sh:560 +#: menu.sh:567 msgid "Type a name of cmdline" msgstr "輸入參數的名稱" -#: menu.sh:566 +#: menu.sh:573 msgid "Type a value of '%s' cmdline" msgstr "輸入 '%s' 參數的值" -#: menu.sh:576 +#: menu.sh:583 msgid "No user cmdline to remove" msgstr "沒有用戶參數被删除" -#: menu.sh:584 +#: menu.sh:591 msgid "Select cmdline to remove" msgstr "選擇要删除的參數" -#: menu.sh:597 -msgid "Please enter a serial number " -msgstr "請輸入 SN " +#: menu.sh:602 +msgid "Note: (MAC will not be set to NIC)" +msgstr "注意: (MAC 不會設定到 NIC)" -#: menu.sh:609 -msgid "Invalid serial, continue?" -msgstr "SN無效, 是否繼續?" +#: menu.sh:607 +msgid "Random" +msgstr "隨機" -#: menu.sh:626 -msgid "Type a custom MAC address of %s" -msgstr "輸入 %s 的自定義MAC地址" +#: menu.sh:617 +msgid "Invalid SN/MAC, retry?" +msgstr "無效 SN/MAC, 重試?" -#: menu.sh:636 -msgid "Invalid MAC" -msgstr "無效的 MAC" - -#: menu.sh:646 -msgid "Changing MAC" -msgstr "修改 MAC" - -#: menu.sh:649 -msgid "Renewing IP" -msgstr "更新 IP" - -#: menu.sh:652 -msgid "Continue to custom MAC?" -msgstr "繼續自定義MAC?" - -#: menu.sh:687 +#: menu.sh:670 msgid "Add/edit a synoinfo item" msgstr "添加/編輯Synoinfo參數" -#: menu.sh:688 +#: menu.sh:671 msgid "Delete synoinfo item(s)" msgstr "删除Synoinfo參數(s)" -#: menu.sh:689 +#: menu.sh:672 msgid "Show synoinfo entries" msgstr "顯示 Synoinfo 參數" -#: menu.sh:700 menu.sh:706 menu.sh:717 menu.sh:725 menu.sh:742 +#: menu.sh:683 menu.sh:689 menu.sh:700 menu.sh:708 menu.sh:725 msgid "Synoinfo" msgstr "Synoinfo" -#: menu.sh:701 +#: menu.sh:684 msgid "Type a name of synoinfo entry" msgstr "輸入參數的名稱" -#: menu.sh:707 +#: menu.sh:690 msgid "Type a value of '%s' synoinfo entry" msgstr "輸入 '%s' 參數的值”" -#: menu.sh:718 +#: menu.sh:701 msgid "No synoinfo entries to remove" msgstr "沒有 Synoinfo 參數被删除" -#: menu.sh:726 +#: menu.sh:709 msgid "Select synoinfo entry to remove" msgstr "選擇要删除的參數" -#: menu.sh:765 +#: menu.sh:748 msgid "%s cached." msgstr "%s 已緩存." -#: menu.sh:769 +#: menu.sh:752 msgid "Cleaning cache" msgstr "清除緩存" -#: menu.sh:776 +#: menu.sh:759 msgid "" "Based on the current network situation, switch to %s mirror to downloading." msgstr "根據當前的網絡狀況, 已切換到 %s 鏡像伺服器進行下載." -#: menu.sh:780 +#: menu.sh:763 msgid "Downloading %s" msgstr "下載 %s 中" -#: menu.sh:791 menu.sh:853 +#: menu.sh:774 menu.sh:836 msgid "Check internet or cache disk space" msgstr "請檢查internet或磁碟空間" -#: menu.sh:796 +#: menu.sh:779 msgid "Checking hash of %s: " msgstr "檢查 %s 的 hash: " -#: menu.sh:799 +#: menu.sh:782 msgid "md5 Hash of pat not match, try again!" msgstr "pat 的 md5 Hash 不匹配, 請重試!" -#: menu.sh:803 menu.sh:905 menu.sh:915 +#: menu.sh:786 menu.sh:888 menu.sh:898 msgid "OK" msgstr "OK" -#: menu.sh:807 +#: menu.sh:790 msgid "Disassembling %s: " msgstr "解壓 %s: " -#: menu.sh:812 +#: menu.sh:795 msgid "Uncompressed tar" msgstr "未壓縮 tar" -#: menu.sh:816 +#: menu.sh:799 msgid "Compressed tar" msgstr "壓縮 tar" -#: menu.sh:820 +#: menu.sh:803 msgid "Encrypted" msgstr "已加密" -#: menu.sh:825 +#: menu.sh:808 msgid "" "Could not determine if pat file is encrypted or not, maybe corrupted, try " "again!" msgstr "無法確定pat檔案是否加密, 可能已損壞, 請重試!" -#: menu.sh:835 +#: menu.sh:818 msgid "Extractor cached." msgstr "已存在解密程式." -#: menu.sh:842 +#: menu.sh:825 msgid "Downloading old pat to extract synology .pat extractor..." msgstr "下載舊 pat, 選取 .pat 解密程式中..." -#: menu.sh:882 menu.sh:885 +#: menu.sh:865 menu.sh:868 msgid "Extracting..." msgstr "解壓中..." -#: menu.sh:897 +#: menu.sh:880 msgid "pat Invalid, try again!" msgstr "無效的 pat, 請重試!" -#: menu.sh:900 +#: menu.sh:883 msgid "Setting hash: " msgstr "設定 hash: " -#: menu.sh:907 +#: menu.sh:890 msgid "Copying files: " msgstr "拷貝檔案: " -#: menu.sh:948 +#: menu.sh:931 msgid "Addon %s not found!" msgstr "挿件 %s 未找到!" -#: menu.sh:974 menu.sh:1955 +#: menu.sh:957 menu.sh:1974 msgid "Cleaning" msgstr "清除中" -#: menu.sh:976 +#: menu.sh:959 msgid "Ready!" msgstr "已就绪!" -#: menu.sh:989 +#: menu.sh:972 msgid "Switch LKM version:" msgstr "選擇LKM版本:" -#: menu.sh:992 +#: menu.sh:975 msgid "Switch direct boot:" msgstr "切換直接啟動:" -#: menu.sh:994 +#: menu.sh:977 msgid "Timeout of get ip in boot:" msgstr "啟動時取得 IP 的超時時間:" -#: menu.sh:995 +#: menu.sh:978 msgid "Timeout of boot wait:" msgstr "啟動超時時間:" -#: menu.sh:996 +#: menu.sh:979 msgid "kernel switching method:" msgstr "內核切換的管道:" -#: menu.sh:999 -msgid "Switch 'Do not set MACs':" -msgstr "切換'不設定MACs':" +#: menu.sh:982 +msgid "Set static IP" +msgstr "設定靜態 IP" -#: menu.sh:1000 +#: menu.sh:983 msgid "Edit user config file manually" msgstr "編輯用戶設定檔" -#: menu.sh:1001 +#: menu.sh:984 msgid "Try to recovery a DSM installed system" msgstr "嘗試恢復已安裝DSM的系統" -#: menu.sh:1002 +#: menu.sh:985 msgid "Show SATA(s) # ports and drives" msgstr "顯示SATA(s) # 埠和驅動器" -#: menu.sh:1004 +#: menu.sh:987 msgid "show/modify the current pat data" msgstr "顯示/修改當前pat下載連結" -#: menu.sh:1006 +#: menu.sh:989 msgid "Allow downgrade installation" msgstr "允許降級安裝" -#: menu.sh:1007 +#: menu.sh:990 msgid "Format disk(s) # Without loader disk" msgstr "格式化磁碟(s) # 不含開機磁碟" -#: menu.sh:1008 +#: menu.sh:991 msgid "Reset DSM system password" msgstr "重置 DSM 系統密碼" -#: menu.sh:1009 +#: menu.sh:992 msgid "Save modifications of '/opt/arpl'" msgstr "保存'/opt/arpl'的修改" -#: menu.sh:1011 +#: menu.sh:994 msgid "Custom dts file # Need rebuild" msgstr "自定義dts檔案 # 需要重新編譯" -#: menu.sh:1014 +#: menu.sh:997 msgid "Backup bootloader disk # test" msgstr "備份開機磁碟 # 測試" -#: menu.sh:1015 +#: menu.sh:998 msgid "Restore bootloader disk # test" msgstr "恢復開機磁碟 # 測試" -#: menu.sh:1017 +#: menu.sh:1000 msgid "Install development tools" msgstr "安裝開發者工具" -#: menu.sh:1018 +#: menu.sh:1001 msgid "Show dsm logo:" msgstr "顯示 dsm logo:" -#: menu.sh:1021 menu.sh:1039 menu.sh:1051 menu.sh:1127 menu.sh:1134 -#: menu.sh:1152 menu.sh:1165 menu.sh:1168 menu.sh:1178 menu.sh:1179 -#: menu.sh:1184 menu.sh:1188 menu.sh:1199 menu.sh:1201 menu.sh:1218 -#: menu.sh:1223 menu.sh:1231 menu.sh:1237 menu.sh:1250 menu.sh:1253 -#: menu.sh:1259 menu.sh:1262 menu.sh:1277 menu.sh:1282 menu.sh:1286 -#: menu.sh:1301 menu.sh:1306 menu.sh:1313 menu.sh:1317 menu.sh:1320 -#: menu.sh:1325 menu.sh:1335 menu.sh:1340 menu.sh:1346 menu.sh:1350 -#: menu.sh:1367 menu.sh:1370 menu.sh:1376 menu.sh:1384 menu.sh:1392 -#: menu.sh:1401 menu.sh:1403 +#: menu.sh:1004 menu.sh:1022 menu.sh:1034 menu.sh:1062 menu.sh:1086 +#: menu.sh:1146 menu.sh:1153 menu.sh:1171 menu.sh:1184 menu.sh:1187 +#: menu.sh:1197 menu.sh:1198 menu.sh:1203 menu.sh:1207 menu.sh:1218 +#: menu.sh:1220 menu.sh:1237 menu.sh:1242 menu.sh:1250 menu.sh:1256 +#: menu.sh:1269 menu.sh:1272 menu.sh:1278 menu.sh:1281 menu.sh:1296 +#: menu.sh:1301 menu.sh:1305 menu.sh:1320 menu.sh:1325 menu.sh:1332 +#: menu.sh:1336 menu.sh:1339 menu.sh:1344 menu.sh:1354 menu.sh:1359 +#: menu.sh:1365 menu.sh:1369 menu.sh:1386 menu.sh:1389 menu.sh:1395 +#: menu.sh:1403 menu.sh:1411 menu.sh:1420 menu.sh:1422 msgid "Advanced" msgstr "高級" -#: menu.sh:1022 menu.sh:1907 +#: menu.sh:1005 menu.sh:1926 msgid "Choose the option" msgstr "設定" -#: menu.sh:1040 menu.sh:1052 +#: menu.sh:1023 menu.sh:1035 msgid "Choose a waiting time(seconds)" msgstr "選擇一個等待時間(秒)" -#: menu.sh:1125 +#: menu.sh:1050 +msgid "Temporary IP: (UI will not refresh)" +msgstr "臨時 IP: (UI 不會重繪)" + +#: menu.sh:1087 +msgid "Set IP.." +msgstr "設定 IP.." + +#: menu.sh:1144 msgid "\\nTotal of ports: %s\\n" msgstr "\\n埠總數: %s\\n" -#: menu.sh:1126 +#: menu.sh:1145 msgid "" "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "connected." msgstr "\\n\\Z1红色\\Zn 為類比埠, \\Z2\\Zb绿色\\Zn 為已驅動的物理埠." -#: menu.sh:1133 +#: menu.sh:1152 msgid "pat: (editable)" msgstr "pat: (可編輯)" -#: menu.sh:1149 +#: menu.sh:1168 msgid "" "This feature will allow you to downgrade the installation by removing the " "VERSION file from the first partition of all disks.\\n" msgstr "此功能通過删除所有磁碟的第一個分區的VERSION檔案來允許你降級安裝.\\n" -#: menu.sh:1150 +#: menu.sh:1169 msgid "Therefore, please insert all disks before continuing.\\n" msgstr "囙此, 請插入所有磁碟後再進行操作.\\n" -#: menu.sh:1151 menu.sh:1185 +#: menu.sh:1170 menu.sh:1204 msgid "" "Warning:\\nThis operation is irreversible. Please backup important data. Do " "you want to continue?" msgstr "警告:\\n該操作不可逆, 請提前備份重要數據. 是否繼續?" -#: menu.sh:1166 +#: menu.sh:1185 msgid "Removing ..." msgstr "删除中..." -#: menu.sh:1167 +#: menu.sh:1186 msgid "Remove VERSION file for all disks completed." msgstr "已移除所有磁碟的 VERSION 檔案." -#: menu.sh:1189 +#: menu.sh:1208 msgid "" "Warning:\\nThe current hds is in raid, do you still want to format them?" msgstr "警告:\\n當前的硬碟處於raid中, 是否仍要格式化?" -#: menu.sh:1200 +#: menu.sh:1219 msgid "Formatting ..." msgstr "格式化中..." -#: menu.sh:1202 +#: menu.sh:1221 msgid "Formatting is complete." msgstr "格式化完成." -#: menu.sh:1219 +#: menu.sh:1238 msgid "The installed Syno system not found in the currently inserted disks!" msgstr "未在當前插入的硬碟中找到已安裝的syno系統!" -#: menu.sh:1224 +#: menu.sh:1243 msgid "Choose a user name" msgstr "選擇一個用戶" -#: menu.sh:1232 +#: menu.sh:1251 msgid "Type a new password for user '%s'" msgstr "輸入用戶 '%s' 的新密碼" -#: menu.sh:1238 +#: menu.sh:1257 msgid "Invalid password" msgstr "無效密碼" -#: menu.sh:1251 +#: menu.sh:1270 msgid "Resetting ..." msgstr "重置中 ..." -#: menu.sh:1254 +#: menu.sh:1273 msgid "Password reset completed." msgstr "重置密碼完成." -#: menu.sh:1260 menu.sh:1318 menu.sh:1371 +#: menu.sh:1279 menu.sh:1337 menu.sh:1390 msgid "" "Warning:\\nDo not terminate midway, otherwise it may cause damage to the " "arpl. Do you want to continue?" msgstr "警告:\\n請不要中途停止, 否則將導致arpl引導損毀, 是否繼續?" -#: menu.sh:1263 +#: menu.sh:1282 msgid "Saving ..." msgstr "保存中..." -#: menu.sh:1278 +#: menu.sh:1297 msgid "Save is complete." msgstr "保存完成." -#: menu.sh:1287 +#: menu.sh:1306 msgid "" "Currently, only dts format files are supported. Please prepare and click to " "confirm uploading.\\n(saved in /mnt/p3/users/)" msgstr "" +"現時, 只支持dts格式的檔案, 請準備並點擊確認上傳.\\n(保存於 /mnt/p3/users/ 中)" -#: menu.sh:1302 +#: menu.sh:1321 msgid "Not a valid dts file, please try again!" msgstr "dts 檔案無效, 請重試!" -#: menu.sh:1307 +#: menu.sh:1326 msgid "A valid dts file, Automatically import at compile time." msgstr "dts 檔案有效, 將在編譯時自動導入." -#: menu.sh:1321 +#: menu.sh:1340 msgid "Backuping..." msgstr "備份中..." -#: menu.sh:1326 +#: menu.sh:1345 msgid "" "Failed to generate backup. There may be insufficient memory. Please clear " "the cache and try again!" msgstr "生成備份失敗, 可能記憶體不足, 請清除緩存重試!" -#: menu.sh:1333 +#: menu.sh:1352 msgid "Click on the address above to download." msgstr "點擊上面的地址下載." -#: menu.sh:1334 +#: menu.sh:1353 msgid "" "Please confirm the completion of the download before closing this window." msgstr "請確認下載完成再關閉此視窗." -#: menu.sh:1341 +#: menu.sh:1360 msgid "backup is complete." msgstr "備份完成." -#: menu.sh:1351 +#: menu.sh:1370 msgid "" "Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) " "compressed file formats are supported." msgstr "請上傳備份的檔案\\n當前支持 zip(github) 和 img.gz(backup) 格式." -#: menu.sh:1368 +#: menu.sh:1387 msgid "Not a valid .zip/.img.gz file, please try again!" msgstr "不是有效的.zip/.img.gz檔案, 請重試!" -#: menu.sh:1377 +#: menu.sh:1396 msgid "Writing..." msgstr "寫入中..." -#: menu.sh:1385 +#: menu.sh:1404 msgid "Restore bootloader disk with success to %s!\\nReboot?" msgstr "成功恢復開機磁碟到 %s!\\n重啓?" -#: menu.sh:1393 +#: menu.sh:1412 msgid "" "This option only installs opkg package management, allowing you to install " "more tools for use and debugging. Do you want to continue?" msgstr "" +"該選項僅安裝 opkg 包管理工具, 使你能够安裝更多的工具以供使用和調試, 是否繼續?" -#: menu.sh:1402 +#: menu.sh:1421 msgid "opkg installing ..." msgstr "opkg 安裝中 ..." -#: menu.sh:1404 +#: menu.sh:1423 msgid "" "opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/." "bashrc'" msgstr "opkg 安裝完成. 請重新連結 SSH/web, 或者執行 'source ~/.bashrc'" -#: menu.sh:1419 menu.sh:1456 menu.sh:1463 +#: menu.sh:1438 menu.sh:1475 menu.sh:1482 msgid "Try recovery DSM" msgstr "嘗試恢復DSM系統" -#: menu.sh:1420 +#: menu.sh:1439 msgid "Trying to recovery a DSM installed system" msgstr "嘗試恢復已安裝的DSM系統中" -#: menu.sh:1446 +#: menu.sh:1465 msgid "Found a installation:\\nModel: %s\\nProductversion: %s" msgstr "找到已安裝:\\n型號: %s\\n版本: %s" -#: menu.sh:1450 +#: menu.sh:1469 msgid "\\nSerial: %s" msgstr "\\nSN: %s" -#: menu.sh:1464 +#: menu.sh:1483 msgid "Unfortunately I couldn't mount the DSM partition!" msgstr "很遺憾, 我無法掛載DSM分區!" -#: menu.sh:1472 menu.sh:1478 +#: menu.sh:1491 menu.sh:1497 msgid "Edit with caution" msgstr "請謹慎編輯" -#: menu.sh:1500 +#: menu.sh:1519 msgid "Alert" msgstr "警告" -#: menu.sh:1501 +#: menu.sh:1520 msgid "Config changed, would you like to rebuild the loader?" msgstr "配寘已更改, 是否重新編譯引導?" -#: menu.sh:1513 menu.sh:1897 +#: menu.sh:1532 menu.sh:1916 msgid "Choose a language" msgstr "選擇語言" -#: menu.sh:1527 +#: menu.sh:1546 msgid "Choose a layout" msgstr "選擇佈局" -#: menu.sh:1539 +#: menu.sh:1558 msgid "Choice a keymap" msgstr "選擇鍵盤" -#: menu.sh:1558 menu.sh:1611 menu.sh:1662 menu.sh:1734 menu.sh:1737 -#: menu.sh:1740 menu.sh:1743 menu.sh:1750 menu.sh:1757 menu.sh:1764 -#: menu.sh:1771 +#: menu.sh:1577 menu.sh:1630 menu.sh:1681 menu.sh:1753 menu.sh:1756 +#: menu.sh:1759 menu.sh:1762 menu.sh:1769 menu.sh:1776 menu.sh:1783 +#: menu.sh:1790 msgid "Update %s" msgstr "更新 %s" -#: menu.sh:1561 +#: menu.sh:1580 msgid "Checking last version" msgstr "檢測新版本中" -#: menu.sh:1574 menu.sh:1577 +#: menu.sh:1593 menu.sh:1596 msgid "Error checking new version" msgstr "檢測新版本錯誤" -#: menu.sh:1584 +#: menu.sh:1603 msgid "No new version." msgstr "沒有新版本." -#: menu.sh:1588 +#: menu.sh:1607 msgid "No new version. Actual version is %s\\nForce update?" msgstr "沒有新版本. 實際版本為 %s\\n強制更新?" -#: menu.sh:1593 +#: menu.sh:1612 msgid "Downloading last version" msgstr "下載新版本中" -#: menu.sh:1599 menu.sh:1602 +#: menu.sh:1618 menu.sh:1621 msgid "Error downloading new version" msgstr "下載新版本錯誤" -#: menu.sh:1613 menu.sh:1664 +#: menu.sh:1632 menu.sh:1683 msgid "Extracting last version" msgstr "解壓新版本" -#: menu.sh:1617 +#: menu.sh:1636 msgid "Error extracting update file" msgstr "更新檔案解壓錯誤" -#: menu.sh:1624 +#: menu.sh:1643 msgid "Checksum do not match!" msgstr "Checksum不匹配!" -#: menu.sh:1633 +#: menu.sh:1652 msgid "" "The current version does not support upgrading to the latest update.zip. " "Please remake the bootloader disk!" msgstr "當前版本不支持最新的update.zip陞級, 請重新製作引導盤!" -#: menu.sh:1638 +#: menu.sh:1657 msgid "Installing new files" msgstr "安裝更新中" -#: menu.sh:1655 +#: menu.sh:1674 msgid "Arpl updated with success to %s!\\nReboot?" msgstr "Arpl更新成功 %s!\\n重啓?" -#: menu.sh:1670 +#: menu.sh:1689 msgid "Installing new %s" msgstr "安裝新 %s 中" -#: menu.sh:1699 menu.sh:1702 +#: menu.sh:1718 menu.sh:1721 msgid "%s updated with success!" msgstr "%s 更新成功!" -#: menu.sh:1716 +#: menu.sh:1735 msgid "Update all" msgstr "更新所有" -#: menu.sh:1717 +#: menu.sh:1736 msgid "Update arpl" msgstr "更新arpl" -#: menu.sh:1718 +#: menu.sh:1737 msgid "Update addons" msgstr "更新挿件" -#: menu.sh:1719 +#: menu.sh:1738 msgid "Update modules" msgstr "更新模塊" -#: menu.sh:1720 +#: menu.sh:1739 msgid "Update LKMs" msgstr "更新LKMs" -#: menu.sh:1722 +#: menu.sh:1741 msgid "Set proxy server" msgstr "設定代理" -#: menu.sh:1724 +#: menu.sh:1743 msgid "Local upload" msgstr "本地上傳" -#: menu.sh:1725 +#: menu.sh:1744 msgid "Pre Release:" msgstr "預發佈: " -#: menu.sh:1734 menu.sh:1757 +#: menu.sh:1753 menu.sh:1776 msgid "addons" msgstr "挿件" -#: menu.sh:1737 menu.sh:1764 +#: menu.sh:1756 menu.sh:1783 msgid "modules" msgstr "模塊" -#: menu.sh:1740 menu.sh:1771 +#: menu.sh:1759 menu.sh:1790 msgid "LKMs" msgstr "LKMs" -#: menu.sh:1743 menu.sh:1750 +#: menu.sh:1762 menu.sh:1769 msgid "arpl" msgstr "arpl" -#: menu.sh:1780 menu.sh:1791 menu.sh:1802 menu.sh:1812 menu.sh:1829 -#: menu.sh:1843 +#: menu.sh:1799 menu.sh:1810 menu.sh:1821 menu.sh:1831 menu.sh:1848 +#: menu.sh:1862 msgid "Update" msgstr "更新" -#: menu.sh:1781 +#: menu.sh:1800 msgid "Please enter a proxy server url" msgstr "請輸入代理伺服器url" -#: menu.sh:1792 +#: menu.sh:1811 msgid "Invalid proxy server url, continue?" msgstr "無效的代理伺服器url, 是否繼續?" -#: menu.sh:1807 +#: menu.sh:1826 msgid "" "Please keep the attachment name consistent with the attachment name on " "Github.\\n" msgstr "請保持附件名稱與github上附件名稱一致.\\n" -#: menu.sh:1808 +#: menu.sh:1827 msgid "Upload update.zip will update arpl.\\n" msgstr "上傳 update.zip 将更新 arpl.\\n" -#: menu.sh:1809 +#: menu.sh:1828 msgid "Upload addons.zip will update Addons.\\n" msgstr "上傳 addons.zip 将更新 挿件.\\n" -#: menu.sh:1810 +#: menu.sh:1829 msgid "Upload modules.zip will update Modules.\\n" msgstr "上傳 modules.zip 将更新 模塊.\\n" -#: menu.sh:1811 +#: menu.sh:1830 msgid "Upload rp-lkms.zip will update LKMs.\\n" msgstr "上傳 rp-lkms.zip 将更新 LKMs.\\n" -#: menu.sh:1860 +#: menu.sh:1879 msgid "This person is very lazy and hasn't written anything." msgstr "這個人很懶, 什麼也沒有寫." -#: menu.sh:1861 +#: menu.sh:1880 msgid "Edit" msgstr "編輯" -#: menu.sh:1878 +#: menu.sh:1897 msgid "Choose a model" msgstr "選擇型號" -#: menu.sh:1880 +#: menu.sh:1899 msgid "Choose a version" msgstr "選擇版本" -#: menu.sh:1882 +#: menu.sh:1901 msgid "Addons menu" msgstr "挿件" -#: menu.sh:1883 +#: menu.sh:1902 msgid "Modules menu" msgstr "模塊" -#: menu.sh:1884 +#: menu.sh:1903 msgid "Cmdline menu" msgstr "設定 Cmdline" -#: menu.sh:1885 +#: menu.sh:1904 msgid "Synoinfo menu" msgstr "設定 Synoinfo" -#: menu.sh:1888 +#: menu.sh:1907 msgid "Advanced menu" msgstr "高級設定" -#: menu.sh:1891 +#: menu.sh:1910 msgid "Build the loader" msgstr "編譯引導" -#: menu.sh:1895 +#: menu.sh:1914 msgid "Boot the loader" msgstr "啟動" -#: menu.sh:1898 +#: menu.sh:1917 msgid "Choose a keymap" msgstr "選擇鍵盤" -#: menu.sh:1900 +#: menu.sh:1919 msgid "Clean disk cache" msgstr "清除磁碟緩存" -#: menu.sh:1902 +#: menu.sh:1921 msgid "Update menu" msgstr "更新" -#: menu.sh:1903 +#: menu.sh:1922 msgid "Notepad" msgstr "備註" -#: menu.sh:1971 +#: menu.sh:1990 msgid "Choose a action" msgstr "選擇動作" -#: menu.sh:1972 +#: menu.sh:1991 msgid "Poweroff" msgstr "關機" -#: menu.sh:1973 +#: menu.sh:1992 msgid "Reboot" msgstr "重啓" -#: menu.sh:1974 +#: menu.sh:1993 msgid "Reboot to arpl" msgstr "重啓到arpl" -#: menu.sh:1975 +#: menu.sh:1994 msgid "Back to shell" msgstr "退出到shell" -#: menu.sh:2001 +#: menu.sh:2020 msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgstr "執行 \\033[1;32mmenu.sh\\033[0m 重新進入設定選單" diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index e69e6d8f..67d00216 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -29,13 +29,13 @@ KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")" LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")" DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")" DIRECTBOOT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")" -NOTSETMACS="$(readConfigKey "notsetmacs" "${USER_CONFIG_FILE}")" PRERELEASE="$(readConfigKey "prerelease" "${USER_CONFIG_FILE}")" BOOTWAIT="$(readConfigKey "bootwait" "${USER_CONFIG_FILE}")" BOOTIPWAIT="$(readConfigKey "bootipwait" "${USER_CONFIG_FILE}")" KERNELWAY="$(readConfigKey "kernelway" "${USER_CONFIG_FILE}")" -ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")" # official drivers priorities +ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")" # official drivers priorities SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")" +MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")" ############################################################################### # Mounts backtitle dynamically @@ -151,6 +151,11 @@ function modelMenu() { writeConfigKey "patsum" "" "${USER_CONFIG_FILE}" SN=$(generateSerial "${MODEL}") writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" + NETIF_NUM=1 + MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM})) + for I in $(seq 1 ${NETIF_NUM}); do + writeConfigKey "mac${I}" "${MACS[$((${I} - 1))]}" "${USER_CONFIG_FILE}" + done DIRTY=1 fi } @@ -170,92 +175,95 @@ function productversMenu() { if ! arrayExistItem "${1}" ${ITEMS}; then return; fi resp="${1}" fi - if [ "${PRODUCTVER}" != "${resp}" ]; then - local KVER=$(readModelKey "${MODEL}" "productvers.[${resp}].kver") - if [ -d "/sys/firmware/efi" -a "${KVER:0:1}" = "3" ]; then - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ - --msgbox "$(TEXT "This version does not support UEFI startup, Please select another version or switch the startup mode.")" 0 0 - return - fi - if [ ! "usb" = "$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2)" -a "${KVER:0:1}" = "5" ]; then - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ - --msgbox "$(TEXT "This version only support usb startup, Please select another version or switch the startup mode.")" 0 0 - # return - fi - while true; do - # get online pat data - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ - --infobox "$(TEXT "Get pat data ..")" 0 0 - idx=0 - while [ ${idx} -le 3 ]; do # Loop 3 times, if successful, break - fastest=$(_get_fastest "www.synology.com" "www.synology.cn") - [ "${fastest}" = "www.synology.cn" ] && - fastest="https://www.synology.cn/api/support/findDownloadInfo?lang=zh-cn" || - fastest="https://www.synology.com/api/support/findDownloadInfo?lang=en-us" - patdata=$(curl -skL "${fastest}&product=${MODEL/+/%2B}&major=${resp%%.*}&minor=${resp##*.}") - if [ "$(echo ${patdata} | jq -r '.success' 2>/dev/null)" = "true" ]; then - if echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].label_ext' 2>/dev/null | grep -q 'pat'; then - paturl=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].url') - patsum=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].checksum') - paturl=${paturl%%\?*} - break - fi - fi - idx=$((${idx} + 1)) - done - if [ -z "${paturl}" -o -z "${patsum}" ]; then - MSG="$(TEXT "Failed to get pat data,\nPlease manually fill in the URL and md5sum of the corresponding version of pat.")" - paturl="" - patsum="" - else - MSG="$(TEXT "Successfully to get pat data,\nPlease confirm or modify as needed.")" - fi - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ - --extra-button --extra-label "$(TEXT "Retry")" \ - --form "${MSG}" 10 110 2 "URL" 1 1 "${paturl}" 1 5 100 0 "MD5" 2 1 "${patsum}" 2 5 100 0 \ - 2>"${TMP_PATH}/resp" - RET=$? - [ ${RET} -eq 0 ] && break # ok-button - [ ${RET} -eq 3 ] && continue # extra-button - return # 1 or 255 # cancel-button or ESC - done - paturl="$(cat "${TMP_PATH}/resp" | tail -n +1 | head -1)" - patsum="$(cat "${TMP_PATH}/resp" | tail -n +2 | head -1)" - [ -z "${paturl}" -o -z "${patsum}" ] && return - writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}" - writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}" - PRODUCTVER=${resp} - writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}" - BUILDNUM="" - SMALLNUM="" - writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}" - writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}" + if [ "${PRODUCTVER}" = "${resp}" ]; then dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ - --infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules")" 0 0 - # Delete synoinfo and reload model/build synoinfo - writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}" - while IFS=': ' read KEY VALUE; do - writeConfigKey "synoinfo.${KEY}" "${VALUE}" "${USER_CONFIG_FILE}" - done < <(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo") - # Check addons - PLATFORM="$(readModelKey "${MODEL}" "platform")" - KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")" - KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")" - while IFS=': ' read ADDON PARAM; do - [ -z "${ADDON}" ] && continue - if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then - deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}" - fi - done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") - # Rebuild modules - writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" - while read ID DESC; do - writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}" - done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}") - # Remove old files - rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" - DIRTY=1 + --yesno "$(printf "$(TEXT "The current version has been set to %s. Do you want to reset the version?")" "${PRODUCTVER}")" 0 0 + [ $? -ne 0 ] && return fi + local KVER=$(readModelKey "${MODEL}" "productvers.[${resp}].kver") + if [ -d "/sys/firmware/efi" -a "${KVER:0:1}" = "3" ]; then + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ + --msgbox "$(TEXT "This version does not support UEFI startup, Please select another version or switch the startup mode.")" 0 0 + return + fi + if [ ! "usb" = "$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2)" -a "${KVER:0:1}" = "5" ]; then + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ + --msgbox "$(TEXT "This version only support usb startup, Please select another version or switch the startup mode.")" 0 0 + # return + fi + while true; do + # get online pat data + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ + --infobox "$(TEXT "Get pat data ..")" 0 0 + idx=0 + while [ ${idx} -le 3 ]; do # Loop 3 times, if successful, break + fastest=$(_get_fastest "www.synology.com" "www.synology.cn") + [ "${fastest}" = "www.synology.cn" ] && + fastest="https://www.synology.cn/api/support/findDownloadInfo?lang=zh-cn" || + fastest="https://www.synology.com/api/support/findDownloadInfo?lang=en-us" + patdata=$(curl -skL "${fastest}&product=${MODEL/+/%2B}&major=${resp%%.*}&minor=${resp##*.}") + if [ "$(echo ${patdata} | jq -r '.success' 2>/dev/null)" = "true" ]; then + if echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].label_ext' 2>/dev/null | grep -q 'pat'; then + paturl=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].url') + patsum=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].checksum') + paturl=${paturl%%\?*} + break + fi + fi + idx=$((${idx} + 1)) + done + if [ -z "${paturl}" -o -z "${patsum}" ]; then + MSG="$(TEXT "Failed to get pat data,\nPlease manually fill in the URL and md5sum of the corresponding version of pat.")" + paturl="" + patsum="" + else + MSG="$(TEXT "Successfully to get pat data,\nPlease confirm or modify as needed.")" + fi + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ + --extra-button --extra-label "$(TEXT "Retry")" \ + --form "${MSG}" 10 110 2 "URL" 1 1 "${paturl}" 1 5 100 0 "MD5" 2 1 "${patsum}" 2 5 100 0 \ + 2>"${TMP_PATH}/resp" + RET=$? + [ ${RET} -eq 0 ] && break # ok-button + [ ${RET} -eq 3 ] && continue # extra-button + return # 1 or 255 # cancel-button or ESC + done + paturl="$(cat "${TMP_PATH}/resp" | sed -n '1p')" + patsum="$(cat "${TMP_PATH}/resp" | sed -n '2p')" + [ -z "${paturl}" -o -z "${patsum}" ] && return + writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}" + writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}" + PRODUCTVER=${resp} + writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}" + BUILDNUM="" + SMALLNUM="" + writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}" + writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}" + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Product Version")" \ + --infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules")" 0 0 + # Delete synoinfo and reload model/build synoinfo + writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}" + while IFS=': ' read KEY VALUE; do + writeConfigKey "synoinfo.${KEY}" "${VALUE}" "${USER_CONFIG_FILE}" + done < <(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo") + # Check addons + PLATFORM="$(readModelKey "${MODEL}" "platform")" + KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")" + KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")" + while IFS=': ' read ADDON PARAM; do + [ -z "${ADDON}" ] && continue + if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then + deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}" + fi + done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") + # Rebuild modules + writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" + while read ID DESC; do + writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}" + done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}") + # Remove old files + rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" + DIRTY=1 } ############################################################################### @@ -542,9 +550,8 @@ function cmdlineMenu() { echo "a \"$(TEXT "Add/edit a cmdline item")\"" >"${TMP_PATH}/menu" echo "d \"$(TEXT "Delete cmdline item(s)")\"" >>"${TMP_PATH}/menu" if [ -n "${MODEL}" ]; then - echo "s \"$(TEXT "Define a serial number")\"" >>"${TMP_PATH}/menu" + echo "s \"$(TEXT "Define SN/MAC")\"" >>"${TMP_PATH}/menu" fi - echo "c \"$(TEXT "Define a custom MAC")\"" >>"${TMP_PATH}/menu" echo "v \"$(TEXT "Show user added cmdline")\"" >>"${TMP_PATH}/menu" echo "m \"$(TEXT "Show model inherent cmdline")\"" >>"${TMP_PATH}/menu" echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu" @@ -592,66 +599,42 @@ function cmdlineMenu() { done ;; s) + MSG="$(TEXT "Note: (MAC will not be set to NIC)")" + sn="${SN}" + mac1="${MAC1}" while true; do dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --inputbox "$(TEXT "Please enter a serial number ")" 0 0 "" \ - 2>${TMP_PATH}/resp - [ $? -ne 0 ] && break 2 - SERIAL=$(cat ${TMP_PATH}/resp) - if [ -z "${SERIAL}" ]; then - return - elif [ $(validateSerial ${MODEL} ${SERIAL}) -eq 1 ]; then + --extra-button --extra-label "$(TEXT "Random")" \ + --form "${MSG}" 10 110 2 "sn" 1 1 "${sn}" 1 5 100 0 "mac1" 2 1 "${mac1}" 2 5 100 0 \ + 2>"${TMP_PATH}/resp" + RET=$? + case ${RET} in + 0) # ok-button + sn="$(cat "${TMP_PATH}/resp" | sed -n '1p')" + mac1="$(cat "${TMP_PATH}/resp" | sed -n '2p')" + if [ -z "${sn}" -o -z "${mac1}" ]; then + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ + --yesno "$(TEXT "Invalid SN/MAC, retry?")" 0 0 + [ $? -eq 0 ] && break + fi + SN="${sn}" + writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" + MAC1="${mac1}" + writeConfigKey "mac1" "${MAC1}" "${USER_CONFIG_FILE}" break - fi - # At present, the SN rules are not complete, and many SNs are not truly invalid, so not provide tips now. - break - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --yesno "$(TEXT "Invalid serial, continue?")" 0 0 - [ $? -eq 0 ] && break - done - SN="${SERIAL}" - writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" - ;; - c) - ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list - for N in $( # Currently, only up to 8 are supported. (<==> boot.sh L96, <==> lkm: MAX_NET_IFACES) - seq 1 8 - ); do - MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')" - MACF=${CMDLINE["mac${N}"]} - [ -n "${MACF}" ] && MAC=${MACF} || MAC=${MACR} - RET=1 - while true; do - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --inputbox "$(printf "$(TEXT "Type a custom MAC address of %s")" "mac${N}")" 0 0 "${MAC}" \ - 2>${TMP_PATH}/resp - RET=$? - [ ${RET} -ne 0 ] && break 2 - MAC="$(<"${TMP_PATH}/resp")" - [ -z "${MAC}" ] && MAC="$(readConfigKey "original-mac${i}" "${USER_CONFIG_FILE}")" - [ -z "${MAC}" ] && MAC="${MACFS[$(expr ${i} - 1)]}" - MACF="$(echo "${MAC}" | sed "s/:\|-\| //g")" - [ ${#MACF} -eq 12 ] && break - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --msgbox "$(TEXT "Invalid MAC")" 0 0 - done - if [ ${RET} -eq 0 ]; then - CMDLINE["mac${N}"]="${MACF}" - CMDLINE["netif_num"]=${N} - writeConfigKey "cmdline.mac${N}" "${MACF}" "${USER_CONFIG_FILE}" - writeConfigKey "cmdline.netif_num" "${N}" "${USER_CONFIG_FILE}" - MAC="${MACF:0:2}:${MACF:2:2}:${MACF:4:2}:${MACF:6:2}:${MACF:8:2}:${MACF:10:2}" - ip link set dev ${ETHX[$(expr ${N} - 1)]} address "${MAC}" 2>&1 | - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --progressbox "$(TEXT "Changing MAC")" 20 70 - /etc/init.d/S41dhcpcd restart 2>&1 | - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --progressbox "$(TEXT "Renewing IP")" 20 70 - # IP=`ip route 2>/dev/null | sed -n 's/.* via .* dev \(.*\) src \(.*\) metric .*/\1: \2 /p' | head -1` - dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Cmdline")" \ - --yesno "$(TEXT "Continue to custom MAC?")" 0 0 - [ $? -ne 0 ] && break - fi + ;; + 3) # extra-button + sn=$(generateSerial "${MODEL}") + MACS=($(generateMacAddress "${MODEL}" 1)) + mac1=${MACS[0]} + ;; + 1) # cancel-button + break + ;; + 255) # ESC + break + ;; + esac done ;; v) @@ -996,7 +979,7 @@ function advancedMenu() { echo "k \"$(TEXT "kernel switching method:") \Z4${KERNELWAY}\Zn\"" >>"${TMP_PATH}/menu" fi fi - echo "m \"$(TEXT "Switch 'Do not set MACs':") \Z4${NOTSETMACS}\Zn\"" >>"${TMP_PATH}/menu" + echo "m \"$(TEXT "Set static IP")\"" >>"${TMP_PATH}/menu" echo "u \"$(TEXT "Edit user config file manually")\"" >>"${TMP_PATH}/menu" echo "t \"$(TEXT "Try to recovery a DSM installed system")\"" >>"${TMP_PATH}/menu" echo "s \"$(TEXT "Show SATA(s) # ports and drives")\"" >>"${TMP_PATH}/menu" @@ -1064,8 +1047,44 @@ function advancedMenu() { NEXT="e" ;; m) - [ "${NOTSETMACS}" = "false" ] && NOTSETMACS='true' || NOTSETMACS='false' - writeConfigKey "notsetmacs" "${NOTSETMACS}" "${USER_CONFIG_FILE}" + MSG="$(TEXT "Temporary IP: (UI will not refresh)")" + ITEMS="" + IDX=0 + ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list + for ETH in ${ETHX[@]}; do + [ ${IDX} -gt 7 ] && break # Currently, only up to 8 are supported. (<==> boot.sh L96, <==> lkm: MAX_NET_IFACES) + IDX=$((${IDX} + 1)) + MACR="$(cat /sys/class/net/${ETH}/address | sed 's/://g')" + IPR="$(readConfigKey "network.${MACR}" "${USER_CONFIG_FILE}")" + ITEMS+="${ETH}(${MACR}) ${IDX} 1 ${IPR:-\"\"} ${IDX} 22 20 16 " + done + echo ${ITEMS} >"${TMP_PATH}/opts" + dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Advanced")" \ + --form "${MSG}" 10 44 ${IDX} --file "${TMP_PATH}/opts" \ + 2>"${TMP_PATH}/resp" + [ $? -ne 0 ] && continue + ( + IDX=1 + for ETH in ${ETHX[@]}; do + MACR="$(cat /sys/class/net/${ETH}/address | sed 's/://g')" + IPR="$(readConfigKey "network.${MACR}" "${USER_CONFIG_FILE}")" + IPC="$(cat "${TMP_PATH}/resp" | sed -n "${IDX}p")" + if [ -n "${IPC}" -a "${IPR}" != "${IPC}" ]; then + if ! echo "${IPC}" | grep -q "/"; then + IPC="${IPC}/24" + fi + ip addr add ${IPC} dev ${ETH} + writeConfigKey "network.${MACR}" "${IPC}" "${USER_CONFIG_FILE}" + sleep 1 + elif [ -z "${IPC}" ]; then + deleteConfigKey "network.${MACR}" "${USER_CONFIG_FILE}" + fi + IDX=$((${IDX} + 1)) + done + sleep 1 + IP=$(ip route 2>/dev/null | sed -n 's/.* via .* dev \(.*\) src \(.*\) metric .*/\1: \2 /p' | head -1) + ) | dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Advanced")" \ + --progressbox "$(TEXT "Set IP..")" 20 70 NEXT="e" ;; u) @@ -1135,8 +1154,8 @@ function advancedMenu() { --form "${MSG}" 10 110 2 "URL" 1 1 "${PATURL}" 1 5 100 0 "MD5" 2 1 "${PATSUM}" 2 5 100 0 \ 2>"${TMP_PATH}/resp" [ $? -ne 0 ] && return - paturl="$(cat "${TMP_PATH}/resp" | tail -n +1 | head -1)" - patsum="$(cat "${TMP_PATH}/resp" | tail -n +2 | head -1)" + paturl="$(cat "${TMP_PATH}/resp" | sed -n '1p')" + patsum="$(cat "${TMP_PATH}/resp" | sed -n '2p')" if [ ! ${paturl} = ${PATURL} ] || [ ! ${patsum} = ${PATSUM} ]; then writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}" writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}" diff --git a/update-check.sh b/update-check.sh index 5a098c0a..16b38877 100755 --- a/update-check.sh +++ b/update-check.sh @@ -24,4 +24,13 @@ if loaderIsConfigured; then fi fi +# 23.9.7 +deleteConfigKey "notsetmacs" "${USER_CONFIG_FILE}" +for N in $(1 8); do + deleteConfigKey "cmdline.mac${N}" "${USER_CONFIG_FILE}" + deleteConfigKey "original-mac${N}" "${USER_CONFIG_FILE}" +done +writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}" +writeConfigKey "mac1" "001132$(printf '%02x%02x%02x' $((${RANDOM} % 256)) $((${RANDOM} % 256)) $((${RANDOM} % 256)))" "${USER_CONFIG_FILE}" + exit 0