mod update

This commit is contained in:
Ing 2023-06-20 01:32:24 +08:00
parent 787a150377
commit c074062ad5
4 changed files with 568 additions and 508 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-15 22:36+0800\n" "POT-Creation-Date: 2023-06-20 01:19+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -30,7 +30,7 @@ msgid "DSM zImage changed"
msgstr "" msgstr ""
#: boot.sh:35 boot.sh:47 menu.sh:703 menu.sh:729 menu.sh:798 menu.sh:809 #: boot.sh:35 boot.sh:47 menu.sh:703 menu.sh:729 menu.sh:798 menu.sh:809
#: menu.sh:838 menu.sh:851 menu.sh:858 menu.sh:1051 menu.sh:1149 #: menu.sh:838 menu.sh:851 menu.sh:858 menu.sh:1063 menu.sh:1161
msgid "Error" msgid "Error"
msgstr "" msgstr ""
@ -77,35 +77,35 @@ msgstr ""
msgid "Reboot to boot directly in DSM" msgid "Reboot to boot directly in DSM"
msgstr "" msgstr ""
#: boot.sh:161 #: boot.sh:162
msgid "Detected %s network cards, Waiting IP.(For reference only)" msgid "Detected %s network cards, Waiting IP.(For reference only)"
msgstr "" msgstr ""
#: boot.sh:168 init.sh:184 #: boot.sh:169 init.sh:184
msgid "DOWN" msgid "DOWN"
msgstr "" msgstr ""
#: boot.sh:172 init.sh:188 #: boot.sh:173 init.sh:188
msgid "ERROR" msgid "ERROR"
msgstr "" msgstr ""
#: boot.sh:178 #: boot.sh:179
msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web." msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web."
msgstr "" msgstr ""
#: boot.sh:187 #: boot.sh:188
msgid "Loading DSM kernel..." msgid "Loading DSM kernel..."
msgstr "" msgstr ""
#: boot.sh:191 #: boot.sh:192
msgid "Warning, running kexec with --noefi param, strange things will happen!!" msgid "Warning, running kexec with --noefi param, strange things will happen!!"
msgstr "" msgstr ""
#: boot.sh:196 #: boot.sh:197
msgid "Booting..." msgid "Booting..."
msgstr "" msgstr ""
#: boot.sh:199 #: boot.sh:200
msgid "" msgid ""
"[This interface will not be operational. Please use the http://find.synology." "[This interface will not be operational. Please use the http://find.synology."
"com/ find DSM and connect.]" "com/ find DSM and connect.]"
@ -223,7 +223,7 @@ msgstr ""
msgid "Reconfiguring Synoinfo, Addons and Modules" msgid "Reconfiguring Synoinfo, Addons and Modules"
msgstr "" msgstr ""
#: menu.sh:209 menu.sh:328 menu.sh:461 menu.sh:593 menu.sh:1357 #: menu.sh:209 menu.sh:328 menu.sh:461 menu.sh:593 menu.sh:1495
msgid "Choose a option" msgid "Choose a option"
msgstr "" msgstr ""
@ -247,8 +247,8 @@ msgstr ""
msgid "Download a external addon" msgid "Download a external addon"
msgstr "" msgstr ""
#: menu.sh:215 menu.sh:335 menu.sh:458 menu.sh:589 menu.sh:906 menu.sh:1363 #: menu.sh:215 menu.sh:335 menu.sh:458 menu.sh:589 menu.sh:906 menu.sh:1502
#: menu.sh:1630 #: menu.sh:1650
msgid "Exit" msgid "Exit"
msgstr "" msgstr ""
@ -317,7 +317,7 @@ msgid "File format not recognized!"
msgstr "" msgstr ""
#: menu.sh:316 menu.sh:346 menu.sh:361 menu.sh:372 menu.sh:385 menu.sh:391 #: menu.sh:316 menu.sh:346 menu.sh:361 menu.sh:372 menu.sh:385 menu.sh:391
#: menu.sh:1610 #: menu.sh:1630
msgid "Modules" msgid "Modules"
msgstr "" msgstr ""
@ -458,7 +458,7 @@ msgstr ""
msgid "Please enter a serial number " msgid "Please enter a serial number "
msgstr "" msgstr ""
#: menu.sh:512 menu.sh:550 menu.sh:1304 menu.sh:1581 #: menu.sh:512 menu.sh:550 menu.sh:1316 menu.sh:1552
msgid "Alert" msgid "Alert"
msgstr "" msgstr ""
@ -613,7 +613,7 @@ msgstr ""
msgid "Addon %s not found!" msgid "Addon %s not found!"
msgstr "" msgstr ""
#: menu.sh:863 menu.sh:1648 #: menu.sh:863 menu.sh:1668
msgid "Cleaning" msgid "Cleaning"
msgstr "" msgstr ""
@ -630,7 +630,7 @@ msgid "Switch direct boot:"
msgstr "" msgstr ""
#: menu.sh:884 #: menu.sh:884
msgid "boot IPs wait time':" msgid "boot IPs wait time:"
msgstr "" msgstr ""
#: menu.sh:887 #: menu.sh:887
@ -653,7 +653,7 @@ msgstr ""
msgid "show pat download link" msgid "show pat download link"
msgstr "" msgstr ""
#: menu.sh:894 menu.sh:987 menu.sh:1000 #: menu.sh:894 menu.sh:994 menu.sh:1007
msgid "Allow downgrade installation" msgid "Allow downgrade installation"
msgstr "" msgstr ""
@ -661,11 +661,11 @@ msgstr ""
msgid "Format disk(s) # Without loader disk" msgid "Format disk(s) # Without loader disk"
msgstr "" msgstr ""
#: menu.sh:896 menu.sh:1056 menu.sh:1063 menu.sh:1069 menu.sh:1081 #: menu.sh:896 menu.sh:1068 menu.sh:1075 menu.sh:1081 menu.sh:1093
msgid "Reset syno system password" msgid "Reset syno system password"
msgstr "" msgstr ""
#: menu.sh:897 menu.sh:1090 menu.sh:1093 #: menu.sh:897 menu.sh:1102 menu.sh:1105
msgid "Persistence of arpl modifications" msgid "Persistence of arpl modifications"
msgstr "" msgstr ""
@ -681,15 +681,15 @@ msgstr ""
msgid "Restore bootloader disk # test" msgid "Restore bootloader disk # test"
msgstr "" msgstr ""
#: menu.sh:905 menu.sh:1213 menu.sh:1222 #: menu.sh:905 menu.sh:1225 menu.sh:1234
msgid "Development tools" msgid "Development tools"
msgstr "" msgstr ""
#: menu.sh:908 menu.sh:1013 #: menu.sh:908 menu.sh:1025
msgid "Advanced" msgid "Advanced"
msgstr "" msgstr ""
#: menu.sh:909 menu.sh:1633 #: menu.sh:909 menu.sh:1653
msgid "Choose the option" msgid "Choose the option"
msgstr "" msgstr ""
@ -697,322 +697,294 @@ msgstr ""
msgid "Choose a waiting time(seconds)" msgid "Choose a waiting time(seconds)"
msgstr "" msgstr ""
#: menu.sh:967 #: menu.sh:974
msgid "\\nTotal of ports: %s\\n" msgid "\\nTotal of ports: %s\\n"
msgstr "" msgstr ""
#: menu.sh:968 #: menu.sh:975
msgid "" msgid ""
"\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive "
"connected." "connected."
msgstr "" msgstr ""
#: menu.sh:969 #: menu.sh:976
msgid "\\nRecommended value:" msgid "\\nRecommended value:"
msgstr "" msgstr ""
#: menu.sh:970 #: menu.sh:977
msgid "\\nDiskIdxMap:" msgid "\\nDiskIdxMap:"
msgstr "" msgstr ""
#: menu.sh:979 #: menu.sh:986
msgid "*.pat download link" msgid "*.pat download link"
msgstr "" msgstr ""
#: menu.sh:984 #: menu.sh:991
msgid "" msgid ""
"This feature will allow you to downgrade the installation by removing the " "This feature will allow you to downgrade the installation by removing the "
"VERSION file from the first partition of all disks.\\n" "VERSION file from the first partition of all disks.\\n"
msgstr "" msgstr ""
#: menu.sh:985 #: menu.sh:992
msgid "Therefore, please insert all disks before continuing.\\n" msgid "Therefore, please insert all disks before continuing.\\n"
msgstr "" msgstr ""
#: menu.sh:986 menu.sh:1018 #: menu.sh:993 menu.sh:1030
msgid "" msgid ""
"Warning:\\nThis operation is irreversible. Please backup important data. Do " "Warning:\\nThis operation is irreversible. Please backup important data. Do "
"you want to continue?" "you want to continue?"
msgstr "" msgstr ""
#: menu.sh:1001 #: menu.sh:1008
msgid "Removing ..." msgid "Removing ..."
msgstr "" msgstr ""
#: menu.sh:1002 #: menu.sh:1009
msgid "Remove VERSION file for all disks completed." msgid "Remove VERSION file for all disks completed."
msgstr "" msgstr ""
#: menu.sh:1012 menu.sh:1017 menu.sh:1021 menu.sh:1032 #: menu.sh:1024 menu.sh:1029 menu.sh:1033 menu.sh:1044
msgid "Format disk" msgid "Format disk"
msgstr "" msgstr ""
#: menu.sh:1022 #: menu.sh:1034
msgid "" msgid ""
"Warning:\\nThe current hds is in raid, do you still want to format them?" "Warning:\\nThe current hds is in raid, do you still want to format them?"
msgstr "" msgstr ""
#: menu.sh:1033 #: menu.sh:1045
msgid "Formatting ..." msgid "Formatting ..."
msgstr "" msgstr ""
#: menu.sh:1035 #: menu.sh:1047
msgid "Formatting is complete." msgid "Formatting is complete."
msgstr "" msgstr ""
#: menu.sh:1052 #: menu.sh:1064
msgid "The installed Syno system not found in the currently inserted disks!" msgid "The installed Syno system not found in the currently inserted disks!"
msgstr "" msgstr ""
#: menu.sh:1057 #: menu.sh:1069
msgid "Choose a user name" msgid "Choose a user name"
msgstr "" msgstr ""
#: menu.sh:1064 #: menu.sh:1076
msgid "Type a new password for user '%s'" msgid "Type a new password for user '%s'"
msgstr "" msgstr ""
#: menu.sh:1069 #: menu.sh:1081
msgid "Invalid password" msgid "Invalid password"
msgstr "" msgstr ""
#: menu.sh:1082 #: menu.sh:1094
msgid "Resetting ..." msgid "Resetting ..."
msgstr "" msgstr ""
#: menu.sh:1085 #: menu.sh:1097
msgid "Password reset completed." msgid "Password reset completed."
msgstr "" msgstr ""
#: menu.sh:1091 menu.sh:1142 menu.sh:1195 #: menu.sh:1103 menu.sh:1154 menu.sh:1207
msgid "" msgid ""
"Warning:\\nDo not terminate midway, otherwise it may cause damage to the " "Warning:\\nDo not terminate midway, otherwise it may cause damage to the "
"arpl. Do you want to continue?" "arpl. Do you want to continue?"
msgstr "" msgstr ""
#: menu.sh:1094 #: menu.sh:1106
msgid "Persisting ..." msgid "Persisting ..."
msgstr "" msgstr ""
#: menu.sh:1103 #: menu.sh:1115
msgid "Persisting is complete." msgid "Persisting is complete."
msgstr "" msgstr ""
#: menu.sh:1108 menu.sh:1138 menu.sh:1171 #: menu.sh:1120 menu.sh:1150 menu.sh:1183 menu.sh:1564
msgid "This feature is only available when accessed via web/ssh." msgid "This feature is only available when accessed via web/ssh."
msgstr "" msgstr ""
#: menu.sh:1112 #: menu.sh:1124
msgid "" msgid ""
"Currently, only dts format files are supported. Please prepare and click to " "Currently, only dts format files are supported. Please prepare and click to "
"confirm uploading.\\n(saved in /mnt/p3/users/)" "confirm uploading.\\n(saved in /mnt/p3/users/)"
msgstr "" msgstr ""
#: menu.sh:1126 menu.sh:1131 #: menu.sh:1138 menu.sh:1143
msgid "Custom dts file" msgid "Custom dts file"
msgstr "" msgstr ""
#: menu.sh:1127 #: menu.sh:1139
msgid "Not a valid dts file, please try again!" msgid "Not a valid dts file, please try again!"
msgstr "" msgstr ""
#: menu.sh:1132 #: menu.sh:1144
msgid "A valid dts file, Automatically import at compile time." msgid "A valid dts file, Automatically import at compile time."
msgstr "" msgstr ""
#: menu.sh:1141 menu.sh:1144 #: menu.sh:1153 menu.sh:1156
msgid "Backup bootloader disk" msgid "Backup bootloader disk"
msgstr "" msgstr ""
#: menu.sh:1145 #: menu.sh:1157
msgid "Backuping..." msgid "Backuping..."
msgstr "" msgstr ""
#: menu.sh:1150 #: menu.sh:1162
msgid "" msgid ""
"Failed to generate backup. There may be insufficient memory. Please clear " "Failed to generate backup. There may be insufficient memory. Please clear "
"the cache and try again!" "the cache and try again!"
msgstr "" msgstr ""
#: menu.sh:1157 #: menu.sh:1169
msgid "Click on the address above to download." msgid "Click on the address above to download."
msgstr "" msgstr ""
#: menu.sh:1158 #: menu.sh:1170
msgid "" msgid ""
"Please confirm the completion of the download before closing this window." "Please confirm the completion of the download before closing this window."
msgstr "" msgstr ""
#: menu.sh:1159 #: menu.sh:1171
msgid "backup.img.gz download link" msgid "backup.img.gz download link"
msgstr "" msgstr ""
#: menu.sh:1165 #: menu.sh:1177
msgid "backup is complete." msgid "backup is complete."
msgstr "" msgstr ""
#: menu.sh:1174 menu.sh:1191 menu.sh:1194 menu.sh:1197 menu.sh:1205 #: menu.sh:1186 menu.sh:1203 menu.sh:1206 menu.sh:1209 menu.sh:1217
msgid "Restore bootloader disk" msgid "Restore bootloader disk"
msgstr "" msgstr ""
#: menu.sh:1175 #: menu.sh:1187
msgid "" msgid ""
"Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) " "Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) "
"compressed file formats are supported." "compressed file formats are supported."
msgstr "" msgstr ""
#: menu.sh:1192 #: menu.sh:1204
msgid "Not a valid .zip/.img.gz file, please try again!" msgid "Not a valid .zip/.img.gz file, please try again!"
msgstr "" msgstr ""
#: menu.sh:1198 #: menu.sh:1210
msgid "Writing..." msgid "Writing..."
msgstr "" msgstr ""
#: menu.sh:1206 #: menu.sh:1218
msgid "Restore bootloader disk with success to %s!\\nReboot?" msgid "Restore bootloader disk with success to %s!\\nReboot?"
msgstr "" msgstr ""
#: menu.sh:1214 #: menu.sh:1226
msgid "" msgid ""
"This option only installs opkg package management, allowing you to install " "This option only installs opkg package management, allowing you to install "
"more tools for use and debugging. Do you want to continue?" "more tools for use and debugging. Do you want to continue?"
msgstr "" msgstr ""
#: menu.sh:1223 #: menu.sh:1235
msgid "opkg installing ..." msgid "opkg installing ..."
msgstr "" msgstr ""
#: menu.sh:1225 #: menu.sh:1237
msgid "" msgid ""
"opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/." "opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/."
"bashrc'" "bashrc'"
msgstr "" msgstr ""
#: menu.sh:1235 menu.sh:1263 menu.sh:1270 #: menu.sh:1247 menu.sh:1275 menu.sh:1282
msgid "Try recovery DSM" msgid "Try recovery DSM"
msgstr "" msgstr ""
#: menu.sh:1236 #: menu.sh:1248
msgid "Trying to recovery a DSM installed system" msgid "Trying to recovery a DSM installed system"
msgstr "" msgstr ""
#: menu.sh:1257 #: menu.sh:1269
msgid "Found a installation:\\nModel: %s\\nBuildnumber: %s" msgid "Found a installation:\\nModel: %s\\nBuildnumber: %s"
msgstr "" msgstr ""
#: menu.sh:1261 #: menu.sh:1273
msgid "\\nSerial: %s" msgid "\\nSerial: %s"
msgstr "" msgstr ""
#: menu.sh:1271 #: menu.sh:1283
msgid "Unfortunately I couldn't mount the DSM partition!" msgid "Unfortunately I couldn't mount the DSM partition!"
msgstr "" msgstr ""
#: menu.sh:1279 #: menu.sh:1291
msgid "Edit with caution" msgid "Edit with caution"
msgstr "" msgstr ""
#: menu.sh:1285 #: menu.sh:1297
msgid "Invalid YAML format" msgid "Invalid YAML format"
msgstr "" msgstr ""
#: menu.sh:1305 #: menu.sh:1317
msgid "Config changed, would you like to rebuild the loader?" msgid "Config changed, would you like to rebuild the loader?"
msgstr "" msgstr ""
#: menu.sh:1317 menu.sh:1624 #: menu.sh:1329 menu.sh:1644
msgid "Choose a language" msgid "Choose a language"
msgstr "" msgstr ""
#: menu.sh:1330 #: menu.sh:1342
msgid "Choose a layout" msgid "Choose a layout"
msgstr "" msgstr ""
#: menu.sh:1340 #: menu.sh:1352
msgid "Choice a keymap" msgid "Choice a keymap"
msgstr "" msgstr ""
#: menu.sh:1358 menu.sh:1368 menu.sh:1376 menu.sh:1382 menu.sh:1386 #: menu.sh:1369 menu.sh:1402 menu.sh:1453 menu.sh:1507 menu.sh:1515
#: menu.sh:1391 menu.sh:1397 menu.sh:1404 menu.sh:1413 menu.sh:1418 #: menu.sh:1523 menu.sh:1531
#: menu.sh:1435 msgid "Update %s"
msgid "Update arpl"
msgstr "" msgstr ""
#: menu.sh:1359 menu.sh:1443 menu.sh:1451 menu.sh:1457 menu.sh:1461 #: menu.sh:1372
#: menu.sh:1465 menu.sh:1469 menu.sh:1474 menu.sh:1485
msgid "Update addons"
msgstr ""
#: menu.sh:1360 menu.sh:1490 menu.sh:1498 menu.sh:1504 menu.sh:1508
#: menu.sh:1512 menu.sh:1527
msgid "Update modules"
msgstr ""
#: menu.sh:1361 menu.sh:1532 menu.sh:1540 menu.sh:1546 menu.sh:1550
#: menu.sh:1554 menu.sh:1558 menu.sh:1563
msgid "Update LKMs"
msgstr ""
#: menu.sh:1362
msgid "Set proxy server"
msgstr ""
#: menu.sh:1369 menu.sh:1444 menu.sh:1491 menu.sh:1533
msgid "Checking last version" msgid "Checking last version"
msgstr "" msgstr ""
#: menu.sh:1377 menu.sh:1452 menu.sh:1499 menu.sh:1541 #: menu.sh:1380
msgid "Error checking new version" msgid "Error checking new version"
msgstr "" msgstr ""
#: menu.sh:1383 menu.sh:1458 menu.sh:1505 menu.sh:1547 #: menu.sh:1385
msgid "No new version. Actual version is %s\\nForce update?" msgid "No new version. Actual version is %s\\nForce update?"
msgstr "" msgstr ""
#: menu.sh:1387 #: menu.sh:1389
msgid "Downloading last version %s" msgid "Downloading last version"
msgstr "" msgstr ""
#: menu.sh:1392 #: menu.sh:1394
msgid "Error downloading update file" msgid "Error downloading new version"
msgstr "" msgstr ""
#: menu.sh:1398 #: menu.sh:1404 menu.sh:1455
msgid "Extracting last version"
msgstr ""
#: menu.sh:1408
msgid "Error extracting update file" msgid "Error extracting update file"
msgstr "" msgstr ""
#: menu.sh:1405 #: menu.sh:1415
msgid "Checksum do not match!" msgid "Checksum do not match!"
msgstr "" msgstr ""
#: menu.sh:1414 #: menu.sh:1424
msgid "" msgid ""
"The current version does not support upgrading to the latest update.zip. " "The current version does not support upgrading to the latest update.zip. "
"Please remake the bootloader disk!" "Please remake the bootloader disk!"
msgstr "" msgstr ""
#: menu.sh:1419 #: menu.sh:1429
msgid "Installing new files" msgid "Installing new files"
msgstr "" msgstr ""
#: menu.sh:1436 #: menu.sh:1446
msgid "Arpl updated with success to %s!\\nReboot?" msgid "Arpl updated with success to %s!\\nReboot?"
msgstr "" msgstr ""
#: menu.sh:1462 menu.sh:1509 menu.sh:1551 #: menu.sh:1461
msgid "Downloading last version"
msgstr ""
#: menu.sh:1466
msgid "Error downloading new version"
msgstr ""
#: menu.sh:1470 menu.sh:1559
msgid "Extracting last version"
msgstr ""
#: menu.sh:1475
msgid "Installing new addons" msgid "Installing new addons"
msgstr "" msgstr ""
@ -1020,74 +992,128 @@ msgstr ""
msgid "Addons updated with success!" msgid "Addons updated with success!"
msgstr "" msgstr ""
#: menu.sh:1513 menu.sh:1555 #: menu.sh:1496
msgid "Error downloading last version" msgid "Update arpl"
msgstr "" msgstr ""
#: menu.sh:1528 #: menu.sh:1497
msgid "Modules updated with success!" msgid "Update addons"
msgstr "" msgstr ""
#: menu.sh:1564 #: menu.sh:1498
msgid "LKMs updated with success!" msgid "Update modules"
msgstr "" msgstr ""
#: menu.sh:1570 #: menu.sh:1499
msgid "Update LKMs"
msgstr ""
#: menu.sh:1500
msgid "Set proxy server"
msgstr ""
#: menu.sh:1501 menu.sh:1590 menu.sh:1604
msgid "Local upload"
msgstr ""
#: menu.sh:1507
msgid "arpl"
msgstr ""
#: menu.sh:1515
msgid "addons"
msgstr ""
#: menu.sh:1523
msgid "modules"
msgstr ""
#: menu.sh:1531
msgid "LKMs"
msgstr ""
#: menu.sh:1541
msgid "Set Proxy Server" msgid "Set Proxy Server"
msgstr "" msgstr ""
#: menu.sh:1571 #: menu.sh:1542
msgid "Please enter a proxy server url" msgid "Please enter a proxy server url"
msgstr "" msgstr ""
#: menu.sh:1582 #: menu.sh:1553
msgid "Invalid proxy server url, continue?" msgid "Invalid proxy server url, continue?"
msgstr "" msgstr ""
#: menu.sh:1605 #: menu.sh:1568
msgid "Choose a model" msgid ""
"Please keep the attachment name consistent with the attachment name on "
"Github.\\n"
msgstr "" msgstr ""
#: menu.sh:1607 #: menu.sh:1569
msgid "Choose a Build Number" msgid "Upload update.zip will update arpl.\\n"
msgstr "" msgstr ""
#: menu.sh:1609 #: menu.sh:1570
msgid "Addons" msgid "Upload addons.zip will update Addons.\\n"
msgstr "" msgstr ""
#: menu.sh:1611 #: menu.sh:1571
msgid "Cmdline menu" msgid "Upload modules.zip will update Modules.\\n"
msgstr "" msgstr ""
#: menu.sh:1612 #: menu.sh:1572
msgid "Synoinfo menu" msgid "Upload rp-lkms.zip will update LKMs.\\n"
msgstr "" msgstr ""
#: menu.sh:1615 #: menu.sh:1591 menu.sh:1605
msgid "Advanced menu" msgid "Not a valid file, please try again!"
msgstr ""
#: menu.sh:1618
msgid "Build the loader"
msgstr ""
#: menu.sh:1622
msgid "Boot the loader"
msgstr "" msgstr ""
#: menu.sh:1625 #: menu.sh:1625
msgid "Choose a keymap" msgid "Choose a model"
msgstr "" msgstr ""
#: menu.sh:1627 #: menu.sh:1627
msgid "Clean disk cache" msgid "Choose a Build Number"
msgstr "" msgstr ""
#: menu.sh:1629 #: menu.sh:1629
msgid "Addons"
msgstr ""
#: menu.sh:1631
msgid "Cmdline menu"
msgstr ""
#: menu.sh:1632
msgid "Synoinfo menu"
msgstr ""
#: menu.sh:1635
msgid "Advanced menu"
msgstr ""
#: menu.sh:1638
msgid "Build the loader"
msgstr ""
#: menu.sh:1642
msgid "Boot the loader"
msgstr ""
#: menu.sh:1645
msgid "Choose a keymap"
msgstr ""
#: menu.sh:1647
msgid "Clean disk cache"
msgstr ""
#: menu.sh:1649
msgid "Update menu" msgid "Update menu"
msgstr "" msgstr ""
#: menu.sh:1655 #: menu.sh:1675
msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu"
msgstr "" msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: arpl-i18n\n" "Project-Id-Version: arpl-i18n\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-06-15 22:36+0800\n" "POT-Creation-Date: 2023-06-20 01:19+0800\n"
"PO-Revision-Date: 2023-06-15 22:37+0800\n" "PO-Revision-Date: 2023-06-20 01:19+0800\n"
"Last-Translator: ing <wjz304@qq.com>\n" "Last-Translator: ing <wjz304@qq.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n" "Language: zh_CN\n"
@ -29,7 +29,7 @@ msgid "DSM zImage changed"
msgstr "DSM zImage 已更改" msgstr "DSM zImage 已更改"
#: boot.sh:35 boot.sh:47 menu.sh:703 menu.sh:729 menu.sh:798 menu.sh:809 #: boot.sh:35 boot.sh:47 menu.sh:703 menu.sh:729 menu.sh:798 menu.sh:809
#: menu.sh:838 menu.sh:851 menu.sh:858 menu.sh:1051 menu.sh:1149 #: menu.sh:838 menu.sh:851 menu.sh:858 menu.sh:1063 menu.sh:1161
msgid "Error" msgid "Error"
msgstr "错误" msgstr "错误"
@ -76,35 +76,35 @@ msgstr "Cmdline:\\n"
msgid "Reboot to boot directly in DSM" msgid "Reboot to boot directly in DSM"
msgstr "重启并直接进入DSM引导" msgstr "重启并直接进入DSM引导"
#: boot.sh:161 #: boot.sh:162
msgid "Detected %s network cards, Waiting IP.(For reference only)" msgid "Detected %s network cards, Waiting IP.(For reference only)"
msgstr "检测到 %s 个网卡, 获取 IP.(仅供参考)" msgstr "检测到 %s 个网卡, 获取 IP.(仅供参考)"
#: boot.sh:168 init.sh:184 #: boot.sh:169 init.sh:184
msgid "DOWN" msgid "DOWN"
msgstr "卸载" msgstr "卸载"
#: boot.sh:172 init.sh:188 #: boot.sh:173 init.sh:188
msgid "ERROR" msgid "ERROR"
msgstr "错误" msgstr "错误"
#: boot.sh:178 #: boot.sh:179
msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web." msgid "Access \\033[1;34mhttp://%s:5000\\033[0m to connect the DSM via web."
msgstr "在浏览器中访问 \\033[1;34mhttp://%s:5000\\033[0m 链接 DSM." msgstr "在浏览器中访问 \\033[1;34mhttp://%s:5000\\033[0m 链接 DSM."
#: boot.sh:187 #: boot.sh:188
msgid "Loading DSM kernel..." msgid "Loading DSM kernel..."
msgstr "加载 DSM kernel..." msgstr "加载 DSM kernel..."
#: boot.sh:191 #: boot.sh:192
msgid "Warning, running kexec with --noefi param, strange things will happen!!" msgid "Warning, running kexec with --noefi param, strange things will happen!!"
msgstr "警告, 使用'--noefi'参数运行'kexec', 可能有不好的事情发生!!" msgstr "警告, 使用'--noefi'参数运行'kexec', 可能有不好的事情发生!!"
#: boot.sh:196 #: boot.sh:197
msgid "Booting..." msgid "Booting..."
msgstr "引导中..." msgstr "引导中..."
#: boot.sh:199 #: boot.sh:200
msgid "" msgid ""
"[This interface will not be operational. Please use the http://find.synology." "[This interface will not be operational. Please use the http://find.synology."
"com/ find DSM and connect.]" "com/ find DSM and connect.]"
@ -222,7 +222,7 @@ msgstr "该版本仅支持 usb 启动, 请选择其他版本或者切换启动
msgid "Reconfiguring Synoinfo, Addons and Modules" msgid "Reconfiguring Synoinfo, Addons and Modules"
msgstr "重新配置 Syninfo, 插件和模块" msgstr "重新配置 Syninfo, 插件和模块"
#: menu.sh:209 menu.sh:328 menu.sh:461 menu.sh:593 menu.sh:1357 #: menu.sh:209 menu.sh:328 menu.sh:461 menu.sh:593 menu.sh:1495
msgid "Choose a option" msgid "Choose a option"
msgstr "设置" msgstr "设置"
@ -246,8 +246,8 @@ msgstr "显示所有可用插件"
msgid "Download a external addon" msgid "Download a external addon"
msgstr "下载外部插件" msgstr "下载外部插件"
#: menu.sh:215 menu.sh:335 menu.sh:458 menu.sh:589 menu.sh:906 menu.sh:1363 #: menu.sh:215 menu.sh:335 menu.sh:458 menu.sh:589 menu.sh:906 menu.sh:1502
#: menu.sh:1630 #: menu.sh:1650
msgid "Exit" msgid "Exit"
msgstr "退出" msgstr "退出"
@ -316,7 +316,7 @@ msgid "File format not recognized!"
msgstr "文件格式无法识别!" msgstr "文件格式无法识别!"
#: menu.sh:316 menu.sh:346 menu.sh:361 menu.sh:372 menu.sh:385 menu.sh:391 #: menu.sh:316 menu.sh:346 menu.sh:361 menu.sh:372 menu.sh:385 menu.sh:391
#: menu.sh:1610 #: menu.sh:1630
msgid "Modules" msgid "Modules"
msgstr "模块" msgstr "模块"
@ -457,7 +457,7 @@ msgstr "选择要删除的参数"
msgid "Please enter a serial number " msgid "Please enter a serial number "
msgstr "请输入SN " msgstr "请输入SN "
#: menu.sh:512 menu.sh:550 menu.sh:1304 menu.sh:1581 #: menu.sh:512 menu.sh:550 menu.sh:1316 menu.sh:1552
msgid "Alert" msgid "Alert"
msgstr "警告" msgstr "警告"
@ -612,7 +612,7 @@ msgstr "拷贝文件: "
msgid "Addon %s not found!" msgid "Addon %s not found!"
msgstr "插件 %s 未找到!" msgstr "插件 %s 未找到!"
#: menu.sh:863 menu.sh:1648 #: menu.sh:863 menu.sh:1668
msgid "Cleaning" msgid "Cleaning"
msgstr "清除中" msgstr "清除中"
@ -652,7 +652,7 @@ msgstr "显示SATA(s) # 端口和驱动器"
msgid "show pat download link" msgid "show pat download link"
msgstr "当前pat下载链接" msgstr "当前pat下载链接"
#: menu.sh:894 menu.sh:987 menu.sh:1000 #: menu.sh:894 menu.sh:994 menu.sh:1007
msgid "Allow downgrade installation" msgid "Allow downgrade installation"
msgstr "允许降级安装" msgstr "允许降级安装"
@ -660,11 +660,11 @@ msgstr "允许降级安装"
msgid "Format disk(s) # Without loader disk" msgid "Format disk(s) # Without loader disk"
msgstr "格式化磁盘(s) # 不含启动盘" msgstr "格式化磁盘(s) # 不含启动盘"
#: menu.sh:896 menu.sh:1056 menu.sh:1063 menu.sh:1069 menu.sh:1081 #: menu.sh:896 menu.sh:1068 menu.sh:1075 menu.sh:1081 menu.sh:1093
msgid "Reset syno system password" msgid "Reset syno system password"
msgstr "重置群晖系统密码" msgstr "重置群晖系统密码"
#: menu.sh:897 menu.sh:1090 menu.sh:1093 #: menu.sh:897 menu.sh:1102 menu.sh:1105
msgid "Persistence of arpl modifications" msgid "Persistence of arpl modifications"
msgstr "持久化arpl的修改" msgstr "持久化arpl的修改"
@ -680,15 +680,15 @@ msgstr "备份启动盘 # 测试"
msgid "Restore bootloader disk # test" msgid "Restore bootloader disk # test"
msgstr "恢复启动盘 # 测试" msgstr "恢复启动盘 # 测试"
#: menu.sh:905 menu.sh:1213 menu.sh:1222 #: menu.sh:905 menu.sh:1225 menu.sh:1234
msgid "Development tools" msgid "Development tools"
msgstr "开发者工具" msgstr "开发者工具"
#: menu.sh:908 menu.sh:1013 #: menu.sh:908 menu.sh:1025
msgid "Advanced" msgid "Advanced"
msgstr "高级" msgstr "高级"
#: menu.sh:909 menu.sh:1633 #: menu.sh:909 menu.sh:1653
msgid "Choose the option" msgid "Choose the option"
msgstr "设置" msgstr "设置"
@ -696,322 +696,294 @@ msgstr "设置"
msgid "Choose a waiting time(seconds)" msgid "Choose a waiting time(seconds)"
msgstr "选择一个等待时间(秒)" msgstr "选择一个等待时间(秒)"
#: menu.sh:967 #: menu.sh:974
msgid "\\nTotal of ports: %s\\n" msgid "\\nTotal of ports: %s\\n"
msgstr "\\n端口总数: %s\\n" msgstr "\\n端口总数: %s\\n"
#: menu.sh:968 #: menu.sh:975
msgid "" msgid ""
"\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive " "\\nPorts with color \\Z1red\\Zn as DUMMY, color \\Z2\\Zbgreen\\Zn has drive "
"connected." "connected."
msgstr "\\n\\Z1红色\\Zn 为模拟端口, \\Z2\\Zb绿色\\Zn 为已驱动的物理端口." msgstr "\\n\\Z1红色\\Zn 为模拟端口, \\Z2\\Zb绿色\\Zn 为已驱动的物理端口."
#: menu.sh:969 #: menu.sh:976
msgid "\\nRecommended value:" msgid "\\nRecommended value:"
msgstr "\\n建议值:" msgstr "\\n建议值:"
#: menu.sh:970 #: menu.sh:977
msgid "\\nDiskIdxMap:" msgid "\\nDiskIdxMap:"
msgstr "\\nDiskIdxMap:" msgstr "\\nDiskIdxMap:"
#: menu.sh:979 #: menu.sh:986
msgid "*.pat download link" msgid "*.pat download link"
msgstr "*.pat 下载链接" msgstr "*.pat 下载链接"
#: menu.sh:984 #: menu.sh:991
msgid "" msgid ""
"This feature will allow you to downgrade the installation by removing the " "This feature will allow you to downgrade the installation by removing the "
"VERSION file from the first partition of all disks.\\n" "VERSION file from the first partition of all disks.\\n"
msgstr "此功能通过删除所有磁盘的第一个分区的VERSION文件来允许你降级安装.\\n" msgstr "此功能通过删除所有磁盘的第一个分区的VERSION文件来允许你降级安装.\\n"
#: menu.sh:985 #: menu.sh:992
msgid "Therefore, please insert all disks before continuing.\\n" msgid "Therefore, please insert all disks before continuing.\\n"
msgstr "因此, 请插入所有磁盘后再进行操作.\\n" msgstr "因此, 请插入所有磁盘后再进行操作.\\n"
#: menu.sh:986 menu.sh:1018 #: menu.sh:993 menu.sh:1030
msgid "" msgid ""
"Warning:\\nThis operation is irreversible. Please backup important data. Do " "Warning:\\nThis operation is irreversible. Please backup important data. Do "
"you want to continue?" "you want to continue?"
msgstr "警告:\\n该操作不可逆, 请提前备份重要数据. 是否继续?" msgstr "警告:\\n该操作不可逆, 请提前备份重要数据. 是否继续?"
#: menu.sh:1001 #: menu.sh:1008
msgid "Removing ..." msgid "Removing ..."
msgstr "删除中..." msgstr "删除中..."
#: menu.sh:1002 #: menu.sh:1009
msgid "Remove VERSION file for all disks completed." msgid "Remove VERSION file for all disks completed."
msgstr "已移除所有磁盘的 VERSION 文件." msgstr "已移除所有磁盘的 VERSION 文件."
#: menu.sh:1012 menu.sh:1017 menu.sh:1021 menu.sh:1032 #: menu.sh:1024 menu.sh:1029 menu.sh:1033 menu.sh:1044
msgid "Format disk" msgid "Format disk"
msgstr "格式化磁盘" msgstr "格式化磁盘"
#: menu.sh:1022 #: menu.sh:1034
msgid "" msgid ""
"Warning:\\nThe current hds is in raid, do you still want to format them?" "Warning:\\nThe current hds is in raid, do you still want to format them?"
msgstr "当前的硬盘处于raid中是否仍要格式化?" msgstr "当前的硬盘处于raid中是否仍要格式化?"
#: menu.sh:1033 #: menu.sh:1045
msgid "Formatting ..." msgid "Formatting ..."
msgstr "格式化中..." msgstr "格式化中..."
#: menu.sh:1035 #: menu.sh:1047
msgid "Formatting is complete." msgid "Formatting is complete."
msgstr "格式化完成." msgstr "格式化完成."
#: menu.sh:1052 #: menu.sh:1064
msgid "The installed Syno system not found in the currently inserted disks!" msgid "The installed Syno system not found in the currently inserted disks!"
msgstr "未在当前插入的硬盘中找到已安装的syno系统!" msgstr "未在当前插入的硬盘中找到已安装的syno系统!"
#: menu.sh:1057 #: menu.sh:1069
msgid "Choose a user name" msgid "Choose a user name"
msgstr "选择一个用户" msgstr "选择一个用户"
#: menu.sh:1064 #: menu.sh:1076
msgid "Type a new password for user '%s'" msgid "Type a new password for user '%s'"
msgstr "输入用户 '%s' 的新密码" msgstr "输入用户 '%s' 的新密码"
#: menu.sh:1069 #: menu.sh:1081
msgid "Invalid password" msgid "Invalid password"
msgstr "无效密码" msgstr "无效密码"
#: menu.sh:1082 #: menu.sh:1094
msgid "Resetting ..." msgid "Resetting ..."
msgstr "重置中" msgstr "重置中"
#: menu.sh:1085 #: menu.sh:1097
msgid "Password reset completed." msgid "Password reset completed."
msgstr "重置密码完成." msgstr "重置密码完成."
#: menu.sh:1091 menu.sh:1142 menu.sh:1195 #: menu.sh:1103 menu.sh:1154 menu.sh:1207
msgid "" msgid ""
"Warning:\\nDo not terminate midway, otherwise it may cause damage to the " "Warning:\\nDo not terminate midway, otherwise it may cause damage to the "
"arpl. Do you want to continue?" "arpl. Do you want to continue?"
msgstr "警告:\\n请不要中途停止, 否则将导致arpl引导损毁, 是否继续?" msgstr "警告:\\n请不要中途停止, 否则将导致arpl引导损毁, 是否继续?"
#: menu.sh:1094 #: menu.sh:1106
msgid "Persisting ..." msgid "Persisting ..."
msgstr "持久化中..." msgstr "持久化中..."
#: menu.sh:1103 #: menu.sh:1115
msgid "Persisting is complete." msgid "Persisting is complete."
msgstr "持久化完成." msgstr "持久化完成."
#: menu.sh:1108 menu.sh:1138 menu.sh:1171 #: menu.sh:1120 menu.sh:1150 menu.sh:1183 menu.sh:1564
msgid "This feature is only available when accessed via web/ssh." msgid "This feature is only available when accessed via web/ssh."
msgstr "此功能仅通过web/ssh访问时可用." msgstr "此功能仅通过web/ssh访问时可用."
#: menu.sh:1112 #: menu.sh:1124
msgid "" msgid ""
"Currently, only dts format files are supported. Please prepare and click to " "Currently, only dts format files are supported. Please prepare and click to "
"confirm uploading.\\n(saved in /mnt/p3/users/)" "confirm uploading.\\n(saved in /mnt/p3/users/)"
msgstr "目前, 只支持dts格式的文件, 请准备并点击确认上传.\\n(保存于 /mnt/p3/users/ 中)" msgstr "目前, 只支持dts格式的文件, 请准备并点击确认上传.\\n(保存于 /mnt/p3/users/ 中)"
#: menu.sh:1126 menu.sh:1131 #: menu.sh:1138 menu.sh:1143
msgid "Custom dts file" msgid "Custom dts file"
msgstr "自定义 dts 文件" msgstr "自定义 dts 文件"
#: menu.sh:1127 #: menu.sh:1139
msgid "Not a valid dts file, please try again!" msgid "Not a valid dts file, please try again!"
msgstr "dts 文件无效, 请重试!" msgstr "dts 文件无效, 请重试!"
#: menu.sh:1132 #: menu.sh:1144
msgid "A valid dts file, Automatically import at compile time." msgid "A valid dts file, Automatically import at compile time."
msgstr "dts 文件有效, 将在编译时自动导入." msgstr "dts 文件有效, 将在编译时自动导入."
#: menu.sh:1141 menu.sh:1144 #: menu.sh:1153 menu.sh:1156
msgid "Backup bootloader disk" msgid "Backup bootloader disk"
msgstr "备份启动盘" msgstr "备份启动盘"
#: menu.sh:1145 #: menu.sh:1157
msgid "Backuping..." msgid "Backuping..."
msgstr "备份中..." msgstr "备份中..."
#: menu.sh:1150 #: menu.sh:1162
msgid "" msgid ""
"Failed to generate backup. There may be insufficient memory. Please clear " "Failed to generate backup. There may be insufficient memory. Please clear "
"the cache and try again!" "the cache and try again!"
msgstr "生成备份失败, 可能内存不足, 请清除缓存重试!" msgstr "生成备份失败, 可能内存不足, 请清除缓存重试!"
#: menu.sh:1157 #: menu.sh:1169
msgid "Click on the address above to download." msgid "Click on the address above to download."
msgstr "点击上面的地址下载." msgstr "点击上面的地址下载."
#: menu.sh:1158 #: menu.sh:1170
msgid "" msgid ""
"Please confirm the completion of the download before closing this window." "Please confirm the completion of the download before closing this window."
msgstr "请确认下载完成再关闭此窗口." msgstr "请确认下载完成再关闭此窗口."
#: menu.sh:1159 #: menu.sh:1171
msgid "backup.img.gz download link" msgid "backup.img.gz download link"
msgstr "backup.img.gz 下载链接" msgstr "backup.img.gz 下载链接"
#: menu.sh:1165 #: menu.sh:1177
msgid "backup is complete." msgid "backup is complete."
msgstr "备份完成." msgstr "备份完成."
#: menu.sh:1174 menu.sh:1191 menu.sh:1194 menu.sh:1197 menu.sh:1205 #: menu.sh:1186 menu.sh:1203 menu.sh:1206 menu.sh:1209 menu.sh:1217
msgid "Restore bootloader disk" msgid "Restore bootloader disk"
msgstr "恢复启动盘" msgstr "恢复启动盘"
#: menu.sh:1175 #: menu.sh:1187
msgid "" msgid ""
"Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) " "Please upload the backup file.\\nCurrently, zip(github) and img.gz(backup) "
"compressed file formats are supported." "compressed file formats are supported."
msgstr "请上传备份的文件\\n当前支持 zip(github) 和 img.gz(backup) 格式." msgstr "请上传备份的文件\\n当前支持 zip(github) 和 img.gz(backup) 格式."
#: menu.sh:1192 #: menu.sh:1204
msgid "Not a valid .zip/.img.gz file, please try again!" msgid "Not a valid .zip/.img.gz file, please try again!"
msgstr "不是有效的.zip/.img.gz文件, 请重试!" msgstr "不是有效的.zip/.img.gz文件, 请重试!"
#: menu.sh:1198 #: menu.sh:1210
msgid "Writing..." msgid "Writing..."
msgstr "写入中..." msgstr "写入中..."
#: menu.sh:1206 #: menu.sh:1218
msgid "Restore bootloader disk with success to %s!\\nReboot?" msgid "Restore bootloader disk with success to %s!\\nReboot?"
msgstr "成功恢复启动盘到 %s!\\n重启?" msgstr "成功恢复启动盘到 %s!\\n重启?"
#: menu.sh:1214 #: menu.sh:1226
msgid "" msgid ""
"This option only installs opkg package management, allowing you to install " "This option only installs opkg package management, allowing you to install "
"more tools for use and debugging. Do you want to continue?" "more tools for use and debugging. Do you want to continue?"
msgstr "该选项仅安装 opkg 包管理工具, 使你能够安装更多的工具以供使用和调试, 是否继续?" msgstr "该选项仅安装 opkg 包管理工具, 使你能够安装更多的工具以供使用和调试, 是否继续?"
#: menu.sh:1223 #: menu.sh:1235
msgid "opkg installing ..." msgid "opkg installing ..."
msgstr "opkg 安装中 ..." msgstr "opkg 安装中 ..."
#: menu.sh:1225 #: menu.sh:1237
msgid "" msgid ""
"opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/." "opkg install is complete. Please reconnect to SSH/web, or execute 'source ~/."
"bashrc'" "bashrc'"
msgstr "opkg 安装完成. 请重新链接 SSH/web, 或者执行 'source ~/.bashrc'" msgstr "opkg 安装完成. 请重新链接 SSH/web, 或者执行 'source ~/.bashrc'"
#: menu.sh:1235 menu.sh:1263 menu.sh:1270 #: menu.sh:1247 menu.sh:1275 menu.sh:1282
msgid "Try recovery DSM" msgid "Try recovery DSM"
msgstr "尝试恢复DSM系统" msgstr "尝试恢复DSM系统"
#: menu.sh:1236 #: menu.sh:1248
msgid "Trying to recovery a DSM installed system" msgid "Trying to recovery a DSM installed system"
msgstr "尝试恢复已安装的DSM系统中" msgstr "尝试恢复已安装的DSM系统中"
#: menu.sh:1257 #: menu.sh:1269
msgid "Found a installation:\\nModel: %s\\nBuildnumber: %s" msgid "Found a installation:\\nModel: %s\\nBuildnumber: %s"
msgstr "找到已安装:\\n型号: %s\\n版本: %s" msgstr "找到已安装:\\n型号: %s\\n版本: %s"
#: menu.sh:1261 #: menu.sh:1273
msgid "\\nSerial: %s" msgid "\\nSerial: %s"
msgstr "\\nSN: %s" msgstr "\\nSN: %s"
#: menu.sh:1271 #: menu.sh:1283
msgid "Unfortunately I couldn't mount the DSM partition!" msgid "Unfortunately I couldn't mount the DSM partition!"
msgstr "很遗憾, 我无法挂载DSM分区!" msgstr "很遗憾, 我无法挂载DSM分区!"
#: menu.sh:1279 #: menu.sh:1291
msgid "Edit with caution" msgid "Edit with caution"
msgstr "请谨慎编辑" msgstr "请谨慎编辑"
#: menu.sh:1285 #: menu.sh:1297
msgid "Invalid YAML format" msgid "Invalid YAML format"
msgstr "无效的YAML格式" msgstr "无效的YAML格式"
#: menu.sh:1305 #: menu.sh:1317
msgid "Config changed, would you like to rebuild the loader?" msgid "Config changed, would you like to rebuild the loader?"
msgstr "配置已更改, 是否重新编译引导?" msgstr "配置已更改, 是否重新编译引导?"
#: menu.sh:1317 menu.sh:1624 #: menu.sh:1329 menu.sh:1644
msgid "Choose a language" msgid "Choose a language"
msgstr "选择语言" msgstr "选择语言"
#: menu.sh:1330 #: menu.sh:1342
msgid "Choose a layout" msgid "Choose a layout"
msgstr "选择布局" msgstr "选择布局"
#: menu.sh:1340 #: menu.sh:1352
msgid "Choice a keymap" msgid "Choice a keymap"
msgstr "选择键盘" msgstr "选择键盘"
#: menu.sh:1358 menu.sh:1368 menu.sh:1376 menu.sh:1382 menu.sh:1386 #: menu.sh:1369 menu.sh:1402 menu.sh:1453 menu.sh:1507 menu.sh:1515
#: menu.sh:1391 menu.sh:1397 menu.sh:1404 menu.sh:1413 menu.sh:1418 #: menu.sh:1523 menu.sh:1531
#: menu.sh:1435 msgid "Update %s"
msgid "Update arpl" msgstr "更新 %s"
msgstr "更新arpl"
#: menu.sh:1359 menu.sh:1443 menu.sh:1451 menu.sh:1457 menu.sh:1461 #: menu.sh:1372
#: menu.sh:1465 menu.sh:1469 menu.sh:1474 menu.sh:1485
msgid "Update addons"
msgstr "更新插件"
#: menu.sh:1360 menu.sh:1490 menu.sh:1498 menu.sh:1504 menu.sh:1508
#: menu.sh:1512 menu.sh:1527
msgid "Update modules"
msgstr "更新模块"
#: menu.sh:1361 menu.sh:1532 menu.sh:1540 menu.sh:1546 menu.sh:1550
#: menu.sh:1554 menu.sh:1558 menu.sh:1563
msgid "Update LKMs"
msgstr "更新LKMs"
#: menu.sh:1362
msgid "Set proxy server"
msgstr "设置代理"
#: menu.sh:1369 menu.sh:1444 menu.sh:1491 menu.sh:1533
msgid "Checking last version" msgid "Checking last version"
msgstr "检测新版本中" msgstr "检测新版本中"
#: menu.sh:1377 menu.sh:1452 menu.sh:1499 menu.sh:1541 #: menu.sh:1380
msgid "Error checking new version" msgid "Error checking new version"
msgstr "检测新版本错误" msgstr "检测新版本错误"
#: menu.sh:1383 menu.sh:1458 menu.sh:1505 menu.sh:1547 #: menu.sh:1385
msgid "No new version. Actual version is %s\\nForce update?" msgid "No new version. Actual version is %s\\nForce update?"
msgstr "没有新版本. 实际版本为 %s\\n强制更新?" msgstr "没有新版本. 实际版本为 %s\\n强制更新?"
#: menu.sh:1387 #: menu.sh:1389
msgid "Downloading last version %s" msgid "Downloading last version"
msgstr "下载新版本 %s 中" msgstr "下载新版本中"
#: menu.sh:1392 #: menu.sh:1394
msgid "Error downloading update file" msgid "Error downloading new version"
msgstr "下载新版本错误" msgstr "下载新版本错误"
#: menu.sh:1398 #: menu.sh:1404 menu.sh:1455
msgid "Extracting last version"
msgstr "解压新版本"
#: menu.sh:1408
msgid "Error extracting update file" msgid "Error extracting update file"
msgstr "更新文件解压错误" msgstr "更新文件解压错误"
#: menu.sh:1405 #: menu.sh:1415
msgid "Checksum do not match!" msgid "Checksum do not match!"
msgstr "Checksum不匹配!" msgstr "Checksum不匹配!"
#: menu.sh:1414 #: menu.sh:1424
msgid "" msgid ""
"The current version does not support upgrading to the latest update.zip. " "The current version does not support upgrading to the latest update.zip. "
"Please remake the bootloader disk!" "Please remake the bootloader disk!"
msgstr "当前版本不支持最新的update.zip升级, 请重新制作引导盘!" msgstr "当前版本不支持最新的update.zip升级, 请重新制作引导盘!"
#: menu.sh:1419 #: menu.sh:1429
msgid "Installing new files" msgid "Installing new files"
msgstr "安装更新中" msgstr "安装更新中"
#: menu.sh:1436 #: menu.sh:1446
msgid "Arpl updated with success to %s!\\nReboot?" msgid "Arpl updated with success to %s!\\nReboot?"
msgstr "Arpl更新成功 %s!\\n重启?" msgstr "Arpl更新成功 %s!\\n重启?"
#: menu.sh:1462 menu.sh:1509 menu.sh:1551 #: menu.sh:1461
msgid "Downloading last version"
msgstr "下载新版本中"
#: menu.sh:1466
msgid "Error downloading new version"
msgstr "下载新版本错误"
#: menu.sh:1470 menu.sh:1559
msgid "Extracting last version"
msgstr "解压新版本"
#: menu.sh:1475
msgid "Installing new addons" msgid "Installing new addons"
msgstr "安装新插件中" msgstr "安装新插件中"
@ -1019,74 +991,128 @@ msgstr "安装新插件中"
msgid "Addons updated with success!" msgid "Addons updated with success!"
msgstr "插件更新成功!" msgstr "插件更新成功!"
#: menu.sh:1513 menu.sh:1555 #: menu.sh:1496
msgid "Error downloading last version" msgid "Update arpl"
msgstr "下载新版本错误" msgstr "更新arpl"
#: menu.sh:1528 #: menu.sh:1497
msgid "Modules updated with success!" msgid "Update addons"
msgstr "模块更新成功!" msgstr "更新插件"
#: menu.sh:1564 #: menu.sh:1498
msgid "LKMs updated with success!" msgid "Update modules"
msgstr "LKMs更新成功!" msgstr "更新模块"
#: menu.sh:1570 #: menu.sh:1499
msgid "Update LKMs"
msgstr "更新LKMs"
#: menu.sh:1500
msgid "Set proxy server"
msgstr "设置代理"
#: menu.sh:1501 menu.sh:1590 menu.sh:1604
msgid "Local upload"
msgstr "本地上传"
#: menu.sh:1507
msgid "arpl"
msgstr "arpl"
#: menu.sh:1515
msgid "addons"
msgstr "插件"
#: menu.sh:1523
msgid "modules"
msgstr "模块"
#: menu.sh:1531
msgid "LKMs"
msgstr "LKMs"
#: menu.sh:1541
msgid "Set Proxy Server" msgid "Set Proxy Server"
msgstr "设置代理" msgstr "设置代理"
#: menu.sh:1571 #: menu.sh:1542
msgid "Please enter a proxy server url" msgid "Please enter a proxy server url"
msgstr "请输入代理服务器url" msgstr "请输入代理服务器url"
#: menu.sh:1582 #: menu.sh:1553
msgid "Invalid proxy server url, continue?" msgid "Invalid proxy server url, continue?"
msgstr "无效的代理服务器url,是否继续?" msgstr "无效的代理服务器url,是否继续?"
#: menu.sh:1605 #: menu.sh:1568
msgid ""
"Please keep the attachment name consistent with the attachment name on "
"Github.\\n"
msgstr "请保持附件名称与 github 上附件名称一致.\\n"
#: menu.sh:1569
msgid "Upload update.zip will update arpl.\\n"
msgstr "上传 update.zip 将更新 arpl.\\n"
#: menu.sh:1570
msgid "Upload addons.zip will update Addons.\\n"
msgstr "上传 addons.zip 将更新 插件.\\n"
#: menu.sh:1571
msgid "Upload modules.zip will update Modules.\\n"
msgstr "上传 modules.zip 将更新 模块.\\n"
#: menu.sh:1572
msgid "Upload rp-lkms.zip will update LKMs.\\n"
msgstr "上传 rp-lkms.zip 将更新 LKMs.\\n"
#: menu.sh:1591 menu.sh:1605
msgid "Not a valid file, please try again!"
msgstr "不是有效的文件, 请重试!"
#: menu.sh:1625
msgid "Choose a model" msgid "Choose a model"
msgstr "选择型号" msgstr "选择型号"
#: menu.sh:1607 #: menu.sh:1627
msgid "Choose a Build Number" msgid "Choose a Build Number"
msgstr "选择版本" msgstr "选择版本"
#: menu.sh:1609 #: menu.sh:1629
msgid "Addons" msgid "Addons"
msgstr "插件" msgstr "插件"
#: menu.sh:1611 #: menu.sh:1631
msgid "Cmdline menu" msgid "Cmdline menu"
msgstr "设置Cmdline" msgstr "设置Cmdline"
#: menu.sh:1612 #: menu.sh:1632
msgid "Synoinfo menu" msgid "Synoinfo menu"
msgstr "设置Synoinfo" msgstr "设置Synoinfo"
#: menu.sh:1615 #: menu.sh:1635
msgid "Advanced menu" msgid "Advanced menu"
msgstr "高级设置" msgstr "高级设置"
#: menu.sh:1618 #: menu.sh:1638
msgid "Build the loader" msgid "Build the loader"
msgstr "编译引导" msgstr "编译引导"
#: menu.sh:1622 #: menu.sh:1642
msgid "Boot the loader" msgid "Boot the loader"
msgstr "启动" msgstr "启动"
#: menu.sh:1625 #: menu.sh:1645
msgid "Choose a keymap" msgid "Choose a keymap"
msgstr "选择键盘" msgstr "选择键盘"
#: menu.sh:1627 #: menu.sh:1647
msgid "Clean disk cache" msgid "Clean disk cache"
msgstr "清除磁盘缓存" msgstr "清除磁盘缓存"
#: menu.sh:1629 #: menu.sh:1649
msgid "Update menu" msgid "Update menu"
msgstr "更新" msgstr "更新"
#: menu.sh:1655 #: menu.sh:1675
msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu" msgid "Call \\033[1;32mmenu.sh\\033[0m to return to menu"
msgstr "执行 \\033[1;32mmenu.sh\\033[0m 重新进入设置菜单" msgstr "执行 \\033[1;32mmenu.sh\\033[0m 重新进入设置菜单"

View File

@ -1122,13 +1122,13 @@ function advancedMenu() {
fi fi
dialog --backtitle "`backtitle`" --colors --aspect 18 \ dialog --backtitle "`backtitle`" --colors --aspect 18 \
--msgbox "$(TEXT "Currently, only dts format files are supported. Please prepare and click to confirm uploading.\n(saved in /mnt/p3/users/)")" 0 0 --msgbox "$(TEXT "Currently, only dts format files are supported. Please prepare and click to confirm uploading.\n(saved in /mnt/p3/users/)")" 0 0
TMP_PATH=/tmp/users TMP_UP_PATH=/tmp/users
rm -rf ${TMP_PATH} rm -rf ${TMP_UP_PATH}
mkdir -p ${TMP_PATH} mkdir -p ${TMP_UP_PATH}
pushd ${TMP_PATH} pushd ${TMP_UP_PATH}
rz -be rz -be
for F in `ls -A`; do for F in `ls -A`; do
USER_FILE=${TMP_PATH}/${F} USER_FILE=${TMP_UP_PATH}/${F}
dtc -q -I dts -O dtb ${F} > test.dtb dtc -q -I dts -O dtb ${F} > test.dtb
RET=$? RET=$?
break break
@ -1187,19 +1187,19 @@ function advancedMenu() {
--yesno "$(TEXT "Please upload the backup file.\nCurrently, zip(github) and img.gz(backup) compressed file formats are supported.")" 0 0 --yesno "$(TEXT "Please upload the backup file.\nCurrently, zip(github) and img.gz(backup) compressed file formats are supported.")" 0 0
[ $? -ne 0 ] && return [ $? -ne 0 ] && return
IFTOOL="" IFTOOL=""
TMP_PATH=/tmp/users TMP_UP_PATH=/tmp/users
rm -rf ${TMP_PATH} rm -rf ${TMP_UP_PATH}
mkdir -p ${TMP_PATH} mkdir -p ${TMP_UP_PATH}
pushd ${TMP_PATH} pushd ${TMP_UP_PATH}
rz -be rz -be
for F in `ls -A`; do for F in `ls -A`; do
USER_FILE="${F}" USER_FILE="${F}"
[ "${F##*.}" = "zip" -a `unzip -l "${TMP_PATH}/${USER_FILE}" | grep -c "\.img$"` -eq 1 ] && IFTOOL="zip" [ "${F##*.}" = "zip" -a `unzip -l "${TMP_UP_PATH}/${USER_FILE}" | grep -c "\.img$"` -eq 1 ] && IFTOOL="zip"
[ "${F##*.}" = "gz" -a "${F#*.}" = "img.gz" ] && IFTOOL="gzip" [ "${F##*.}" = "gz" -a "${F#*.}" = "img.gz" ] && IFTOOL="gzip"
break break
done done
popd popd
if [ -z "${IFTOOL}" -o -z "${TMP_PATH}/${USER_FILE}" ]; then if [ -z "${IFTOOL}" -o -z "${TMP_UP_PATH}/${USER_FILE}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Restore bootloader disk")" --aspect 18 \ dialog --backtitle "`backtitle`" --title "$(TEXT "Restore bootloader disk")" --aspect 18 \
--msgbox "`printf "$(TEXT "Not a valid .zip/.img.gz file, please try again!")" "${USER_FILE}"`" 0 0 --msgbox "`printf "$(TEXT "Not a valid .zip/.img.gz file, please try again!")" "${USER_FILE}"`" 0 0
else else
@ -1210,9 +1210,9 @@ function advancedMenu() {
--infobox "$(TEXT "Writing...")" 0 0 --infobox "$(TEXT "Writing...")" 0 0
umount /mnt/p1 /mnt/p2 /mnt/p3 umount /mnt/p1 /mnt/p2 /mnt/p3
if [ "${IFTOOL}" = "zip" ]; then if [ "${IFTOOL}" = "zip" ]; then
unzip -p "${TMP_PATH}/${USER_FILE}" | dd of="${LOADER_DISK}" bs=1M conv=fsync unzip -p "${TMP_UP_PATH}/${USER_FILE}" | dd of="${LOADER_DISK}" bs=1M conv=fsync
elif [ "${IFTOOL}" = "gzip" ]; then elif [ "${IFTOOL}" = "gzip" ]; then
gzip -dc "${TMP_PATH}/${USER_FILE}" | dd of="${LOADER_DISK}" bs=1M conv=fsync gzip -dc "${TMP_UP_PATH}/${USER_FILE}" | dd of="${LOADER_DISK}" bs=1M conv=fsync
fi fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Restore bootloader disk")" --aspect 18 \ dialog --backtitle "`backtitle`" --title "$(TEXT "Restore bootloader disk")" --aspect 18 \
--yesno "`printf "$(TEXT "Restore bootloader disk with success to %s!\nReboot?")" "${USER_FILE}"`" 0 0 --yesno "`printf "$(TEXT "Restore bootloader disk with success to %s!\nReboot?")" "${USER_FILE}"`" 0 0
@ -1360,6 +1360,132 @@ function keymapMenu() {
loadkeys /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz loadkeys /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz
} }
# 1 - ext name
# 2 - current version
# 3 - repo url
# 4 - attachment name
function downloadExts() {
PROXY="`readConfigKey "proxy" "${USER_CONFIG_FILE}"`"; [ -n "${PROXY}" ] && [[ "${PROXY: -1}" != "/" ]] && PROXY="${PROXY}/"
T="`printf "$(TEXT "Update %s")" "${1}"`"
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--infobox "$(TEXT "Checking last version")" 0 0
# TAG=`curl -skL "${PROXY}https://api.github.com/repos/wjz304/arpl-addons/releases/latest" | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
# In the absence of authentication, the default API access count for GitHub is 60 per hour, so removing the use of api.github.com
LATESTURL="`curl -skL -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest"`"
TAG="${LATESTURL##*/}"
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
if [ -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--msgbox "$(TEXT "Error checking new version")" 0 0
return 1
fi
if [ "${2}" = "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--yesno "`printf "$(TEXT "No new version. Actual version is %s\nForce update?")" "${2}"`" 0 0
[ $? -ne 0 ] && return 1
fi
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--infobox "$(TEXT "Downloading last version")" 0 0
rm -f "/tmp/${4}.zip"
STATUS=`curl -kL -w "%{http_code}" "${PROXY}${3}/releases/download/${TAG}/${4}.zip" -o "/tmp/${4}.zip"`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--msgbox "$(TEXT "Error downloading new version")" 0 0
return 1
fi
return 0
}
# 1 - ext name
function updateArpl() {
T="`printf "$(TEXT "Update %s")" "${1}"`"
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--infobox "$(TEXT "Extracting last version")" 0 0
unzip -oq /tmp/update.zip -d /tmp
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--msgbox "$(TEXT "Error extracting update file")" 0 0
continue
fi
# Check checksums
(cd /tmp && sha256sum --status -c sha256sum)
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--msgbox "$(TEXT "Checksum do not match!")" 0 0
continue
fi
# Check conditions
if [ -f "/tmp/update-check.sh" ]; then
chmod +x /tmp/update-check.sh
/tmp/update-check.sh
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--msgbox "$(TEXT "The current version does not support upgrading to the latest update.zip. Please remake the bootloader disk!")" 0 0
continue
fi
fi
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--infobox "$(TEXT "Installing new files")" 0 0
# Process update-list.yml
while read F; do
[ -f "${F}" ] && rm -f "${F}"
[ -d "${F}" ] && rm -Rf "${F}"
done < <(readConfigArray "remove" "/tmp/update-list.yml")
while IFS=': ' read KEY VALUE; do
if [ "${KEY: -1}" = "/" ]; then
rm -Rf "${VALUE}"
mkdir -p "${VALUE}"
tar -zxf "/tmp/`basename "${KEY}"`.tgz" -C "${VALUE}"
else
mkdir -p "`dirname "${VALUE}"`"
mv "/tmp/`basename "${KEY}"`" "${VALUE}"
fi
done < <(readConfigMap "replace" "/tmp/update-list.yml")
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--yesno "`printf "$(TEXT "Arpl updated with success to %s!\nReboot?")" "${TAG}"`" 0 0
[ $? -ne 0 ] && continue
arpl-reboot.sh config
}
# 1 - ext name
function updateExts() {
T="`printf "$(TEXT "Update %s")" "${1}"`"
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--infobox "$(TEXT "Extracting last version")" 0 0
if [ "${1}" = "addons" ]; then
rm -rf /tmp/addons
mkdir -p /tmp/addons
unzip /tmp/addons.zip -d /tmp/addons >/dev/null 2>&1
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--infobox "$(TEXT "Installing new addons")" 0 0
rm -Rf "${ADDONS_PATH}/"*
[ -f /tmp/addons/VERSION ] && cp -f /tmp/addons/VERSION ${ADDONS_PATH}/
for PKG in `ls /tmp/addons/*.addon`; do
ADDON=`basename ${PKG} | sed 's|.addon||'`
rm -rf "${ADDONS_PATH}/${ADDON}"
mkdir -p "${ADDONS_PATH}/${ADDON}"
tar -xaf "${PKG}" -C "${ADDONS_PATH}/${ADDON}" >/dev/null 2>&1
done
elif [ "${1}" = "modules" ]; then
rm "${MODULES_PATH}/"*
unzip /tmp/modules.zip -d "${MODULES_PATH}" >/dev/null 2>&1
# Rebuild modules if model/buildnumber is selected
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "${KVER}")
fi
elif [ "${1}" = "LKMs" ]; then
rm -rf "${LKM_PATH}/"*
unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1
fi
DIRTY=1
dialog --backtitle "`backtitle`" --title "${T}" --aspect 18 \
--msgbox "$(TEXT "Addons updated with success!")" 0 0
}
############################################################################### ###############################################################################
function updateMenu() { function updateMenu() {
PLATFORM="`readModelKey "${MODEL}" "platform"`" PLATFORM="`readModelKey "${MODEL}" "platform"`"
@ -1372,208 +1498,41 @@ function updateMenu() {
m "$(TEXT "Update modules")" \ m "$(TEXT "Update modules")" \
l "$(TEXT "Update LKMs")" \ l "$(TEXT "Update LKMs")" \
p "$(TEXT "Set proxy server")" \ p "$(TEXT "Set proxy server")" \
u "$(TEXT "Local upload")" \
e "$(TEXT "Exit")" \ e "$(TEXT "Exit")" \
2>${TMP_PATH}/resp 2>${TMP_PATH}/resp
[ $? -ne 0 ] && return [ $? -ne 0 ] && return
case "`<${TMP_PATH}/resp`" in case "`<${TMP_PATH}/resp`" in
a) a)
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \ T="`printf "$(TEXT "Update %s")" "$(TEXT "arpl")"`"
--infobox "$(TEXT "Checking last version")" 0 0 CURVER="${ARPL_VERSION:-0}"
# TAG="`curl -skL "${PROXY}https://api.github.com/repos/wjz304/arpl-i18n/releases/latest" | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`" downloadExts "arpl" ${CURVER} "https://github.com/wjz304/arpl-i18n" "update"
# In the absence of authentication, the default API access count for GitHub is 60 per hour, so removing the use of api.github.com
LATESTURL="`curl -skL -w %{url_effective} -o /dev/null "${PROXY}https://github.com/wjz304/arpl-i18n/releases/latest"`"
TAG="${LATESTURL##*/}"
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
if [ -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--msgbox "$(TEXT "Error checking new version")" 0 0
continue
fi
ACTUALVERSION="${ARPL_VERSION}"
if [ "${ACTUALVERSION}" = "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--yesno "`printf "$(TEXT "No new version. Actual version is %s\nForce update?")" "${ACTUALVERSION}"`" 0 0
[ $? -ne 0 ] && continue
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--infobox "`printf "$(TEXT "Downloading last version %s")" "${TAG}"`" 0 0
# Download update file
STATUS=`curl -kL -w "%{http_code}" "${PROXY}https://github.com/wjz304/arpl-i18n/releases/download/${TAG}/update.zip" -o "/tmp/update.zip"`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--msgbox "$(TEXT "Error downloading update file")" 0 0
continue
fi
unzip -oq /tmp/update.zip -d /tmp
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--msgbox "$(TEXT "Error extracting update file")" 0 0
continue
fi
# Check checksums
(cd /tmp && sha256sum --status -c sha256sum)
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--msgbox "$(TEXT "Checksum do not match!")" 0 0
continue
fi
# Check conditions
if [ -f "/tmp/update-check.sh" ]; then
chmod +x /tmp/update-check.sh
/tmp/update-check.sh
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--msgbox "$(TEXT "The current version does not support upgrading to the latest update.zip. Please remake the bootloader disk!")" 0 0
continue
fi
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--infobox "$(TEXT "Installing new files")" 0 0
# Process update-list.yml
while read F; do
[ -f "${F}" ] && rm -f "${F}"
[ -d "${F}" ] && rm -Rf "${F}"
done < <(readConfigArray "remove" "/tmp/update-list.yml")
while IFS=': ' read KEY VALUE; do
if [ "${KEY: -1}" = "/" ]; then
rm -Rf "${VALUE}"
mkdir -p "${VALUE}"
tar -zxf "/tmp/`basename "${KEY}"`.tgz" -C "${VALUE}"
else
mkdir -p "`dirname "${VALUE}"`"
mv "/tmp/`basename "${KEY}"`" "${VALUE}"
fi
done < <(readConfigMap "replace" "/tmp/update-list.yml")
dialog --backtitle "`backtitle`" --title "$(TEXT "Update arpl")" --aspect 18 \
--yesno "`printf "$(TEXT "Arpl updated with success to %s!\nReboot?")" "${TAG}"`" 0 0
[ $? -ne 0 ] && continue [ $? -ne 0 ] && continue
arpl-reboot.sh config updateArpl "arpl"
exit
;; ;;
d) d)
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \ T="`printf "$(TEXT "Update %s")" "$(TEXT "addons")"`"
--infobox "$(TEXT "Checking last version")" 0 0 CURVER="`cat "/mnt/p3/addons/VERSION" 2>/dev/null`"
# TAG=`curl -skL "${PROXY}https://api.github.com/repos/wjz304/arpl-addons/releases/latest" | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` downloadExts "addons" "${CURVER:-0}" "https://github.com/wjz304/arpl-addons" "addons"
# In the absence of authentication, the default API access count for GitHub is 60 per hour, so removing the use of api.github.com [ $? -ne 0 ] && continue
LATESTURL="`curl -skL -w %{url_effective} -o /dev/null "${PROXY}https://github.com/wjz304/arpl-addons/releases/latest"`" updateExts "addons"
TAG="${LATESTURL##*/}"
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
if [ -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--msgbox "$(TEXT "Error checking new version")" 0 0
continue
fi
ACTUALVERSION="`cat "/mnt/p3/addons/VERSION" 2>/dev/null`"
if [ "${ACTUALVERSION}" = "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--yesno "`printf "$(TEXT "No new version. Actual version is %s\nForce update?")" "${ACTUALVERSION}"`" 0 0
[ $? -ne 0 ] && continue
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--infobox "$(TEXT "Downloading last version")" 0 0
STATUS=`curl -kL -w "%{http_code}" "${PROXY}https://github.com/wjz304/arpl-addons/releases/download/${TAG}/addons.zip" -o "/tmp/addons.zip"`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--msgbox "$(TEXT "Error downloading new version")" 0 0
continue
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--infobox "$(TEXT "Extracting last version")" 0 0
rm -rf /tmp/addons
mkdir -p /tmp/addons
unzip /tmp/addons.zip -d /tmp/addons >/dev/null 2>&1
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--infobox "$(TEXT "Installing new addons")" 0 0
rm -Rf "${ADDONS_PATH}/"*
[ -f /tmp/addons/VERSION ] && cp -f /tmp/addons/VERSION ${ADDONS_PATH}/
for PKG in `ls /tmp/addons/*.addon`; do
ADDON=`basename ${PKG} | sed 's|.addon||'`
rm -rf "${ADDONS_PATH}/${ADDON}"
mkdir -p "${ADDONS_PATH}/${ADDON}"
tar -xaf "${PKG}" -C "${ADDONS_PATH}/${ADDON}" >/dev/null 2>&1
done
DIRTY=1
dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \
--msgbox "$(TEXT "Addons updated with success!")" 0 0
;; ;;
m) m)
dialog --backtitle "`backtitle`" --title "$(TEXT "Update modules")" --aspect 18 \ T="`printf "$(TEXT "Update %s")" "$(TEXT "modules")"`"
--infobox "$(TEXT "Checking last version")" 0 0 CURVER="`cat "/mnt/p3/modules/VERSION" 2>/dev/null`"
# TAG=`curl -skL "${PROXY}https://api.github.com/repos/wjz304/arpl-modules/releases/latest" | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` downloadExts "modules" "${CURVER:-0}" "https://github.com/wjz304/arpl-modules" "modules"
# In the absence of authentication, the default API access count for GitHub is 60 per hour, so removing the use of api.github.com [ $? -ne 0 ] && continue
LATESTURL="`curl -skL -w %{url_effective} -o /dev/null "${PROXY}https://github.com/wjz304/arpl-modules/releases/latest"`" updateExts "modules"
TAG="${LATESTURL##*/}"
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
if [ -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update modules")" --aspect 18 \
--msgbox "$(TEXT "Error checking new version")" 0 0
continue
fi
ACTUALVERSION="`cat "/mnt/p3/modules/VERSION" 2>/dev/null`"
if [ "${ACTUALVERSION}" = "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update modules")" --aspect 18 \
--yesno "`printf "$(TEXT "No new version. Actual version is %s\nForce update?")" "${ACTUALVERSION}"`" 0 0
[ $? -ne 0 ] && continue
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update modules")" --aspect 18 \
--infobox "$(TEXT "Downloading last version")" 0 0
STATUS=`curl -kL -w "%{http_code}" "${PROXY}https://github.com/wjz304/arpl-modules/releases/download/${TAG}/modules.zip" -o "/tmp/modules.zip"`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update modules")" --aspect 18 \
--msgbox "$(TEXT "Error downloading last version")" 0 0
continue
fi
rm "${MODULES_PATH}/"*
unzip /tmp/modules.zip -d "${MODULES_PATH}" >/dev/null 2>&1
# Rebuild modules if model/buildnumber is selected
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "${KVER}")
fi
DIRTY=1
dialog --backtitle "`backtitle`" --title "$(TEXT "Update modules")" --aspect 18 \
--msgbox "$(TEXT "Modules updated with success!")" 0 0
;; ;;
l) l)
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \ T="`printf "$(TEXT "Update %s")" "$(TEXT "LKMs")"`"
--infobox "$(TEXT "Checking last version")" 0 0 CURVER="`cat "/mnt/p3/lkms/VERSION" 2>/dev/null`"
# TAG=`curl -skL "${PROXY}https://api.github.com/repos/wjz304/redpill-lkm/releases/latest" | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` downloadExts "LKMs" "${CURVER:-0}" "https://github.com/wjz304/redpill-lkm" "rp-lkms"
# In the absence of authentication, the default API access count for GitHub is 60 per hour, so removing the use of api.github.com [ $? -ne 0 ] && continue
LATESTURL="`curl -skL -w %{url_effective} -o /dev/null "${PROXY}https://github.com/wjz304/redpill-lkm/releases/latest"`" updateExts "LKMs"
TAG="${LATESTURL##*/}"
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
if [ -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \
--msgbox "$(TEXT "Error checking new version")" 0 0
continue
fi
ACTUALVERSION="`cat "/mnt/p3/lkms/VERSION" 2>/dev/null`"
if [ "${ACTUALVERSION}" = "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \
--yesno "`printf "$(TEXT "No new version. Actual version is %s\nForce update?")" "${ACTUALVERSION}"`" 0 0
[ $? -ne 0 ] && continue
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \
--infobox "$(TEXT "Downloading last version")" 0 0
STATUS=`curl -kL -w "%{http_code}" "${PROXY}https://github.com/wjz304/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o "/tmp/rp-lkms.zip"`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \
--msgbox "$(TEXT "Error downloading last version")" 0 0
continue
fi
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \
--infobox "$(TEXT "Extracting last version")" 0 0
rm -rf "${LKM_PATH}/"*
unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1
DIRTY=1
dialog --backtitle "`backtitle`" --title "$(TEXT "Update LKMs")" --aspect 18 \
--msgbox "$(TEXT "LKMs updated with success!")" 0 0
;; ;;
p) p)
@ -1598,6 +1557,55 @@ function updateMenu() {
done done
[ ${RET} -eq 0 ] && writeConfigKey "proxy" "${PROXY}" "${USER_CONFIG_FILE}" [ ${RET} -eq 0 ] && writeConfigKey "proxy" "${PROXY}" "${USER_CONFIG_FILE}"
;; ;;
u)
if ! tty | grep -q "/dev/pts"; then
dialog --backtitle "`backtitle`" --colors --aspect 18 \
--msgbox "$(TEXT "This feature is only available when accessed via web/ssh.")" 0 0
return
fi
MSG=""
MSG+="$(TEXT "Please keep the attachment name consistent with the attachment name on Github.\n")"
MSG+="$(TEXT "Upload update.zip will update arpl.\n")"
MSG+="$(TEXT "Upload addons.zip will update Addons.\n")"
MSG+="$(TEXT "Upload modules.zip will update Modules.\n")"
MSG+="$(TEXT "Upload rp-lkms.zip will update LKMs.\n")"
dialog --backtitle "`backtitle`" --colors --aspect 18 \
--msgbox "${MSG}" 0 0
EXTS=("update.zip" "addons.zip" "modules.zip" "rp-lkms.zip")
TMP_UP_PATH=/tmp/users
USER_FILE=""
rm -rf ${TMP_UP_PATH}
mkdir -p ${TMP_UP_PATH}
pushd ${TMP_UP_PATH}
rz -be
for F in `ls -A`; do
for I in ${EXTS[@]}; do
[[ "${I}" == "${F}" ]] && USER_FILE=${F}
done
break
done
popd
if [ -z "${USER_FILE}" ]; then
dialog --backtitle "`backtitle`" --title "$(TEXT "Local upload")" --aspect 18 \
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
else
rm /tmp/${USER_FILE}
mv ${TMP_UP_PATH}/${USER_FILE} /tmp/${USER_FILE}
if [ "${USER_FILE}" = "update.zip" ]; then
updateArpl "arpl"
elif [ "${USER_FILE}" = "addons.zip" ]; then
updateExts "addons"
elif [ "${USER_FILE}" = "modules.zip" ]; then
updateExts "modules"
elif [ "${USER_FILE}" = "rp-lkms.zip" ]; then
updateExts "LKMs"
else
dialog --backtitle "`backtitle`" --title "$(TEXT "Local upload")" --aspect 18 \
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
fi
fi
;;
e) return ;; e) return ;;
esac esac
done done