<link rel="icon" href="../../assets/default.favicon.ico">
- <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.6">
+ <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.8">
- <link rel="stylesheet" href="../../assets/stylesheets/main.558e4712.min.css">
+ <link rel="stylesheet" href="../../assets/stylesheets/main.ded33207.min.css">
- <link rel="stylesheet" href="../../assets/stylesheets/palette.2505c338.min.css">
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.a0c5b2b5.min.css">
- <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="">
+ <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="indigo">
</div>
- <div data-md-component="outdated" hidden>
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
-<header class="md-header" data-md-component="header">
+
+
+<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
</div>
</div>
+
+
<label class="md-header__button md-icon" for="__search">
<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
- <label class="md-nav__link" for="__nav_2" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
PHP API
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="PHP API" data-md-level="1">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
PHP API
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
- <label class="md-nav__link" for="__nav_2_5" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
API
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="API" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5">
<span class="md-nav__icon md-icon"></span>
API
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2_5_1" type="checkbox" id="__nav_2_5_1" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_1" >
- <label class="md-nav__link" for="__nav_2_5_1" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_2_5_1" id="__nav_2_5_1_label" tabindex="0">
Caches
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Caches" data-md-level="3">
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_1">
<span class="md-nav__icon md-icon"></span>
Caches
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5_5" >
- <label class="md-nav__link" for="__nav_2_5_5" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_2_5_5" id="__nav_2_5_5_label" tabindex="0">
Form Builder
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_5_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_5_5">
<span class="md-nav__icon md-icon"></span>
Form Builder
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
- <label class="md-nav__link" for="__nav_3" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
Languages, Templates & CSS
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Languages, Templates & CSS
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
- <label class="md-nav__link" for="__nav_4" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
TypeScript and JavaScript API
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="TypeScript and JavaScript API" data-md-level="1">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
TypeScript and JavaScript API
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" >
- <label class="md-nav__link" for="__nav_4_3" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
Components
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Components" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Components
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_4_4" type="checkbox" id="__nav_4_4" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
- <label class="md-nav__link" for="__nav_4_4" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
New API
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="New API" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
New API
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
- <label class="md-nav__link" for="__nav_5" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
Package Components
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Package Components" data-md-level="1">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Package Components
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
- <label class="md-nav__link" for="__nav_5_2" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
PIPs
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="PIPs" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_2">
<span class="md-nav__icon md-icon"></span>
PIPs
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
- <label class="md-nav__link" for="__nav_6" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
Migration
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Migration" data-md-level="1">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Migration
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" >
- <label class="md-nav__link" for="__nav_6_1" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
From WoltLab Suite 5.5
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WoltLab Suite 5.5" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
From WoltLab Suite 5.5
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
- <label class="md-nav__link" for="__nav_6_2" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
From WoltLab Suite 5.4
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WoltLab Suite 5.4" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
From WoltLab Suite 5.4
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3" >
- <label class="md-nav__link" for="__nav_6_3" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex="0">
From WoltLab Suite 5.3
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WoltLab Suite 5.3" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_3">
<span class="md-nav__icon md-icon"></span>
From WoltLab Suite 5.3
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4" >
- <label class="md-nav__link" for="__nav_6_4" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_4" id="__nav_6_4_label" tabindex="0">
From WoltLab Suite 5.2
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WoltLab Suite 5.2" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_4">
<span class="md-nav__icon md-icon"></span>
From WoltLab Suite 5.2
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_5" >
- <label class="md-nav__link" for="__nav_6_5" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_5" id="__nav_6_5_label" tabindex="0">
From WoltLab Suite 3.1
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WoltLab Suite 3.1" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_5">
<span class="md-nav__icon md-icon"></span>
From WoltLab Suite 3.1
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_6" type="checkbox" id="__nav_6_6" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_6" >
- <label class="md-nav__link" for="__nav_6_6" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_6" id="__nav_6_6_label" tabindex="0">
From WoltLab Suite 3.0
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WoltLab Suite 3.0" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_6">
<span class="md-nav__icon md-icon"></span>
From WoltLab Suite 3.0
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_6_7" type="checkbox" id="__nav_6_7" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_7" >
- <label class="md-nav__link" for="__nav_6_7" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_6_7" id="__nav_6_7_label" tabindex="0">
From WCF 2.1
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="From WCF 2.1" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_7">
<span class="md-nav__icon md-icon"></span>
From WCF 2.1
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
- <label class="md-nav__link" for="__nav_7" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
Tutorials
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Tutorials
- <input class="md-nav__toggle md-toggle " data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_1" >
- <label class="md-nav__link" for="__nav_7_1" tabindex="0" aria-expanded="false">
+ <label class="md-nav__link" for="__nav_7_1" id="__nav_7_1_label" tabindex="0">
Tutorial Series
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7_1">
<span class="md-nav__icon md-icon"></span>
Tutorial Series
-
<h1 id="language-naming-conventions">Language Naming Conventions<a class="headerlink" href="#language-naming-conventions" title="Permanent link">#</a></h1>
<p>This page contains general rules for naming language items and for their values.
API-specific rules are listed on the relevant API page:</p>
<div class="md-dialog__inner md-typeset"></div>
</div>
- <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tracking"], "search": "../../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
+ <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tracking"], "search": "../../assets/javascripts/workers/search.208ed371.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
- <script src="../../assets/javascripts/bundle.51d95adb.min.js"></script>
+ <script src="../../assets/javascripts/bundle.51198bba.min.js"></script>
</body>