diff options
author | Chris Lumens <clumens@redhat.com> | 2012-08-22 18:10:38 -0400 |
---|---|---|
committer | Chris Lumens <clumens@redhat.com> | 2012-08-22 18:10:38 -0400 |
commit | d2101c48c0d91ded4f4253fd6e2899e26c24da2f (patch) | |
tree | d9365fff16bf00c6f7aa97f0cb4e738036c51c3d | |
parent | 7a7a6a39787739b817f2a68b1266d0887aeea627 (diff) | |
download | anaconda-d2101c48c0d91ded4f4253fd6e2899e26c24da2f.tar.gz anaconda-d2101c48c0d91ded4f4253fd6e2899e26c24da2f.tar.xz anaconda-d2101c48c0d91ded4f4253fd6e2899e26c24da2f.zip |
New version.
-rw-r--r-- | anaconda.spec.in | 82 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | po/anaconda.pot | 172 |
3 files changed, 169 insertions, 87 deletions
diff --git a/anaconda.spec.in b/anaconda.spec.in index f6f84df06..f5d8bd956 100644 --- a/anaconda.spec.in +++ b/anaconda.spec.in @@ -293,6 +293,88 @@ update-desktop-database &> /dev/null || : /usr/lib/dracut/modules.d/80%{name}/* %changelog +* Wed Aug 22 2012 Chris Lumens <clumens@redhat.com> - 18.7-1 +- Do another _main_window -> main_window change. (clumens) +- Mark the storage category title for translation. (clumens) +- _actions should be set up in the __init__ method. (clumens) +- Don't require hfs-tools on RHEL (#849987). (clumens) +- dracut: remove workarounds for broken splitsep() (wwoods) +- dracut: update Requires: in spec (wwoods) +- Use ksdata.timezone and timezone module instead of anaconda.timezone + (vpodzime) +- Remove the last usage of the system-config-date in Anaconda (vpodzime) +- Add support for swap --hibernation on LVM (vpodzime) +- Don't rely on selection staying selected when doing crazy things to it + (vpodzime) +- Replace nonexisting icon with an existing one (DatetimeSpoke) (vpodzime) +- integer out of range for L format code (hamzy) +- Network spoke: use chr() instead of str() to convert dbus.Byte (#849395) + (rvykydal) +- verify package checksums against metadata (bcl) +- use F18_PartData for hibernation flag support. (bcl) +- fix Gtk import in software.py (bcl) +- dracut: fix rd.neednet use in parse-kickstart (#849672) (wwoods) +- parse-anaconda-net: Add missing semicolon for dhclient.conf (bcl) +- anaconda-modprobe: fix .ko removal (bcl) +- Only devices that already exist may be ISO install sources (#849482). + (clumens) +- Use python-meh's MainExceptionWindow's main_window property (vpodzime) +- dracut: fix syntax error in parse-kickstart (wwoods) +- Show fstype as "Unknown" for devices with unrecognised formatting. (dlehman) +- BTRFS magic for custom spoke. (dlehman) +- The device type of preexisting devices cannot be changed. (dlehman) +- Revert old hack that disabled btrfs in the old ui. (dlehman) +- Use correct device instance when updating selector w/ new device. (dlehman) +- Fix a traceback when clicking on the summary in custom spoke. (dlehman) +- Move device size calculation and setting into DeviceFactory. (dlehman) +- Stop pretending btrfs subvols can have a size. (dlehman) +- Fix a typo in StorageDevice._setSize. (dlehman) +- dracut: add info about special variables to README (wwoods) +- dracut: fix invalid use of 'eth0' (wwoods) +- dracut: drop upgrade-specific hack (wwoods) +- dracut: set "$netif" correctly in initqueue/online scripts (wwoods) +- dracut: fix old-style static ip=xxx gw=yyy... (wwoods) +- dracut: import anaconda-lib.sh in pre-udev hook (wwoods) +- dracut: fix set_neednet so network comes up (#849672) (wwoods) +- dracut: drop save_netinfo (wwoods) +- move anaconda-modprobe to pre-udev hook, silence modprobe errors (wwoods) +- parse-kickstart: fix crash with PXE + ks=file: (#844478) (wwoods) +- parse-kickstart: clarify/refactor Network handling (wwoods) +- Actually create default ifcfg files (#849012) (rvykydal) +- Don't fail on write of nonexisting IfcfgFile(SimpleConfigFile) (#849012, + #849095) (rvykydal) +- If dracut left the DVD mounted, don't try to remount it (#849152). (clumens) +- Add support for most device editing functions. (dlehman) +- Various fixes, cleanups, and added logging for the custom spoke. (dlehman) +- Work around some signal handling issues in the custom spoke. (dlehman) +- Make choosing an auto-selected page after refresh slightly less fallible. + (dlehman) +- Raise an exception if a new device ends up with size 0. (dlehman) +- Split out logic to determine container based on factory and/or device. + (dlehman) +- Allow adding disks to a container's disk set. (dlehman) +- Allow passing a device into newDevice for adjustment. (dlehman) +- Add PartitionFactory class so partitions don't need a separate code path. + (dlehman) +- Add a convenience method for scheduling resize actions. (dlehman) +- Return early from doKickstartStorage if there are no disks selected. + (dlehman) +- Remove isomd5sum-static from build requires (vpodzime) +- Don't rely on having some network devices available (vpodzime) +- Enlightbox mainExceptionWindow (vpodzime) +- Put mainExceptionWindow in a WindowGroup (vpodzime) +- Bump required yum version to get the environment code. (notting) +- Add a flag so we don't get spurious 'change' events from the treeview while + we're setting up the UI. (notting) +- Wire in the new environment logic through the UI. (notting) +- Add a local method for exposing group visibility from the comps file. + (notting) +- Add methods to yumpayload for handling environments. (notting) +- Add some nicer wording to the column heads in the software selection UI. + (notting) +- Rename 'description' to 'groupDescription'. (notting) +- dracut: add README (wwoods) + * Thu Aug 16 2012 Chris Lumens <clumens@redhat.com> - 18.6-1 - Remove linuxrc.s390 (dcantrell) - Source in url-lib.sh if we don't have it (#847831) (jkeating) diff --git a/configure.ac b/configure.ac index 31f2eb991..35e78f27b 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ m4_define(python_required_version, 2.5) AC_PREREQ([2.63]) -AC_INIT([anaconda], [18.6], [anaconda-devel-list@redhat.com]) +AC_INIT([anaconda], [18.7], [anaconda-devel-list@redhat.com]) AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2]) AC_CONFIG_HEADERS([config.h]) diff --git a/po/anaconda.pot b/po/anaconda.pot index 9253cc62b..2fee9cc92 100644 --- a/po/anaconda.pot +++ b/po/anaconda.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: anaconda 18.5\n" +"Project-Id-Version: anaconda 18.6\n" "Report-Msgid-Bugs-To: anaconda-devel-list@redhat.com\n" -"POT-Creation-Date: 2012-08-16 17:39-0400\n" +"POT-Creation-Date: 2012-08-22 17:05-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -288,7 +288,7 @@ msgid "" "%s" msgstr "" -#: pyanaconda/kickstart.py:1522 +#: pyanaconda/kickstart.py:1518 msgid "Running pre-installation scripts" msgstr "" @@ -669,7 +669,7 @@ msgstr[1] "" msgid "Preparing to install" msgstr "" -#: pyanaconda/yuminstall.py:136 pyanaconda/packaging/yumpayload.py:1139 +#: pyanaconda/yuminstall.py:136 pyanaconda/packaging/yumpayload.py:1247 msgid "Preparing transaction from installation source" msgstr "" @@ -985,19 +985,19 @@ msgid "" "select a different set of software now." msgstr "" -#: pyanaconda/packaging/yumpayload.py:973 +#: pyanaconda/packaging/yumpayload.py:1081 msgid "Starting package installation process" msgstr "" -#: pyanaconda/packaging/yumpayload.py:1159 +#: pyanaconda/packaging/yumpayload.py:1267 msgid "Upgrading" msgstr "" -#: pyanaconda/packaging/yumpayload.py:1161 +#: pyanaconda/packaging/yumpayload.py:1269 msgid "Installing" msgstr "" -#: pyanaconda/packaging/yumpayload.py:1218 +#: pyanaconda/packaging/yumpayload.py:1342 msgid "Performing post-install setup tasks" msgstr "" @@ -1071,79 +1071,79 @@ msgid "" "\n" msgstr "" -#: pyanaconda/storage/__init__.py:1268 +#: pyanaconda/storage/__init__.py:1287 msgid "You must create a new filesystem on the root device." msgstr "" -#: pyanaconda/storage/__init__.py:1424 +#: pyanaconda/storage/__init__.py:1443 #, python-format msgid "" "You have not defined a root partition (/), which is required for " "installation of %s to continue." msgstr "" -#: pyanaconda/storage/__init__.py:1429 +#: pyanaconda/storage/__init__.py:1448 #, python-format msgid "" "Your root partition is less than 250 megabytes which is usually too small to " "install %s." msgstr "" -#: pyanaconda/storage/__init__.py:1443 +#: pyanaconda/storage/__init__.py:1462 msgid "" "This platform requires /boot on a dedicated partition or logical volume. If " "you do not want a /boot volume, you must place / on a dedicated non-LVM " "partition." msgstr "" -#: pyanaconda/storage/__init__.py:1454 +#: pyanaconda/storage/__init__.py:1473 #, python-format msgid "" "Your / partition does not match the the live image you are installing from. " "It must be formatted as %s." msgstr "" -#: pyanaconda/storage/__init__.py:1461 +#: pyanaconda/storage/__init__.py:1480 #, python-format msgid "" "Your %(mount)s partition is less than %(size)s megabytes which is lower than " "recommended for a normal %(productName)s install." msgstr "" -#: pyanaconda/storage/__init__.py:1471 +#: pyanaconda/storage/__init__.py:1490 #, python-format msgid "" "Your %(mount)s partition is too small for %(format)s formatting (allowable " "size is %(minSize)d MB to %(maxSize)d MB)" msgstr "" -#: pyanaconda/storage/__init__.py:1476 +#: pyanaconda/storage/__init__.py:1495 #, python-format msgid "" "Your %(mount)s partition is too large for %(format)s formatting (allowable " "size is %(minSize)d MB to %(maxSize)d MB)" msgstr "" -#: pyanaconda/storage/__init__.py:1503 +#: pyanaconda/storage/__init__.py:1522 msgid "" "Installing on a USB device. This may or may not produce a working system." msgstr "" -#: pyanaconda/storage/__init__.py:1506 +#: pyanaconda/storage/__init__.py:1525 msgid "" "Installing on a FireWire device. This may or may not produce a working " "system." msgstr "" -#: pyanaconda/storage/__init__.py:1512 +#: pyanaconda/storage/__init__.py:1531 msgid "you have not created a bootloader stage1 target device" msgstr "" -#: pyanaconda/storage/__init__.py:1521 +#: pyanaconda/storage/__init__.py:1540 msgid "You have not created a bootable partition." msgstr "" -#: pyanaconda/storage/__init__.py:1540 +#: pyanaconda/storage/__init__.py:1559 #, python-format msgid "" "Your BIOS-based system needs a special partition to boot with %s's new disk " @@ -1151,7 +1151,7 @@ msgid "" "partition." msgstr "" -#: pyanaconda/storage/__init__.py:1553 +#: pyanaconda/storage/__init__.py:1572 #, python-format msgid "" "You have not specified a swap partition. %(requiredMem)s MB of memory is " @@ -1159,13 +1159,13 @@ msgid "" "have %(installedMem)s MB." msgstr "" -#: pyanaconda/storage/__init__.py:1559 +#: pyanaconda/storage/__init__.py:1578 msgid "" "You have not specified a swap partition. Although not strictly required in " "all cases, it will significantly improve performance for most installations." msgstr "" -#: pyanaconda/storage/__init__.py:1565 +#: pyanaconda/storage/__init__.py:1584 msgid "" "At least one of your swap devices does not have a UUID, which is common in " "swap space created using older versions of mkswap. These devices will be " @@ -1173,13 +1173,13 @@ msgid "" "paths can change under a variety of circumstances. " msgstr "" -#: pyanaconda/storage/__init__.py:1575 +#: pyanaconda/storage/__init__.py:1594 #, python-format msgid "" "This mount point is invalid. The %s directory must be on the / file system." msgstr "" -#: pyanaconda/storage/__init__.py:1579 +#: pyanaconda/storage/__init__.py:1598 #, python-format msgid "The mount point %s must be on a linux file system." msgstr "" @@ -1222,7 +1222,7 @@ msgstr "" msgid "lvs failed for %s" msgstr "" -#: pyanaconda/storage/devices.py:2639 +#: pyanaconda/storage/devices.py:2642 #, python-format msgid "A RAID%(raidLevel)d set requires at least %(minMembers)d member" msgid_plural "A RAID%(raidLevel)d set requires at least %(minMembers)d members" @@ -1657,76 +1657,76 @@ msgstr "" msgid "Complete!" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:63 +#: pyanaconda/ui/gui/spokes/custom.py:61 #, python-format msgid "New %s %s Installation" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:141 +#: pyanaconda/ui/gui/spokes/custom.py:146 msgid "MANUAL PARTITIONING" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:348 +#: pyanaconda/ui/gui/spokes/custom.py:360 #, python-format msgid "%d storage device selected" msgid_plural "%d storage devices selected" msgstr[0] "" msgstr[1] "" -#: pyanaconda/ui/gui/spokes/custom.py:445 -#: pyanaconda/ui/gui/spokes/network.py:554 +#: pyanaconda/ui/gui/spokes/custom.py:462 +#: pyanaconda/ui/gui/spokes/network.py:556 msgid "Unknown" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:465 +#: pyanaconda/ui/gui/spokes/custom.py:492 msgid "" "The 'swap' area on your computer is used by the operating\n" "system when running low on memory." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:468 +#: pyanaconda/ui/gui/spokes/custom.py:495 msgid "" "The 'boot' area on your computer is where files needed\n" "to start the operating system are stored." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:471 +#: pyanaconda/ui/gui/spokes/custom.py:498 msgid "" "The 'root' area on your computer is where core system\n" "files and applications are stored." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:474 +#: pyanaconda/ui/gui/spokes/custom.py:501 msgid "" "The 'home' area on your computer is where all your personal\n" "data is stored." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:477 +#: pyanaconda/ui/gui/spokes/custom.py:504 msgid "No one knows what this could possibly be for." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:513 +#: pyanaconda/ui/gui/spokes/custom.py:669 msgid "This file system does not support labels." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:523 +#: pyanaconda/ui/gui/spokes/custom.py:687 msgid "This file system may not be resized." msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:780 +#: pyanaconda/ui/gui/spokes/custom.py:1001 msgid "BTRFS" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:783 +#: pyanaconda/ui/gui/spokes/custom.py:1009 msgid "LVM" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:786 +#: pyanaconda/ui/gui/spokes/custom.py:1012 msgid "RAID" msgstr "" -#: pyanaconda/ui/gui/spokes/custom.py:789 +#: pyanaconda/ui/gui/spokes/custom.py:1015 msgid "Standard Partition" msgstr "" @@ -1798,81 +1798,81 @@ msgstr "" msgid "Connection failed" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:543 +#: pyanaconda/ui/gui/spokes/network.py:545 msgid "unplugged" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:556 +#: pyanaconda/ui/gui/spokes/network.py:558 msgid "Ethernet" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:558 +#: pyanaconda/ui/gui/spokes/network.py:560 msgid "Wireless" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:643 +#: pyanaconda/ui/gui/spokes/network.py:647 #: pyanaconda/ui/gui/spokes/network.glade:341 #: pyanaconda/ui/gui/spokes/network.glade:717 msgid "IPv4 Address" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:644 +#: pyanaconda/ui/gui/spokes/network.py:648 #: pyanaconda/ui/gui/spokes/network.glade:355 #: pyanaconda/ui/gui/spokes/network.glade:731 #: pyanaconda/ui/gui/spokes/network.glade:1372 msgid "IPv6 Address" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:646 -#: pyanaconda/ui/gui/spokes/network.py:648 +#: pyanaconda/ui/gui/spokes/network.py:650 +#: pyanaconda/ui/gui/spokes/network.py:652 #: pyanaconda/ui/gui/spokes/network.glade:1358 msgid "IP Address" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:702 +#: pyanaconda/ui/gui/spokes/network.py:706 #, python-format msgid "%d Mb/s" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:878 +#: pyanaconda/ui/gui/spokes/network.py:882 msgid "WEP" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:881 +#: pyanaconda/ui/gui/spokes/network.py:885 msgid "WPA" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:884 +#: pyanaconda/ui/gui/spokes/network.py:888 msgid "WPA2" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:888 +#: pyanaconda/ui/gui/spokes/network.py:892 msgid "Enterprise" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:893 widgets/src/SpokeSelector.c:52 +#: pyanaconda/ui/gui/spokes/network.py:897 widgets/src/SpokeSelector.c:52 msgid "None" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:907 +#: pyanaconda/ui/gui/spokes/network.py:911 msgid "NETWORK CONFIGURATION" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:930 +#: pyanaconda/ui/gui/spokes/network.py:934 msgid "Not connected" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:937 +#: pyanaconda/ui/gui/spokes/network.py:941 #, python-format msgid "Wireless (%s) connected to %s" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:940 +#: pyanaconda/ui/gui/spokes/network.py:944 #, python-format msgid "Wired (%s) connected" msgstr "" -#: pyanaconda/ui/gui/spokes/network.py:950 +#: pyanaconda/ui/gui/spokes/network.py:954 #, python-format msgid "Connected devices: %s" msgstr "" @@ -1881,58 +1881,58 @@ msgstr "" msgid "SOFTWARE SELECTION" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:90 +#: pyanaconda/ui/gui/spokes/software.py:85 msgid "Checking software dependencies..." msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:96 +#: pyanaconda/ui/gui/spokes/software.py:91 msgid "Error checking software dependencies" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:136 +#: pyanaconda/ui/gui/spokes/software.py:131 msgid "Error checking software selection" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:139 +#: pyanaconda/ui/gui/spokes/software.py:134 msgid "Installation source not set up" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:147 +#: pyanaconda/ui/gui/spokes/software.py:142 msgid "Custom software selected" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:149 +#: pyanaconda/ui/gui/spokes/software.py:144 #: pyanaconda/ui/gui/spokes/source.py:534 #: pyanaconda/ui/gui/spokes/source.py:562 msgid "Nothing selected" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:163 +#: pyanaconda/ui/gui/spokes/software.py:158 #: pyanaconda/ui/gui/spokes/source.py:45 msgid "Downloading package metadata..." msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:169 +#: pyanaconda/ui/gui/spokes/software.py:164 msgid "Downloading group metadata..." msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:180 +#: pyanaconda/ui/gui/spokes/software.py:175 msgid "No installation source available" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:237 +#: pyanaconda/ui/gui/spokes/software.py:226 msgid "Error checking software dependencies. Click for details." msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:272 pyanaconda/ui/gui/main.glade:36 +#: pyanaconda/ui/gui/spokes/software.py:269 pyanaconda/ui/gui/main.glade:36 msgid "_Quit" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:272 +#: pyanaconda/ui/gui/spokes/software.py:269 msgid "_Remove Packages" msgstr "" -#: pyanaconda/ui/gui/spokes/software.py:273 +#: pyanaconda/ui/gui/spokes/software.py:270 msgid "_Modify Software Source" msgstr "" @@ -2049,24 +2049,24 @@ msgstr "" msgid "INSTALLATION DESTINATION" msgstr "" -#: pyanaconda/ui/gui/spokes/welcome.py:243 +#: pyanaconda/ui/gui/spokes/welcome.py:245 msgid "LANGUAGE" msgstr "" -#: pyanaconda/ui/gui/spokes/lib/accordion.py:119 +#: pyanaconda/ui/gui/spokes/lib/accordion.py:122 msgid "DATA" msgstr "" -#: pyanaconda/ui/gui/spokes/lib/accordion.py:124 +#: pyanaconda/ui/gui/spokes/lib/accordion.py:127 msgid "SYSTEM" msgstr "" -#: pyanaconda/ui/gui/spokes/lib/accordion.py:207 +#: pyanaconda/ui/gui/spokes/lib/accordion.py:208 #, python-format msgid "You haven't created any mount points for your %s %s installation yet:" msgstr "" -#: pyanaconda/ui/gui/spokes/lib/accordion.py:222 +#: pyanaconda/ui/gui/spokes/lib/accordion.py:223 msgid "Or, create new mount points below with the '+' icon." msgstr "" @@ -2252,20 +2252,20 @@ msgid "Air_plane Mode" msgstr "" #: pyanaconda/ui/gui/spokes/software.glade:74 -msgid "DESKTOP" +msgid "Choose your environment" msgstr "" -#: pyanaconda/ui/gui/spokes/software.glade:113 -#: pyanaconda/ui/gui/spokes/software.glade:190 -#: pyanaconda/ui/gui/spokes/software.glade:205 +#: pyanaconda/ui/gui/spokes/software.glade:115 +#: pyanaconda/ui/gui/spokes/software.glade:192 +#: pyanaconda/ui/gui/spokes/software.glade:207 msgid "column" msgstr "" -#: pyanaconda/ui/gui/spokes/software.glade:156 -msgid "ADD-ONS" +#: pyanaconda/ui/gui/spokes/software.glade:158 +msgid "Choose your add-ons" msgstr "" -#: pyanaconda/ui/gui/spokes/software.glade:230 +#: pyanaconda/ui/gui/spokes/software.glade:232 msgid "_Add custom add-on..." msgstr "" |