forked from CTT/tdf-elfensystem
Compare commits
11 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
b781027f5b | 6 days ago |
|
|
3141e029e6 | 1 week ago |
|
|
922a510d35 | 1 week ago |
|
|
46d7232d02 | 1 week ago |
|
|
7fbc9391af | 4 weeks ago |
|
|
c84ed15ecb | 4 weeks ago |
|
|
11e9df8992 | 4 weeks ago |
|
|
5fa739c0bc | 4 weeks ago |
|
|
6977e70c26 | 4 weeks ago |
|
|
4f5669aee7 | 10 months ago |
|
|
9189e2a1f2 | 1 year ago |
@ -1,482 +1,18 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
|
/** @deprecated This file is deprecated and will be removed in the next release! */ |
||||||
|
|
||||||
declare(strict_types=1); |
declare(strict_types=1); |
||||||
|
|
||||||
// To change or overwrite some settings, create a config.php |
// To change or overwrite settings, edit them in the UI (/admin/config) or create a config.php file! |
||||||
|
|
||||||
return [ |
return [ |
||||||
// MySQL-Connection Settings |
// No config here, see documentation for values that can be set |
||||||
'database' => [ |
// https://engelsystem.de/doc/admin/configuration/ |
||||||
'driver' => env('MYSQL_TYPE', 'mysql'), // mysql or mariadb |
'database' => [ |
||||||
'host' => env('MYSQL_HOST', 'localhost'), |
'host' => 'localhost', // The database host to connect to |
||||||
'database' => env('MYSQL_DATABASE', 'engelsystem'), |
'database' => 'dbname', // Name of the MySQL database |
||||||
'username' => env('MYSQL_USER', 'root'), |
'username' => 'dbuser', // Database user |
||||||
'password' => env_secret('MYSQL_PASSWORD', ''), |
'password' => 'password', // Password for the database user |
||||||
], |
|
||||||
|
|
||||||
// For accessing /metrics (and /stats) |
|
||||||
'api_key' => env('API_KEY', ''), |
|
||||||
|
|
||||||
// Enable maintenance mode (show a static page to all users) |
|
||||||
'maintenance' => (bool) env('MAINTENANCE', false), |
|
||||||
|
|
||||||
// Application name (not the event name) |
|
||||||
'app_name' => env('APP_NAME', 'Elfensystem'), |
|
||||||
|
|
||||||
// Set to development to enable debugging messages |
|
||||||
'environment' => env('ENVIRONMENT', 'production'), |
|
||||||
|
|
||||||
// Application URL and base path to use instead of the auto-detected one |
|
||||||
'url' => env('APP_URL'), |
|
||||||
|
|
||||||
// Header links |
|
||||||
// Available link placeholders: %lang% |
|
||||||
// To disable a header_item in config.php, you can set its value to null |
|
||||||
'header_items' => [ |
|
||||||
// Name can be a translation string, permission is an engelsystem privilege |
|
||||||
// 'Name' => 'URL', |
|
||||||
// 'some.key' => ['URL', 'permission'], |
|
||||||
|
|
||||||
//'Foo' => ['https://foo.bar/batz-%lang%.html', 'logout'], // Permission: for logged-in users |
|
||||||
], |
|
||||||
|
|
||||||
// Footer links |
|
||||||
// To disable a footer item in config.php, you can set its value to null |
|
||||||
'footer_items' => [ |
|
||||||
// Name can be a translation string, permission is a engelsystem privilege |
|
||||||
// 'Name' => 'URL', |
|
||||||
// 'some.key' => ['URL', 'permission'], |
|
||||||
|
|
||||||
// URL to faq page |
|
||||||
'faq.faq' => [env('FAQ_URL', '/faq'), 'faq.view'], |
|
||||||
|
|
||||||
// Contact email address, linked on every page |
|
||||||
// 'Contact' => env('CONTACT_EMAIL', 'mailto:ticket@c3heaven.de'), |
|
||||||
], |
|
||||||
|
|
||||||
// Other ways to ask the heaven |
|
||||||
// Multiple contact options / links are possible, analogue to footer_items |
|
||||||
'contact_options' => [ |
|
||||||
// E-mail address |
|
||||||
// 'general.email' => env('CONTACT_EMAIL', 'mailto:ticket@c3heaven.de'), |
|
||||||
], |
|
||||||
|
|
||||||
// Additional text displayed on the FAQ page, rendered as markdown |
|
||||||
'faq_text' => env('FAQ_TEXT'), |
|
||||||
|
|
||||||
// Link to documentation/help |
|
||||||
'documentation_url' => env('DOCUMENTATION_URL', 'https://engelsystem.de/doc/'), |
|
||||||
|
|
||||||
// Email config |
|
||||||
'email' => [ |
|
||||||
// Can be mail, smtp, sendmail, log or an symfony mailer dsn string like smtps://[usr]:[pass]@smtp.foo.bar:465 |
|
||||||
'driver' => env('MAIL_DRIVER', 'mail'), |
|
||||||
'from' => [ |
|
||||||
// From address of all emails |
|
||||||
'address' => env('MAIL_FROM_ADDRESS', 'noreply@example.com'), |
|
||||||
'name' => env('MAIL_FROM_NAME', env('APP_NAME', 'Engelsystem')), |
|
||||||
], |
|
||||||
|
|
||||||
'host' => env('MAIL_HOST', 'localhost'), |
|
||||||
'port' => env('MAIL_PORT', 587), |
|
||||||
// If tls transport encryption should be enabled |
|
||||||
'tls' => env('MAIL_TLS'), |
|
||||||
'username' => env('MAIL_USERNAME'), |
|
||||||
'password' => env_secret('MAIL_PASSWORD'), |
|
||||||
'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs'), |
|
||||||
], |
|
||||||
|
|
||||||
// Your privacy@ contact address |
|
||||||
'privacy_email' => env('PRIVACY_EMAIL'), |
|
||||||
|
|
||||||
// Show opt-in on user profile and registration pages to save some personal data after the event |
|
||||||
'enable_email_goodie' => (bool) env('ENABLE_EMAIL_GOODIE', false), |
|
||||||
|
|
||||||
// Initial admin password, configured on first migration |
|
||||||
'setup_admin_password' => env_secret('SETUP_ADMIN_PASSWORD'), |
|
||||||
|
|
||||||
// Setup external authentication providers |
|
||||||
'oauth' => [ |
|
||||||
// '[name]' => [config] |
|
||||||
/* |
|
||||||
'[name]' => [ |
|
||||||
// Name shown to the user (optional) |
|
||||||
'name' => 'Some Provider', |
|
||||||
// Auth client ID |
|
||||||
'client_id' => 'engelsystem', |
|
||||||
// Auth client secret |
|
||||||
'client_secret' => '[generated by provider]', |
|
||||||
// Authentication URL |
|
||||||
'url_auth' => '[generated by provider]', |
|
||||||
// Token URL |
|
||||||
'url_token' => '[generated by provider]', |
|
||||||
// User info URL which provides userdata |
|
||||||
'url_info' => '[generated by provider]', |
|
||||||
// OAuth Scopes |
|
||||||
// 'scope' => ['openid'], |
|
||||||
// Info unique user id field |
|
||||||
'id' => 'uuid', |
|
||||||
// The following fields are used for registration |
|
||||||
// Info username field (optional) |
|
||||||
'username' => 'nickname', |
|
||||||
// Info email field (optional) |
|
||||||
'email' => 'email', |
|
||||||
// Info first name field (optional) |
|
||||||
'first_name' => 'first-name', |
|
||||||
// Info last name field (optional) |
|
||||||
'last_name' => 'last-name', |
|
||||||
// User URL to provider, linked on provider settings page (optional) |
|
||||||
'url' => '[provider page]', |
|
||||||
// Whether info attributes are nested arrays (optional) |
|
||||||
// For example {"user":{"name":"foo"}} can be accessed using user.name |
|
||||||
'nested_info' => false, |
|
||||||
// Only show after clicking the page title (optional) |
|
||||||
'hidden' => false, |
|
||||||
// Mark user as arrived when using this provider (optional) |
|
||||||
'mark_arrived' => false, |
|
||||||
// If the password field should be enabled on registration (optional) |
|
||||||
'enable_password' => false, |
|
||||||
// Allow registration even if disabled in config (optional) |
|
||||||
'allow_registration' => null, |
|
||||||
// Auto join teams |
|
||||||
// Info groups field (optional) |
|
||||||
'groups' => 'groups', |
|
||||||
// Groups to team (angeltype) mapping (optional) |
|
||||||
'teams' => [ |
|
||||||
'/Lorem' => 4, // 4 being the ID of the team (angeltype) |
|
||||||
'/Foo Mod' => ['id' => 5, 'supporter' => true], // 5 being the ID of the team (angeltype) |
|
||||||
], |
|
||||||
], |
|
||||||
*/ |
|
||||||
], |
|
||||||
|
|
||||||
// Default theme, 1 = theme1.scss etc. |
|
||||||
'theme' => env('THEME', 17), |
|
||||||
|
|
||||||
// Supported themes |
|
||||||
// To disable a theme in config.php, you can set its value to null |
|
||||||
'themes' => [ |
|
||||||
18 => [ |
|
||||||
'name' => 'Engelsystem 38c3 (2024) - Lila, Lachs und Kurven', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark', |
|
||||||
], |
|
||||||
17 => [ |
|
||||||
'name' => 'Engelsystem 37c3 (2023)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark', |
|
||||||
], |
|
||||||
16 => [ |
|
||||||
'name' => 'Engelsystem cccamp23 (2023)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark', |
|
||||||
], |
|
||||||
15 => [ |
|
||||||
'name' => 'Engelsystem rC3 (2021)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark', |
|
||||||
], |
|
||||||
14 => [ |
|
||||||
'name' => 'Engelsystem rC3 teal (2020)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
13 => [ |
|
||||||
'name' => 'Engelsystem rC3 violet (2020)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
12 => [ |
|
||||||
'name' => 'Engelsystem 36c3 (2019)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
10 => [ |
|
||||||
'name' => 'Engelsystem cccamp19 green (2019)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
9 => [ |
|
||||||
'name' => 'Engelsystem cccamp19 yellow (2019)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
8 => [ |
|
||||||
'name' => 'Engelsystem cccamp19 blue (2019)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
7 => [ |
|
||||||
'name' => 'Engelsystem 35c3 dark (2018)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-primary navbar-dark bg-black border-primary', |
|
||||||
], |
|
||||||
6 => [ |
|
||||||
'name' => 'Engelsystem 34c3 dark (2017)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
5 => [ |
|
||||||
'name' => 'Engelsystem 34c3 light (2017)', |
|
||||||
'type' => 'light', |
|
||||||
'navbar_classes' => 'navbar-light bg-light', |
|
||||||
], |
|
||||||
4 => [ |
|
||||||
'name' => 'Engelsystem 33c3 (2016)', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-body border-dark', |
|
||||||
], |
|
||||||
3 => [ |
|
||||||
'name' => 'Engelsystem 32c3 (2015)', |
|
||||||
'type' => 'light', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
2 => [ |
|
||||||
'name' => 'Engelsystem cccamp15', |
|
||||||
'type' => 'light', |
|
||||||
'navbar_classes' => 'navbar-light bg-light', |
|
||||||
], |
|
||||||
11 => [ |
|
||||||
'name' => 'Engelsystem high contrast', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
0 => [ |
|
||||||
'name' => 'Engelsystem light', |
|
||||||
'type' => 'light', |
|
||||||
'navbar_classes' => 'navbar-light bg-light', |
|
||||||
], |
|
||||||
1 => [ |
|
||||||
'name' => 'Engelsystem dark', |
|
||||||
'type' => 'dark', |
|
||||||
'navbar_classes' => 'navbar-dark bg-black border-dark', |
|
||||||
], |
|
||||||
], |
|
||||||
|
|
||||||
// Redirect to this site after logging in or when clicking the page name |
|
||||||
// Must be one of news, meetings, user_shifts, angeltypes, questions |
|
||||||
'home_site' => env('HOME_SITE', 'news'), |
|
||||||
|
|
||||||
// Number of News shown on one site and for feed readers (minimum 1) |
|
||||||
'display_news' => env('DISPLAY_NEWS', 10), |
|
||||||
|
|
||||||
// Users are able to sign up |
|
||||||
'registration_enabled' => (bool) env('REGISTRATION_ENABLED', true), |
|
||||||
|
|
||||||
// URL to external registration page, linked from login page |
|
||||||
'external_registration_url' => env('EXTERNAL_REGISTRATION_URL'), |
|
||||||
|
|
||||||
// Required user fields |
|
||||||
'required_user_fields' => [ |
|
||||||
'pronoun' => (bool) env('PRONOUN_REQUIRED', false), |
|
||||||
'firstname' => (bool) env('FIRSTNAME_REQUIRED', false), |
|
||||||
'lastname' => (bool) env('LASTNAME_REQUIRED', false), |
|
||||||
'tshirt_size' => (bool) env('TSHIRT_SIZE_REQUIRED', false), |
|
||||||
'mobile' => (bool) env('MOBILE_REQUIRED', false), |
|
||||||
'dect' => (bool) env('DECT_REQUIRED', false), |
|
||||||
], |
|
||||||
|
|
||||||
// Only arrived users can sign up for shifts |
|
||||||
'signup_requires_arrival' => (bool) env('SIGNUP_REQUIRES_ARRIVAL', false), |
|
||||||
|
|
||||||
// Whether newly-registered users should automatically be marked as arrived |
|
||||||
'autoarrive' => (bool) env('AUTOARRIVE', false), |
|
||||||
|
|
||||||
// Supporters of a team (angeltype) can promote other users of the team (angeltype) to supporter |
|
||||||
'supporters_can_promote' => (bool) env('SUPPORTERS_CAN_PROMOTE', false), |
|
||||||
|
|
||||||
// Only allow shift signup this number of hours in advance |
|
||||||
// Setting this to 0 disables the feature |
|
||||||
'signup_advance_hours' => env('SIGNUP_ADVANCE_HOURS', 0), |
|
||||||
|
|
||||||
// Allow signup this many minutes after the start of the shift. |
|
||||||
// If signup_post_fraction is set, it's first applied before adding the number of minutes specified here. |
|
||||||
'signup_post_minutes' => env('SIGNUP_POST_MINUTES', 0), |
|
||||||
|
|
||||||
// Allow signup this fraction of the shift length after the start of the shift. |
|
||||||
// Example: If it is set to 1, signup is allowed until the end of a shift |
|
||||||
// If it is set to 0.5, signup is allowed for the first half of a shift |
|
||||||
// If signup_post_minutes is set, this is first applied and then the signup_post_minutes added on top. |
|
||||||
'signup_post_fraction' => env('SIGNUP_POST_FRACTION', 0), |
|
||||||
|
|
||||||
// Number of hours that a user can sign out of own shifts beforehand |
|
||||||
'last_unsubscribe' => env('LAST_UNSUBSCRIBE', 3), |
|
||||||
|
|
||||||
// Define the algorithm to use for `password_verify()` |
|
||||||
// If a user password is hashed with an old algorithm, the password will be converted to the new format on login |
|
||||||
// See https://secure.php.net/manual/en/password.constants.php for a complete list |
|
||||||
'password_algorithm' => env('PASSWORD_ALGORITHM', PASSWORD_DEFAULT), |
|
||||||
|
|
||||||
// The minimum length for passwords |
|
||||||
'password_min_length' => env('PASSWORD_MIN_LENGTH', 8), |
|
||||||
|
|
||||||
// Whether the login and registration via password should be enabled (login will be hidden if false) |
|
||||||
// This is useful when using oauth, disabling it also disables normal registration without oauth |
|
||||||
'enable_password' => (bool) env('ENABLE_PASSWORD', true), |
|
||||||
|
|
||||||
// Whether the DECT field should be enabled |
|
||||||
'enable_dect' => (bool) env('ENABLE_DECT', true), |
|
||||||
|
|
||||||
// Whether the mobile number will be shown to other users |
|
||||||
'enable_mobile_show' => (bool) env('ENABLE_MOBILE_SHOW', false), |
|
||||||
|
|
||||||
// Regular expression describing a FALSE username. |
|
||||||
// Per default usernames must only contain alphanumeric chars, "-", "_" or ".". |
|
||||||
'username_regex' => (string) env('USERNAME_REGEX', '/([^\p{L}\p{N}_.-]+)/ui'), |
|
||||||
|
|
||||||
// Enable first name and last name |
|
||||||
'enable_full_name' => (bool) env('ENABLE_FULL_NAME', false), |
|
||||||
|
|
||||||
// Show a users first name and last name instead of username |
|
||||||
'display_full_name' => env('DISPLAY_FULL_NAME', false) |
|
||||||
&& env('ENABLE_FULL_NAME', false), |
|
||||||
|
|
||||||
// Enable displaying the pronoun fields |
|
||||||
'enable_pronoun' => (bool) env('ENABLE_PRONOUN', true), |
|
||||||
|
|
||||||
// Enable the planned arrival/leave date |
|
||||||
'enable_planned_arrival' => (bool) env('ENABLE_PLANNED_ARRIVAL', true), |
|
||||||
|
|
||||||
// Whether force active should be enabled |
|
||||||
'enable_force_active' => (bool) env('ENABLE_FORCE_ACTIVE', true), |
|
||||||
|
|
||||||
// Allow users with sufficient permission to add worklogs for themselves |
|
||||||
'enable_self_worklog' => (bool) env('ENABLE_SELF_WORKLOG', true), |
|
||||||
|
|
||||||
// Resembles the Goodie Type. There are three options: |
|
||||||
// 'none' => no goodie at all |
|
||||||
// 'goodie' => a goodie which has no sizing options |
|
||||||
// 'tshirt' => goodie that is called tshirt and has sizing options |
|
||||||
'goodie_type' => env('GOODIE_TYPE', 'goodie'), |
|
||||||
|
|
||||||
// Enable (food) vouchers |
|
||||||
'enable_voucher' => (bool) env('ENABLE_VOUCHER', true), |
|
||||||
|
|
||||||
// Number of shifts to freeload until a user is locked from shift signup. |
|
||||||
'max_freeloadable_shifts' => env('MAX_FREELOADABLE_SHIFTS', 2), |
|
||||||
|
|
||||||
// Hide columns in backend user view. Possible values are any sortable parameters of the table. |
|
||||||
'disabled_user_view_columns' => [], |
|
||||||
|
|
||||||
// Local timezone |
|
||||||
'timezone' => env('TIMEZONE', 'Europe/Berlin'), |
|
||||||
|
|
||||||
// Multiply 'night shifts' and freeloaded shifts (start or end between 2 and 8 exclusive) by 2 in goodie score |
|
||||||
// Goodies must be enabled to use this feature |
|
||||||
'night_shifts' => [ |
|
||||||
'enabled' => (bool) env('NIGHT_SHIFTS', true), // Disable to weigh every shift the same |
|
||||||
'start' => env('NIGHT_SHIFTS_START', 2), // Starting from hour |
|
||||||
'end' => env('NIGHT_SHIFTS_END', 8), // Ends at (without including) hour |
|
||||||
'multiplier' => env('NIGHT_SHIFTS_MULTIPLIER', 2), |
|
||||||
], |
|
||||||
|
|
||||||
// Voucher calculation |
|
||||||
'voucher_settings' => [ |
|
||||||
'initial_vouchers' => env('INITIAL_VOUCHERS', 0), |
|
||||||
'shifts_per_voucher' => env('SHIFTS_PER_VOUCHER', 0), |
|
||||||
'hours_per_voucher' => env('HOURS_PER_VOUCHER', 2), |
|
||||||
// 'Y-m-d' formatted |
|
||||||
'voucher_start' => env('VOUCHER_START') ?: null, |
|
||||||
], |
|
||||||
|
|
||||||
// Enable Driving License |
|
||||||
'driving_license_enabled' => (bool) env('DRIVING_LICENSE_ENABLED', true), |
|
||||||
|
|
||||||
# Instruction in accordance with § 43 Para. 1 of the German Infection Protection Act (IfSG) |
|
||||||
'ifsg_enabled' => (bool) env('IFSG_ENABLED', false), |
|
||||||
|
|
||||||
# Instruction only onsite in accordance with § 43 Para. 1 of the German Infection Protection Act (IfSG) |
|
||||||
'ifsg_light_enabled' => env('IFSG_LIGHT_ENABLED', false) && env('IFSG_ENABLED', false), |
|
||||||
|
|
||||||
// Available locales in /resources/lang/ |
|
||||||
// To disable a locale in config.php, you can set its value to null |
|
||||||
'locales' => [ |
|
||||||
'de_DE' => 'Deutsch', |
|
||||||
], |
|
||||||
|
|
||||||
// The default locale to use |
|
||||||
'default_locale' => env('DEFAULT_LOCALE', 'de_DE'), |
|
||||||
|
|
||||||
// Available T-Shirt sizes |
|
||||||
// To disable a t-shirt size in config.php, you can set its value to null |
|
||||||
'tshirt_sizes' => [ |
|
||||||
'S' => 'Small Straight-Cut', |
|
||||||
'S-F' => 'Small Fitted-Cut', |
|
||||||
'M' => 'Medium Straight-Cut', |
|
||||||
'M-F' => 'Medium Fitted-Cut', |
|
||||||
'L' => 'Large Straight-Cut', |
|
||||||
'L-F' => 'Large Fitted-Cut', |
|
||||||
'XL' => 'XLarge Straight-Cut', |
|
||||||
'XL-F' => 'XLarge Fitted-Cut', |
|
||||||
'2XL' => '2XLarge Straight-Cut', |
|
||||||
'3XL' => '3XLarge Straight-Cut', |
|
||||||
'4XL' => '4XLarge Straight-Cut', |
|
||||||
], |
|
||||||
|
|
||||||
// T-shirt Size-Guide link |
|
||||||
'tshirt_link' => env('TSHIRT_LINK'), |
|
||||||
|
|
||||||
// Whether to show the current day of the event (-2, -1, 0, 1, 2…) in footer and on the dashboard. |
|
||||||
// The event start date has to be set for it to appear. |
|
||||||
'enable_day_of_event' => (bool) env('ENABLE_DAY_OF_EVENT', false), |
|
||||||
// If true there will be a day 0 (-1, 0, 1…). If false there won't (-1, 1…) |
|
||||||
'event_has_day0' => (bool) env('EVENT_HAS_DAY0', true), |
|
||||||
|
|
||||||
'metrics' => [ |
|
||||||
// User work buckets in seconds |
|
||||||
'work' => [1 * 60 * 60, 1.5 * 60 * 60, 2 * 60 * 60, 3 * 60 * 60, 5 * 60 * 60, 10 * 60 * 60, 20 * 60 * 60], |
|
||||||
'voucher' => [0, 1, 2, 3, 5, 10, 15, 20], |
|
||||||
], |
|
||||||
|
|
||||||
// Shifts overview |
|
||||||
// Set max number of hours that can be shown at once |
|
||||||
// 0 means no limit |
|
||||||
'filter_max_duration' => env('FILTER_MAX_DURATION', 0), |
|
||||||
|
|
||||||
// Session config |
|
||||||
'session' => [ |
|
||||||
// Supported: pdo or native |
|
||||||
'driver' => env('SESSION_DRIVER', 'pdo'), |
|
||||||
|
|
||||||
// Cookie name |
|
||||||
'name' => env('SESSION_NAME', 'session'), |
|
||||||
|
|
||||||
// Lifetime in days |
|
||||||
'lifetime' => env('SESSION_LIFETIME', 30), |
|
||||||
], |
|
||||||
|
|
||||||
// IP addresses of reverse proxies that are trusted, can be an array or a comma separated list |
|
||||||
'trusted_proxies' => env('TRUSTED_PROXIES', ['127.0.0.0/8', '::ffff:127.0.0.0/8', '::1/128']), |
|
||||||
|
|
||||||
// Add additional headers |
|
||||||
'add_headers' => (bool) env('ADD_HEADERS', true), |
|
||||||
// Predefined headers |
|
||||||
// To disable a header in config.php, you can set its value to null |
|
||||||
'headers' => [ |
|
||||||
'X-Content-Type-Options' => 'nosniff', |
|
||||||
'X-Frame-Options' => 'sameorigin', |
|
||||||
'Referrer-Policy' => 'strict-origin-when-cross-origin', |
|
||||||
'Content-Security-Policy' => |
|
||||||
'default-src \'self\'; ' |
|
||||||
. ' style-src \'self\' \'unsafe-inline\'; ' |
|
||||||
. 'img-src \'self\' data:;', |
|
||||||
'X-XSS-Protection' => '1; mode=block', |
|
||||||
'Feature-Policy' => 'autoplay \'none\'', |
|
||||||
//'Strict-Transport-Security' => 'max-age=7776000', |
|
||||||
//'Expect-CT' => 'max-age=7776000,enforce,report-uri="[uri]"', |
|
||||||
], |
|
||||||
|
|
||||||
// A list of credits |
|
||||||
'credits' => [ |
|
||||||
'Contribution' => 'Please visit [engelsystem/engelsystem](https://github.com/engelsystem/engelsystem) if ' |
|
||||||
. 'you want to contribute, have found any [bugs](https://github.com/engelsystem/engelsystem/issues) ' |
|
||||||
. 'or need help.', |
|
||||||
], |
|
||||||
|
|
||||||
// var dump server |
|
||||||
'var_dump_server' => [ |
|
||||||
'host' => '127.0.0.1', |
|
||||||
'port' => '9912', |
|
||||||
'enable' => false, |
|
||||||
], |
], |
||||||
]; |
]; |
||||||
|
|||||||
|
After Width: | Height: | Size: 2.3 KiB |
@ -0,0 +1,860 @@ |
|||||||
|
msgid "" |
||||||
|
msgstr "" |
||||||
|
"Project-Id-Version: Engelsystem 2.0\n" |
||||||
|
"Language-Team: \n" |
||||||
|
"MIME-Version: 1.0\n" |
||||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||||
|
"Content-Transfer-Encoding: 8bit\n" |
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
||||||
|
"Last-Translator: \n" |
||||||
|
"Language: en_US\n" |
||||||
|
|
||||||
|
msgid "auth.not-found" |
||||||
|
msgstr "No user was found or password is wrong. Please try again. If you are still having problems, ask the Infodesk." |
||||||
|
|
||||||
|
msgid "validation.password.required" |
||||||
|
msgstr "The password is required." |
||||||
|
|
||||||
|
msgid "validation.password.length" |
||||||
|
msgstr "The password entered is too short." |
||||||
|
|
||||||
|
msgid "validation.login.required" |
||||||
|
msgstr "The login name is required." |
||||||
|
|
||||||
|
msgid "validation.pronoun.required" |
||||||
|
msgstr "Please enter your pronoun." |
||||||
|
|
||||||
|
msgid "validation.firstname.required" |
||||||
|
msgstr "Please enter your first name." |
||||||
|
|
||||||
|
msgid "validation.lastname.required" |
||||||
|
msgstr "Please enter your last name." |
||||||
|
|
||||||
|
msgid "validation.mobile.required" |
||||||
|
msgstr "Please enter your mobile number." |
||||||
|
|
||||||
|
msgid "validation.dect.required" |
||||||
|
msgstr "Please enter your DECT number." |
||||||
|
|
||||||
|
msgid "validation.username.required" |
||||||
|
msgstr "Please enter your nick." |
||||||
|
|
||||||
|
msgid "validation.username.username" |
||||||
|
msgstr "" |
||||||
|
"Please enter a valid nick: " |
||||||
|
"Use up to 24 letters, numbers, or connecting punctuation (. - _) for your nickname." |
||||||
|
|
||||||
|
msgid "validation.email.required" |
||||||
|
msgstr "The e-mail address is required." |
||||||
|
|
||||||
|
msgid "validation.email.email" |
||||||
|
msgstr "This e-mail address is not valid." |
||||||
|
|
||||||
|
msgid "validation.new_password.length" |
||||||
|
msgstr "Your new password is too short." |
||||||
|
|
||||||
|
msgid "validation.password.confirmed" |
||||||
|
msgstr "Your passwords do not match." |
||||||
|
|
||||||
|
msgid "validation.password_confirmation.required" |
||||||
|
msgstr "You have to confirm your password." |
||||||
|
|
||||||
|
msgid "validation.tshirt_size.required" |
||||||
|
msgstr "Please choose your T-shirt size." |
||||||
|
|
||||||
|
msgid "validation.tshirt_size.shirtSize" |
||||||
|
msgstr "Please choose a valid T-shirt size." |
||||||
|
|
||||||
|
msgid "validation.planned_arrival_date.required" |
||||||
|
msgstr "Please enter your planned date of arrival." |
||||||
|
|
||||||
|
msgid "validation.planned_arrival_date.min" |
||||||
|
msgstr "The planned date of arrival must not be before the build-up start date." |
||||||
|
|
||||||
|
msgid "validation.planned_arrival_date.between" |
||||||
|
msgstr "The planned date of arrival must be between the build-up and tear-down date." |
||||||
|
|
||||||
|
msgid "schedule.edit.success" |
||||||
|
msgstr "The schedule was configured successfully." |
||||||
|
|
||||||
|
msgid "schedule.import.request-error" |
||||||
|
msgstr "The schedule could not be requested." |
||||||
|
|
||||||
|
msgid "schedule.import.read-error" |
||||||
|
msgstr "Unable to parse schedule." |
||||||
|
|
||||||
|
msgid "schedule.import.success" |
||||||
|
msgstr "Schedule import successful." |
||||||
|
|
||||||
|
msgid "schedule.delete.success" |
||||||
|
msgstr "Schedule deletion successful." |
||||||
|
|
||||||
|
msgid "shifts.filter.toggle" |
||||||
|
msgstr "collapse/show additional filters" |
||||||
|
|
||||||
|
msgid "shifts.toggle.title" |
||||||
|
msgstr "Show more / less" |
||||||
|
|
||||||
|
msgid "validation.schedule-url.required" |
||||||
|
msgstr "The schedule URL is required." |
||||||
|
|
||||||
|
msgid "validation.schedule-url.url" |
||||||
|
msgstr "The schedule URL must be a valid URL." |
||||||
|
|
||||||
|
msgid "validation.shift-type.required" |
||||||
|
msgstr "The shift type is required." |
||||||
|
|
||||||
|
msgid "validation.shift-type.int" |
||||||
|
msgstr "The shift type has to be a number." |
||||||
|
|
||||||
|
msgid "validation.minutes-before.int" |
||||||
|
msgstr "The minutes before the talk have to be an integer." |
||||||
|
|
||||||
|
msgid "validation.minutes-after.int" |
||||||
|
msgstr "The minutes after the talk have to be an integer." |
||||||
|
|
||||||
|
msgid "news.comment.success" |
||||||
|
msgstr "Comment saved." |
||||||
|
|
||||||
|
msgid "news.comment-delete.success" |
||||||
|
msgstr "Comment successfully deleted." |
||||||
|
|
||||||
|
msgid "news.edit.duplicate" |
||||||
|
msgstr "This news item has already been created." |
||||||
|
|
||||||
|
msgid "news.edit.success" |
||||||
|
msgstr "News successfully updated." |
||||||
|
|
||||||
|
msgid "news.delete.success" |
||||||
|
msgstr "News successfully deleted." |
||||||
|
|
||||||
|
msgid "oauth.invalid-state" |
||||||
|
msgstr "Invalid OAuth state" |
||||||
|
|
||||||
|
msgid "oauth.provider-error" |
||||||
|
msgstr "OAuth provider error" |
||||||
|
|
||||||
|
msgid "oauth.already-connected" |
||||||
|
msgstr "This account is already connected to another account!" |
||||||
|
|
||||||
|
msgid "oauth.connected" |
||||||
|
msgstr "Connected login provider!" |
||||||
|
|
||||||
|
msgid "oauth.disconnected" |
||||||
|
msgstr "Disconnected login provider!" |
||||||
|
|
||||||
|
msgid "oauth.not-found" |
||||||
|
msgstr "Unable to find account" |
||||||
|
|
||||||
|
msgid "oauth.provider-not-found" |
||||||
|
msgstr "Unable to find OAuth provider" |
||||||
|
|
||||||
|
msgid "oauth.invalid_request" |
||||||
|
msgstr "The OAuth-Provider rejected the request due to a missing or invalid parameter." |
||||||
|
|
||||||
|
msgid "oauth.unauthorized_client" |
||||||
|
msgstr "Not authorized as a client with the OAuth-Provider." |
||||||
|
|
||||||
|
msgid "oauth.access_denied" |
||||||
|
msgstr "The resource owner or authorization server denied the request." |
||||||
|
|
||||||
|
msgid "oauth.unsupported_response_type" |
||||||
|
msgstr "The OAuth-Provider does not support obtaining an authorization code using this method." |
||||||
|
|
||||||
|
msgid "oauth.invalid_scope" |
||||||
|
msgstr "The requested scope is invalid, unknown, or malformed." |
||||||
|
|
||||||
|
msgid "oauth.server_error" |
||||||
|
msgstr "The OAuth-Provider encountered an unexpected condition that prevented it from fulfilling the request." |
||||||
|
|
||||||
|
msgid "oauth.temporarily_unavailable" |
||||||
|
msgstr "The OAuth-Provider is currently unable to handle the request " |
||||||
|
"due to a temporary overloading or maintenance of the server." |
||||||
|
|
||||||
|
msgid "settings.profile.planned_arrival_date.invalid" |
||||||
|
msgstr "Please enter your planned date of arrival. " |
||||||
|
"It should be after the buildup start date and before teardown end date." |
||||||
|
|
||||||
|
msgid "settings.profile.planned_departure_date.invalid" |
||||||
|
msgstr "Please enter your planned date of departure. " |
||||||
|
"It should be after your planned arrival date and after buildup start date and before teardown end date." |
||||||
|
|
||||||
|
msgid "settings.success" |
||||||
|
msgstr "Settings saved." |
||||||
|
|
||||||
|
msgid "settings.sessions.delete_success" |
||||||
|
msgstr "Session deleted successfully." |
||||||
|
|
||||||
|
msgid "settings.api.key_reset_success" |
||||||
|
msgstr "API key successfully reset." |
||||||
|
|
||||||
|
msgid "faq.delete.success" |
||||||
|
msgstr "FAQ entry successfully deleted." |
||||||
|
|
||||||
|
msgid "faq.edit.success" |
||||||
|
msgstr "FAQ entry successfully updated." |
||||||
|
|
||||||
|
msgid "question.menu" |
||||||
|
msgstr "Ask Infodesk" |
||||||
|
|
||||||
|
msgid "question.delete.success" |
||||||
|
msgstr "Question deleted successfully." |
||||||
|
|
||||||
|
msgid "question.add.success" |
||||||
|
msgstr "Question added successfully." |
||||||
|
|
||||||
|
msgid "question.edit.success" |
||||||
|
msgstr "Question updated successfully." |
||||||
|
|
||||||
|
msgid "tag.edit.duplicate" |
||||||
|
msgstr "A tag with this name already exists!" |
||||||
|
|
||||||
|
msgid "tag.edit.success" |
||||||
|
msgstr "Tag updated successfully." |
||||||
|
|
||||||
|
msgid "tag.delete.success" |
||||||
|
msgstr "Tag deleted successfully." |
||||||
|
|
||||||
|
msgid "notification.news.new" |
||||||
|
msgstr "New news: %s" |
||||||
|
|
||||||
|
msgid "notification.news.new.introduction" |
||||||
|
msgstr "A news item is available: %1$s" |
||||||
|
|
||||||
|
msgid "notification.news.new.text" |
||||||
|
msgstr "You can view it at %3$s" |
||||||
|
|
||||||
|
msgid "notification.news.updated" |
||||||
|
msgstr "Updated news: %s" |
||||||
|
|
||||||
|
msgid "notification.messages.new" |
||||||
|
msgstr "New private message from %s" |
||||||
|
|
||||||
|
msgid "notification.messages.new.text" |
||||||
|
msgstr "You've got a new private message from \"%s\". You can view it at %s" |
||||||
|
|
||||||
|
msgid "notification.angeltype.confirmed" |
||||||
|
msgstr "You have been confirmed as an %s" |
||||||
|
|
||||||
|
msgid "notification.angeltype.confirmed.introduction" |
||||||
|
msgstr "You have been confirmed as an %1$s by a supporter." |
||||||
|
|
||||||
|
msgid "notification.angeltype.confirmed.text" |
||||||
|
msgstr "You can find a description at %2$s" |
||||||
|
|
||||||
|
msgid "notification.angeltype.added" |
||||||
|
msgstr "You have been added as an %s" |
||||||
|
|
||||||
|
msgid "notification.angeltype.added.introduction" |
||||||
|
msgstr "You have been added as an %1$s by a supporter." |
||||||
|
|
||||||
|
msgid "notification.angeltype.added.text" |
||||||
|
msgstr "You can find a description at %2$s" |
||||||
|
|
||||||
|
msgid "angeltype.add.success" |
||||||
|
msgstr "Successfully joined elf type" |
||||||
|
|
||||||
|
msgid "notification.shift.deleted" |
||||||
|
msgstr "Your shift was deleted" |
||||||
|
|
||||||
|
msgid "notification.shift.deleted.introduction" |
||||||
|
msgstr "A shift you are registered for was deleted:" |
||||||
|
|
||||||
|
msgid "notification.shift.deleted.worklog" |
||||||
|
msgstr "" |
||||||
|
"Since the deleted shift was already done, " |
||||||
|
"we added a worklog entry instead, to keep your work hours correct." |
||||||
|
|
||||||
|
msgid "notification.shift.updated" |
||||||
|
msgstr "Your shift was updated" |
||||||
|
|
||||||
|
msgid "notification.shift.no_next_found" |
||||||
|
msgstr "There is no available shift." |
||||||
|
|
||||||
|
msgid "user.edit.success" |
||||||
|
msgstr "User edited successfully." |
||||||
|
|
||||||
|
msgid "message.delete.success" |
||||||
|
msgstr "Message successfully deleted." |
||||||
|
|
||||||
|
msgid "worklog.add.success" |
||||||
|
msgstr "Work log successfully added." |
||||||
|
|
||||||
|
msgid "worklog.edit.success" |
||||||
|
msgstr "Work log successfully updated." |
||||||
|
|
||||||
|
msgid "worklog.delete.success" |
||||||
|
msgstr "Work log successfully deleted." |
||||||
|
|
||||||
|
msgid "voucher.save.success" |
||||||
|
msgstr "Saved the number of vouchers." |
||||||
|
|
||||||
|
msgid "location.edit.success" |
||||||
|
msgstr "Location edited successfully." |
||||||
|
|
||||||
|
msgid "location.delete.success" |
||||||
|
msgstr "Location successfully deleted." |
||||||
|
|
||||||
|
msgid "shifttype.edit.success" |
||||||
|
msgstr "Shift type edited successfully." |
||||||
|
|
||||||
|
msgid "shifttype.delete.success" |
||||||
|
msgstr "Shift type successfully deleted." |
||||||
|
|
||||||
|
msgid "validation.name.exists" |
||||||
|
msgstr "The name is already in use." |
||||||
|
|
||||||
|
msgid "registration.disabled" |
||||||
|
msgstr "Registration is disabled." |
||||||
|
|
||||||
|
msgid "registration.successful.supporter" |
||||||
|
msgstr "Registration successful." |
||||||
|
|
||||||
|
msgid "registration.successful" |
||||||
|
msgstr "Registration successful. You can now log in!" |
||||||
|
|
||||||
|
msgid "shifts.history.delete.success" |
||||||
|
msgstr "Shifts deleted successfully." |
||||||
|
|
||||||
|
msgid "jwt.invalid_time" |
||||||
|
msgstr "The opened link is not valid (yet)" |
||||||
|
|
||||||
|
msgid "jwt.wrong_format" |
||||||
|
msgstr "The opened link is not complete" |
||||||
|
|
||||||
|
msgid "jwt.code_error" |
||||||
|
msgstr "The link is invalid or corrupted" |
||||||
|
|
||||||
|
msgid "config.event" |
||||||
|
msgstr "Event" |
||||||
|
|
||||||
|
msgid "config.name" |
||||||
|
msgstr "Event Name" |
||||||
|
|
||||||
|
msgid "config.name.info" |
||||||
|
msgstr "The event name is shown on the start page" |
||||||
|
|
||||||
|
msgid "config.welcome_msg" |
||||||
|
msgstr "Event Welcome Message" |
||||||
|
|
||||||
|
msgid "config.registration_enabled" |
||||||
|
msgstr "Registration enabled" |
||||||
|
|
||||||
|
msgid "config.welcome_msg.info" |
||||||
|
msgstr "The welcome message is shown after successful registration. Markdown can be used." |
||||||
|
|
||||||
|
msgid "config.buildup_start" |
||||||
|
msgstr "Buildup" |
||||||
|
|
||||||
|
msgid "config.event_start" |
||||||
|
msgstr "Event start" |
||||||
|
|
||||||
|
msgid "config.event_end" |
||||||
|
msgstr "Event end" |
||||||
|
|
||||||
|
msgid "config.teardown_end" |
||||||
|
msgstr "Teardown end" |
||||||
|
|
||||||
|
msgid "config.enable_day_of_event" |
||||||
|
msgstr "Day of event" |
||||||
|
|
||||||
|
msgid "config.enable_day_of_event.info" |
||||||
|
msgstr "" |
||||||
|
"Whether to show the current day of the event (-2, -1, 0, 1, 2…) in the footer and on the dashboard. " |
||||||
|
"The event start date has to be set for it to appear." |
||||||
|
|
||||||
|
msgid "config.event_has_day0" |
||||||
|
msgstr "Event has day 0" |
||||||
|
|
||||||
|
msgid "config.event_has_day0.info" |
||||||
|
msgstr "If enabled there will be a day 0 (-1, 0, 1…). If not there won't (-1, 1…)." |
||||||
|
|
||||||
|
msgid "config.faq_text" |
||||||
|
msgstr "FAQ text" |
||||||
|
|
||||||
|
msgid "config.faq_text.info" |
||||||
|
msgstr "Additional text displayed on the FAQ page. Markdown can be used." |
||||||
|
|
||||||
|
msgid "config.tshirt_link" |
||||||
|
msgstr "T-shirt size guide link" |
||||||
|
|
||||||
|
msgid "config.privacy_email" |
||||||
|
msgstr "privacy@ contact e-mail" |
||||||
|
|
||||||
|
msgid "config.features" |
||||||
|
msgstr "Features" |
||||||
|
|
||||||
|
msgid "config.enable_dect.info" |
||||||
|
msgstr "Enables DECT numbers for users, locations and elf types" |
||||||
|
|
||||||
|
msgid "config.enable_mobile_show" |
||||||
|
msgstr "Display mobile number" |
||||||
|
|
||||||
|
msgid "config.enable_mobile_show.info" |
||||||
|
msgstr "Whether the mobile number will be shown to all users" |
||||||
|
|
||||||
|
msgid "config.enable_full_name" |
||||||
|
msgstr "First / last name" |
||||||
|
|
||||||
|
msgid "config.display_full_name" |
||||||
|
msgstr "Display full name" |
||||||
|
|
||||||
|
msgid "config.display_full_name.info" |
||||||
|
msgstr "Show a user's first name and last name instead of username" |
||||||
|
|
||||||
|
msgid "config.enable_pronoun" |
||||||
|
msgstr "Pronouns" |
||||||
|
|
||||||
|
msgid "config.required_user_fields" |
||||||
|
msgstr "Required user fields" |
||||||
|
|
||||||
|
msgid "config.enable_planned_arrival" |
||||||
|
msgstr "Planned arrival / departure" |
||||||
|
|
||||||
|
msgid "config.enable_force_active" |
||||||
|
msgstr "Force active" |
||||||
|
|
||||||
|
msgid "config.enable_force_active.info" |
||||||
|
msgstr "Allows enforcing goodies" |
||||||
|
|
||||||
|
msgid "config.enable_force_food" |
||||||
|
msgstr "Unlimited food vouchers" |
||||||
|
|
||||||
|
msgid "config.enable_force_food.info" |
||||||
|
msgstr "Allows getting unlimited food vouchers" |
||||||
|
|
||||||
|
msgid "config.enable_voucher" |
||||||
|
msgstr "(Food-) vouchers" |
||||||
|
|
||||||
|
msgid "config.voucher_settings.initial_vouchers" |
||||||
|
msgstr "Initial vouchers" |
||||||
|
|
||||||
|
msgid "config.voucher_settings.shifts_per_voucher" |
||||||
|
msgstr "Shifts per voucher" |
||||||
|
|
||||||
|
msgid "config.voucher_settings.hours_per_voucher" |
||||||
|
msgstr "Hours per voucher" |
||||||
|
|
||||||
|
msgid "config.voucher_settings.voucher_start" |
||||||
|
msgstr "Voucher start" |
||||||
|
|
||||||
|
msgid "config.enable_self_worklog" |
||||||
|
msgstr "Own work logs" |
||||||
|
|
||||||
|
msgid "config.enable_self_worklog.info" |
||||||
|
msgstr "Allow users with sufficient permission to add worklogs for themselves" |
||||||
|
|
||||||
|
msgid "config.signup_requires_arrival" |
||||||
|
msgstr "Shift sign up requires arrival" |
||||||
|
|
||||||
|
msgid "config.signup_requires_arrival.info" |
||||||
|
msgstr "Only arrived users can sign up for shifts" |
||||||
|
|
||||||
|
msgid "config.autoarrive" |
||||||
|
msgstr "Auto arrive" |
||||||
|
|
||||||
|
msgid "config.autoarrive.info" |
||||||
|
msgstr "Set newly registered users automatically as arrived" |
||||||
|
|
||||||
|
msgid "config.supporters_can_promote" |
||||||
|
msgstr "Supporters can promote" |
||||||
|
|
||||||
|
msgid "config.supporters_can_promote.info" |
||||||
|
msgstr "Supporters of an elf type (team) can promote other users of the elf type to supporter" |
||||||
|
|
||||||
|
msgid "config.join_qr_code" |
||||||
|
msgstr "Join QR code" |
||||||
|
|
||||||
|
msgid "config.join_qr_code.info" |
||||||
|
msgstr "Allow joining an elf type via generated QR code, requires app_key" |
||||||
|
|
||||||
|
msgid "config.certificates" |
||||||
|
msgstr "Certificates" |
||||||
|
|
||||||
|
msgid "config.ifsg_enabled.info" |
||||||
|
msgstr "Instruction in accordance with § 43 Para. 1 of the German Infection Protection Act (IfSG)" |
||||||
|
|
||||||
|
msgid "config.ifsg_light_enabled.info" |
||||||
|
msgstr "Instruction only onsite in accordance with § 43 Para. 1 of the German Infection Protection Act (IfSG)" |
||||||
|
|
||||||
|
msgid "config.shifts" |
||||||
|
msgstr "Shifts" |
||||||
|
|
||||||
|
msgid "config.signup_advance_hours" |
||||||
|
msgstr "Sign up before start" |
||||||
|
|
||||||
|
msgid "config.signup_advance_hours.info" |
||||||
|
msgstr "Only allow shift signup this number of hours in advance. Setting it to 0 disables the feature." |
||||||
|
|
||||||
|
msgid "config.signup_post_minutes" |
||||||
|
msgstr "Sign up after start" |
||||||
|
|
||||||
|
msgid "config.signup_post_minutes.info" |
||||||
|
msgstr "" |
||||||
|
"Allow shift signup this number of minutes after start of shift. " |
||||||
|
"If \"Sign up after start fraction\" is set, it is applied first before adding the number of minutes specified here." |
||||||
|
|
||||||
|
msgid "config.signup_post_fraction" |
||||||
|
msgstr "Sign up after start fraction" |
||||||
|
|
||||||
|
msgid "config.signup_post_fraction.info" |
||||||
|
msgstr "" |
||||||
|
"Allow sign up this fraction of the shift length after the start of the shift. " |
||||||
|
"If it's 1, sign up is allowed until the end of the shift; 0.5 means the first half of the shift. " |
||||||
|
"If \"Sign up minutes after start\" is set, this is applied first and then the minutes are added on top." |
||||||
|
|
||||||
|
msgid "config.last_unsubscribe" |
||||||
|
msgstr "Last unsubscribe" |
||||||
|
|
||||||
|
msgid "config.last_unsubscribe.info" |
||||||
|
msgstr "Minimum hours before a shift starts where a user can still sign out of their own shifts" |
||||||
|
|
||||||
|
msgid "config.max_freeloadable_shifts" |
||||||
|
msgstr "Maximum freeloadable shifts" |
||||||
|
|
||||||
|
msgid "config.max_freeloadable_shifts.info" |
||||||
|
msgstr "Number of shifts to freeload until a user is locked from shift signup" |
||||||
|
|
||||||
|
msgid "config.goodie" |
||||||
|
msgstr "Goodie" |
||||||
|
|
||||||
|
msgid "config.enable_email_goodie" |
||||||
|
msgstr "E-mail opt-in" |
||||||
|
|
||||||
|
msgid "config.goodie_type" |
||||||
|
msgstr "Goodie Type" |
||||||
|
|
||||||
|
msgid "config.enable_email_goodie.info" |
||||||
|
msgstr "Show opt-in on user profile and registration pages to save some personal data after the event" |
||||||
|
|
||||||
|
msgid "config.goodie_type.select.none" |
||||||
|
msgstr "No goodie (disabled)" |
||||||
|
|
||||||
|
msgid "config.goodie_type.select.goodie" |
||||||
|
msgstr "Goodie" |
||||||
|
|
||||||
|
msgid "config.goodie_type.select.tshirt" |
||||||
|
msgstr "T-shirt with sizing options" |
||||||
|
|
||||||
|
msgid "config.night_shifts.enabled" |
||||||
|
msgstr "Night shifts enabled" |
||||||
|
|
||||||
|
msgid "config.night_shifts.enabled.info" |
||||||
|
msgstr "" |
||||||
|
"Multiplies 'night shifts' between start and end (numbers as hours) by multiplier for goodie score. " |
||||||
|
"Goodies must be enabled!" |
||||||
|
|
||||||
|
msgid "config.night_shifts.start" |
||||||
|
msgstr "Night shifts start hour" |
||||||
|
|
||||||
|
msgid "config.night_shifts.end" |
||||||
|
msgstr "Night shifts end hour (exclusive)" |
||||||
|
|
||||||
|
msgid "config.night_shifts.multiplier" |
||||||
|
msgstr "Night shifts multiplier" |
||||||
|
|
||||||
|
msgid "validation.event_start.after" |
||||||
|
msgstr "Event start must be after buildup." |
||||||
|
|
||||||
|
msgid "validation.event_end.after" |
||||||
|
msgstr "Event end must be after the event start." |
||||||
|
|
||||||
|
msgid "validation.teardown_end.after" |
||||||
|
msgstr "Teardown end must be after the event end." |
||||||
|
|
||||||
|
msgid "language.de_DE" |
||||||
|
msgstr "Deutsch" |
||||||
|
|
||||||
|
msgid "language.en_US" |
||||||
|
msgstr "English" |
||||||
|
|
||||||
|
msgid "config.system" |
||||||
|
msgstr "System" |
||||||
|
|
||||||
|
msgid "config.app_name" |
||||||
|
msgstr "Application name (not event name)" |
||||||
|
|
||||||
|
msgid "config.app_name.info" |
||||||
|
msgstr "Customizes the application name displayed throughout the interface" |
||||||
|
|
||||||
|
msgid "config.locales" |
||||||
|
msgstr "Languages" |
||||||
|
|
||||||
|
msgid "config.default_locale" |
||||||
|
msgstr "Default language" |
||||||
|
|
||||||
|
msgid "config.theme" |
||||||
|
msgstr "Default theme" |
||||||
|
|
||||||
|
msgid "config.timezone" |
||||||
|
msgstr "Time zone" |
||||||
|
|
||||||
|
msgid "config.app_key" |
||||||
|
msgstr "App key" |
||||||
|
|
||||||
|
msgid "config.app_key.info" |
||||||
|
msgstr "Random, long (at least 32 characters) alphanumeric or base64 encoded key, used for signing" |
||||||
|
|
||||||
|
msgid "config.database.driver" |
||||||
|
msgstr "Database type" |
||||||
|
|
||||||
|
msgid "config.database.driver.select.mysql" |
||||||
|
msgstr "MySQL" |
||||||
|
|
||||||
|
msgid "config.database.driver.select.mariadb" |
||||||
|
msgstr "MariaDB" |
||||||
|
|
||||||
|
msgid "config.database.host" |
||||||
|
msgstr "Database host" |
||||||
|
|
||||||
|
msgid "config.database.database" |
||||||
|
msgstr "Database name" |
||||||
|
|
||||||
|
msgid "config.database.username" |
||||||
|
msgstr "Database username" |
||||||
|
|
||||||
|
msgid "config.database.password" |
||||||
|
msgstr "Database password" |
||||||
|
|
||||||
|
msgid "config.email.driver" |
||||||
|
msgstr "E-mail driver" |
||||||
|
|
||||||
|
msgid "config.email.driver.info" |
||||||
|
msgstr "" |
||||||
|
"Configuring a Symfony mailer dsn like smtps://[user]:[password]@smtp.[domain]:465 " |
||||||
|
"is possible via config file or env variable" |
||||||
|
|
||||||
|
msgid "config.email.driver.select.smtp" |
||||||
|
msgstr "SMTP" |
||||||
|
|
||||||
|
msgid "config.email.driver.select.sendmail" |
||||||
|
msgstr "System sendmail program" |
||||||
|
|
||||||
|
msgid "config.email.driver.select.mail" |
||||||
|
msgstr "PHP mail program" |
||||||
|
|
||||||
|
msgid "config.email.driver.select.log" |
||||||
|
msgstr "Write mails to log" |
||||||
|
|
||||||
|
msgid "config.email.from.name" |
||||||
|
msgstr "E-mail sender name" |
||||||
|
|
||||||
|
msgid "config.email.from.address" |
||||||
|
msgstr "E-mail sender address" |
||||||
|
|
||||||
|
msgid "config.email.host" |
||||||
|
msgstr "E-mail host" |
||||||
|
|
||||||
|
msgid "config.email.port" |
||||||
|
msgstr "E-mail port" |
||||||
|
|
||||||
|
msgid "config.email.port.info" |
||||||
|
msgstr "465 for TLS, 587 for STARTTLS" |
||||||
|
|
||||||
|
msgid "config.email.tls" |
||||||
|
msgstr "E-mail using TLS transport encryption" |
||||||
|
|
||||||
|
msgid "config.email.username" |
||||||
|
msgstr "E-mail username" |
||||||
|
|
||||||
|
msgid "config.email.password" |
||||||
|
msgstr "E-mail password" |
||||||
|
|
||||||
|
msgid "config.email.sendmail" |
||||||
|
msgstr "Sendmail command" |
||||||
|
|
||||||
|
msgid "config.home_site" |
||||||
|
msgstr "Home site" |
||||||
|
|
||||||
|
msgid "config.home_site.info" |
||||||
|
msgstr "Redirects to this site after logging in or when clicking the page name" |
||||||
|
|
||||||
|
msgid "config.display_news" |
||||||
|
msgstr "Displayed news" |
||||||
|
|
||||||
|
msgid "config.display_news.info" |
||||||
|
msgstr "Number of news items shown on one page and for feed readers" |
||||||
|
|
||||||
|
msgid "config.display_users" |
||||||
|
msgstr "Displayed users" |
||||||
|
|
||||||
|
msgid "config.display_users.info" |
||||||
|
msgstr "Number of users shown in a table" |
||||||
|
|
||||||
|
msgid "config.filter_max_duration" |
||||||
|
msgstr "Shifts filter" |
||||||
|
|
||||||
|
msgid "config.filter_max_duration.info" |
||||||
|
msgstr "Set max number of hours that can be shown at once on shifts overview, 0 means no limit" |
||||||
|
|
||||||
|
msgid "config.password_min_length" |
||||||
|
msgstr "Minimum password length" |
||||||
|
|
||||||
|
msgid "config.enable_password" |
||||||
|
msgstr "Use password for registration and login" |
||||||
|
|
||||||
|
msgid "config.enable_password.info" |
||||||
|
msgstr "" |
||||||
|
"Whether the login and registration via password should be enabled (login will be hidden if false). " |
||||||
|
"This is useful when using OAuth, disabling it also disables normal registration without oauth." |
||||||
|
|
||||||
|
msgid "config.external_registration_url" |
||||||
|
msgstr "External registration URL" |
||||||
|
|
||||||
|
msgid "config.external_registration_url.info" |
||||||
|
msgstr "URL to external registration page, linked from login page" |
||||||
|
|
||||||
|
msgid "config.url" |
||||||
|
msgstr "Application URL" |
||||||
|
|
||||||
|
msgid "config.url.info" |
||||||
|
msgstr "URL and base path to use instead of the auto-detected one" |
||||||
|
|
||||||
|
msgid "config.api_key" |
||||||
|
msgstr "API key for /metrics" |
||||||
|
|
||||||
|
msgid "config.api_key.info" |
||||||
|
msgstr "" |
||||||
|
"The API key is used to protect access to the Engelsystem /metrics endpoint. " |
||||||
|
"It has no restrictions on length or character classes and must be included in the HTTP request " |
||||||
|
"as the request parameter api_key." |
||||||
|
|
||||||
|
msgid "config.session.driver" |
||||||
|
msgstr "Session storage" |
||||||
|
|
||||||
|
msgid "config.session.driver.select.pdo" |
||||||
|
msgstr "Database" |
||||||
|
|
||||||
|
msgid "config.session.driver.select.native" |
||||||
|
msgstr "PHP session" |
||||||
|
|
||||||
|
msgid "config.session.name" |
||||||
|
msgstr "Session cookie name" |
||||||
|
|
||||||
|
msgid "config.session.lifetime" |
||||||
|
msgstr "Session lifetime in days" |
||||||
|
|
||||||
|
msgid "config.jwt_expiration_time" |
||||||
|
msgstr "JWT expiration time in minutes" |
||||||
|
|
||||||
|
msgid "config.jwt_expiration_time.info" |
||||||
|
msgstr "Number of minutes after a JWT must expire, for example max elf type join time" |
||||||
|
|
||||||
|
msgid "config.guzzle_timeout" |
||||||
|
msgstr "HTTP request timeout" |
||||||
|
|
||||||
|
msgid "config.guzzle_timeout.info" |
||||||
|
msgstr "Number of seconds until timeout for requesting external resources, for example schedule data" |
||||||
|
|
||||||
|
msgid "config.warning_logout" |
||||||
|
msgstr "Changing this will log out all users!" |
||||||
|
|
||||||
|
msgid "config.maintenance" |
||||||
|
msgstr "Maintenance mode" |
||||||
|
|
||||||
|
msgid "config.maintenance.info" |
||||||
|
msgstr "If enabled it takes the Engelsystem offline for maintenance and shows a static page to all requests" |
||||||
|
|
||||||
|
msgid "config.environment" |
||||||
|
msgstr "Environment" |
||||||
|
|
||||||
|
msgid "config.environment.info" |
||||||
|
msgstr "Use \"development\" to enable debugging messages (Might show sensitive content like passwords on requests!)" |
||||||
|
|
||||||
|
msgid "config.header_items" |
||||||
|
msgstr "Header menu links" |
||||||
|
|
||||||
|
msgid "config.header_items.info" |
||||||
|
msgstr "Available link placeholder: %lang%, see config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.footer_items" |
||||||
|
msgstr "Footer links" |
||||||
|
|
||||||
|
msgid "config.footer_items.info" |
||||||
|
msgstr "Available link placeholder: %lang%, see config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.contact_options" |
||||||
|
msgstr "Contact options" |
||||||
|
|
||||||
|
msgid "config.contact_options.info" |
||||||
|
msgstr "Other ways to ask the Infodesk, see config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.documentation_url" |
||||||
|
msgstr "Documentation URL" |
||||||
|
|
||||||
|
msgid "config.documentation_url.info" |
||||||
|
msgstr "Link to documentation/help" |
||||||
|
|
||||||
|
msgid "config.credits.info" |
||||||
|
msgstr "A list of credits to be shown on the credits page, Markdown can be used, should not be changed" |
||||||
|
|
||||||
|
msgid "config.setup_admin_password" |
||||||
|
msgstr "Setup admin password" |
||||||
|
|
||||||
|
msgid "config.setup_admin_password.info" |
||||||
|
msgstr "Initial admin password, configured on first setup migration" |
||||||
|
|
||||||
|
msgid "config.password_algorithm" |
||||||
|
msgstr "Password algorithm" |
||||||
|
|
||||||
|
msgid "config.password_algorithm.info" |
||||||
|
msgstr "" |
||||||
|
"Define the algorithm to use for `password_verify()`. " |
||||||
|
"If a user password is hashed with an old algorithm, the password will be converted to the new format on login. " |
||||||
|
"See https://secure.php.net/manual/en/password.constants.php for a complete list." |
||||||
|
|
||||||
|
msgid "config.username_regex" |
||||||
|
msgstr "Username filter regex" |
||||||
|
|
||||||
|
msgid "config.username_regex.info" |
||||||
|
msgstr "" |
||||||
|
"Regular expression describing an invalid username. " |
||||||
|
"By default, usernames must only contain alphanumeric characters, \"-\", \"_\", or \".\"." |
||||||
|
|
||||||
|
msgid "config.disabled_user_view_columns" |
||||||
|
msgstr "Hidden user table columns" |
||||||
|
|
||||||
|
msgid "config.disabled_user_view_columns.info" |
||||||
|
msgstr "Hide columns in backend user view, possible values are any sortable parameters of the table" |
||||||
|
|
||||||
|
msgid "config.trusted_proxies" |
||||||
|
msgstr "Trusted proxies" |
||||||
|
|
||||||
|
msgid "config.trusted_proxies.info" |
||||||
|
msgstr "IP addresses of reverse proxies that are trusted, can be an array or a comma separated list" |
||||||
|
|
||||||
|
msgid "config.headers" |
||||||
|
msgstr "HTTP response headers" |
||||||
|
|
||||||
|
msgid "config.headers.info" |
||||||
|
msgstr "See config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.add_headers" |
||||||
|
msgstr "Add additional headers" |
||||||
|
|
||||||
|
msgid "config.oauth" |
||||||
|
msgstr "OAuth providers" |
||||||
|
|
||||||
|
msgid "config.oauth.info" |
||||||
|
msgstr "Setup external authentication providers, see config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.tshirt_sizes" |
||||||
|
msgstr "Available T-shirt sizes" |
||||||
|
|
||||||
|
msgid "config.tshirt_sizes.info" |
||||||
|
msgstr "See config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.themes" |
||||||
|
msgstr "Supported themes" |
||||||
|
|
||||||
|
msgid "config.themes.info" |
||||||
|
msgstr "See config/app.php for examples" |
||||||
|
|
||||||
|
msgid "config.jwt_algorithm" |
||||||
|
msgstr "JWT algorithm" |
||||||
|
|
||||||
|
msgid "config.metrics" |
||||||
|
msgstr "/metrics buckets" |
||||||
|
|
||||||
|
msgid "config.var_dump_server" |
||||||
|
msgstr "var_dump server" |
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue