--- /dev/null
+# Migrating from WSC 5.4 - PHP
+
+## Language Package Installation Plugin
+
+[WCF PR#4261](https://github.com/WoltLab/WCF/pull/4261) has added support for deleting existing phrases with the `language` package installation plugin.
+
+The current structure of the language XML files
+
+{jinja{ codebox(
+ language="xml",
+ title="language/en.xml",
+ filepath="migration/wsc54/en_old.xml",
+) }}
+
+is deprecated and should be replaced with the new structure with an explicit `<import>` element like in the other package installation plugins:
+
+{jinja{ codebox(
+ language="xml",
+ title="language/en.xml",
+ filepath="migration/wsc54/en_new.xml",
+) }}
+
+Additionally, to now also support deleting phrases with this package installation plugin, support for a `<delete>` element has been added:
+
+{jinja{ codebox(
+ language="xml",
+ title="language/en.xml",
+ filepath="migration/wsc54/en_new_with_delete.xml",
+) }}
+
+Note that when deleting phrases, the category does not have to be specified because phrase identifiers are unique globally.
+
+!!! warning "Mixing the old structure and the new structure is not supported and will result in an error message during the import!"
- 'Database PHP API': 'package/database-php-api.md'
- 'Migration':
+ - 'Migrating from WSC 5.4':
+ - 'PHP API': 'migration/wsc54/php.md'
- 'Migrating from WSC 5.3':
- 'PHP API': 'migration/wsc53/php.md'
- 'Session Handling and Authentication': 'migration/wsc53/session.md'
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<language xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/5.4/language.xsd" languagecode="en" languagename="English" countrycode="gb">
+ <import>
+ <category name="wcf.foo">
+ <item name="wcf.foo.bar"><![CDATA[Bar]]></item>
+ </category>
+ </import>
+</language>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<language xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/5.4/language.xsd" languagecode="en" languagename="English" countrycode="gb">
+ <import>
+ <category name="wcf.foo">
+ <item name="wcf.foo.bar"><![CDATA[Bar]]></item>
+ </category>
+ </import>
+ <delete>
+ <item name="wcf.foo.barrr"/>
+ </delete>
+</language>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<language xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/5.4/language.xsd" languagecode="en" languagename="English" countrycode="gb">
+ <category name="wcf.foo">
+ <item name="wcf.foo.bar"><![CDATA[Bar]]></item>
+ </category>
+</language>