Fix missing parameters in method calls
[GitHub/WoltLab/WCF.git] / wcfsetup / install / lang / en.xml
index 5b23ca02eaa81f5da91095dba1af325ddb92b7c9..3c3a9ba3f87d6505c815b91855a140562babc665 100644 (file)
                <item name="wcf.acp.language.item.languageCategory"><![CDATA[Language Category Identifier]]></item>
                <item name="wcf.acp.language.item.languageCategory.description"><![CDATA[The entered language category identifier is used to group phrases.]]></item>
                <item name="wcf.acp.language.item.languageCategory.error.notUnique"><![CDATA[This language category identifier is already used by an existing language category.]]></item>
-               <item name="wcf.acp.language.item.languageItem.error.notUnique"><![CDATA[The entered identifier is already used by another phrase.]]></item>
+               <item name="wcf.acp.language.item.languageCategory.error.tooFewSegments"><![CDATA[The entered category contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
        </category>
        
        <category name="wcf.acp.masterPassword">
                <item name="wcf.acp.option.show_version_number"><![CDATA[Display version number in copyright notice]]></item>
                <item name="wcf.acp.option.enable_debug_mode"><![CDATA[Enable debug mode]]></item>
                <item name="wcf.acp.option.enable_debug_mode.description"><![CDATA[Enables extensive error messages, it should always be disabled in production environments!]]></item>
+               <item name="wcf.acp.option.enable_production_debug_mode"><![CDATA[Problem analysis in production environments]]></item>
+               <item name="wcf.acp.option.enable_production_debug_mode.description"><![CDATA[Appends the current URL to database queries to assist looking them up in the database server’s log files.]]></item>
                <item name="wcf.acp.option.external_link_rel_nofollow"><![CDATA[Append the attribute “rel="nofollow"” to all external links]]></item>
                <item name="wcf.acp.option.external_link_rel_nofollow.description"><![CDATA[The attribute “rel="nofollow"” tells search engines to disregard external links.]]></item>
                <item name="wcf.acp.option.external_link_target_blank"><![CDATA[Open external links in a new window]]></item>
@@ -1748,11 +1750,12 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.data.title"><![CDATA[Ad Location Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.categoryName"><![CDATA[Category]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.categoryName.description"><![CDATA[Ad locations are grouped by their category in the ad location selection when creating and editing ads. The category consists of at least four segments that are separated by dots. Each segment may only contain the following characters: <code>[A-z0-9-_]</code>.]]></item>
-               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.categoryName.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.categoryName.error.tooFewSegments"><![CDATA[The entered category only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.cssClassName"><![CDATA[CSS Classes]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.cssClassName.description"><![CDATA[The entered comma-separated CSS classes are assigned to the element that wraps all ads at the specific location. ]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.cssClassName.error.invalid"><![CDATA[The following CSS classes are invalid: {implode from=$invalidClasses item=invalidClass}<code>{$invalidClass}</code>{/implode}.]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.page"><![CDATA[Page]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.adLocation.page.description"><![CDATA[Page on which the ad location is positioned.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.attachment.objectType.data.title"><![CDATA[Attachment Type Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.attachment.objectType.private"><![CDATA[Attachments are Private]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.attachment.objectType.private.description"><![CDATA[Private attachments are ignored by the attachment management in the ACP.]]></item>
@@ -1776,7 +1779,8 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.condition.userSearch.data.title"><![CDATA[User Search Condition Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.data.title"><![CDATA[Notification Object Type Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.category"><![CDATA[Category]]></item>
-               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.category.description"><![CDATA[The category is used to group events on the notification settings page.]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.category.description"><![CDATA[The category is used to group events on the notification settings page. The category consists of at least three segments that are separated by dots. Each segment may only contain the following characters: [A-z0-9-_].]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.category.error.tooFewSegments"><![CDATA[The category only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.rebuildData.data.title"><![CDATA[Rebuild Data Worker Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.rebuildData.niceValue"><![CDATA[Nice Value]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.rebuildData.niceValue.description"><![CDATA[The nice value is used to determine the order in which the rebuild data workers are shown and thus in which order they should be executed. Workers with lower nice value are shown first.]]></item>
@@ -1794,8 +1798,7 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.sitemap.object.rebuildTime.description"><![CDATA[After the entered time interval, the sitemap will be rebuilt by the system.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.data.title"><![CDATA[Daily Statistics Handler Data]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.categoryName"><![CDATA[Category]]></item>
-               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.categoryName.description"><![CDATA[Daily statistics handler are grouped by their category on the stats page. The category consists of at least four segments that are separated by dots. Each segment may only contain the following characters: <code>[A-z0-9-_]</code>.]]></item>
-               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.categoryName.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.categoryName.description"><![CDATA[Daily statistics handler are grouped by their category on the stats page. The category consists of at least three segments that are separated by dots. Each segment may only contain the following characters: <code>[A-z0-9-_]</code>.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.categoryName.error.tooFewSegments"><![CDATA[The entered category only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.isDefault"><![CDATA[Default Daily Statistics Handler]]></item>
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.statDailyHandler.isDefault.description"><![CDATA[Default daily statistics handler are pre-selected when loading the stats page.]]></item>
@@ -1815,7 +1818,6 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.objectType.com.woltlab.wcf.versionTracker.objectType.tablePrimaryKey.error.noPrimaryColumn"><![CDATA[The entered column has no primary key.]]></item>
                <item name="wcf.acp.pip.objectType.condition.conditionObject"><![CDATA[Conditioned Object Identifier]]></item>
                <item name="wcf.acp.pip.objectType.condition.conditionObject.description"><![CDATA[The object type-alike identifier of the object this condition is related with is used to group large lists of conditions into logical groups.]]></item>
-               <item name="wcf.acp.pip.objectType.condition.conditionObject.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.objectType.condition.conditionObject.error.tooFewSegments"><![CDATA[The entered identifier only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.objectType.condition.conditionGroup"><![CDATA[Condition Group]]></item>
                <item name="wcf.acp.pip.objectType.condition.conditionGroup.description"><![CDATA[The condition group is used to group conditions with the same group identifier together into, generally, one tab. The condition group may only consist of letters and must begin with a lowercase letter.]]></item>
@@ -1826,10 +1828,6 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.objectType.condition.integer.minValue.description"><![CDATA[When setting up the condition, the value for this condition may not be less than the entered value.]]></item>
                <item name="wcf.acp.pip.objectType.condition.userGroup.includeGuests"><![CDATA[Include Guest User Group]]></item>
                <item name="wcf.acp.pip.objectType.condition.userGroup.includeGuests.description"><![CDATA[When setting up the condition, the guest user group can also be selected.]]></item>
-               <item name="wcf.acp.pip.objectType.condition.userIntegerProperty.propertyName"><![CDATA[User Property Name]]></item>
-               <item name="wcf.acp.pip.objectType.condition.userIntegerProperty.propertyName.description"><![CDATA[Name of the user property/user database table column used for the condition.]]></item>
-               <item name="wcf.acp.pip.objectType.condition.userIntegerProperty.propertyName.error.noIntegerColumn"><![CDATA[The entered column name of the <code>wcf{WCF_N}_user</code> database table is no <code>INT</code> column.]]></item>
-               <item name="wcf.acp.pip.objectType.condition.userIntegerProperty.propertyName.error.nonExistent"><![CDATA[The entered column does not exist in the <code>wcf{WCF_N}_user</code> database table.]]></item>
                <item name="wcf.acp.pip.objectType.definitionName"><![CDATA[Object Type Definition]]></item>
                <item name="wcf.acp.pip.objectType.definitionName.com.woltlab.wcf.acl.description"><![CDATA[This object type definition is used to register types of objects for which ACL is available. ACL (Access control list) is used to set up (multiple) user and user group permissions for a specific object.]]></item>
                <item name="wcf.acp.pip.objectType.definitionName.com.woltlab.wcf.acl.simple.description"><![CDATA[This object type definition is used to register types of objects for which simple ACL is available. Simple ACL (Access control list) is used to set up <strong>one</strong> yes/no permission user and user group permissions for a specific object.]]></item>
@@ -1880,14 +1878,13 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.objectType.definitionName.com.woltlab.wcf.user.recentActivityEvent.description"><![CDATA[This object type definition is used to register events for which a recent activity entry can be created.]]></item>
                <item name="wcf.acp.pip.objectType.definitionName.com.woltlab.wcf.versionTracker.objectType.description"><![CDATA[This object type definition is used to register types of objects of which different versions can be tracked using the version tracker API.]]></item>
                <item name="wcf.acp.pip.objectType.definitionName.com.woltlab.wcf.visitTracker.objectType.description"><![CDATA[This object type definition is used to register types of objects for which it can be tracked if and when users have already seen or accessed them (the last time).]]></item>
+               <item name="wcf.acp.pip.objectType.definitionName.com.woltlab.wcf.article.discussionProvider.description"><![CDATA[This object type definition is used to register different providers for where discussions on articles take place.]]></item>
                <item name="wcf.acp.pip.objectType.objectType"><![CDATA[Object Type Identifier]]></item>
                <item name="wcf.acp.pip.objectType.objectType.description"><![CDATA[Textual identifier of the object type that is primarily used in PHP code. The identifier consists of at least four segments that are separated by dots. Each segment may only contain the following characters: <code>[A-z0-9-_]</code>.]]></item>
-               <item name="wcf.acp.pip.objectType.objectType.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.objectType.objectType.error.notUnique"><![CDATA[The entered name is already used by another object type of the same object type definition.]]></item>
                <item name="wcf.acp.pip.objectType.objectType.error.tooFewSegments"><![CDATA[The entered identifier only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.objectTypeDefinition.definitionName"><![CDATA[Definition Name]]></item>
                <item name="wcf.acp.pip.objectTypeDefinition.definitionName.description"><![CDATA[The name of an object type definitions consists of least four segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes. In general, the first part of the definition name matches the package identifier. Example: <code>{$project->getPackage()->package}.type</code>]]></item>
-               <item name="wcf.acp.pip.objectTypeDefinition.definitionName.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.objectTypeDefinition.definitionName.error.notUnique"><![CDATA[The entered name is already used by another definition.]]></item>
                <item name="wcf.acp.pip.objectTypeDefinition.definitionName.error.tooFewSegments"><![CDATA[The entered name only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.objectTypeDefinition.interfaceName"><![CDATA[PHP Interface]]></item>
@@ -1897,18 +1894,18 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.pip.pluginName.description"><![CDATA[The name of the package installation plugin is used as the value of the <code>type</code> attribute of an <code>instruction</code> element in a <code>package.xml</code> file. The name may only consist of letters and must begin with a lowercase letter.]]></item>
                <item name="wcf.acp.pip.pip.pluginName.error.format"><![CDATA[The entered name is invalid.]]></item>
                <item name="wcf.acp.pip.pip.pluginName.error.notUnique"><![CDATA[The entered name is already used by another package installation plugin.]]></item>
-               <item name="wcf.acp.pip.userProfileMenu.name"><![CDATA[Menu Item Name]]></item>
-               <item name="wcf.acp.pip.userProfileMenu.name.description"><![CDATA[The name of the user profile may only contain letters and must begin with a lowercase letter.]]></item>
-               <item name="wcf.acp.pip.userProfileMenu.name.error.format"><![CDATA[The entered name is invalid.]]></item>
-               <item name="wcf.acp.pip.userProfileMenu.name.error.notUnique"><![CDATA[The entered name is already used by another user profile menu item.]]></item>
+               <item name="wcf.acp.pip.userProfileMenu.menuItem"><![CDATA[Menu Item Name]]></item>
+               <item name="wcf.acp.pip.userProfileMenu.menuItem.description"><![CDATA[The name of the user profile may only contain letters and must begin with a lowercase letter.]]></item>
+               <item name="wcf.acp.pip.userProfileMenu.menuItem.error.format"><![CDATA[The entered name is invalid.]]></item>
+               <item name="wcf.acp.pip.userProfileMenu.menuItem.error.notUnique"><![CDATA[The entered name is already used by another user profile menu item.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.showOrder"><![CDATA[Position]]></item>
                <item name="wcf.acp.pip.userProfileMenu.showOrder.description"><![CDATA[The entered value determines in which order the user profile menu items are shown.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.options.description"><![CDATA[At least one of the entered options has to be enabled for the menu item to be available. Options of non-required packages will be reported as non-existing.]]></item>
                <item name="wcf.acp.pip.userProfileMenu.permissions.description"><![CDATA[The active user must be granted at least one of the entered permissions in order to see the menu item. Permissions of non-required packages will be reported as non-existing.]]></item>
-               <item name="wcf.acp.pip.userNotificationEvent.name"><![CDATA[Event Name]]></item>
-               <item name="wcf.acp.pip.userNotificationEvent.name.description"><![CDATA[The name of the event may only contain letters and must begin with a lowercase letter.]]></item>
-               <item name="wcf.acp.pip.userNotificationEvent.name.error.format"><![CDATA[The entered name is invalid.]]></item>
-               <item name="wcf.acp.pip.userNotificationEvent.name.error.notUnique"><![CDATA[The entered name is already used by another event for the same event object type.]]></item>
+               <item name="wcf.acp.pip.userNotificationEvent.eventName"><![CDATA[Event Name]]></item>
+               <item name="wcf.acp.pip.userNotificationEvent.eventName.description"><![CDATA[The name of the event may only contain letters and must begin with a lowercase letter.]]></item>
+               <item name="wcf.acp.pip.userNotificationEvent.eventName.error.format"><![CDATA[The entered name is invalid.]]></item>
+               <item name="wcf.acp.pip.userNotificationEvent.eventName.error.notUnique"><![CDATA[The entered name is already used by another event for the same event object type.]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.objectType"><![CDATA[Event Object Type]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.objectType.description"><![CDATA[Determines the type of object the notification event belongs to.]]></item>
                <item name="wcf.acp.pip.userNotificationEvent.preset"><![CDATA[Enable By Default]]></item>
@@ -1921,7 +1918,6 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.templateListener.environment.description"><![CDATA[The environment determines whether the template listener is executed in the frontend (<code>user</code>) or the ACP (<code>admin</code>).]]></item>
                <item name="wcf.acp.pip.templateListener.eventName"><![CDATA[Event]]></item>
                <item name="wcf.acp.pip.templateListener.eventName.description"><![CDATA[The selected event determines at which location in the template the template listeners’ code is inserted.]]></item>
-               <item name="wcf.acp.pip.templateListener.eventName.error.nonExistent"><![CDATA[The is no event with the given name in the selected template.]]></item>
                <item name="wcf.acp.pip.templateListener.name"><![CDATA[Template Listener Name]]></item>
                <item name="wcf.acp.pip.templateListener.name.description"><![CDATA[The name of the event may only contain letters and must begin with a lowercase letter.]]></item>
                <item name="wcf.acp.pip.templateListener.name.error.format"><![CDATA[The entered name is invalid.]]></item>
@@ -1934,26 +1930,26 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.acpSearchProvider.providerName"><![CDATA[Provider Name]]></item>
                <item name="wcf.acp.pip.acpSearchProvider.providerName.description"><![CDATA[The name of an ACP search result provider consists of least four segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes. In general, the first part of the definition name matches the package identifier. Example: <code>{$project->getPackage()->package}.searchedObject</code>]]></item>
                <item name="wcf.acp.pip.acpSearchProvider.providerName.error.notUnique"><![CDATA[The entered name is already used by another acp search result provider.]]></item>
-               <item name="wcf.acp.pip.acpSearchProvider.providerName.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.acpSearchProvider.providerName.error.tooFewSegments"><![CDATA[The entered provider name only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.acpSearchProvider.showOrder"><![CDATA[Position]]></item>
                <item name="wcf.acp.pip.acpSearchProvider.showOrder.description"><![CDATA[The entered value determines in which order the different types of search results are shown.]]></item>
                <item name="wcf.acp.pip.mediaProvider.name"><![CDATA[Provider Name]]></item>
-               <item name="wcf.acp.pip.mediaProvider.name.description"><![CDATA[The name of the media provider may only contain letters and must begin with a lowercase letter.]]></item>
+               <item name="wcf.acp.pip.mediaProvider.name.description"><![CDATA[The name of the media provider may only contain letters, numbers and dashes and must begin with a lowercase letter.]]></item>
                <item name="wcf.acp.pip.mediaProvider.name.error.format"><![CDATA[The entered name is invalid.]]></item>
                <item name="wcf.acp.pip.mediaProvider.regex"><![CDATA[Regular Expressions]]></item>
                <item name="wcf.acp.pip.mediaProvider.regex.description"><![CDATA[The entered regular expressions (without delimiters) are used to check if this media provider is responsible for a given link. Each line is treated as its own regular expression.]]></item>
                <item name="wcf.acp.pip.mediaProvider.html"><![CDATA[HTML Code]]></item>
                <item name="wcf.acp.pip.mediaProvider.html.description"><![CDATA[The html code is used to produce the rendered output of the linked media content. Every named group of the regular expression is accessible as <code>{literal}{$name}{/literal}</code> where <code>name</code> is the name of the group.]]></item>
-               <item name="wcf.acp.pip.mediaProvider.html.error.className"><![CDATA[You cannot enter HTML code if you are already using a class that handles the output.]]></item>
+               <item name="wcf.acp.pip.mediaProvider.html.error.className"><![CDATA[You cannot enter HTML code if you have already provided a class that handles the output.]]></item>
+               <item name="wcf.acp.pip.mediaProvider.html.error.noClassName"><![CDATA[You have to provide either HTML code or a class that handles the output.]]></item>
                <item name="wcf.acp.pip.aclOption.categories.name"><![CDATA[Category Name]]></item>
                <item name="wcf.acp.pip.aclOption.categories.name.description"><![CDATA[The name of an ACL option category consists of least two segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes.]]></item>
-               <item name="wcf.acp.pip.aclOption.categories.name.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
-               <item name="wcf.acp.pip.aclOption.categories.name.error.tooFewSegments"><![CDATA[The entered provider name only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
+               <item name="wcf.acp.pip.aclOption.categories.name.error.tooFewSegments"><![CDATA[The entered category name only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.aclOption.options.categoryName"><![CDATA[Category]]></item>
                <item name="wcf.acp.pip.aclOption.options.categoryName.description"><![CDATA[The ACL option is listed in the selected category.]]></item>
                <item name="wcf.acp.pip.aclOption.options.name"><![CDATA[Option Name]]></item>
                <item name="wcf.acp.pip.aclOption.options.name.description"><![CDATA[The name of the ACL option may only contain letters and must begin with a lowercase letter.]]></item>
+               <item name="wcf.acp.pip.aclOption.options.name.error.format"><![CDATA[The entered option name is invalid]]></item>
                <item name="wcf.acp.pip.aclOption.objectType"><![CDATA[ACL Object Type]]></item>
                <item name="wcf.acp.pip.aclOption.objectType.categories.description"><![CDATA[The ACL object type determines to which type of objects the category belongs to. Note that only ACL object types of the package itself or its required packages are available.]]></item>
                <item name="wcf.acp.pip.aclOption.objectType.categories.error.notUnique"><![CDATA[The entered name is already used by another ACL option category for the same ACL object type.]]></item>
@@ -1965,7 +1961,6 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.abstractMenu.menuItemController"><![CDATA[Menu Item Controller]]></item>
                <item name="wcf.acp.pip.abstractMenu.menuItemLink"><![CDATA[Menu Item Link]]></item>
                <item name="wcf.acp.pip.abstractMenu.menuItemLink.description"><![CDATA[If no menu item controller is used, the entered link will be used. If, however, a menu item controller is used, the entered link will be appended to the link to the controller.]]></item>
-               <item name="wcf.acp.pip.abstractMenu.menuItemLink.error.isLink"><![CDATA[The entered value is a valid link. If you entered a menu item controller, the menu item link is appended to the link to the controller.]]></item>
                <item name="wcf.acp.pip.abstractMenu.menuItemLink.error.noLink"><![CDATA[The entered value is no valid link.]]></item>
                <item name="wcf.acp.pip.abstractMenu.menuItemLink.error.noLinkSpecified"><![CDATA[You either have to enter a menu item controller or a menu item link.]]></item>
                <item name="wcf.acp.pip.abstractMenu.options.description"><![CDATA[At least one of the entered options has to be enabled for the menu item to be visible. Options of non-required packages will be reported as non-existing.]]></item>
@@ -1991,17 +1986,15 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.cronjob.canBeEdited.description"><![CDATA[Users are able to edit the cronjob to, for example, change the execution times.]]></item>
                <item name="wcf.acp.pip.cronjob.canBeDisabled"><![CDATA[Cronjob Can Be Disabled]]></item>
                <item name="wcf.acp.pip.cronjob.canBeDisabled.description"><![CDATA[Users are able to disable the cronjob so that it will not be executed.]]></item>
-               <item name="wcf.acp.pip.cronjob.startDom.error.format"><![CDATA[TODO]]></item>
-               <item name="wcf.acp.pip.cronjob.startDow.error.format"><![CDATA[TODO]]></item>
-               <item name="wcf.acp.pip.cronjob.startHour.error.format"><![CDATA[TODO]]></item>
-               <item name="wcf.acp.pip.cronjob.startMinute.error.format"><![CDATA[TODO]]></item>
-               <item name="wcf.acp.pip.cronjob.startMonth.error.format"><![CDATA[TODO]]></item>
+               <item name="wcf.acp.pip.cronjob.startDom.error.format"><![CDATA[The entered format is invalid. You have to entered a valid day of month or a list of valid days of month.]]></item>
+               <item name="wcf.acp.pip.cronjob.startDow.error.format"><![CDATA[The entered format is invalid. You have to entered a valid weekday or a list of valid weekdays.]]></item>
+               <item name="wcf.acp.pip.cronjob.startHour.error.format"><![CDATA[The entered format is invalid. You have to entered a valid hour or a list of valid hours.]]></item>
+               <item name="wcf.acp.pip.cronjob.startMinute.error.format"><![CDATA[The entered format is invalid. You have to entered a valid minute or a list of valid minutes.]]></item>
+               <item name="wcf.acp.pip.cronjob.startMonth.error.format"><![CDATA[The entered format is invalid. You have to entered a valid month or a list of valid months.]]></item>
                <item name="wcf.acp.pip.menu.identifier"><![CDATA[Menu Identifier]]></item>
                <item name="wcf.acp.pip.menu.identifier.description"><![CDATA[The menu identifier is used to update menus and for menu-related language item names. The identifier consists of least four segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes. In general, the first part of the menu identifier is the package identifier. Example: <code>com.foo.bar.menu</code>]]></item>
-               <item name="wcf.acp.pip.menu.identifier.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.menu.identifier.error.notUnique"><![CDATA[The entered identifier is already used by another menu.]]></item>
                <item name="wcf.acp.pip.menu.identifier.error.tooFewSegments"><![CDATA[The entered menu identifier only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
-               <item name="wcf.acp.pip.menu.title.description"><![CDATA[]]></item>
                <item name="wcf.acp.pip.menu.createBox"><![CDATA[Automatically Create Box for Menu]]></item>
                <item name="wcf.acp.pip.menu.createBox.description"><![CDATA[If this option is selected, after creating the menu, a box for the menu will also be created.]]></item>
                <item name="wcf.acp.pip.menu.boxPosition"><![CDATA[Box Position]]></item>
@@ -2015,15 +2008,13 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.menu.boxCssClassName.description"><![CDATA[The entered comma-separated CSS classes are assigned to the box containing the menu.]]></item>
                <item name="wcf.acp.pip.menuItem.identifier"><![CDATA[Menu Item Identifier]]></item>
                <item name="wcf.acp.pip.menuItem.identifier.description"><![CDATA[The menu item identifier is used to update menu items and for menu item-related language item names. The identifier consists of least four segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes. In general, the first part of the menu identifier is the package identifier. Example: <code>com.foo.bar.menu</code>]]></item>
-               <item name="wcf.acp.pip.menuItem.identifier.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
-               <item name="wcf.acp.pip.menuItem.identifier.error.notUnique"><![CDATA[The entered identifier is already used by another menu.]]></item>
+               <item name="wcf.acp.pip.menuItem.identifier.error.notUnique"><![CDATA[The entered identifier is already used by another menu item.]]></item>
                <item name="wcf.acp.pip.menuItem.identifier.error.tooFewSegments"><![CDATA[The identifier only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.menuItem.menu"><![CDATA[Menu]]></item>
                <item name="wcf.acp.pip.menuItem.menu.description"><![CDATA[The menu item will belong to the selected menu.]]></item>
                <item name="wcf.acp.pip.menuItem.linkType"><![CDATA[Menu Item Link Type]]></item>
                <item name="wcf.acp.pip.menuItem.linkType.internal"><![CDATA[Internal Link]]></item>
                <item name="wcf.acp.pip.menuItem.linkType.external"><![CDATA[External Link]]></item>
-               <item name="wcf.acp.pip.menuItem.linkType"><![CDATA[Menu Item Link Type]]></item>
                <item name="wcf.acp.pip.menuItem.page"><![CDATA[Page]]></item>
                <item name="wcf.acp.pip.menuItem.page.description"><![CDATA[The menu item will link to the selected page.]]></item>
                <item name="wcf.acp.pip.menuItem.parentMenuItem"><![CDATA[Parent Menu Item]]></item>
@@ -2032,9 +2023,8 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.menuItem.externalURL"><![CDATA[External URL]]></item>
                <item name="wcf.acp.pip.menuItem.externalURL.description"><![CDATA[When clicking on the menu item, the user is redirected to the entered website.]]></item>
                <item name="wcf.acp.pip.page.identifier"><![CDATA[Page Identifier]]></item>
-               <item name="wcf.acp.pip.page.identifier.description"><![CDATA[TODO]]></item>
-               <item name="wcf.acp.pip.page.identifier.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
-               <item name="wcf.acp.pip.page.identifier.error.notUnique"><![CDATA[The entered identifier is already used by another menu.]]></item>
+               <item name="wcf.acp.pip.page.identifier.description"><![CDATA[The identifier consists of least four segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes. In general, the first part of the menu identifier is the package identifier and the second part is the unqualified controller class without the controller type suffixes <code>Form</code> and <code>Page</code>. Example: <code>com.foo.bar.Baz</code>]]></item>
+               <item name="wcf.acp.pip.page.identifier.error.notUnique"><![CDATA[The entered identifier is already used by another page.]]></item>
                <item name="wcf.acp.pip.page.identifier.error.tooFewSegments"><![CDATA[The identifier only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.page.pageType"><![CDATA[Page Type]]></item>
                <item name="wcf.acp.pip.page.pageType.description"><![CDATA[The content of “text” pages can be edited by administrators using the built-in WYSIWYG editor. “html” pages addditionally allow HTML code and “tpl” pages also template scripting. The content of “system” pages cannot be edited by administrators as their content is provided by the pages' controller.]]></item>
@@ -2096,7 +2086,6 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.box.objectType.description"><![CDATA[The box controller provides the content of the box.]]></item>
                <item name="wcf.acp.pip.box.identifier"><![CDATA[Box Identifier]]></item>
                <item name="wcf.acp.pip.box.identifier.description"><![CDATA[The box identifier is used to update boxes. The identifier consists of least four segments separated by dots. Each segment must not be empty and may only contain letters, numbers, underscores, and dashes. In general, the first part of the menu identifier is the package identifier. Example: <code>com.foo.bar.Box</code>]]></item>
-               <item name="wcf.acp.pip.box.identifier.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
                <item name="wcf.acp.pip.box.identifier.error.notUnique"><![CDATA[The entered identifier is already used by another box.]]></item>
                <item name="wcf.acp.pip.box.identifier.error.tooFewSegments"><![CDATA[The identifier only contains {#$segmentCount} segment{if $segmentCount > 1}s{/if}.]]></item>
                <item name="wcf.acp.pip.box.name"><![CDATA[Name]]></item>
@@ -2110,6 +2099,9 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.box.content"><![CDATA[Box Contents]]></item>
                <item name="wcf.acp.pip.box.content.title"><![CDATA[Box Title]]></item>
                <item name="wcf.acp.pip.box.content.content"><![CDATA[Box Content]]></item>
+               <item name="wcf.acp.box.controller.sortField"><![CDATA[Sort By]]></item>
+               <item name="wcf.acp.box.controller.sortField.description"><![CDATA[The selected object property is used for sorting.]]></item>
+               <item name="wcf.acp.box.controller.limit"><![CDATA[Maximum Number of Items]]></item>
                <item name="wcf.acp.pip.abstractOption.options.optionName"><![CDATA[Option Name]]></item>
                <item name="wcf.acp.pip.abstractOption.options.categoryName"><![CDATA[Category]]></item>
                <item name="wcf.acp.pip.abstractOption.options.optionType"><![CDATA[Option Type]]></item>
@@ -2125,12 +2117,14 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.abstractOption.options.defaultValue.description"><![CDATA[After installing the option, the entered value is the option’s default value.]]></item>
                <item name="wcf.acp.pip.abstractOption.options.validationPattern"><![CDATA[Validation Pattern]]></item>
                <item name="wcf.acp.pip.abstractOption.options.validationPattern.description"><![CDATA[The entered validation pattern is used to validate the entered value when editing the option’s value.]]></item>
+               <item name="wcf.acp.pip.abstractOption.options.validationPattern.error.invalid"><![CDATA[The entered validation pattern is invalid.]]></item>
                <item name="wcf.acp.pip.abstractOption.options.selectOptions"><![CDATA[Selectable Options]]></item>
-               <item name="wcf.acp.pip.option.options.selectOptions.description"><![CDATA[TODO: format]]></item>
+               <item name="wcf.acp.pip.abstractOption.options.selectOptions.description"><![CDATA[Each option has to be written in a new line using the format <code>value:description</code> where <code>description</code> may be the identifier of a phrase.]]></item>
                <item name="wcf.acp.pip.abstractOption.options.enableOptions"><![CDATA[Enabled Options]]></item>
-               <item name="wcf.acp.pip.abstractOption.options.enableOptions.description"><![CDATA[TODO: format]]></item>
+               <item name="wcf.acp.pip.abstractOption.options.enableOptions.description"><![CDATA[Each enable options setting has to be written in a new line using the format <code>key:otherOptions</code> where <code>key:</code> is optional. If a key is present, the setting is only relevant if this option has the specified key as value. <code>otherOptions</code> is a comma-separated list refering to the other options that will either be enabled or disabled depending on this option’s value. If an exclamation mark is in front of an option name, the logic is inversed: If this option has the specified key as value, the referenced option will be disabled instead of enabled.]]></item>
                <item name="wcf.acp.pip.abstractOption.options.showOrder"><![CDATA[Position]]></item>
                <item name="wcf.acp.pip.abstractOption.options.showOrder.description"><![CDATA[The entered value determines in which order the options in the same category are shown.]]></item>
+               <item name="wcf.acp.pip.option.optionName.error.notUnique"><![CDATA[The entered option name is already used by another option.]]></item>
                <item name="wcf.acp.pip.option.options.hidden"><![CDATA[Hidden Option]]></item>
                <item name="wcf.acp.pip.option.options.hidden.description"><![CDATA[The value of the option cannot be actively set by the administrator in the ACP.]]></item>
                <item name="wcf.acp.pip.option.options.supportI18n"><![CDATA[Support Multilingual Input]]></item>
@@ -2196,12 +2190,45 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.pip.userGroupOption.options.adminDefaultValue.description"><![CDATA[The administrator default value is used for administrator user groups. Administrator user groups are user groups that can edit every user group.]]></item>
                <item name="wcf.acp.pip.userGroupOption.options.modDefaultValue"><![CDATA[Moderator Default Value]]></item>
                <item name="wcf.acp.pip.userGroupOption.options.modDefaultValue.description"><![CDATA[The moderator default value is used for moderator user groups. Moderator user groups are user groups that can access the moderation.]]></item>
-               <item name="wcf.acp.pip.userGroupOption.options.usersOnly"><![CDATA[Members Only]]></item>
-               <item name="wcf.acp.pip.userGroupOption.options.usersOnly.description"><![CDATA[The user group option value cannot be set for the guests user group.]]></item>
+               <item name="wcf.acp.pip.userGroupOption.options.userDefaultValue"><![CDATA[User Default Value]]></item>
+               <item name="wcf.acp.pip.userGroupOption.options.userDefaultValue.description"><![CDATA[The user default value is used for the user groups containing all registered users.]]></item>
                <item name="wcf.acp.pip.userGroupOption.options.excludedInTinyBuild"><![CDATA[Disable for Accelerated Guest View]]></item>
                <item name="wcf.acp.pip.userGroupOption.options.excludedInTinyBuild.description"><![CDATA[If the accelared guest view is enabled, the user group option’s value is “Never” for guests regardless of the actual value set for the guests user group.]]></item>
                <item name="wcf.acp.pip.userGroupOption.options.wildcard"><![CDATA[Wildcard]]></item>
                <item name="wcf.acp.pip.userGroupOption.options.wildcard.description"><![CDATA[If a wildcard is specified and if one line of the user group option value only contains this wildcare, the entire option value will be replaced by the wildcard.]]></item>
+               <item name="wcf.acp.pip.userOption.options.required"><![CDATA[Required User Option]]></item>
+               <item name="wcf.acp.pip.userOption.options.required.description"><![CDATA[Users must provide a value for this user option.]]></item>
+               <item name="wcf.acp.pip.userOption.options.askDuringRegistration"><![CDATA[Available During Registration]]></item>
+               <item name="wcf.acp.pip.userOption.options.askDuringRegistration.description"><![CDATA[The user option is available during registration.]]></item>
+               <item name="wcf.acp.pip.userOption.options.editable"><![CDATA[Editability]]></item>
+               <item name="wcf.acp.pip.userOption.options.editable.description"><![CDATA[The user option value can only be edited by the selected group of users.]]></item>
+               <item name="wcf.acp.pip.userOption.options.visible"><![CDATA[Visibility]]></item>
+               <item name="wcf.acp.pip.userOption.options.visible.description"><![CDATA[The user option value is only visible for the selected group of users.]]></item>
+               <item name="wcf.acp.pip.userOption.options.outputClass"><![CDATA[PHP class for custom output format]]></item>
+               <item name="wcf.acp.pip.userOption.options.searchable"><![CDATA[User option value is searchable]]></item>
+               <item name="wcf.acp.pip.userOption.options.searchable.description"><![CDATA[Users can search this user option in the member search.]]></item>
+               <item name="wcf.acp.pip.userOption.options.isDisabled"><![CDATA[Disable User Option]]></item>
+               <item name="wcf.acp.pip.userOption.options.isDisabled.description"><![CDATA[The user option is not visible for users and its value cannot be set.]]></item>
+               <item name="wcf.acp.pip.userOption.options.optionType.description"><![CDATA[The option type determines the interface with which the value of the user group option is set and which (types of) values the option may have.]]></item>
+               <item name="wcf.acp.pip.userOption.options.messageObjectType"><![CDATA[Message Object Type]]></item>
+               <item name="wcf.acp.pip.userOption.options.messageObjectType.description"><![CDATA[The message object type is passed to the <code>wcf\system\html\input\HtmlInputProcessor</code> object used to process the user option value.]]></item>
+               <item name="wcf.acp.pip.userOption.options.contentPattern"><![CDATA[Content Pattern]]></item>
+               <item name="wcf.acp.pip.userOption.options.contentPattern.description"><![CDATA[The entered content pattern is used to extract specific parts of the user-entered value to be stored as the option value.]]></item>
+               <item name="wcf.acp.pip.userOption.options.contentPattern.error.invalid"><![CDATA[The entered regular expression is invalid.]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions"><![CDATA[Supports Reactions]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions.description"><![CDATA[TODO]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions"><![CDATA[Supports Reactions]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions.description"><![CDATA[TODO]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.data.title"><![CDATA[Recent Activity Event Data]]></item>
+               <item name="wcf.acp.pip.abstractOption.options.optionType.text.disableAutocomplete"><![CDATA[Disable Autocomplete]]></item>
+               <item name="wcf.acp.pip.abstractOption.options.optionType.text.disableAutocomplete.description"><![CDATA[Disables the browser’s autocomplete support for the input field.]]></item>
+               <item name="wcf.acp.pip.objectType.integerCondition.propertyName.error.noIntegerColumn"><![CDATA[The entered column name of the <code>{$tableName}</code> database table is no <code>INT</code> column.]]></item>
+               <item name="wcf.acp.pip.objectType.integerCondition.propertyName.error.nonExistent"><![CDATA[The entered column does not exist in the <code>{$tableName}</code> database table.]]></item>
+               <item name="wcf.acp.pip.objectType.integerCondition.propertyName.description"><![CDATA[Name of the property and column of <code>{$tableName}</code> database table used for the condition.]]></item>
+               <item name="wcf.acp.pip.objectType.integerCondition.propertyName"><![CDATA[Property Name]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.message.data.title"><![CDATA[Message Data]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.message.enableToc"><![CDATA[Generate Table of Contents]]></item>
+               <item name="wcf.acp.pip.objectType.com.woltlab.wcf.message.enableToc.description"><![CDATA[If selected, a table of contents is created for each message of this type.]]></item>
        </category>
        
        <category name="wcf.acp.reactionType">
@@ -2942,6 +2969,8 @@ Errors are:
        
        <category name="wcf.clipboard">
                <item name="wcf.clipboard.item.unmarkAll"><![CDATA[Unmark All]]></item>
+               <item name="wcf.clipboard.item.markAll"><![CDATA[Mark All Objects]]></item>
+               <item name="wcf.clipboard.item.mark"><![CDATA[Mark Object]]></item>
                
                <item name="wcf.clipboard.item.com.woltlab.wcf.article.delete"><![CDATA[Delete ({#$count})]]></item>
                <item name="wcf.clipboard.item.com.woltlab.wcf.article.delete.confirmMessage"><![CDATA[Do you really want to delete {#$count} article{if $count != 1}s{/if}?]]></item>
@@ -3515,6 +3544,7 @@ Email: {@$emailAddress} {* this line ends with a space *}
        <category name="wcf.form">
                <item name="wcf.form.field.className"><![CDATA[Class]]></item>
                <item name="wcf.form.field.className.description.interface"><![CDATA[The entered class (without leading backslash) must implement the interface <code>{$interface}</code>.]]></item>
+               <item name="wcf.form.field.className.description.parentClass"><![CDATA[The entered class (without leading backslash) must extend the class <code>{$parentClass}</code>.]]></item>
                <item name="wcf.form.field.className.error.interface"><![CDATA[The entered class{if $language|isset} ({$language}){/if} does not implement the interface <code>{$interface}</code>.]]></item>
                <item name="wcf.form.field.className.error.isInstantiable"><![CDATA[The entered class{if $language|isset} ({$language}){/if} is not instantiable.]]></item>
                <item name="wcf.form.field.className.error.leadingBackslash"><![CDATA[The entered class name{if $language|isset} ({$language}){/if} must not have a leading backslash.]]></item>
@@ -3536,6 +3566,7 @@ Email: {@$emailAddress} {* this line ends with a space *}
                <item name="wcf.form.field.userGroupOption.error.nonExistent"><![CDATA[The following permissions do not exist: {implode from=$options item=option}<code>{$option}</code>{/implode}.]]></item>
                <item name="wcf.form.field.username.error.invalid"><![CDATA[The entered username is invalid.]]></item>
                <item name="wcf.form.field.username.error.notUnique"><![CDATA[The entered username is already in use.]]></item>
+               <item name="wcf.form.fieldValidator.dotSeparatedString.error.invalidSegments"><![CDATA[The following segments are invalid: {implode from=$invalidSegments key=segmentNumber item=segment}{if $segment !== ''}<code>{$segment}</code>{else}(empty){/if} (segment {#$segmentNumber + 1}){/implode}.]]></item>
        </category>
        
        <category name="wcf.imageViewer">
@@ -4418,7 +4449,7 @@ Open the link below to access the user profile:
                <item name="wcf.acp.trophy.userTrophy.user"><![CDATA[User]]></item>
                <item name="wcf.acp.trophy.userTrophy.user.description"><![CDATA[Enter the names of the users who should be awarded the trophy.]]></item>
                <item name="wcf.acp.trophy.userTrophy.user.error.notFound"><![CDATA[The username “{$errorData[username]}” does not exist.]]></item>
-               <item name="wcf.acp.trophy.userTrophy.description"><![CDATA[Select the trophy who should be awarded to the users. You cannot select automatically awarded trophies.]]></item>
+               <item name="wcf.acp.trophy.userTrophy.description"><![CDATA[Select the trophy that should be awarded to the users. You cannot select automatically awarded trophies.]]></item>
                <item name="wcf.acp.trophy.userTrophy.useCustomDescription"><![CDATA[Use custom trophy description]]></item>
                <item name="wcf.acp.trophy.userTrophy.delete.confirmMessage"><![CDATA[Do you really want to delete the trophy <span class="confirmationObject">{$userTrophy->getTrophy()->getTitle()}</span> from <span class="confirmationObject">{$userTrophy->getUserProfile()->username}</span>?]]></item>
                <item name="wcf.acp.trophy.error.noCategories"><![CDATA[Please <a href="{link controller='TrophyCategoryAdd'}{/link}">add a category</a> before creating trophies.]]></item>
@@ -4519,7 +4550,7 @@ Open the link below to access the user profile:
                <item name="wcf.user.avatar.edit"><![CDATA[Avatar Management]]></item>
                <item name="wcf.user.avatar.error.disabled"><![CDATA[The administrators {if $__wcf->user->avatarID || $__wcf->user->enableGravatar}have banned your avatar and {/if}disallowed you from using an avatar{if $__wcf->user->disableAvatarReason}: {$__wcf->user->disableAvatarReason}{/if}.]]></item>
                <item name="wcf.user.avatar.type.custom"><![CDATA[Upload Your Avatar]]></item>
-               <item name="wcf.user.avatar.type.custom.description"><![CDATA[You may use the following file extensions “{"\n"|str_replace:', ':$__wcf->session->getPermission('user.profile.avatar.allowedFileExtensions')}” for your avatar with a maximum file size of {@$__wcf->session->getPermission('user.profile.avatar.maxSize')|filesize}. The minimum dimensions are 128×128 pixel.]]></item>
+               <item name="wcf.user.avatar.type.custom.description"><![CDATA[You may use the following file extensions “{"\n"|str_replace:', ':$__wcf->session->getPermission('user.profile.avatar.allowedFileExtensions')}” for your avatar with a maximum file size of {@$__wcf->session->getPermission('user.profile.avatar.maxSize')|filesize}. The minimum dimensions are 128×128 pixels.]]></item>
                <item name="wcf.user.avatar.type.gravatar"><![CDATA[Use Gravatar]]></item>
                <item name="wcf.user.avatar.type.gravatar.description"><![CDATA[Gravatar (Global Recognized Avatar) provides a globally reusable avatar connected with your email address “{$__wcf->user->email}”. Visit <a href="https://www.gravatar.com" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>www.gravatar.com</a> to set up or change your avatar.]]></item>
                <item name="wcf.user.avatar.type.gravatar.error.notFound"><![CDATA[Your email address is not connected with a gravatar.]]></item>