diff --git a/lang/ar/admin-dashboard.php b/lang/ar/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/ar/admin-dashboard.php
+++ b/lang/ar/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/ar/all_settings.php b/lang/ar/all_settings.php
index 3c3ccfda4c6..56a20964092 100644
--- a/lang/ar/all_settings.php
+++ b/lang/ar/all_settings.php
@@ -608,141 +608,141 @@
'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the
photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/ar/aspect_ratio.php b/lang/ar/aspect_ratio.php
index 9cb73d2deba..71a4187440c 100644
--- a/lang/ar/aspect_ratio.php
+++ b/lang/ar/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (منظر أفقي على إنستغرام)',
- '4by5' => '4/5 (منظر عمودي على إنستغرام)',
- '2by3' => '2/3 (عمودي)',
- '3by2' => '3/2 (أفقي)',
- '1by1' => 'مربع',
- '16by9' => '16/9 (أفقي)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (منظر أفقي على إنستغرام)',
+ '4by5' => '4/5 (منظر عمودي على إنستغرام)',
+ '2by3' => '2/3 (عمودي)',
+ '3by2' => '3/2 (أفقي)',
+ '1by1' => 'مربع',
+ '16by9' => '16/9 (أفقي)',
];
diff --git a/lang/ar/bulk_album_edit.php b/lang/ar/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/ar/bulk_album_edit.php
+++ b/lang/ar/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/ar/contact.php b/lang/ar/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/ar/contact.php
+++ b/lang/ar/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/ar/diagnostics.php b/lang/ar/diagnostics.php
index 60eb28cbe53..bd1c7b254ab 100644
--- a/lang/ar/diagnostics.php
+++ b/lang/ar/diagnostics.php
@@ -1,23 +1,23 @@
'التشخيصات',
- 'copy_to_clipboard' => 'نسخ التشخيصات إلى الحافظة',
- 'self-diagnosis' => 'التشخيص الذاتي',
- 'info' => 'معلومات',
- 'space' => 'المساحة',
- 'load_space' => 'تحميل استخدام المساحة.',
- 'configuration' => 'الإعدادات',
- 'loading' => 'جارٍ التحميل…',
- 'identical_content' => 'محتوى متطابق',
- 'toast' => [
- 'info' => 'معلومات',
- 'copy' => 'تم نسخ التشخيصات إلى الحافظة!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'التشخيصات',
+ 'copy_to_clipboard' => 'نسخ التشخيصات إلى الحافظة',
+ 'self-diagnosis' => 'التشخيص الذاتي',
+ 'info' => 'معلومات',
+ 'space' => 'المساحة',
+ 'load_space' => 'تحميل استخدام المساحة.',
+ 'configuration' => 'الإعدادات',
+ 'loading' => 'جارٍ التحميل…',
+ 'identical_content' => 'محتوى متطابق',
+ 'toast' => [
+ 'info' => 'معلومات',
+ 'copy' => 'تم نسخ التشخيصات إلى الحافظة!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/ar/dialogs.php b/lang/ar/dialogs.php
index 94b8fce373b..7b3f0b09a3e 100644
--- a/lang/ar/dialogs.php
+++ b/lang/ar/dialogs.php
@@ -1,305 +1,305 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'إغلاق',
- 'cancel' => 'إلغاء',
- 'save' => 'حفظ',
- 'delete' => 'حذف',
- 'move' => 'نقل',
- ],
- 'about' => [
- 'subtitle' => 'إدارة الصور المستضافة ذاتيًا بشكل صحيح',
- 'description' => 'Lychee هو أداة مجانية لإدارة الصور تعمل على الخادم أو مساحة الويب الخاصة بك. التثبيت يستغرق ثوانٍ. قم بتحميل الصور وإدارتها ومشاركتها كما لو كانت تطبيقًا أصليًا. يأتي Lychee بكل ما تحتاجه ويتم تخزين جميع صورك بأمان.',
- 'update_available' => 'تحديث متاح!',
- 'thank_you' => 'شكرًا لدعمك!',
- 'get_supporter_or_register' => 'احصل على ميزات حصرية وادعم تطوير Lychee.
افتح إصدار الدعم أو سجل مفتاح الترخيص الخاص بك',
- 'here' => 'هنا',
- ],
- 'dropbox' => [
- 'not_configured' => 'لم يتم تكوين Dropbox.',
- ],
- 'import_from_link' => [
- 'instructions' => 'يرجى إدخال الرابط المباشر لصورة لاستيرادها:',
- 'import' => 'استيراد',
- ],
- 'keybindings' => [
- 'header' => 'اختصارات لوحة المفاتيح',
- 'don_t_show_again' => 'لا تظهر هذه النافذة مرة أخرى',
- 'hide_header_button' => 'لا تظهر المساعدة في الرأس',
- 'side_wide' => 'اختصارات الموقع بالكامل',
- 'back_cancel' => 'رجوع/إلغاء',
- 'confirm' => 'تأكيد',
- 'login' => 'تسجيل الدخول',
- 'toggle_full_screen' => 'تبديل الشاشة الكاملة',
- 'toggle_sensitive_albums' => 'تبديل الألبومات الحساسة',
- 'albums' => 'اختصارات الألبومات',
- 'new_album' => 'ألبوم جديد',
- 'upload_photos' => 'تحميل الصور',
- 'search' => 'بحث',
- 'show_this_modal' => 'عرض هذه النافذة',
- 'select_all' => 'تحديد الكل',
- 'move_selection' => 'نقل التحديد',
- 'delete_selection' => 'حذف التحديد',
- 'album' => 'اختصارات الألبوم',
- 'slideshow' => 'بدء/إيقاف عرض الشرائح',
- 'toggle' => 'تبديل اللوحة',
- 'photo' => 'اختصارات الصورة',
- 'previous' => 'الصورة السابقة',
- 'next' => 'الصورة التالية',
- 'cycle' => 'تبديل وضع التراكب',
- 'star' => 'تمييز الصورة',
- 'move' => 'نقل الصورة',
- 'delete' => 'حذف الصورة',
- 'edit' => 'تعديل المعلومات',
- 'show_hide_meta' => 'إظهار المعلومات',
- 'keep_hidden' => 'سنحافظ على إخفائها.',
- 'button_hidden' => 'سنخفي الزر في الرأس.',
- ],
- 'login' => [
- 'auth_with' => 'المصادقة باستخدام %s',
- 'username' => 'اسم المستخدم',
- 'password' => 'كلمة المرور',
- 'unknown_invalid' => 'مستخدم غير معروف أو كلمة مرور غير صالحة.',
- 'signin' => 'تسجيل الدخول',
- 'remember_me' => 'تذكرني',
- ],
- 'register' => [
- 'enter_license' => 'أدخل مفتاح الترخيص الخاص بك أدناه:',
- 'license_key' => 'مفتاح الترخيص',
- 'invalid_license' => 'مفتاح ترخيص غير صالح.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'تسجيل',
- ],
- 'share_album' => [
- 'url_copied' => 'تم نسخ عنوان URL إلى الحافظة!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'الوضع',
- 'mode_album_help' => 'تضمين الصور من هذا الألبوم المحدد.',
- 'mode_stream_help' => 'تضمين جميع صورك العامة كتدفق زمني (الأحدث أولاً).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'اكتمل',
- 'uploaded' => 'تم التحميل:',
- 'release' => 'افرج عن الملف لتحميله!',
- 'select' => 'انقر هنا لاختيار الملفات للتحميل',
- 'drag' => '(أو اسحب الملفات إلى الصفحة)',
- 'loading' => 'جارٍ التحميل',
- 'resume' => 'استئناف',
- 'uploading' => 'جارٍ التحميل',
- 'finished' => 'منتهي',
- 'failed_error' => 'فشل التحميل. الخادم أعاد خطأ!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'التقاط صورة',
- 'capture' => 'التقاط',
- 'retake' => 'إعادة التقاط',
- 'upload' => 'رفع',
- 'secure_connection_required' => 'يتطلب الوصول إلى الكاميرا اتصالاً آمناً (HTTPS أو localhost).',
- ],
- 'visibility' => [
- 'public' => 'عام',
- 'public_expl' => 'يمكن للمستخدمين المجهولين الوصول إلى هذا الألبوم، مع مراعاة القيود أدناه.',
- 'full' => 'أصلي',
- 'full_expl' => 'يمكن للمستخدمين المجهولين عرض الصور بدقة كاملة.',
- 'hidden' => 'مخفي',
- 'hidden_expl' => 'يحتاج المستخدمون المجهولون إلى رابط مباشر للوصول إلى هذا الألبوم.',
- 'downloadable' => 'قابل للتنزيل',
- 'downloadable_expl' => 'يمكن للمستخدمين المجهولين تنزيل هذا الألبوم.',
- 'upload' => 'السماح بالتحميلات',
- 'upload_expl' => ' يمكن للمستخدمين المجهولين تحميل الصور إلى هذا الألبوم.',
- 'password' => 'كلمة المرور',
- 'password_prot' => 'محمي بكلمة مرور',
- 'password_prot_expl' => 'يحتاج المستخدمون المجهولون إلى كلمة مرور مشتركة للوصول إلى هذا الألبوم.',
- 'password_prop_not_compatible' => 'ذاكرة التخزين المؤقت للاستجابة تتعارض مع هذا الإعداد.
بسبب التخزين المؤقت للاستجابة، فإن فتح هذا الألبوم سيؤدي أيضًا إلى كشف محتواه لمستخدمين آخرين مجهولين.',
- 'nsfw' => 'حساس',
- 'nsfw_expl' => 'يحتوي الألبوم على محتوى حساس.',
- 'visibility_updated' => 'تم تحديث الرؤية.',
- ],
- 'move_album' => [
- 'confirm_single' => 'هل أنت متأكد أنك تريد نقل الألبوم "%1$s" إلى الألبوم "%2$s"؟',
- 'confirm_multiple' => 'هل أنت متأكد أنك تريد نقل جميع الألبومات المحددة إلى الألبوم "%s"؟',
- 'move_single' => 'نقل الألبوم',
- 'move_to' => 'نقل إلى',
- 'move_to_single' => 'نقل %s إلى:',
- 'move_to_multiple' => 'نقل %d ألبوم إلى:',
- 'no_album_target' => 'لا يوجد ألبوم للنقل إليه',
- 'moved_single' => 'تم نقل الألبوم!',
- 'moved_single_details' => '%1$s تم نقله إلى %2$s',
- 'moved_details' => 'تم نقل الألبوم(الألبومات) إلى %s',
- ],
- 'new_album' => [
- 'menu' => 'إنشاء ألبوم',
- 'info' => 'أدخل عنوانًا للألبوم الجديد:',
- 'title' => 'العنوان',
- 'create' => 'إنشاء ألبوم',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)', ],
- 'new_tag_album' => [
- 'menu' => 'إنشاء ألبوم علامات',
- 'info' => 'أدخل عنوانًا لألبوم العلامات الجديد:',
- 'title' => 'العنوان',
- 'set_tags' => 'تعيين العلامات للعرض',
- 'create' => 'إنشاء ألبوم علامات',
- ],
- 'delete_album' => [
- 'confirmation' => 'هل أنت متأكد أنك تريد حذف الألبوم "%s" وجميع الصور التي يحتوي عليها؟',
- 'confirmation_tag' => 'هل أنت متأكد أنك تريد حذف الألبوم "%s"؟',
- 'confirmation_multiple' => 'هل أنت متأكد أنك تريد حذف جميع %d الألبومات المحددة وجميع الصور التي تحتوي عليها؟',
- 'warning' => 'لا يمكن التراجع عن هذا الإجراء!',
- 'delete' => 'حذف الألبوم والصور',
- ],
- 'transfer' => [
- 'query' => 'نقل ملكية الألبوم إلى',
- 'confirmation' => 'هل أنت متأكد أنك تريد نقل ملكية الألبوم "%s" وجميع الصور التي يحتوي عليها إلى "%s"؟',
- 'lost_access_warning' => 'ستفقد الوصول إلى هذا الألبوم.',
- 'warning' => 'لا يمكن التراجع عن هذا الإجراء!',
- 'transfer' => 'نقل ملكية الألبوم والصور',
- ],
- 'rename' => [
- 'photo' => 'أدخل عنوانًا جديدًا لهذه الصورة:',
- 'album' => 'أدخل عنوانًا جديدًا لهذا الألبوم:',
- 'rename' => 'إعادة تسمية',
- ],
- 'merge' => [
- 'merge_to' => 'دمج %s إلى:',
- 'merge_to_multiple' => 'دمج %d ألبوم إلى:',
- 'no_albums' => 'لا توجد ألبومات للدمج إليها.',
- 'confirm' => 'هل أنت متأكد أنك تريد دمج الألبوم "%1$s" في الألبوم "%2$s"؟',
- 'confirm_multiple' => 'هل أنت متأكد أنك تريد دمج جميع الألبومات المحددة في الألبوم "%s"؟',
- 'merge' => 'دمج الألبومات',
- 'merged' => 'تم دمج الألبوم(الألبومات) إلى %s!',
- ],
- 'unlock' => [
- 'password_required' => 'هذا الألبوم محمي بكلمة مرور. أدخل كلمة المرور أدناه لعرض صور هذا الألبوم:',
- 'password' => 'كلمة المرور',
- 'unlock' => 'فتح',
- ],
- 'photo_tags' => [
- 'question' => 'أدخل العلامات لهذه الصورة.',
- 'question_multiple' => 'أدخل العلامات لجميع الصور المحددة وعددها %d. سيتم استبدال العلامات الحالية.',
- 'no_tags' => 'لا توجد علامات',
- 'set_tags' => 'تعيين العلامات',
- 'updated' => 'تم تحديث العلامات!',
- 'tags_override_info' => 'إذا لم يتم تحديد هذا الخيار، فسيتم إضافة العلامات إلى العلامات الحالية للصورة.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'لا توجد ألبومات للنسخ إليها',
- 'copy_to' => 'نسخ %s إلى:',
- 'copy_to_multiple' => 'نسخ %d صور إلى:',
- 'confirm' => 'نسخ %s إلى %s.',
- 'confirm_multiple' => 'نسخ %d صور إلى %s.',
- 'copy' => 'نسخ',
- 'copied' => 'تم نسخ الصورة/الصور!',
- ],
- 'photo_delete' => [
- 'confirm' => 'هل تريد بالتأكيد حذف الصورة "%s"؟',
- 'confirm_multiple' => 'هل تريد بالتأكيد حذف جميع الصور المحددة وعددها %d؟',
- 'deleted' => 'تم حذف الصورة/الصور!',
- ],
- 'move_photo' => [
- 'move_single' => 'نقل %s إلى:',
- 'move_multiple' => 'نقل %d صور إلى:',
- 'confirm' => 'نقل %s إلى %s.',
- 'confirm_multiple' => 'نقل %d صور إلى %s.',
- 'moved' => 'تم نقل الصورة/الصور إلى %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'اختر المستخدم',
- ],
- 'target_album' => [
- 'placeholder' => 'اختر الألبوم',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'تم التحقق بنجاح!',
- 'error' => 'عذرًا، يبدو أن هناك خطأ ما. يرجى إعادة تحميل الموقع والمحاولة مرة أخرى!',
- ],
- 'se' => [
- 'available' => 'متاح في إصدار الدعم',
- ],
- 'session_expired' => [
- 'title' => 'انتهت الجلسة',
- 'message' => 'انتهت جلستك.
يرجى إعادة تحميل الصفحة.',
- 'reload' => 'إعادة تحميل',
- 'go_to_gallery' => 'الذهاب إلى المعرض',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'إغلاق',
+ 'cancel' => 'إلغاء',
+ 'save' => 'حفظ',
+ 'delete' => 'حذف',
+ 'move' => 'نقل',
+ ],
+ 'about' => [
+ 'subtitle' => 'إدارة الصور المستضافة ذاتيًا بشكل صحيح',
+ 'description' => 'Lychee هو أداة مجانية لإدارة الصور تعمل على الخادم أو مساحة الويب الخاصة بك. التثبيت يستغرق ثوانٍ. قم بتحميل الصور وإدارتها ومشاركتها كما لو كانت تطبيقًا أصليًا. يأتي Lychee بكل ما تحتاجه ويتم تخزين جميع صورك بأمان.',
+ 'update_available' => 'تحديث متاح!',
+ 'thank_you' => 'شكرًا لدعمك!',
+ 'get_supporter_or_register' => 'احصل على ميزات حصرية وادعم تطوير Lychee.
افتح إصدار الدعم أو سجل مفتاح الترخيص الخاص بك',
+ 'here' => 'هنا',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'لم يتم تكوين Dropbox.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'يرجى إدخال الرابط المباشر لصورة لاستيرادها:',
+ 'import' => 'استيراد',
+ ],
+ 'keybindings' => [
+ 'header' => 'اختصارات لوحة المفاتيح',
+ 'don_t_show_again' => 'لا تظهر هذه النافذة مرة أخرى',
+ 'hide_header_button' => 'لا تظهر المساعدة في الرأس',
+ 'side_wide' => 'اختصارات الموقع بالكامل',
+ 'back_cancel' => 'رجوع/إلغاء',
+ 'confirm' => 'تأكيد',
+ 'login' => 'تسجيل الدخول',
+ 'toggle_full_screen' => 'تبديل الشاشة الكاملة',
+ 'toggle_sensitive_albums' => 'تبديل الألبومات الحساسة',
+ 'albums' => 'اختصارات الألبومات',
+ 'new_album' => 'ألبوم جديد',
+ 'upload_photos' => 'تحميل الصور',
+ 'search' => 'بحث',
+ 'show_this_modal' => 'عرض هذه النافذة',
+ 'select_all' => 'تحديد الكل',
+ 'move_selection' => 'نقل التحديد',
+ 'delete_selection' => 'حذف التحديد',
+ 'album' => 'اختصارات الألبوم',
+ 'slideshow' => 'بدء/إيقاف عرض الشرائح',
+ 'toggle' => 'تبديل اللوحة',
+ 'photo' => 'اختصارات الصورة',
+ 'previous' => 'الصورة السابقة',
+ 'next' => 'الصورة التالية',
+ 'cycle' => 'تبديل وضع التراكب',
+ 'star' => 'تمييز الصورة',
+ 'move' => 'نقل الصورة',
+ 'delete' => 'حذف الصورة',
+ 'edit' => 'تعديل المعلومات',
+ 'show_hide_meta' => 'إظهار المعلومات',
+ 'keep_hidden' => 'سنحافظ على إخفائها.',
+ 'button_hidden' => 'سنخفي الزر في الرأس.',
+ ],
+ 'login' => [
+ 'auth_with' => 'المصادقة باستخدام %s',
+ 'username' => 'اسم المستخدم',
+ 'password' => 'كلمة المرور',
+ 'unknown_invalid' => 'مستخدم غير معروف أو كلمة مرور غير صالحة.',
+ 'signin' => 'تسجيل الدخول',
+ 'remember_me' => 'تذكرني',
+ ],
+ 'register' => [
+ 'enter_license' => 'أدخل مفتاح الترخيص الخاص بك أدناه:',
+ 'license_key' => 'مفتاح الترخيص',
+ 'invalid_license' => 'مفتاح ترخيص غير صالح.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'تسجيل',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'تم نسخ عنوان URL إلى الحافظة!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'الوضع',
+ 'mode_album_help' => 'تضمين الصور من هذا الألبوم المحدد.',
+ 'mode_stream_help' => 'تضمين جميع صورك العامة كتدفق زمني (الأحدث أولاً).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'اكتمل',
+ 'uploaded' => 'تم التحميل:',
+ 'release' => 'افرج عن الملف لتحميله!',
+ 'select' => 'انقر هنا لاختيار الملفات للتحميل',
+ 'drag' => '(أو اسحب الملفات إلى الصفحة)',
+ 'loading' => 'جارٍ التحميل',
+ 'resume' => 'استئناف',
+ 'uploading' => 'جارٍ التحميل',
+ 'finished' => 'منتهي',
+ 'failed_error' => 'فشل التحميل. الخادم أعاد خطأ!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'التقاط صورة',
+ 'capture' => 'التقاط',
+ 'retake' => 'إعادة التقاط',
+ 'upload' => 'رفع',
+ 'secure_connection_required' => 'يتطلب الوصول إلى الكاميرا اتصالاً آمناً (HTTPS أو localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'عام',
+ 'public_expl' => 'يمكن للمستخدمين المجهولين الوصول إلى هذا الألبوم، مع مراعاة القيود أدناه.',
+ 'full' => 'أصلي',
+ 'full_expl' => 'يمكن للمستخدمين المجهولين عرض الصور بدقة كاملة.',
+ 'hidden' => 'مخفي',
+ 'hidden_expl' => 'يحتاج المستخدمون المجهولون إلى رابط مباشر للوصول إلى هذا الألبوم.',
+ 'downloadable' => 'قابل للتنزيل',
+ 'downloadable_expl' => 'يمكن للمستخدمين المجهولين تنزيل هذا الألبوم.',
+ 'upload' => 'السماح بالتحميلات',
+ 'upload_expl' => ' يمكن للمستخدمين المجهولين تحميل الصور إلى هذا الألبوم.',
+ 'password' => 'كلمة المرور',
+ 'password_prot' => 'محمي بكلمة مرور',
+ 'password_prot_expl' => 'يحتاج المستخدمون المجهولون إلى كلمة مرور مشتركة للوصول إلى هذا الألبوم.',
+ 'password_prop_not_compatible' => 'ذاكرة التخزين المؤقت للاستجابة تتعارض مع هذا الإعداد.
بسبب التخزين المؤقت للاستجابة، فإن فتح هذا الألبوم سيؤدي أيضًا إلى كشف محتواه لمستخدمين آخرين مجهولين.',
+ 'nsfw' => 'حساس',
+ 'nsfw_expl' => 'يحتوي الألبوم على محتوى حساس.',
+ 'visibility_updated' => 'تم تحديث الرؤية.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'هل أنت متأكد أنك تريد نقل الألبوم "%1$s" إلى الألبوم "%2$s"؟',
+ 'confirm_multiple' => 'هل أنت متأكد أنك تريد نقل جميع الألبومات المحددة إلى الألبوم "%s"؟',
+ 'move_single' => 'نقل الألبوم',
+ 'move_to' => 'نقل إلى',
+ 'move_to_single' => 'نقل %s إلى:',
+ 'move_to_multiple' => 'نقل %d ألبوم إلى:',
+ 'no_album_target' => 'لا يوجد ألبوم للنقل إليه',
+ 'moved_single' => 'تم نقل الألبوم!',
+ 'moved_single_details' => '%1$s تم نقله إلى %2$s',
+ 'moved_details' => 'تم نقل الألبوم(الألبومات) إلى %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'إنشاء ألبوم',
+ 'info' => 'أدخل عنوانًا للألبوم الجديد:',
+ 'title' => 'العنوان',
+ 'create' => 'إنشاء ألبوم',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)', ],
+ 'new_tag_album' => [
+ 'menu' => 'إنشاء ألبوم علامات',
+ 'info' => 'أدخل عنوانًا لألبوم العلامات الجديد:',
+ 'title' => 'العنوان',
+ 'set_tags' => 'تعيين العلامات للعرض',
+ 'create' => 'إنشاء ألبوم علامات',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'هل أنت متأكد أنك تريد حذف الألبوم "%s" وجميع الصور التي يحتوي عليها؟',
+ 'confirmation_tag' => 'هل أنت متأكد أنك تريد حذف الألبوم "%s"؟',
+ 'confirmation_multiple' => 'هل أنت متأكد أنك تريد حذف جميع %d الألبومات المحددة وجميع الصور التي تحتوي عليها؟',
+ 'warning' => 'لا يمكن التراجع عن هذا الإجراء!',
+ 'delete' => 'حذف الألبوم والصور',
+ ],
+ 'transfer' => [
+ 'query' => 'نقل ملكية الألبوم إلى',
+ 'confirmation' => 'هل أنت متأكد أنك تريد نقل ملكية الألبوم "%s" وجميع الصور التي يحتوي عليها إلى "%s"؟',
+ 'lost_access_warning' => 'ستفقد الوصول إلى هذا الألبوم.',
+ 'warning' => 'لا يمكن التراجع عن هذا الإجراء!',
+ 'transfer' => 'نقل ملكية الألبوم والصور',
+ ],
+ 'rename' => [
+ 'photo' => 'أدخل عنوانًا جديدًا لهذه الصورة:',
+ 'album' => 'أدخل عنوانًا جديدًا لهذا الألبوم:',
+ 'rename' => 'إعادة تسمية',
+ ],
+ 'merge' => [
+ 'merge_to' => 'دمج %s إلى:',
+ 'merge_to_multiple' => 'دمج %d ألبوم إلى:',
+ 'no_albums' => 'لا توجد ألبومات للدمج إليها.',
+ 'confirm' => 'هل أنت متأكد أنك تريد دمج الألبوم "%1$s" في الألبوم "%2$s"؟',
+ 'confirm_multiple' => 'هل أنت متأكد أنك تريد دمج جميع الألبومات المحددة في الألبوم "%s"؟',
+ 'merge' => 'دمج الألبومات',
+ 'merged' => 'تم دمج الألبوم(الألبومات) إلى %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'هذا الألبوم محمي بكلمة مرور. أدخل كلمة المرور أدناه لعرض صور هذا الألبوم:',
+ 'password' => 'كلمة المرور',
+ 'unlock' => 'فتح',
+ ],
+ 'photo_tags' => [
+ 'question' => 'أدخل العلامات لهذه الصورة.',
+ 'question_multiple' => 'أدخل العلامات لجميع الصور المحددة وعددها %d. سيتم استبدال العلامات الحالية.',
+ 'no_tags' => 'لا توجد علامات',
+ 'set_tags' => 'تعيين العلامات',
+ 'updated' => 'تم تحديث العلامات!',
+ 'tags_override_info' => 'إذا لم يتم تحديد هذا الخيار، فسيتم إضافة العلامات إلى العلامات الحالية للصورة.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'لا توجد ألبومات للنسخ إليها',
+ 'copy_to' => 'نسخ %s إلى:',
+ 'copy_to_multiple' => 'نسخ %d صور إلى:',
+ 'confirm' => 'نسخ %s إلى %s.',
+ 'confirm_multiple' => 'نسخ %d صور إلى %s.',
+ 'copy' => 'نسخ',
+ 'copied' => 'تم نسخ الصورة/الصور!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'هل تريد بالتأكيد حذف الصورة "%s"؟',
+ 'confirm_multiple' => 'هل تريد بالتأكيد حذف جميع الصور المحددة وعددها %d؟',
+ 'deleted' => 'تم حذف الصورة/الصور!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'نقل %s إلى:',
+ 'move_multiple' => 'نقل %d صور إلى:',
+ 'confirm' => 'نقل %s إلى %s.',
+ 'confirm_multiple' => 'نقل %d صور إلى %s.',
+ 'moved' => 'تم نقل الصورة/الصور إلى %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'اختر المستخدم',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'اختر الألبوم',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'تم التحقق بنجاح!',
+ 'error' => 'عذرًا، يبدو أن هناك خطأ ما. يرجى إعادة تحميل الموقع والمحاولة مرة أخرى!',
+ ],
+ 'se' => [
+ 'available' => 'متاح في إصدار الدعم',
+ ],
+ 'session_expired' => [
+ 'title' => 'انتهت الجلسة',
+ 'message' => 'انتهت جلستك.
يرجى إعادة تحميل الصفحة.',
+ 'reload' => 'إعادة تحميل',
+ 'go_to_gallery' => 'الذهاب إلى المعرض',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/ar/duplicate-finder.php b/lang/ar/duplicate-finder.php
index 7e2b2ec2177..ce31d3b1ca1 100644
--- a/lang/ar/duplicate-finder.php
+++ b/lang/ar/duplicate-finder.php
@@ -1,26 +1,26 @@
'الصيانة',
- 'intro' => 'في هذه الصفحة ستجد الصور المكررة الموجودة في قاعدة البيانات الخاصة بك.',
- 'found' => ' تم العثور على مكررات!',
- 'invalid-search' => ' يجب تحديد شرط المجموع الاختباري أو العنوان على الأقل.',
- 'checksum-must-match' => 'يجب أن يتطابق المجموع الاختباري.',
- 'title-must-match' => 'يجب أن يتطابق العنوان.',
- 'must-be-in-same-album' => 'يجب أن تكون في نفس الألبوم.',
- 'columns' => [
- 'album' => 'الألبوم',
- 'photo' => 'الصورة',
- 'checksum' => 'المجموع الاختباري',
- ],
- 'warning' => [
- 'no-original-left' => 'لا توجد صورة أصلية متبقية.',
- 'keep-one' => 'لقد اخترت جميع المكررات في هذه المجموعة. يرجى اختيار مكرر واحد على الأقل للاحتفاظ به.',
- ],
- 'delete-selected' => 'حذف المحدد',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'الصيانة',
+ 'intro' => 'في هذه الصفحة ستجد الصور المكررة الموجودة في قاعدة البيانات الخاصة بك.',
+ 'found' => ' تم العثور على مكررات!',
+ 'invalid-search' => ' يجب تحديد شرط المجموع الاختباري أو العنوان على الأقل.',
+ 'checksum-must-match' => 'يجب أن يتطابق المجموع الاختباري.',
+ 'title-must-match' => 'يجب أن يتطابق العنوان.',
+ 'must-be-in-same-album' => 'يجب أن تكون في نفس الألبوم.',
+ 'columns' => [
+ 'album' => 'الألبوم',
+ 'photo' => 'الصورة',
+ 'checksum' => 'المجموع الاختباري',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'لا توجد صورة أصلية متبقية.',
+ 'keep-one' => 'لقد اخترت جميع المكررات في هذه المجموعة. يرجى اختيار مكرر واحد على الأقل للاحتفاظ به.',
+ ],
+ 'delete-selected' => 'حذف المحدد',
];
diff --git a/lang/ar/fix-tree.php b/lang/ar/fix-tree.php
index 04ea857a5b3..ae50751cfda 100644
--- a/lang/ar/fix-tree.php
+++ b/lang/ar/fix-tree.php
@@ -1,46 +1,46 @@
'الصيانة',
- 'intro' => 'تتيح لك هذه الصفحة إعادة ترتيب وإصلاح ألبوماتك يدويًا.
قبل إجراء أي تعديلات، نوصي بشدة بقراءة حول بنية شجرة Nested Set.',
- 'warning' => 'يمكنك حقًا كسر تثبيت Lychee الخاص بك هنا، قم بتعديل القيم على مسؤوليتك الخاصة.',
- 'help' => [
- 'header' => 'مساعدة',
- 'hover' => 'مرر فوق المعرفات أو العناوين لتسليط الضوء على الألبومات ذات الصلة.',
- 'left' => 'يسار',
- 'right' => 'يمين',
- 'convenience' => 'لراحتك، تتيح لك أزرار و تغيير قيم %s و %s على التوالي بمقدار +1 و -1 مع الانتشار.',
- 'left-right-warn' => 'تشير و إلى أن قيمة %s (وعلى التوالي %s) مكررة في مكان ما.',
- 'parent-marked' => 'تشير علامة Parent Id إلى أن %s و %s لا يفيان ببنية شجرة Nested Set. قم بتحرير إما Parent Id أو قيم %s/%s.',
- 'slowness' => 'ستكون هذه الصفحة بطيئة مع عدد كبير من الألبومات.',
- ],
- 'buttons' => [
- 'reset' => 'إعادة تعيين',
- 'check' => 'تحقق',
- 'apply' => 'تطبيق',
- ],
- 'no-changes' => 'لا توجد تغييرات للتطبيق.',
- 'table' => [
- 'title' => 'العنوان',
- 'left' => 'يسار',
- 'right' => 'يمين',
- 'id' => 'المعرف',
- 'parent' => 'معرف الأصل',
- ],
- 'errors' => [
- 'invalid' => 'شجرة غير صالحة!',
- 'invalid_details' => 'لن نطبق هذا لأنه مضمون أن يكون في حالة مكسورة.',
- 'invalid_left' => 'الألبوم %s يحتوي على قيمة يسار غير صالحة.',
- 'invalid_right' => 'الألبوم %s يحتوي على قيمة يمين غير صالحة.',
- 'invalid_left_right' => 'الألبوم %s يحتوي على قيم يسار/يمين غير صالحة. يجب أن تكون اليسار أصغر من اليمين: %s < %s.',
- 'duplicate_left' => 'الألبوم %s يحتوي على قيمة يسار مكررة %s.',
- 'duplicate_right' => 'الألبوم %s يحتوي على قيمة يمين مكررة %s.',
- 'parent' => 'الألبوم %s يحتوي على معرف أصل غير متوقع %s.',
- 'unknown' => 'الألبوم %s يحتوي على خطأ غير معروف.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'الصيانة',
+ 'intro' => 'تتيح لك هذه الصفحة إعادة ترتيب وإصلاح ألبوماتك يدويًا.
قبل إجراء أي تعديلات، نوصي بشدة بقراءة حول بنية شجرة Nested Set.',
+ 'warning' => 'يمكنك حقًا كسر تثبيت Lychee الخاص بك هنا، قم بتعديل القيم على مسؤوليتك الخاصة.',
+ 'help' => [
+ 'header' => 'مساعدة',
+ 'hover' => 'مرر فوق المعرفات أو العناوين لتسليط الضوء على الألبومات ذات الصلة.',
+ 'left' => 'يسار',
+ 'right' => 'يمين',
+ 'convenience' => 'لراحتك، تتيح لك أزرار و تغيير قيم %s و %s على التوالي بمقدار +1 و -1 مع الانتشار.',
+ 'left-right-warn' => 'تشير و إلى أن قيمة %s (وعلى التوالي %s) مكررة في مكان ما.',
+ 'parent-marked' => 'تشير علامة Parent Id إلى أن %s و %s لا يفيان ببنية شجرة Nested Set. قم بتحرير إما Parent Id أو قيم %s/%s.',
+ 'slowness' => 'ستكون هذه الصفحة بطيئة مع عدد كبير من الألبومات.',
+ ],
+ 'buttons' => [
+ 'reset' => 'إعادة تعيين',
+ 'check' => 'تحقق',
+ 'apply' => 'تطبيق',
+ ],
+ 'no-changes' => 'لا توجد تغييرات للتطبيق.',
+ 'table' => [
+ 'title' => 'العنوان',
+ 'left' => 'يسار',
+ 'right' => 'يمين',
+ 'id' => 'المعرف',
+ 'parent' => 'معرف الأصل',
+ ],
+ 'errors' => [
+ 'invalid' => 'شجرة غير صالحة!',
+ 'invalid_details' => 'لن نطبق هذا لأنه مضمون أن يكون في حالة مكسورة.',
+ 'invalid_left' => 'الألبوم %s يحتوي على قيمة يسار غير صالحة.',
+ 'invalid_right' => 'الألبوم %s يحتوي على قيمة يمين غير صالحة.',
+ 'invalid_left_right' => 'الألبوم %s يحتوي على قيم يسار/يمين غير صالحة. يجب أن تكون اليسار أصغر من اليمين: %s < %s.',
+ 'duplicate_left' => 'الألبوم %s يحتوي على قيمة يسار مكررة %s.',
+ 'duplicate_right' => 'الألبوم %s يحتوي على قيمة يمين مكررة %s.',
+ 'parent' => 'الألبوم %s يحتوي على معرف أصل غير متوقع %s.',
+ 'unknown' => 'الألبوم %s يحتوي على خطأ غير معروف.',
+ ],
];
diff --git a/lang/ar/flow.php b/lang/ar/flow.php
index 673f5292595..b9e9bf7664e 100644
--- a/lang/ar/flow.php
+++ b/lang/ar/flow.php
@@ -1,14 +1,14 @@
'التدفق',
- 'by_author' => 'بنسبة %s',
- 'open_album' => 'افتح الألبوم',
- 'show_more' => 'عرض المزيد',
- 'no_content' => 'لا يوجد محتوى.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'التدفق',
+ 'by_author' => 'بنسبة %s',
+ 'open_album' => 'افتح الألبوم',
+ 'show_more' => 'عرض المزيد',
+ 'no_content' => 'لا يوجد محتوى.',
];
diff --git a/lang/ar/gallery.php b/lang/ar/gallery.php
index 07ba7580acd..eddbbc304d0 100644
--- a/lang/ar/gallery.php
+++ b/lang/ar/gallery.php
@@ -1,357 +1,357 @@
'المعرض',
- 'smart_albums' => 'الألبومات الذكية',
- 'pinned_albums' => 'الألبومات المثبتة',
- 'albums' => 'الألبومات',
- 'root' => 'الألبومات',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'المفضلة',
- 'raw' => 'RAW',
- 'original' => 'الأصلي',
- 'medium' => 'متوسط',
- 'medium_hidpi' => 'متوسط HiDPI',
- 'small' => 'مصغر',
- 'small_hidpi' => 'مصغر HiDPI',
- 'thumb' => 'مصغر مربع',
- 'thumb_hidpi' => 'مصغر مربع HiDPI',
- 'placeholder' => 'عنصر نائب للصورة منخفضة الجودة',
- 'thumbnail' => 'مصغر الصورة',
- 'live_video' => 'جزء الفيديو من الصورة الحية',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'اختر دقة الصورة لأرشيف ZIP للألبوم. إذا لم تكن الصورة تحتوي على النوع المحدد، سيتم استخدام النسخة الأصلية.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'تاريخ الكاميرا',
- 'album_reserved' => 'جميع الحقوق محفوظة',
- 'map' => [
- 'error_gpx' => 'خطأ في تحميل ملف GPX',
- 'osm_contributors' => 'مساهمو OpenStreetMap',
- ],
- 'search' => [
- 'title' => 'بحث',
- 'no_results' => 'لا يوجد شيء يطابق استعلام البحث الخاص بك.',
- 'searchbox' => 'بحث…',
- 'minimum_chars' => 'الحد الأدنى %s من الأحرف المطلوبة.',
- 'photos' => 'الصور (%s)',
- 'albums' => 'الألبومات (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'غير مصنف',
- 'highlighted' => 'المميزة',
- 'recent' => 'الأحدث',
- 'public' => 'عام',
- 'on_this_day' => 'في هذا اليوم',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'مصغرات مربعة',
- 'justified' => 'مع النسبة، مبرر',
- 'masonry' => 'مع النسبة، متراص',
- 'grid' => 'مع النسبة، شبكة',
- 'filmstrip' => 'شريط فيلم',
- 'list' => 'عرض القائمة',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'لا شيء',
- 'exif' => 'بيانات EXIF',
- 'description' => 'الوصف',
- 'date' => 'تاريخ الالتقاط',
- ],
- 'timeline' => [
- 'title' => 'الجدول الزمني',
- 'load_previous' => 'تحميل السابق',
- 'default' => 'افتراضي',
- 'disabled' => 'معطل',
- 'year' => 'سنة',
- 'month' => 'شهر',
- 'day' => 'يوم',
- 'hour' => 'ساعة',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'الألبومات',
- 'header_photos' => 'الصور',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'لا يوجد شيء هنا',
- 'upload' => 'رفع الصور',
- 'tabs' => [
- 'about' => 'حول الألبوم',
- 'share' => 'مشاركة الألبوم',
- 'embed' => 'تضمين الألبوم',
- 'move' => 'نقل الألبوم',
- 'shop' => 'Shop Management',
- 'danger' => 'منطقة الخطر',
- ],
- 'hero' => [
- 'created' => 'تم الإنشاء',
- 'copyright' => 'حقوق الطبع والنشر',
- 'subalbums' => 'الألبومات الفرعية',
- 'images' => 'الصور',
- 'download' => 'تنزيل الألبوم',
- 'share' => 'مشاركة الألبوم',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'الإحصائيات متاحة في إصدار الدعم فقط',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'عدد الزيارات',
- 'number_of_downloads' => 'عدد التنزيلات',
- 'number_of_shares' => 'عدد المشاركات',
- 'lens' => 'العدسة',
- 'shutter' => 'سرعة الغالق',
- 'iso' => 'ISO',
- 'model' => 'الطراز',
- 'aperture' => 'فتحة العدسة',
- 'no_data' => 'لا توجد بيانات',
- ],
- 'properties' => [
- 'title' => 'العنوان',
- 'slug' => 'Slug (عنوان URL ودّي)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'الوصف',
- 'photo_ordering' => 'ترتيب الصور بواسطة',
- 'children_ordering' => 'ترتيب الألبومات بواسطة',
- 'asc/desc' => 'تصاعدي/تنازلي',
- 'header' => 'تعيين رأس الألبوم',
- 'compact_header' => 'استخدام رأس مدمج',
- 'license' => 'تعيين الترخيص',
- 'copyright' => 'تعيين حقوق الطبع والنشر',
- 'aspect_ratio' => 'تعيين نسبة عرض إلى ارتفاع مصغرات الألبوم',
- 'album_timeline' => 'تعيين وضع الجدول الزمني للألبوم',
- 'photo_timeline' => 'تعيين وضع الجدول الزمني للصورة',
- 'layout' => 'تعيين تخطيط الصورة',
- 'show_tags' => 'تعيين العلامات للعرض',
- 'tags_required' => 'العلامات مطلوبة.',
- 'all_tags_must_match' => 'يجب أن تتطابق جميع العلامات.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'تمييز',
- 'unhighlight' => 'إلغاء التمييز',
- 'set_album_header' => 'تعيين كعنوان ألبوم',
- 'move' => 'نقل',
- 'delete' => 'حذف',
- 'header_set' => 'تم تعيين الرأس',
- ],
- 'details' => [
- 'exif_data' => 'بيانات EXIF',
- 'about' => 'حول',
- 'basics' => 'أساسيات',
- 'title' => 'العنوان',
- 'uploaded' => 'تم الرفع',
- 'description' => 'الوصف',
- 'license' => 'الرخصة',
- 'reuse' => 'إعادة الاستخدام',
- 'latitude' => 'خط العرض',
- 'longitude' => 'خط الطول',
- 'altitude' => 'الارتفاع',
- 'location' => 'الموقع',
- 'image' => 'صورة',
- 'video' => 'فيديو',
- 'size' => 'الحجم',
- 'format' => 'الصيغة',
- 'resolution' => 'الدقة',
- 'duration' => 'المدة',
- 'fps' => 'معدل الإطارات',
- 'tags' => 'العلامات',
- 'camera' => 'الكاميرا',
- 'captured' => 'تم الالتقاط',
- 'make' => 'الصنع',
- 'type' => 'النوع/الطراز',
- 'lens' => 'العدسة',
- 'shutter' => 'سرعة الغالق',
- 'aperture' => 'فتحة العدسة',
- 'focal' => 'طول البؤرة',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'الإحصائيات',
- 'number_of_visits' => 'عدد الزيارات',
- 'number_of_downloads' => 'عدد التنزيلات',
- 'number_of_shares' => 'عدد المشاركات',
- 'number_of_favourites' => 'عدد المفضلات',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'تعيين العنوان',
- 'set_description' => 'تعيين الوصف',
- 'set_license' => 'تعيين الرخصة',
- 'no_tags' => 'لا توجد علامات',
- 'set_tags' => 'تعيين العلامات',
- 'set_created_at' => 'تعيين تاريخ الرفع',
- 'set_taken_at' => 'تعيين تاريخ الالتقاط',
- 'set_taken_at_info' => 'عند التعيين، سيتم عرض نجمة %s للإشارة إلى أن هذا التاريخ ليس تاريخ EXIF الأصلي.
قم بإلغاء تحديد خانة الاختيار هذه واحفظ لت reset إلى التاريخ الأصلي.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'محتوى حساس',
- 'description' => 'يحتوي هذا الألبوم على محتوى حساس قد يجده بعض الأشخاص مسيئًا أو مزعجًا.',
- 'consent' => 'اضغط للموافقة.',
- ],
- 'menus' => [
- 'highlight' => 'تمييز',
- 'unhighlight' => 'إلغاء التمييز',
- 'highlight_all' => 'تمييز المحدد',
- 'unhighlight_all' => 'إلغاء تمييز المحدد',
- 'tag' => 'علامة',
- 'tag_all' => 'تعيين علامة للمحدد',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'تعيين غلاف الألبوم',
- 'remove_header' => 'إزالة رأس الألبوم',
- 'set_header' => 'تعيين رأس الألبوم',
- 'copy_to' => 'نسخ إلى …',
- 'copy_all_to' => 'نسخ المحدد إلى …',
- 'rename' => 'إعادة تسمية',
- 'move' => 'نقل',
- 'move_all' => 'نقل المحدد',
- 'pin' => 'تثبيت',
- 'unpin' => 'إلغاء التثبيت',
- 'delete' => 'حذف',
- 'delete_all' => 'حذف المحدد',
- 'download' => 'تنزيل',
- 'download_all' => 'تنزيل المحدد',
- 'merge' => 'دمج',
- 'merge_all' => 'دمج المحدد',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'رفع صورة',
- 'take_photo' => 'التقاط صورة',
- 'import_link' => 'استيراد من الرابط',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'استيراد من Dropbox',
- 'new_album' => 'ألبوم جديد',
- 'new_tag_album' => 'ألبوم علامة جديدة',
- 'upload_track' => 'رفع مقطع',
- 'delete_track' => 'حذف المقطع',
- ],
- 'sort' => [
- 'photo_select_1' => 'وقت الرفع',
- 'photo_select_2' => 'تاريخ الالتقاط',
- 'photo_select_3' => 'العنوان',
- 'photo_select_4' => 'الوصف',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'تمييز',
- 'photo_select_7' => 'صيغة الصورة',
- 'ascending' => 'تصاعدي',
- 'descending' => 'تنازلي',
- 'album_select_1' => 'وقت الإنشاء',
- 'album_select_2' => 'العنوان',
- 'album_select_3' => 'الوصف',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'أحدث تاريخ التقاط',
- 'album_select_6' => 'أقدم تاريخ التقاط',
- ],
- 'albums_protection' => [
- 'private' => 'خاص',
- 'public' => 'عام',
- 'inherit_from_parent' => 'وراثة من الوالد',
- 'public_but_hidden' => 'عام لكن مخفي',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Gallery page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'المعرض',
+ 'smart_albums' => 'الألبومات الذكية',
+ 'pinned_albums' => 'الألبومات المثبتة',
+ 'albums' => 'الألبومات',
+ 'root' => 'الألبومات',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'المفضلة',
+ 'raw' => 'RAW',
+ 'original' => 'الأصلي',
+ 'medium' => 'متوسط',
+ 'medium_hidpi' => 'متوسط HiDPI',
+ 'small' => 'مصغر',
+ 'small_hidpi' => 'مصغر HiDPI',
+ 'thumb' => 'مصغر مربع',
+ 'thumb_hidpi' => 'مصغر مربع HiDPI',
+ 'placeholder' => 'عنصر نائب للصورة منخفضة الجودة',
+ 'thumbnail' => 'مصغر الصورة',
+ 'live_video' => 'جزء الفيديو من الصورة الحية',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'اختر دقة الصورة لأرشيف ZIP للألبوم. إذا لم تكن الصورة تحتوي على النوع المحدد، سيتم استخدام النسخة الأصلية.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'تاريخ الكاميرا',
+ 'album_reserved' => 'جميع الحقوق محفوظة',
+ 'map' => [
+ 'error_gpx' => 'خطأ في تحميل ملف GPX',
+ 'osm_contributors' => 'مساهمو OpenStreetMap',
+ ],
+ 'search' => [
+ 'title' => 'بحث',
+ 'no_results' => 'لا يوجد شيء يطابق استعلام البحث الخاص بك.',
+ 'searchbox' => 'بحث…',
+ 'minimum_chars' => 'الحد الأدنى %s من الأحرف المطلوبة.',
+ 'photos' => 'الصور (%s)',
+ 'albums' => 'الألبومات (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'غير مصنف',
+ 'highlighted' => 'المميزة',
+ 'recent' => 'الأحدث',
+ 'public' => 'عام',
+ 'on_this_day' => 'في هذا اليوم',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'مصغرات مربعة',
+ 'justified' => 'مع النسبة، مبرر',
+ 'masonry' => 'مع النسبة، متراص',
+ 'grid' => 'مع النسبة، شبكة',
+ 'filmstrip' => 'شريط فيلم',
+ 'list' => 'عرض القائمة',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'لا شيء',
+ 'exif' => 'بيانات EXIF',
+ 'description' => 'الوصف',
+ 'date' => 'تاريخ الالتقاط',
+ ],
+ 'timeline' => [
+ 'title' => 'الجدول الزمني',
+ 'load_previous' => 'تحميل السابق',
+ 'default' => 'افتراضي',
+ 'disabled' => 'معطل',
+ 'year' => 'سنة',
+ 'month' => 'شهر',
+ 'day' => 'يوم',
+ 'hour' => 'ساعة',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'الألبومات',
+ 'header_photos' => 'الصور',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'لا يوجد شيء هنا',
+ 'upload' => 'رفع الصور',
+ 'tabs' => [
+ 'about' => 'حول الألبوم',
+ 'share' => 'مشاركة الألبوم',
+ 'embed' => 'تضمين الألبوم',
+ 'move' => 'نقل الألبوم',
+ 'shop' => 'Shop Management',
+ 'danger' => 'منطقة الخطر',
+ ],
+ 'hero' => [
+ 'created' => 'تم الإنشاء',
+ 'copyright' => 'حقوق الطبع والنشر',
+ 'subalbums' => 'الألبومات الفرعية',
+ 'images' => 'الصور',
+ 'download' => 'تنزيل الألبوم',
+ 'share' => 'مشاركة الألبوم',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'الإحصائيات متاحة في إصدار الدعم فقط',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'عدد الزيارات',
+ 'number_of_downloads' => 'عدد التنزيلات',
+ 'number_of_shares' => 'عدد المشاركات',
+ 'lens' => 'العدسة',
+ 'shutter' => 'سرعة الغالق',
+ 'iso' => 'ISO',
+ 'model' => 'الطراز',
+ 'aperture' => 'فتحة العدسة',
+ 'no_data' => 'لا توجد بيانات',
+ ],
+ 'properties' => [
+ 'title' => 'العنوان',
+ 'slug' => 'Slug (عنوان URL ودّي)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'الوصف',
+ 'photo_ordering' => 'ترتيب الصور بواسطة',
+ 'children_ordering' => 'ترتيب الألبومات بواسطة',
+ 'asc/desc' => 'تصاعدي/تنازلي',
+ 'header' => 'تعيين رأس الألبوم',
+ 'compact_header' => 'استخدام رأس مدمج',
+ 'license' => 'تعيين الترخيص',
+ 'copyright' => 'تعيين حقوق الطبع والنشر',
+ 'aspect_ratio' => 'تعيين نسبة عرض إلى ارتفاع مصغرات الألبوم',
+ 'album_timeline' => 'تعيين وضع الجدول الزمني للألبوم',
+ 'photo_timeline' => 'تعيين وضع الجدول الزمني للصورة',
+ 'layout' => 'تعيين تخطيط الصورة',
+ 'show_tags' => 'تعيين العلامات للعرض',
+ 'tags_required' => 'العلامات مطلوبة.',
+ 'all_tags_must_match' => 'يجب أن تتطابق جميع العلامات.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'تمييز',
+ 'unhighlight' => 'إلغاء التمييز',
+ 'set_album_header' => 'تعيين كعنوان ألبوم',
+ 'move' => 'نقل',
+ 'delete' => 'حذف',
+ 'header_set' => 'تم تعيين الرأس',
+ ],
+ 'details' => [
+ 'exif_data' => 'بيانات EXIF',
+ 'about' => 'حول',
+ 'basics' => 'أساسيات',
+ 'title' => 'العنوان',
+ 'uploaded' => 'تم الرفع',
+ 'description' => 'الوصف',
+ 'license' => 'الرخصة',
+ 'reuse' => 'إعادة الاستخدام',
+ 'latitude' => 'خط العرض',
+ 'longitude' => 'خط الطول',
+ 'altitude' => 'الارتفاع',
+ 'location' => 'الموقع',
+ 'image' => 'صورة',
+ 'video' => 'فيديو',
+ 'size' => 'الحجم',
+ 'format' => 'الصيغة',
+ 'resolution' => 'الدقة',
+ 'duration' => 'المدة',
+ 'fps' => 'معدل الإطارات',
+ 'tags' => 'العلامات',
+ 'camera' => 'الكاميرا',
+ 'captured' => 'تم الالتقاط',
+ 'make' => 'الصنع',
+ 'type' => 'النوع/الطراز',
+ 'lens' => 'العدسة',
+ 'shutter' => 'سرعة الغالق',
+ 'aperture' => 'فتحة العدسة',
+ 'focal' => 'طول البؤرة',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'الإحصائيات',
+ 'number_of_visits' => 'عدد الزيارات',
+ 'number_of_downloads' => 'عدد التنزيلات',
+ 'number_of_shares' => 'عدد المشاركات',
+ 'number_of_favourites' => 'عدد المفضلات',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'تعيين العنوان',
+ 'set_description' => 'تعيين الوصف',
+ 'set_license' => 'تعيين الرخصة',
+ 'no_tags' => 'لا توجد علامات',
+ 'set_tags' => 'تعيين العلامات',
+ 'set_created_at' => 'تعيين تاريخ الرفع',
+ 'set_taken_at' => 'تعيين تاريخ الالتقاط',
+ 'set_taken_at_info' => 'عند التعيين، سيتم عرض نجمة %s للإشارة إلى أن هذا التاريخ ليس تاريخ EXIF الأصلي.
قم بإلغاء تحديد خانة الاختيار هذه واحفظ لت reset إلى التاريخ الأصلي.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'محتوى حساس',
+ 'description' => 'يحتوي هذا الألبوم على محتوى حساس قد يجده بعض الأشخاص مسيئًا أو مزعجًا.',
+ 'consent' => 'اضغط للموافقة.',
+ ],
+ 'menus' => [
+ 'highlight' => 'تمييز',
+ 'unhighlight' => 'إلغاء التمييز',
+ 'highlight_all' => 'تمييز المحدد',
+ 'unhighlight_all' => 'إلغاء تمييز المحدد',
+ 'tag' => 'علامة',
+ 'tag_all' => 'تعيين علامة للمحدد',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'تعيين غلاف الألبوم',
+ 'remove_header' => 'إزالة رأس الألبوم',
+ 'set_header' => 'تعيين رأس الألبوم',
+ 'copy_to' => 'نسخ إلى …',
+ 'copy_all_to' => 'نسخ المحدد إلى …',
+ 'rename' => 'إعادة تسمية',
+ 'move' => 'نقل',
+ 'move_all' => 'نقل المحدد',
+ 'pin' => 'تثبيت',
+ 'unpin' => 'إلغاء التثبيت',
+ 'delete' => 'حذف',
+ 'delete_all' => 'حذف المحدد',
+ 'download' => 'تنزيل',
+ 'download_all' => 'تنزيل المحدد',
+ 'merge' => 'دمج',
+ 'merge_all' => 'دمج المحدد',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'رفع صورة',
+ 'take_photo' => 'التقاط صورة',
+ 'import_link' => 'استيراد من الرابط',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'استيراد من Dropbox',
+ 'new_album' => 'ألبوم جديد',
+ 'new_tag_album' => 'ألبوم علامة جديدة',
+ 'upload_track' => 'رفع مقطع',
+ 'delete_track' => 'حذف المقطع',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'وقت الرفع',
+ 'photo_select_2' => 'تاريخ الالتقاط',
+ 'photo_select_3' => 'العنوان',
+ 'photo_select_4' => 'الوصف',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'تمييز',
+ 'photo_select_7' => 'صيغة الصورة',
+ 'ascending' => 'تصاعدي',
+ 'descending' => 'تنازلي',
+ 'album_select_1' => 'وقت الإنشاء',
+ 'album_select_2' => 'العنوان',
+ 'album_select_3' => 'الوصف',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'أحدث تاريخ التقاط',
+ 'album_select_6' => 'أقدم تاريخ التقاط',
+ ],
+ 'albums_protection' => [
+ 'private' => 'خاص',
+ 'public' => 'عام',
+ 'inherit_from_parent' => 'وراثة من الوالد',
+ 'public_but_hidden' => 'عام لكن مخفي',
+ ],
];
diff --git a/lang/ar/import_from_server.php b/lang/ar/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/ar/import_from_server.php
+++ b/lang/ar/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/ar/landing.php b/lang/ar/landing.php
index dfd902974bc..be6edae1e40 100644
--- a/lang/ar/landing.php
+++ b/lang/ar/landing.php
@@ -1,13 +1,13 @@
'المعرض',
- 'access_gallery' => 'الوصول إلى المعرض',
- 'Powered_by_Lychee' => 'مدعوم من Lychee',
- 'copyright' => 'جميع الصور على هذا الموقع تخضع لحقوق النشر بواسطة %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'المعرض',
+ 'access_gallery' => 'الوصول إلى المعرض',
+ 'Powered_by_Lychee' => 'مدعوم من Lychee',
+ 'copyright' => 'جميع الصور على هذا الموقع تخضع لحقوق النشر بواسطة %1$s © %2$s',
];
diff --git a/lang/ar/left-menu.php b/lang/ar/left-menu.php
index c91c72292b5..7f42f8b1ae8 100644
--- a/lang/ar/left-menu.php
+++ b/lang/ar/left-menu.php
@@ -1,28 +1,28 @@
'العودة إلى المعرض',
- 'login' => 'تسجيل الدخول',
- 'frame' => 'الإطار',
- 'map' => 'الخريطة',
- 'embed_stream' => 'تضمين دفق الصور',
- 'admin' => 'الإدارة',
- 'clockwork' => 'تطبيق Clockwork',
- 'logs' => 'عرض السجلات',
- 'jobs' => 'عرض سجل الوظائف',
- 'user' => 'المستخدم',
- 'sign_out' => 'تسجيل الخروج',
- 'about' => 'حول',
- 'changelog' => 'سجل التغييرات',
- 'api' => 'توثيق API',
- 'source_code' => 'كود المصدر',
- 'support' => 'الدعم',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'العودة إلى المعرض',
+ 'login' => 'تسجيل الدخول',
+ 'frame' => 'الإطار',
+ 'map' => 'الخريطة',
+ 'embed_stream' => 'تضمين دفق الصور',
+ 'admin' => 'الإدارة',
+ 'clockwork' => 'تطبيق Clockwork',
+ 'logs' => 'عرض السجلات',
+ 'jobs' => 'عرض سجل الوظائف',
+ 'user' => 'المستخدم',
+ 'sign_out' => 'تسجيل الخروج',
+ 'about' => 'حول',
+ 'changelog' => 'سجل التغييرات',
+ 'api' => 'توثيق API',
+ 'source_code' => 'كود المصدر',
+ 'support' => 'الدعم',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/ar/maintenance.php b/lang/ar/maintenance.php
index 454370dba0f..4f4f2e7fea2 100644
--- a/lang/ar/maintenance.php
+++ b/lang/ar/maintenance.php
@@ -1,103 +1,103 @@
'الصيانة',
- 'description' => 'في هذه الصفحة ستجد جميع الإجراءات المطلوبة للحفاظ على تشغيل تثبيت Lychee بسلاسة وجمال.',
- 'cleaning' => [
- 'title' => 'تنظيف %s',
- 'result' => '%s تم حذفه.',
- 'description' => 'إزالة جميع المحتويات من %s',
- 'button' => 'تنظيف',
- ],
- 'duplicate-finder' => [
- 'title' => 'التكرارات',
- 'description' => 'يحسب هذا الموديل التكرارات المحتملة بين الصور.',
- 'duplicates-all' => 'التكرارات عبر جميع الألبومات',
- 'duplicates-title' => 'تكرارات العنوان لكل ألبوم',
- 'duplicates-per-album' => 'التكرارات لكل ألبوم',
- 'show' => 'عرض التكرارات',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'إصلاح سجل الوظائف',
- 'description' => 'تحديد الوظائف بالحالة %s أو %s كـ %s.',
- 'button' => 'إصلاح سجل الوظائف',
- ],
- 'gen-sizevariants' => [
- 'title' => 'الناقص %s',
- 'description' => 'تم العثور على %d %s يمكن إنشاؤها.',
- 'button' => 'إنشاء!',
- 'success' => 'تم إنشاء %d %s بنجاح.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'أحجام الملفات المفقودة',
- 'description' => 'تم العثور على %d متغيرات صغيرة بدون حجم ملف.',
- 'button' => 'جلب البيانات!',
- 'success' => 'تم حساب أحجام %d متغيرات صغيرة بنجاح.',
- ],
- 'fix-tree' => [
- 'title' => 'إحصائيات الشجرة',
- 'Oddness' => 'الشذوذ',
- 'Duplicates' => 'التكرارات',
- 'Wrong parents' => 'الآباء الخاطئون',
- 'Missing parents' => 'الآباء المفقودون',
- 'button' => 'إصلاح الشجرة',
- ],
- 'optimize' => [
- 'title' => 'تحسين قاعدة البيانات',
- 'description' => 'إذا لاحظت تباطؤًا في التثبيت الخاص بك، فقد يكون ذلك بسبب عدم وجود جميع الفهارس المطلوبة في قاعدة البيانات.',
- 'button' => 'تحسين قاعدة البيانات',
- ],
- 'update' => [
- 'title' => 'التحديثات',
- 'check-button' => 'التحقق من التحديثات',
- 'update-button' => 'تحديث',
- 'no-pending-updates' => 'لا توجد تحديثات معلقة.',
- ],
- 'missing-palettes' => [
- 'title' => 'لوحات الألوان المفقودة',
- 'description' => 'تم العثور على %d لوحة ألوان مفقودة.',
- 'button' => 'إنشاء المفقود',
- ],
- 'statistics-check' => [
- 'title' => 'فحص سلامة الإحصائيات',
- 'missing_photos' => 'إحصائيات %d صورة مفقودة.',
- 'missing_albums' => 'إحصائيات %d ألبوم مفقودة.',
- 'button' => 'إنشاء المفقود',
- ],
- 'flush-cache' => [
- 'title' => 'مسح ذاكرة التخزين المؤقت',
- 'description' => 'مسح ذاكرة التخزين المؤقت لكل مستخدم لحل مشاكل الإبطال.',
- 'button' => 'مسح',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Maintenance Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'الصيانة',
+ 'description' => 'في هذه الصفحة ستجد جميع الإجراءات المطلوبة للحفاظ على تشغيل تثبيت Lychee بسلاسة وجمال.',
+ 'cleaning' => [
+ 'title' => 'تنظيف %s',
+ 'result' => '%s تم حذفه.',
+ 'description' => 'إزالة جميع المحتويات من %s',
+ 'button' => 'تنظيف',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'التكرارات',
+ 'description' => 'يحسب هذا الموديل التكرارات المحتملة بين الصور.',
+ 'duplicates-all' => 'التكرارات عبر جميع الألبومات',
+ 'duplicates-title' => 'تكرارات العنوان لكل ألبوم',
+ 'duplicates-per-album' => 'التكرارات لكل ألبوم',
+ 'show' => 'عرض التكرارات',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'إصلاح سجل الوظائف',
+ 'description' => 'تحديد الوظائف بالحالة %s أو %s كـ %s.',
+ 'button' => 'إصلاح سجل الوظائف',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'الناقص %s',
+ 'description' => 'تم العثور على %d %s يمكن إنشاؤها.',
+ 'button' => 'إنشاء!',
+ 'success' => 'تم إنشاء %d %s بنجاح.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'أحجام الملفات المفقودة',
+ 'description' => 'تم العثور على %d متغيرات صغيرة بدون حجم ملف.',
+ 'button' => 'جلب البيانات!',
+ 'success' => 'تم حساب أحجام %d متغيرات صغيرة بنجاح.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'إحصائيات الشجرة',
+ 'Oddness' => 'الشذوذ',
+ 'Duplicates' => 'التكرارات',
+ 'Wrong parents' => 'الآباء الخاطئون',
+ 'Missing parents' => 'الآباء المفقودون',
+ 'button' => 'إصلاح الشجرة',
+ ],
+ 'optimize' => [
+ 'title' => 'تحسين قاعدة البيانات',
+ 'description' => 'إذا لاحظت تباطؤًا في التثبيت الخاص بك، فقد يكون ذلك بسبب عدم وجود جميع الفهارس المطلوبة في قاعدة البيانات.',
+ 'button' => 'تحسين قاعدة البيانات',
+ ],
+ 'update' => [
+ 'title' => 'التحديثات',
+ 'check-button' => 'التحقق من التحديثات',
+ 'update-button' => 'تحديث',
+ 'no-pending-updates' => 'لا توجد تحديثات معلقة.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'لوحات الألوان المفقودة',
+ 'description' => 'تم العثور على %d لوحة ألوان مفقودة.',
+ 'button' => 'إنشاء المفقود',
+ ],
+ 'statistics-check' => [
+ 'title' => 'فحص سلامة الإحصائيات',
+ 'missing_photos' => 'إحصائيات %d صورة مفقودة.',
+ 'missing_albums' => 'إحصائيات %d ألبوم مفقودة.',
+ 'button' => 'إنشاء المفقود',
+ ],
+ 'flush-cache' => [
+ 'title' => 'مسح ذاكرة التخزين المؤقت',
+ 'description' => 'مسح ذاكرة التخزين المؤقت لكل مستخدم لحل مشاكل الإبطال.',
+ 'button' => 'مسح',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/ar/moderation.php b/lang/ar/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/ar/moderation.php
+++ b/lang/ar/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/ar/profile.php b/lang/ar/profile.php
index 742c6903f50..0c268bc2d5e 100644
--- a/lang/ar/profile.php
+++ b/lang/ar/profile.php
@@ -1,80 +1,80 @@
'الملف الشخصي',
- 'login' => [
- 'header' => 'الملف الشخصي',
- 'enter_current_password' => 'أدخل كلمة المرور الحالية:',
- 'current_password' => 'كلمة المرور الحالية',
- 'credentials_update' => 'سيتم تغيير بيانات الاعتماد الخاصة بك إلى ما يلي:',
- 'username' => 'اسم المستخدم',
- 'new_password' => 'كلمة المرور الجديدة',
- 'confirm_new_password' => 'تأكيد كلمة المرور الجديدة',
- 'email_instruction' => 'أضف بريدك الإلكتروني أدناه لتفعيل استلام الإشعارات عبر البريد الإلكتروني. لإيقاف استلام الإشعارات، قم ببساطة بإزالة بريدك الإلكتروني أدناه.',
- 'email' => 'البريد الإلكتروني',
- 'change' => 'تغيير تسجيل الدخول',
- 'api_token' => 'رمز API …',
- 'missing_fields' => 'حقول مفقودة',
- 'ldap_managed' => 'معلومات تسجيل دخول المستخدم تتم إدارتها بواسطة LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'اسم المستخدم موجود بالفعل.',
- 'password_mismatch' => 'كلمات المرور غير متطابقة.',
- 'signup' => 'إنشاء حساب',
- 'error' => 'حدث خطأ أثناء تسجيل حسابك.',
- 'success' => 'تم إنشاء حسابك بنجاح.',
- ],
- 'token' => [
- 'unavailable' => 'لقد قمت بعرض هذا الرمز مسبقًا.',
- 'no_data' => 'لم يتم إنشاء أي رموز API.',
- 'disable' => 'تعطيل',
- 'disabled' => 'تم تعطيل الرمز',
- 'warning' => 'لن يتم عرض هذا الرمز مرة أخرى. قم بنسخه واحتفظ به في مكان آمن.',
- 'reset' => 'إعادة تعيين الرمز',
- 'create' => 'إنشاء رمز جديد',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth غير متاح',
- 'setup_env' => 'قم بإعداد بيانات الاعتماد في ملف .env الخاص بك',
- 'token_registered' => 'تم تسجيل رمز %s.',
- 'setup' => 'إعداد %s',
- 'reset' => 'إعادة تعيين',
- 'credential_deleted' => 'تم حذف بيانات الاعتماد!',
- ],
- 'u2f' => [
- 'header' => 'مفتاح المرور/MFA/2FA',
- 'info' => 'يوفر هذا فقط القدرة على استخدام WebAuthn للمصادقة بدلاً من اسم المستخدم وكلمة المرور.',
- 'empty' => 'قائمة بيانات الاعتماد فارغة!',
- 'not_secure' => 'البيئة غير آمنة. U2F غير متاح.',
- 'new' => 'تسجيل جهاز جديد.',
- 'credential_deleted' => 'تم حذف بيانات الاعتماد!',
- 'credential_updated' => 'تم تحديث بيانات الاعتماد!',
- 'credential_registred' => 'تم التسجيل بنجاح!',
- '5_chars' => 'على الأقل 5 أحرف.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'الملف الشخصي',
+ 'login' => [
+ 'header' => 'الملف الشخصي',
+ 'enter_current_password' => 'أدخل كلمة المرور الحالية:',
+ 'current_password' => 'كلمة المرور الحالية',
+ 'credentials_update' => 'سيتم تغيير بيانات الاعتماد الخاصة بك إلى ما يلي:',
+ 'username' => 'اسم المستخدم',
+ 'new_password' => 'كلمة المرور الجديدة',
+ 'confirm_new_password' => 'تأكيد كلمة المرور الجديدة',
+ 'email_instruction' => 'أضف بريدك الإلكتروني أدناه لتفعيل استلام الإشعارات عبر البريد الإلكتروني. لإيقاف استلام الإشعارات، قم ببساطة بإزالة بريدك الإلكتروني أدناه.',
+ 'email' => 'البريد الإلكتروني',
+ 'change' => 'تغيير تسجيل الدخول',
+ 'api_token' => 'رمز API …',
+ 'missing_fields' => 'حقول مفقودة',
+ 'ldap_managed' => 'معلومات تسجيل دخول المستخدم تتم إدارتها بواسطة LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'اسم المستخدم موجود بالفعل.',
+ 'password_mismatch' => 'كلمات المرور غير متطابقة.',
+ 'signup' => 'إنشاء حساب',
+ 'error' => 'حدث خطأ أثناء تسجيل حسابك.',
+ 'success' => 'تم إنشاء حسابك بنجاح.',
+ ],
+ 'token' => [
+ 'unavailable' => 'لقد قمت بعرض هذا الرمز مسبقًا.',
+ 'no_data' => 'لم يتم إنشاء أي رموز API.',
+ 'disable' => 'تعطيل',
+ 'disabled' => 'تم تعطيل الرمز',
+ 'warning' => 'لن يتم عرض هذا الرمز مرة أخرى. قم بنسخه واحتفظ به في مكان آمن.',
+ 'reset' => 'إعادة تعيين الرمز',
+ 'create' => 'إنشاء رمز جديد',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth غير متاح',
+ 'setup_env' => 'قم بإعداد بيانات الاعتماد في ملف .env الخاص بك',
+ 'token_registered' => 'تم تسجيل رمز %s.',
+ 'setup' => 'إعداد %s',
+ 'reset' => 'إعادة تعيين',
+ 'credential_deleted' => 'تم حذف بيانات الاعتماد!',
+ ],
+ 'u2f' => [
+ 'header' => 'مفتاح المرور/MFA/2FA',
+ 'info' => 'يوفر هذا فقط القدرة على استخدام WebAuthn للمصادقة بدلاً من اسم المستخدم وكلمة المرور.',
+ 'empty' => 'قائمة بيانات الاعتماد فارغة!',
+ 'not_secure' => 'البيئة غير آمنة. U2F غير متاح.',
+ 'new' => 'تسجيل جهاز جديد.',
+ 'credential_deleted' => 'تم حذف بيانات الاعتماد!',
+ 'credential_updated' => 'تم تحديث بيانات الاعتماد!',
+ 'credential_registred' => 'تم التسجيل بنجاح!',
+ '5_chars' => 'على الأقل 5 أحرف.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/ar/sharing.php b/lang/ar/sharing.php
index 3e790ee1c19..7fc55bfe796 100644
--- a/lang/ar/sharing.php
+++ b/lang/ar/sharing.php
@@ -1,39 +1,39 @@
'المشاركة',
- 'info' => 'تقدم هذه الصفحة نظرة عامة وإمكانية تعديل حقوق المشاركة المرتبطة بالألبومات.',
- 'album_title' => 'عنوان الألبوم',
- 'username' => 'اسم المستخدم',
- 'no_data' => 'قائمة المشاركة فارغة.',
- 'share' => 'مشاركة',
- 'add_new_access_permission' => 'إضافة إذن وصول جديد',
- 'permission_deleted' => 'تم حذف الإذن!',
- 'permission_created' => 'تم إنشاء الإذن!',
- 'propagate' => 'نشر',
- 'propagate_help' => 'نشر أذونات الوصول الحالية إلى جميع العناصر التابعة
(الألبومات الفرعية وألبوماتها الفرعية وما إلى ذلك)',
- 'propagate_default' => 'بشكل افتراضي، يتم تحديث الأذونات الحالية (الألبوم-المستخدم)
وإضافة الأذونات المفقودة.
الأذونات الإضافية غير الموجودة في هذه القائمة تظل دون تغيير.',
- 'propagate_overwrite' => 'استبدال الأذونات الحالية بدلاً من تحديثها.
سيؤدي ذلك أيضًا إلى إزالة جميع الأذونات غير الموجودة في هذه القائمة.',
- 'propagate_warning' => 'لا يمكن التراجع عن هذا الإجراء.',
- 'permission_overwritten' => 'تم النشر بنجاح! تم استبدال الإذن!',
- 'permission_updated' => 'تم النشر بنجاح! تم تحديث الإذن!',
- 'bluk_share' => 'مشاركة جماعية',
- 'bulk_share_instr' => 'حدد ألبومات ومستخدمين متعددين للمشاركة معهم.',
- 'albums' => 'الألبومات',
- 'users' => 'المستخدمون',
- 'no_users' => 'لا يوجد مستخدمون يمكن اختيارهم.',
- 'no_albums' => 'لا توجد ألبومات يمكن اختيارها.',
- 'grants' => [
- 'read' => 'يمنح حق القراءة',
- 'original' => 'يمنح الوصول إلى الصورة الأصلية',
- 'download' => 'يمنح حق التنزيل',
- 'upload' => 'يمنح حق التحميل',
- 'edit' => 'يمنح حق التعديل',
- 'delete' => 'يمنح حق الحذف',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'المشاركة',
+ 'info' => 'تقدم هذه الصفحة نظرة عامة وإمكانية تعديل حقوق المشاركة المرتبطة بالألبومات.',
+ 'album_title' => 'عنوان الألبوم',
+ 'username' => 'اسم المستخدم',
+ 'no_data' => 'قائمة المشاركة فارغة.',
+ 'share' => 'مشاركة',
+ 'add_new_access_permission' => 'إضافة إذن وصول جديد',
+ 'permission_deleted' => 'تم حذف الإذن!',
+ 'permission_created' => 'تم إنشاء الإذن!',
+ 'propagate' => 'نشر',
+ 'propagate_help' => 'نشر أذونات الوصول الحالية إلى جميع العناصر التابعة
(الألبومات الفرعية وألبوماتها الفرعية وما إلى ذلك)',
+ 'propagate_default' => 'بشكل افتراضي، يتم تحديث الأذونات الحالية (الألبوم-المستخدم)
وإضافة الأذونات المفقودة.
الأذونات الإضافية غير الموجودة في هذه القائمة تظل دون تغيير.',
+ 'propagate_overwrite' => 'استبدال الأذونات الحالية بدلاً من تحديثها.
سيؤدي ذلك أيضًا إلى إزالة جميع الأذونات غير الموجودة في هذه القائمة.',
+ 'propagate_warning' => 'لا يمكن التراجع عن هذا الإجراء.',
+ 'permission_overwritten' => 'تم النشر بنجاح! تم استبدال الإذن!',
+ 'permission_updated' => 'تم النشر بنجاح! تم تحديث الإذن!',
+ 'bluk_share' => 'مشاركة جماعية',
+ 'bulk_share_instr' => 'حدد ألبومات ومستخدمين متعددين للمشاركة معهم.',
+ 'albums' => 'الألبومات',
+ 'users' => 'المستخدمون',
+ 'no_users' => 'لا يوجد مستخدمون يمكن اختيارهم.',
+ 'no_albums' => 'لا توجد ألبومات يمكن اختيارها.',
+ 'grants' => [
+ 'read' => 'يمنح حق القراءة',
+ 'original' => 'يمنح الوصول إلى الصورة الأصلية',
+ 'download' => 'يمنح حق التنزيل',
+ 'upload' => 'يمنح حق التحميل',
+ 'edit' => 'يمنح حق التعديل',
+ 'delete' => 'يمنح حق الحذف',
+ ],
];
diff --git a/lang/ar/statistics.php b/lang/ar/statistics.php
index cd45d1ea4fe..50727cc2182 100644
--- a/lang/ar/statistics.php
+++ b/lang/ar/statistics.php
@@ -1,63 +1,63 @@
'الإحصائيات',
- 'preview_text' => 'هذه معاينة لصفحة الإحصائيات المتاحة في Lychee SE.
البيانات المعروضة هنا تم إنشاؤها عشوائيًا ولا تعكس الخادم الخاص بك.',
- 'no_data' => 'لا يمتلك المستخدم بيانات على الخادم.',
- 'collapse' => 'طي أحجام الألبومات',
- 'total' => [
- 'total' => 'الإجمالي',
- 'albums' => 'الألبومات',
- 'photos' => 'الصور',
- 'size' => 'الحجم',
- ],
- 'table' => [
- 'username' => 'المالك',
- 'title' => 'العنوان',
- 'photos' => 'الصور',
- 'descendants' => 'الأبناء',
- 'size' => 'الحجم',
- ],
- 'punch_card' => [
- 'title' => 'النشاط',
- 'photo-taken' => 'تم التقاط %d صورة',
- 'photo-taken-in' => 'تم التقاط %d صورة في %d',
- 'photo-uploaded' => 'تم تحميل %d صورة',
- 'photo-uploaded-in' => 'تم تحميل %d صورة في %d',
- 'with-exif' => 'مع بيانات EXIF',
- 'less' => 'أقل',
- 'more' => 'أكثر',
- 'tooltip' => '%d صورة في %s',
- 'created_at' => 'تاريخ التحميل',
- 'taken_at' => 'تاريخ EXIF',
- 'caption' => 'يمثل كل عمود أسبوعًا.',
- ],
- 'metrics' => [
- 'header' => 'المقاييس الحية',
- 'preview_text' => 'هذه معاينة للمقاييس الحية المتاحة في Lychee SE. البيانات المعروضة هنا تم إنشاؤها عشوائيًا ولا تعكس الخادم الخاص بك.',
- 'a_visitor' => 'زائر',
- 'visitors' => '%d زائر',
- 'visit_singular' => '%1$s عرض %2$s',
- 'favourite_singular' => '%1$s أضاف %2$s إلى المفضلة',
- 'download_singular' => '%1$s قام بتنزيل %2$s',
- 'shared_singular' => '%1$s شارك %2$s',
- 'visit_plural' => '%1$s عرض %2$s',
- 'favourite_plural' => '%1$s أضاف %2$s إلى المفضلة',
- 'download_plural' => '%1$s قام بتنزيل %2$s',
- 'shared_plural' => '%1$s شارك %2$s',
- 'ago' => [
- 'days' => 'منذ %d يوم',
- 'day' => 'منذ يوم',
- 'hours' => 'منذ %d ساعة',
- 'hour' => 'منذ ساعة',
- 'minutes' => 'منذ %d دقيقة',
- 'few_minutes' => 'منذ بضع دقائق',
- 'seconds' => 'منذ بضع ثوانٍ',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'الإحصائيات',
+ 'preview_text' => 'هذه معاينة لصفحة الإحصائيات المتاحة في Lychee SE.
البيانات المعروضة هنا تم إنشاؤها عشوائيًا ولا تعكس الخادم الخاص بك.',
+ 'no_data' => 'لا يمتلك المستخدم بيانات على الخادم.',
+ 'collapse' => 'طي أحجام الألبومات',
+ 'total' => [
+ 'total' => 'الإجمالي',
+ 'albums' => 'الألبومات',
+ 'photos' => 'الصور',
+ 'size' => 'الحجم',
+ ],
+ 'table' => [
+ 'username' => 'المالك',
+ 'title' => 'العنوان',
+ 'photos' => 'الصور',
+ 'descendants' => 'الأبناء',
+ 'size' => 'الحجم',
+ ],
+ 'punch_card' => [
+ 'title' => 'النشاط',
+ 'photo-taken' => 'تم التقاط %d صورة',
+ 'photo-taken-in' => 'تم التقاط %d صورة في %d',
+ 'photo-uploaded' => 'تم تحميل %d صورة',
+ 'photo-uploaded-in' => 'تم تحميل %d صورة في %d',
+ 'with-exif' => 'مع بيانات EXIF',
+ 'less' => 'أقل',
+ 'more' => 'أكثر',
+ 'tooltip' => '%d صورة في %s',
+ 'created_at' => 'تاريخ التحميل',
+ 'taken_at' => 'تاريخ EXIF',
+ 'caption' => 'يمثل كل عمود أسبوعًا.',
+ ],
+ 'metrics' => [
+ 'header' => 'المقاييس الحية',
+ 'preview_text' => 'هذه معاينة للمقاييس الحية المتاحة في Lychee SE. البيانات المعروضة هنا تم إنشاؤها عشوائيًا ولا تعكس الخادم الخاص بك.',
+ 'a_visitor' => 'زائر',
+ 'visitors' => '%d زائر',
+ 'visit_singular' => '%1$s عرض %2$s',
+ 'favourite_singular' => '%1$s أضاف %2$s إلى المفضلة',
+ 'download_singular' => '%1$s قام بتنزيل %2$s',
+ 'shared_singular' => '%1$s شارك %2$s',
+ 'visit_plural' => '%1$s عرض %2$s',
+ 'favourite_plural' => '%1$s أضاف %2$s إلى المفضلة',
+ 'download_plural' => '%1$s قام بتنزيل %2$s',
+ 'shared_plural' => '%1$s شارك %2$s',
+ 'ago' => [
+ 'days' => 'منذ %d يوم',
+ 'day' => 'منذ يوم',
+ 'hours' => 'منذ %d ساعة',
+ 'hour' => 'منذ ساعة',
+ 'minutes' => 'منذ %d دقيقة',
+ 'few_minutes' => 'منذ بضع دقائق',
+ 'seconds' => 'منذ بضع ثوانٍ',
+ ],
+ ],
];
diff --git a/lang/ar/user-groups.php b/lang/ar/user-groups.php
index 4396ccd6d3a..2f33b836675 100644
--- a/lang/ar/user-groups.php
+++ b/lang/ar/user-groups.php
@@ -1,39 +1,39 @@
'مجموعات المستخدمين',
- 'explanation' => 'تتيح لك مجموعات المستخدمين تنظيم المستخدمين وإدارة الأذونات بشكل جماعي.',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحة مجموعات المستخدمين
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'مجموعات المستخدمين',
+ 'explanation' => 'تتيح لك مجموعات المستخدمين تنظيم المستخدمين وإدارة الأذونات بشكل جماعي.',
- 'create_group' => 'إنشاء مجموعة',
- 'edit' => 'تعديل',
- 'delete' => 'حذف',
+ 'create_group' => 'إنشاء مجموعة',
+ 'edit' => 'تعديل',
+ 'delete' => 'حذف',
- 'loading' => 'جاري تحميل المجموعات...',
- 'empty' => 'لا توجد مجموعات.',
+ 'loading' => 'جاري تحميل المجموعات...',
+ 'empty' => 'لا توجد مجموعات.',
- 'add_member' => 'إضافة عضو...',
- 'empty_group' => 'هذه المجموعة فارغة.',
- 'no_permission_members' => 'ليس لديك إذن لرؤية أعضاء هذه المجموعة.',
- 'remove_success' => 'تمت إزالة %s من %s.',
+ 'add_member' => 'إضافة عضو...',
+ 'empty_group' => 'هذه المجموعة فارغة.',
+ 'no_permission_members' => 'ليس لديك إذن لرؤية أعضاء هذه المجموعة.',
+ 'remove_success' => 'تمت إزالة %s من %s.',
- 'confirm_delete_header' => 'حذف المجموعة',
- 'confirm_delete_message' => 'هل أنت متأكد أنك تريد حذف هذه المجموعة؟',
- 'cancel' => 'إلغاء',
- 'confirm' => 'حذف',
+ 'confirm_delete_header' => 'حذف المجموعة',
+ 'confirm_delete_message' => 'هل أنت متأكد أنك تريد حذف هذه المجموعة؟',
+ 'cancel' => 'إلغاء',
+ 'confirm' => 'حذف',
- 'create' => [
- 'name' => 'اسم المجموعة',
- 'description' => 'الوصف',
- 'users' => 'المستخدمون',
- 'cancel' => 'إلغاء',
- 'create' => 'إنشاء',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'اسم المجموعة',
+ 'description' => 'الوصف',
+ 'users' => 'المستخدمون',
+ 'cancel' => 'إلغاء',
+ 'create' => 'إنشاء',
+ 'edit' => 'Edit',
- 'error_name_required' => 'اسم المجموعة مطلوب.',
- ],
+ 'error_name_required' => 'اسم المجموعة مطلوب.',
+ ],
];
diff --git a/lang/ar/users.php b/lang/ar/users.php
index 9d9527e80b2..5f2eb2723e0 100644
--- a/lang/ar/users.php
+++ b/lang/ar/users.php
@@ -1,50 +1,50 @@
'المستخدمون',
- 'description' => 'هنا يمكنك إدارة مستخدمي تثبيت Lychee الخاص بك. يمكنك إنشاء وتحرير وحذف المستخدمين.',
- 'create' => 'إنشاء مستخدم جديد',
- 'username' => 'اسم المستخدم',
- 'password' => 'كلمة المرور',
- 'legend' => 'الأسطورة',
- 'upload_rights' => 'عند التحديد، يمكن للمستخدم تحميل المحتوى.',
- 'edit_rights' => 'عند التحديد، يمكن للمستخدم تعديل ملفه الشخصي (اسم المستخدم، كلمة المرور).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'المستخدمون',
+ 'description' => 'هنا يمكنك إدارة مستخدمي تثبيت Lychee الخاص بك. يمكنك إنشاء وتحرير وحذف المستخدمين.',
+ 'create' => 'إنشاء مستخدم جديد',
+ 'username' => 'اسم المستخدم',
+ 'password' => 'كلمة المرور',
+ 'legend' => 'الأسطورة',
+ 'upload_rights' => 'عند التحديد، يمكن للمستخدم تحميل المحتوى.',
+ 'edit_rights' => 'عند التحديد، يمكن للمستخدم تعديل ملفه الشخصي (اسم المستخدم، كلمة المرور).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'عند التعيين، يكون للمستخدم حصة مساحة للصور (بالكيلوبايت).',
- 'user_deleted' => 'تم حذف المستخدم',
- 'user_created' => 'تم إنشاء المستخدم',
- 'user_updated' => 'تم تحديث المستخدم',
- 'change_saved' => 'تم حفظ التغيير!',
- 'create_edit' => [
- 'upload_rights' => 'يمكن للمستخدم تحميل المحتوى.',
- 'edit_rights' => 'يمكن للمستخدم تعديل ملفه الشخصي (اسم المستخدم، كلمة المرور).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'عند التعيين، يكون للمستخدم حصة مساحة للصور (بالكيلوبايت).',
+ 'user_deleted' => 'تم حذف المستخدم',
+ 'user_created' => 'تم إنشاء المستخدم',
+ 'user_updated' => 'تم تحديث المستخدم',
+ 'change_saved' => 'تم حفظ التغيير!',
+ 'create_edit' => [
+ 'upload_rights' => 'يمكن للمستخدم تحميل المحتوى.',
+ 'edit_rights' => 'يمكن للمستخدم تعديل ملفه الشخصي (اسم المستخدم، كلمة المرور).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'لدى المستخدم حد الحصة.',
- 'quota_kb' => 'الحصة بالكيلوبايت (0 للإعداد الافتراضي)',
- 'note' => 'ملاحظة المسؤول (غير مرئية للعامة)',
- 'create' => 'إنشاء',
- 'edit' => 'تعديل',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'مستخدم مسؤول',
- 'edit' => 'تعديل',
- 'delete' => 'حذف',
- ],
+ 'quota' => 'لدى المستخدم حد الحصة.',
+ 'quota_kb' => 'الحصة بالكيلوبايت (0 للإعداد الافتراضي)',
+ 'note' => 'ملاحظة المسؤول (غير مرئية للعامة)',
+ 'create' => 'إنشاء',
+ 'edit' => 'تعديل',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'مستخدم مسؤول',
+ 'edit' => 'تعديل',
+ 'delete' => 'حذف',
+ ],
];
diff --git a/lang/ar/webhook.php b/lang/ar/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/ar/webhook.php
+++ b/lang/ar/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/ar/webshop.php b/lang/ar/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/ar/webshop.php
+++ b/lang/ar/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/bg/admin-dashboard.php b/lang/bg/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/bg/admin-dashboard.php
+++ b/lang/bg/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/bg/all_settings.php b/lang/bg/all_settings.php
index 73387deb3d7..f920785bc01 100644
--- a/lang/bg/all_settings.php
+++ b/lang/bg/all_settings.php
@@ -1,745 +1,745 @@
[
- /*
- |--------------------------------------------------------------------------
- | All Settings
- |--------------------------------------------------------------------------
- */
- 'version' => 'Текуща версия на Lychee',
- 'check_for_updates' => 'Автоматична проверка за нови актуализации',
- 'sorting_photos_col' => 'Колона по подразбиране за сортиране на снимки',
- 'sorting_photos_order' => 'Ред по подразбиране за сортиране на снимки',
- 'sorting_albums_col' => 'Колона по подразбиране за сортиране на албуми',
- 'sorting_albums_order' => 'Ред по подразбиране за сортиране на албуми',
- 'photos_star_visibility' => 'Кой може да вижда и да поставя звездичка (флаг) на изображение',
- 'imagick' => 'Активиране на обработка с Imagick',
- 'dropbox_key' => 'API ключ за Dropbox',
- 'skip_duplicates' => 'Пропускане на дубликат, ако е открит при импортиране',
- 'lang' => 'Език, използван от Lychee',
- 'default_license' => 'Лиценз по подразбиране за албумите',
- 'small_max_width' => 'Максимална ширина за малки миниатюри (изглед на албум)',
- 'small_max_height' => 'Максимална височина за малки миниатюри (изглед на албум)',
- 'medium_max_width' => 'Максимална ширина за средно голямо изображение (изглед на снимка)',
- 'medium_max_height' => 'Максимална височина за средно голямо изображение (изглед на снимка)',
- 'grants_full_photo_access' => 'Позволява достъп до пълната разделителна способност по подразбиране',
- 'delete_imported' => 'Изтриване на оригиналите при импортиране от сървъра',
- 'mod_frame_enabled' => 'Активиране на модул „Рамка“ (Frame)',
- 'mod_frame_refresh' => 'Честота на опресняване на рамката',
- 'image_overlay_type' => 'Информация за наслагване върху изображението по подразбиране',
- 'compression_quality' => 'Процент на компресия при генериране на миниатюри',
- 'landing_page_enable' => 'Показване на началната (landing) страница',
- 'site_owner' => 'Собственик на уебсайта',
- 'landing_title' => 'Заглавие на началната страница',
- 'landing_subtitle' => 'Подзаглавие на началната страница',
- 'sm_facebook_url' => 'URL на Facebook профил',
- 'sm_flickr_url' => 'URL на Flickr профил',
- 'sm_twitter_url' => 'URL на X профил (преди Twitter)',
- 'sm_instagram_url' => 'URL на Instagram профил',
- 'sm_youtube_url' => 'URL на YouTube профил',
- 'thumb_2x' => 'Активиране на 2x размер за квадратни миниатюри',
- 'small_2x' => 'Активиране на 2x размер за малки миниатюри',
- 'medium_2x' => 'Активиране на 2x размер за средни изображения',
- 'site_title' => 'Заглавие на уебсайта',
- 'footer_show_copyright' => 'Показване на авторските права в долния колонтитул (footer).',
- 'site_copyright_begin' => 'Начална година на авторските права',
- 'site_copyright_end' => 'Последна година на авторските права',
- 'allow_online_git_pull' => 'Позволяване на git pull чрез уеб интерфейса',
- 'footer_additional_text' => 'Допълнителен текст за долния колонтитул.',
- 'footer_show_social_media' => 'Показване на връзки към социални медии в долния колонтитул.',
- 'search_public' => 'Позволява на анонимни потребители да използват лентата за търсене',
- 'hide_version_number' => 'Скриване на номера на текущата версия',
- 'recent_age' => 'Максимална възраст на снимките в „Скорошни“ (в дни)',
- 'grants_download' => 'Разрешава изтеглянето по подразбиране.',
- 'photos_wraparound' => 'При достигане на последната снимка в албума, връщане в началото',
- 'raw_formats' => 'Позволени допълнителни формати (няма да се обработват)',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Показване на картата при наличие на GPS координати',
- 'zip64' => 'Използване на 64-битов Zip вместо 32-битов',
- 'map_display_public' => 'Позволяване на анонимни потребители да имат достъп до картата',
- 'map_provider' => 'Определя доставчика на карти',
- 'map_include_subalbums' => 'Включване на снимките от под-албумите в картата',
- 'update_check_every_days' => 'Честота на проверките за актуализация на Lychee',
- 'has_exiftool' => 'Определя дали е налична обработка чрез exiftool',
- 'share_button_visible' => 'Видимост на бутона за споделяне в заглавната част',
- 'has_ffmpeg' => 'Определя дали е налична обработка чрез ffmpeg',
- 'import_via_symlink' => 'Използване на символни връзки вместо копиране на оригинала при импорт от сървър',
- 'apply_composer_update' => 'Прилагане на composer update при актуализиране на Lychee чрез уеб интерфейс',
- 'location_decoding' => 'Използване на декодиране на GPS местоположение',
- 'location_decoding_timeout' => 'Време за изчакване (timeout) на заявките за GPS декодиране',
- 'location_show' => 'Показване на местоположението, извлечено от GPS координати',
- 'location_show_public' => 'Анонимните потребители могат да виждат местоположението от GPS координатите',
- 'gps_coordinate_display' => 'Показване на GPS координатите.',
- 'gps_coordinate_display_public' => 'Позволяване на анонимни потребители да виждат GPS координатите.',
- 'rss_enable' => 'Активиране на RSS емисия',
- 'rss_recent_days' => 'Показване на последните X дни в RSS емисията',
- 'rss_max_items' => 'Максимален брой елементи в RSS емисията',
- 'prefer_available_xmp_metadata' => 'Използване на sidecar файл, ако е наличен, вместо exif метаданни',
- 'editor_enabled' => 'Активиране на ръчно завъртане на изображения',
- 'lossless_optimization' => 'Прилагане на допълнителна компресия върху изображенията',
- 'local_takestamp_video_formats' => 'Използване на локален времеви маркер (takestamp) за следните видео формати',
- 'log_max_num_line' => 'Показване на последните X реда в системните дневници (Logs)',
- 'unlock_password_photos_with_url_param' => 'Позволяване на предаване на парола като URL параметър за отключване на албуми',
- 'nsfw_visible' => 'Правене на чувствителните албуми видими по подразбиране',
- 'nsfw_blur' => 'Замъгляване на чувствителните албуми',
- 'nsfw_warning' => 'Активиране на предупреждение за чувствителни албуми',
- 'nsfw_warning_admin' => 'Активиране на предупреждение за чувствителни албуми при влязъл администратор',
- 'nsfw_banner_override' => 'Персонализиран текст за предупреждение вместо този по подразбиране.',
- 'map_display_direction' => 'Показване на посоката на снимката върху картата, ако е налична',
- 'album_subtitle_type' => 'Определя подзаглавието на албума в изгледа на албуми',
- 'upload_processing_limit' => 'Максимален брой изображения, обработвани паралелно',
- 'new_photos_notification' => 'Активиране на известия при добавяне на нови снимки',
- 'zip_deflate_level' => 'Ниво на компресия на Zip архива.',
- 'default_album_protection' => 'Защита по подразбиране за новосъздадени албуми',
- 'allow_username_change' => 'Позволяване на потребителите да променят потребителското си име.',
- 'album_decoration' => 'Показване на декорации върху корицата на албума (брой под-албуми и/или снимки)',
- 'album_decoration_orientation' => 'Хоризонтално или вертикално подравняване на декорациите на албума',
- 'auto_fix_orientation' => 'Автоматично завъртане на импортираните изображения',
- 'random_album_id' => 'ID на албум, който да се използва за функцията за произволни снимки.',
- 'use_last_modified_date_when_no_exif_date' => 'Използване на датата на последна промяна на файла, когато в Exif данните липсва дата на създаване',
- 'ffmpeg_path' => 'Път до изпълнимия файл на ffmpeg',
- 'ffprobe_path' => 'Път до изпълнимия файл на ffprobe',
- 'layout' => 'Оформление на снимките',
- 'date_format_photo_thumb' => 'Форматиране на датата за миниатюрите на снимките.',
- 'date_format_photo_overlay' => 'Форматиране на датата за наслагването върху снимките.',
- 'date_format_sidebar_uploaded' => 'Форматиране на датата на качване за страничната лента на снимката.',
- 'date_format_sidebar_taken_at' => 'Форматиране на датата на заснемане за страничната лента на снимката.',
- 'date_format_hero_min_max' => 'Форматиране на датата за заглавното изображение на албума.',
- 'date_format_hero_created_at' => 'Форматиране на датата на създаване за детайлите на албума.',
- 'date_format_album_thumb' => 'Форматиране на датата за миниатюрите на албумите.',
- 'upload_chunk_size' => 'Размер на частите при качване в байтове: 0 е автоматично',
- 'nsfw_banner_blur_backdrop' => 'Замъгляване на фона вместо тъмночервен непрозрачен цвят.',
- 'search_pagination_limit' => 'Брой резултати за показване на страница.',
- 'search_minimum_length_required' => 'Брой символи, необходими за задействане на търсене (по подразбиране: 4).',
- 'photo_layout_justified_row_height' => 'Височина на редовете при подравнено (Justified) оформление',
- 'photo_layout_masonry_column_width' => 'Минимална ширина на колоната при Masonry оформление.',
- 'photo_layout_grid_column_width' => 'Минимална ширина на колоната при решетъчно (Grid) оформление.',
- 'photo_layout_square_column_width' => 'Минимална ширина на колоната при квадратно (Square) оформление.',
- 'photo_layout_gap' => 'Разстояние между колоните при Square/Masonry/Grid оформление.',
- 'display_thumb_album_overlay' => 'Показване на заглавието и метаданните върху миниатюрите на албумите',
- 'display_thumb_photo_overlay' => 'Показване на заглавието и метаданните върху миниатюрите на снимките',
- 'default_album_thumb_aspect_ratio' => 'Съотношение на страните по подразбиране за миниатюрите на албумите',
- 'use_album_compact_header' => 'Деактивиране на заглавното изображение в албумите',
- 'back_button_enabled' => 'Активиране/деактивиране на бутона за връщане в галерията',
- 'back_button_text' => 'Текст на бутона за връщане (ще бъде разположен срещу бутона за вход)',
- 'back_button_url' => 'Връзка на бутона за връщане',
- 'SA_random_thumbs' => 'Използване на произволни миниатюри вместо избрани или по ред на сортиране.',
- 'login_required' => 'Изискване за вход за достъп до галерията.',
- 'enable_unsorted' => 'Активиране на смарт албум „Несортирани“.',
- 'enable_highlighted' => 'Активиране на смарт албум „Избрани“.',
- 'enable_recent' => 'Активиране на смарт албум „Скорошно качени“.',
- 'enable_on_this_day' => 'Активиране на смарт албум „На този ден“.',
- 'enable_unrated' => 'Активиране на смарт албум „Без оценка“.',
- 'enable_1_star' => 'Активиране на смарт албум „1 звезда“.',
- 'enable_2_stars' => 'Активиране на смарт албум „2 звезди“.',
- 'enable_3_stars' => 'Активиране на смарт албум „3+ звезди“.',
- 'enable_4_stars' => 'Активиране на смарт албум „4+ звезди“.',
- 'enable_5_stars' => 'Активиране на смарт албум „5 звезди“.',
- 'enable_best_pictures' => 'Активиране на смарт албум „Най-добри снимки“.',
- 'best_pictures_count' => 'Брой снимки в албума „Най-добри снимки“.',
- 'enable_my_rated_pictures' => 'Активиране на смарт албум „Моите оценени снимки“.',
- 'enable_my_best_pictures' => 'Активиране на смарт албум „Моите най-добри снимки“.',
- 'my_best_pictures_count' => 'Брой снимки в албума „Моите най-добри снимки“.',
- 'oauth_create_user_on_first_attempt' => 'Позволяване на създаване на потребител, когато OAuth ID не съществува.',
- 'grant_new_user_upload_rights' => 'Новосъздадените потребители имат право да качват съдържание.',
- 'grant_new_user_modification_rights' => 'Новосъздадените потребители имат право да редактират профила си.',
- 'login_required_root_only' => 'Изискване за вход само за началната страница. Потребител с директна връзка към албум все още може да го отвори.',
- 'exiftool_path' => 'Път до изпълнимия файл на exiftool.',
- 'thumb_min_max_order' => 'Задаване на коя дата да се показва първа в миниатюрата.',
- 'header_min_max_order' => 'Задаване на коя дата да се показва първа в заглавната част.',
- 'autoplay_enabled' => 'Задаване на атрибут за автоматично пускане на видеоклипове.',
- 'dark_mode_enabled' => 'Използване на тъмен режим за Lychee',
- 'show_keybinding_help_popup' => 'Показване на помощ за клавишните комбинации при влизане.',
- 'show_keybinding_help_button' => 'Показване на бутон за помощ за клавишните комбинации в заглавната част.',
- 'email' => 'Имейл, използван при заявяване на лиценза.',
- 'license_key' => 'Лицензионен ключ за Lychee',
- 'disable_se_call_for_actions' => 'Деактивиране на информацията за Lychee SE',
- 'enable_se_preview' => 'Преглед на функциите на Lychee SE',
- 'slideshow_timeout' => 'Честота на опресняване на слайдшоуто в секунди.',
- 'keep_original_untouched' => 'Запазване на оригиналното изображение непроменено.',
- 'default_user_quota' => 'Квота за пространство по подразбиране за нови потребители.',
- 'low_quality_image_placeholder' => 'Активиране на контейнери (placeholders) за изображения с ниско качество',
- 'timeline_photos_enabled' => 'Активиране на времева линия за снимки',
- 'timeline_photos_public' => 'Позволяване на анонимни потребители да виждат времевата линия на снимките',
- 'timeline_photos_granularity' => 'Детайлност на времевата линия за снимки',
- 'timeline_photos_order' => 'Подреждане на снимките по',
- 'timeline_photos_layout' => 'Оформление на снимките за страницата с времевата линия',
- 'timeline_photos_pagination_limit' => 'Брой снимки за показване на страница във времевата линия',
- 'timeline_albums_enabled' => 'Активиране на времева линия за албуми',
- 'timeline_albums_public' => 'Показване на времевата линия на албумите за анонимни потребители',
- 'timeline_albums_granularity' => 'Детайлност на времевата линия за албуми',
- 'timeline_left_border_enabled' => 'Активиране на лявата гранична линия в графиките на времевата линия',
- 'timeline_photo_date_format_year' => 'Форматиране на датата при годишна детайлност за снимки',
- 'timeline_photo_date_format_month' => 'Форматиране на датата при месечна детайлност за снимки',
- 'timeline_photo_date_format_day' => 'Форматиране на датата при дневна детайлност за снимки',
- 'timeline_photo_date_format_hour' => 'Форматиране на датата при почасова детайлност за снимки',
- 'timeline_album_date_format_year' => 'Форматиране на датата при годишна детайлност за албуми',
- 'timeline_album_date_format_month' => 'Форматиране на датата при месечна детайлност за албуми',
- 'timeline_album_date_format_day' => 'Форматиране на датата при дневна детайлност за албуми',
- 'hide_nsfw_in_smart_albums' => 'Да не се показват чувствителни снимки в Смарт Албумите',
- 'hide_nsfw_in_frame' => 'Да не се показват чувствителни снимки в Рамката',
- 'hide_nsfw_in_map' => 'Да не се показват чувствителни снимки в Картата',
- 'hide_nsfw_in_search' => 'Да не се показват чувствителни снимки при Търсене',
- 'search_photos_layout' => 'Оформление на снимките за страницата за търсене',
- 'hide_nsfw_in_rss' => 'Да не се показват чувствителни снимки в RSS',
- 'hide_nsfw_in_timeline' => 'Да не се показват чувствителни снимки във Времевата линия',
- 'number_albums_per_row_mobile' => 'Брой албуми на ред в мобилен изглед',
- 'cache_enabled' => 'Активиране на кеширане на отговорите при заявки.',
- 'cache_event_logging' => 'Добавяне на редове в дневника за събития, свързани с кеширането.',
- 'cache_ttl' => 'Брой секунди, през които отговорите трябва да се кешират.',
- 'low_number_of_shoots_per_day' => 'Брой кадри на ден, които да се считат за малко.',
- 'medium_number_of_shoots_per_day' => 'Брой кадри на ден, които да се считат за средно.',
- 'high_number_of_shoots_per_day' => 'Брой кадри на ден, които да се считат за много.',
- 'maintenance_processing_limit' => 'Брой операции по поддръжка, които да се изпълняват.',
- 'disable_recursive_permission_check' => 'Деактивиране на рекурсивната проверка на правата.',
- 'exif_disabled_for_all' => 'Деактивиране на детайлите и панелите за наслагване в потребителския интерфейс.',
- 'display_exif_data' => 'Показване на Exif данни.',
- 'file_name_hidden' => 'Да не се показва заглавието на снимката на анонимни потребители.',
- 'client_side_favourite_enabled' => 'Позволяване на посетителите да маркират снимки като любими.',
- 'default_old_settings' => 'Изгледът на настройките да бъде чрез текстови полета по подразбиране.',
- 'default_expert_settings' => 'Изгледът за експертни настройки да е активиран по подразбиране.',
- 'default_all_settings' => 'Показване на всички настройки на една страница.',
- 'disable_thumb_download' => 'Забрана на изтеглянето на квадратни миниатюри',
- 'disable_thumb2x_download' => 'Забрана на изтеглянето на HiDPI квадратни миниатюри',
- 'disable_small_download' => 'Забрана на изтеглянето на малки миниатюри',
- 'disable_small2x_download' => 'Забрана на изтеглянето на HiDPI малки миниатюри',
- 'disable_medium_download' => 'Забрана на изтеглянето на средни изображения',
- 'disable_medium2x_download' => 'Забрана на изтеглянето на HiDPI средни изображения',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Активиране на статистика за снимки и албуми',
- 'metrics_logged_in_users_enabed' => 'Активиране на статистика за влезли потребители',
- 'metrics_access' => 'Ниво на достъп до статистиката на албума/снимката',
- 'live_metrics_enabled' => 'Активиране на статистика в реално време',
- 'live_metrics_access' => 'Ниво на достъп до метриките на живо',
- 'live_metrics_max_time' => 'Максимална възраст на метриките на живо в дни',
- 'photo_thumb_info' => 'Избор на информацията, показвана върху миниатюрата на снимката',
- 'temporary_image_link_enabled' => 'Активиране на временни връзки към изображения',
- 'temporary_image_link_when_logged_in' => 'Активиране на временни връзки за влезли потребители',
- 'temporary_image_link_when_admin' => 'Активиране на временни връзки за администратори',
- 'temporary_image_link_life_in_seconds' => 'Максимално време на живот на временните връзки в секунди (по подразбиране е 86400 сек = 24 часа)',
- 'secure_image_link_enabled' => 'Криптиране на връзките към изображенията за по-голяма защита',
- 'photo_previous_next_size' => 'Избор на размера на бутоните „предишна/следваща“ в изгледа на снимка.',
- 'SA_override_visibility' => 'Видимостта на смарт албума има предимство пред видимостта на снимката.',
- 'TA_override_visibility' => 'Видимостта на албума с етикети има предимство пред видимостта на снимката.',
- 'slideshow_enabled' => 'Активиране на функционалността за слайдшоу.',
- 'user_registration_enabled' => 'Активиране на регистрация на потребители.',
- 'enable_colour_extractions' => 'Извличане на 5-те най-използвани цвята от изображението.',
- 'colour_extraction_driver' => 'Драйвер за извличане на цветове.',
- 'home_page_default' => 'Начална страница по подразбиране след началната (landing) страница',
- 'skip_duplicates_early' => 'Пропускане на дубликат по-рано при импортиране чрез командата sync.',
- 'sync_delete_missing_photos' => 'Снимки в Lychee, които не присъстват в синхронизираната директория, ще бъдат изтрити от техния целеви албум.',
- 'sync_delete_missing_albums' => 'Албуми в Lychee, които не присъстват в синхронизираната директория, ще бъдат изтрити от дървото.',
- 'sync_dry_run' => 'Изпълнение на деструктивната част от командата sync в тестов режим (dry-run).',
- 'user_invitation_ttl' => 'Максимално време на живот на връзките за покана в дни.',
- 'flow_enabled' => 'Активиране на Flow изглед',
- 'flow_public' => 'Позволяване на анонимни потребители достъп до Flow',
- 'flow_base' => 'ID на базов албум за Flow',
- 'flow_min_max_order' => 'Задаване на коя начална/крайна дата да се показва първа.',
- 'flow_max_items' => 'Максимален брой елементи във Flow',
- 'flow_strategy' => 'Стратегия на Flow',
- 'flow_include_sub_albums' => 'Включване на под-албуми във Flow',
- 'flow_include_photos_from_children' => 'Включване на снимки от под-албуми',
- 'flow_open_album_on_click' => 'Отваряне на албума при кликване',
- 'flow_display_open_album_button' => 'Показване на бутон за отваряне на албума',
- 'flow_highlight_first_picture' => 'Акцентиране върху първата снимка в албума вместо корицата на албума',
- 'flow_min_max_enabled' => 'Активиране на начална/крайна дата във Flow',
- 'flow_display_statistics' => 'Показване на статистика на албума във Flow',
- 'flow_compact_mode_enabled' => 'Активиране на компактен режим за Flow',
- 'flow_image_header_enabled' => 'Активиране на заглавно изображение във Flow',
- 'flow_image_header_cover' => 'Показване на заглавното изображение',
- 'flow_image_header_height' => 'Височина на заглавното изображение',
- 'flow_carousel_enabled' => 'Активиране на карусел с изображения във Flow',
- 'flow_carousel_height' => 'Височина на карусела',
- 'date_format_flow_published' => 'Форматиране на датата, показвана във Flow',
- 'date_format_flow_min_max' => 'Форматиране на началната/крайната дата.',
- 'flow_blur_nsfw_enabled' => 'Замъгляване на чувствителни албуми във Flow',
- 'hide_nsfw_in_flow' => 'Да не се показват чувствителни албуми във Flow',
- 'gallery_header_enabled' => 'Активиране на заглавно изображение в изгледа на галерията',
- 'gallery_header_logged_in_enabled' => 'Активиране на заглавно изображение в изгледа на галерията при влязъл потребител',
- 'gallery_header' => 'URL на заглавното изображение в изгледа на галерията',
- 'gallery_header_bar_transparent' => 'Направи заглавната лента прозрачна.',
- 'gallery_header_bar_gradient' => 'Добавяне на градиентен фон към заглавната лента.',
- 'import_via_url_forbidden_localhost' => 'Импортирането чрез URL не трябва да използва localhost',
- 'import_via_url_forbidden_local_ip' => 'Импортирането чрез URL не трябва да използва локални IP адреси',
- 'import_via_url_require_https' => 'Импортирането чрез URL трябва да използва HTTPS',
- 'import_via_url_forbidden_ports' => 'Импортирането чрез URL трябва да използва порт 80 или 443',
- 'owner_id' => 'Собственик на инсталацията',
- 'details_links_enabled' => 'Активиране на връзки към изображения в детайлите на снимката',
- 'details_links_public' => 'Позволяване на анонимни потребители достъп до връзки към изображения в детайлите',
- 'is_scroll_to_navigate_photos_enabled' => 'Активиране на превъртане с колелцето на мишката за навигация между снимките',
- 'is_swipe_vertically_to_go_back_enabled' => 'Активиране на жест за вертикално плъзгане върху снимка за връщане към албума',
- 'timeline_page_enabled' => 'Активиране на страницата за времева линия',
- 'timeline_quick_access_date_format_year' => 'Форматиране на годишната детайлност за бърз достъп в страницата на времевата линия',
- 'timeline_quick_access_date_format_month' => 'Форматиране на месечната детайлност за бърз достъп в страницата на времевата линия',
- 'timeline_quick_access_date_format_day' => 'Форматиране на дневната детайлност за бърз достъп в страницата на времевата линия',
- 'timeline_quick_access_date_format_hour' => 'Форматиране на почасовата детайлност за бърз достъп в страницата на времевата линия',
- 'photo_thumb_tags_enabled' => 'Показване на етикетите върху миниатюрата на снимката в изглед на албум',
- 'hide_nsfw_in_tag_albums' => 'Да не се показват чувствителни снимки в албуми с етикети',
- 'hide_nsfw_in_tag_listing' => 'Да не се показват чувствителни снимки в списъците с етикети',
- 'sorting_pinned_albums_col' => 'Колона по подразбиране за сортиране на подчертани албуми',
- 'sorting_pinned_albums_order' => 'Ред по подразбиране за сортиране на подчертани албуми',
- 'copyright_text' => 'Текст за авторски права (заменя съобщението по подразбиране)',
- 'watermark_enabled' => 'Активиране на воден знак върху снимките',
- 'watermark_photo_id' => 'ID на снимката за воден знак',
- 'watermark_random_path' => 'Използване на произволен път за изображения с воден знак',
- 'watermark_public' => 'Показване на воден знак върху публични снимки',
- 'watermark_logged_in_users_enabled' => 'Показване на воден знак на влезли потребители',
- 'watermark_original' => 'Поставяне на воден знак и върху оригиналната снимка',
- 'watermark_size' => 'Размер на водния знак върху изображението, от 1 до 100%',
- 'watermark_opacity' => 'Прозрачност на водния знак от 1 до 100%',
- 'watermark_position' => 'Позиция на водния знак върху изображението',
- 'watermark_shift_type' => 'Изместване на водния знак пропорционално на размера',
- 'watermark_shift_x' => 'Хоризонтално изместване',
- 'watermark_shift_x_direction' => 'Посока на хоризонталното изместване',
- 'watermark_shift_y' => 'Вертикално изместване',
- 'watermark_shift_y_direction' => 'Посока на вертикалното изместване',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Активиране на правила за преименуване',
- 'renamer_enforced' => 'Принудително прилагане на правилата за преименуване',
- 'renamer_enforced_before' => 'Прилагане на принудителните правила преди потребителските',
- 'renamer_enforced_after' => 'Прилагане на принудителните правила след потребителските',
- 'renamer_photo_title_enabled' => 'Активиране на правилата върху заглавията на снимките при импорт/качване',
- 'renamer_album_title_enabled' => 'Активиране на правилата върху заглавията на албумите при създаване',
- 'extract_zip_on_upload' => 'Разархивиране на качения zip файл и импортиране на съдържанието.',
- 'webshop_enabled' => 'Активиране на онлайн магазин',
- 'webshop_currency' => 'Валута за плащане',
- 'webshop_default_description' => 'Описание по подразбиране за артикули в магазина',
- 'webshop_allow_guest_checkout' => 'Позволяване на поръчка без акаунт (като гост)',
- 'webshop_terms_url' => 'URL към Общите условия',
- 'webshop_privacy_url' => 'URL към Политиката за поверителност',
- 'webshop_default_price_cents' => 'Цена по подразбиране в стотинки/центове',
- 'webshop_default_license' => 'Тип лиценз по подразбиране',
- 'webshop_default_size' => 'Вариант за размер по подразбиране',
- 'enable_untagged' => 'Активиране на смарт албум „Без етикети“.',
- 'photos_pagination_limit' => 'Максимален брой снимки за показване на страница в албумите.',
- 'webshop_offline' => 'Поддържане на магазина офлайн',
- 'deduplicate_pinned_albums' => 'Премахване на дублиращи се подчертани албуми.',
- 'desktop_dock_full_transparency_enabled' => 'Активиране на пълна прозрачност на лентата за настолни компютри.',
- 'mobile_dock_full_transparency_enabled' => 'Активиране на прозрачност на лентата за мобилни устройства.',
- 'enable_smart_album_per_owner' => 'Показване само на снимки, притежавани от потребителя, в смарт албумите.',
- 'album_layout' => 'Оформление на изгледа на албума по подразбиране.',
- 'albums_per_page' => 'Брой под-албуми на страница.',
- 'albums_pagination_ui_mode' => 'Режим на интерфейса за странициране на албумите.',
- 'albums_infinite_scroll_threshold' => 'Праг за автоматично зареждане (infinite scroll) на албуми.',
- 'photos_per_page' => 'Брой снимки на страница.',
- 'photos_pagination_ui_mode' => 'Режим на интерфейса за странициране на снимките.',
- 'photos_infinite_scroll_threshold' => 'Праг за автоматично зареждане (infinite scroll) на снимки.',
- 'enable_propagate_unlock_option' => 'Активиране на разпространението на отключването (unlock propagation).',
- 'rating_enabled' => 'Активиране на оценяването на снимки',
- 'rating_public' => 'Правене на оценките на снимките публични',
- 'rating_show_only_when_user_rated' => 'Показване на оценките само след като потребителят е дал своята',
- 'rating_show_avg_in_details' => 'Показване на средната оценка в панела с детайли на снимката',
- 'rating_photo_view_mode' => 'Показване на индикатор за оценка в пълен изглед на снимка',
- 'rating_show_avg_in_photo_view' => 'Показване на средната оценка в пълен изглед на снимка',
- 'rating_album_view_mode' => 'Показване на оценката върху миниатюрите в изглед на албум.',
- 'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниатюрите на снимките',
- 'import_via_url_block_redirect' => 'Импортирането чрез URL не трябва да следва пренасочвания',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Активиране на отказа от отговорност на LycheeOrg',
- 'webshop_auto_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките.',
- 'webshop_manual_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките при ръчно действие.',
- 'enable_photo_details_always_open' => 'Детайлите на снимката да са винаги видими.',
- 'album_enhanced_display_enabled' => 'Активиране на разширени функции на заглавната част на албума',
- 'album_header_size' => 'Размер на заглавната част на албума',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Използвайте стойност "disabled", за да маркирате тази настройка като изключена.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Имайте предвид, че е необходим достъп до избрания албум, за да видите рамката.
Бутонът ще бъде видим само ако условието е изпълнено.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Нефилтрирано HTML поле.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Тази настройка засяга само декодираното местоположение.',
- 'location_show_public' => 'Тази настройка засяга само декодираното местоположение.',
- 'gps_coordinate_display' => 'Деактивирането на това скрива информацията за географска ширина и дължина от всички потребители.',
- 'gps_coordinate_display_public' => 'Деактивирането на това скрива информацията за географска ширина и дължина от анонимни потребители.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Замъгляване на корицата на албума.',
- 'nsfw_warning' => 'Показване на предупреждение при първото отваряне на албума.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Нефилтрирано HTML поле.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = изключване на компресията (използва метод STORE), 0 = без компресия (използва метод DEFLATE), 1 = минимална компресия (бързо), ... 9 = максимална компресия (бавно)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Оригиналните изображения ще бъдат презаписани и компресирани.',
- 'random_album_id' => 'Албум по подразбиране, който да се показва; ако се остави празно, ще се използват всички снимки, достъпни за търсене.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'Вижте datetime.format.php',
- 'date_format_photo_overlay' => 'Вижте datetime.format.php',
- 'date_format_sidebar_uploaded' => 'Вижте datetime.format.php',
- 'date_format_sidebar_taken_at' => 'Вижте datetime.format.php',
- 'date_format_hero_min_max' => 'Вижте datetime.format.php',
- 'date_format_hero_created_at' => 'Вижте datetime.format.php',
- 'date_format_album_thumb' => 'Вижте datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Замъгляване на фона на предупреждението.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Деактивирането на този смарт албум ще направи снимките без албум невидими.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Показване на смарт албум, съдържащ снимки без рейтинг.',
- 'enable_1_star' => 'Показване на смарт албум със снимки с рейтинг от 1.0 до <2.0 звезди.',
- 'enable_2_stars' => 'Показване на смарт албум със снимки с рейтинг от 2.0 до <3.0 звезди.',
- 'enable_3_stars' => 'Показване на смарт албум със снимки с рейтинг 3.0 или повече звезди.',
- 'enable_4_stars' => 'Показване на смарт албум със снимки с рейтинг 4.0 или повече звезди.',
- 'enable_5_stars' => 'Показване на смарт албум със снимки с перфектен рейтинг 5.0.',
- 'enable_best_pictures' => 'Показване на смарт албум, съдържащ най-високо оценените снимки.',
- 'best_pictures_count' => 'Брой най-високо оценени снимки, които да се показват в албума "Най-добри снимки". Снимки с равен резултат при границата също се включват.',
- 'enable_my_rated_pictures' => 'Показва всички снимки, оценени от текущия потребител.',
- 'enable_my_best_pictures' => 'Показване на най-високо оценените снимки от текущия потребител.',
- 'my_best_pictures_count' => 'Брой най-високо оценени снимки, които да се показват в албума "Моите най-добри снимки". Снимки с равен резултат при границата също се включват.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Вземете Supporter Edition тук: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Показване на следващата снимка след x секунди.',
- 'keep_original_untouched' => 'В случай на автоматично завъртане, оригиналното изображение ще остане непроменено.',
- 'default_user_quota' => 'Стойност в KB, оставете 0 за деактивиране на квотата.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Глобално активиране на времеви линии за снимки във всеки албум. Това може да се активира/деактивира и за всеки албум поотделно.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'Това определя дали за подреждане на снимките ще се използва датата на заснемане или датата на качване.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Глобално активиране на времеви линии за албуми във всеки албум (и в корена). Това може да се активира/деактивира и за всеки албум поотделно.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'Вижте datetime.format.php',
- 'timeline_photo_date_format_month' => 'Вижте datetime.format.php',
- 'timeline_photo_date_format_day' => 'Вижте datetime.format.php',
- 'timeline_photo_date_format_hour' => 'Вижте datetime.format.php',
- 'timeline_album_date_format_year' => 'Вижте datetime.format.php',
- 'timeline_album_date_format_month' => 'Вижте datetime.format.php',
- 'timeline_album_date_format_day' => 'Вижте datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Снимките, поставени в чувствителни албуми, няма да се показват в Смарт Албуми.',
- 'hide_nsfw_in_frame' => 'Снимките, поставени в чувствителни албуми, няма да се показват в Рамката.',
- 'hide_nsfw_in_map' => 'Снимките, поставени в чувствителни албуми, няма да се показват на Картата.',
- 'hide_nsfw_in_search' => 'Снимките, поставени в чувствителни албуми, няма да се показват при Търсене.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Снимките, поставени в чувствителни албуми, няма да се показват в RSS емисията.',
- 'hide_nsfw_in_timeline' => 'Снимките, поставени в чувствителни албуми, няма да се показват на страницата с времевата линия.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'Това значително ще ускори времето за реакция на Lychee. Ако използвате защитени с парола албуми, не трябва да активирате това.',
- 'cache_event_logging' => 'Това може да доведе до голямо количество логове.',
- 'cache_ttl' => 'По-дълъг TTL ще спести повече ресурси, но може да доведе до остарели отговори.',
- 'low_number_of_shoots_per_day' => 'Това се използва за определяне на цвета в статистиката на punch card.',
- 'medium_number_of_shoots_per_day' => 'Това се използва за определяне на цвета в статистиката на punch card.',
- 'high_number_of_shoots_per_day' => 'Това се използва за определяне на цвета в статистиката на punch card.',
- 'maintenance_processing_limit' => 'По-голямо число ще обработва повече елементи наведнъж, но може да причини изтичане на времето (timeout).',
- 'disable_recursive_permission_check' => 'Страницата за диагностика може да е бавна, когато има много албуми и снимки. Тази опция деактивира рекурсивната проверка на правата за по-голяма скорост.',
- 'exif_disabled_for_all' => ' Това няма да премахне данните от API точката.',
- 'display_exif_data' => 'Ако е деактивирано, Exif данните няма да се показват в потребителския интерфейс.',
- 'file_name_hidden' => 'Влезлият потребител все още ще има достъп до заглавието.',
- 'client_side_favourite_enabled' => 'Любимите се съхраняват в локалното хранилище на браузъра.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'Ако е активирано, анонимните потребители ще бъдат измервани.',
- 'metrics_logged_in_users_enabed' => 'Ако е активирано, влезлите потребители също ще бъдат измервани (администраторите не се измерват).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Метриките на живо ви предоставят история на активността на вашата галерия.',
- 'live_metrics_access' => 'Ако е зададено на "admin", само администраторите могат да виждат метриките на живо.',
- 'live_metrics_max_time' => 'След това време метриките на живо ще бъдат изтрити.',
- 'photo_thumb_info' => 'Ако е избрано описание, датата също няма да се показва.',
- 'temporary_image_link_enabled' => 'Всички изображения ще бъдат предоставяни чрез подписан URL адрес. Това е функция за сигурност, която предотвратява "hotlinking" и неоторизиран достъп до изображения.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' Ако използвате кеширане на заявките, задайте стойност, по-висока от времето за изтичане на кеша.',
- 'secure_image_link_enabled' => 'Това гарантира, че връзките към изображенията не могат да бъдат налучкани.',
- 'photo_previous_next_size' => 'Тези бутони са скрити по подразбиране и стават видими само когато мишката се доближи до лявата или дясната страна на екрана.',
- 'SA_override_visibility' => ' Това ще направи видими всички снимки, отговарящи на условието на смарт албума.',
- 'TA_override_visibility' => ' Това ще направи видими всички снимки, отговарящи на условието на албума с етикети.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'Ако е деактивирано, новите потребители не могат да се регистрират сами.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'По-бавно: "league" прави пълно вземане на проби и използва ciede2000DeltaE за изчисляване на цветовата дистанция.
По-бързо: "farzai" използва точково вземане на проби и k-mean дистанция.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Използване на заглавието на снимката за проверка за дубликати в целевия албум.',
- 'sync_delete_missing_photos' => 'Тази опция е активна само ако dry_run е изключен.',
- 'sync_delete_missing_albums' => 'Тази опция е активна само ако dry_run е изключен.',
- 'sync_dry_run' => ' Ако е деактивирано, това ще позволи на командата за синхронизиране да изтрива албуми/снимки от вашата инстанция на Lychee.',
- 'user_invitation_ttl' => ' Връзките за покана не могат да бъдат отменени.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'Всички албуми в рамките на този албум ще бъдат включени в потока (оставете празно за основната директория).',
- 'flow_min_max_order' => 'Ако е зададено на "older_younger", по-старата дата ще се показва първа, в противен случай по-новата дата ще се показва първа.',
- 'flow_max_items' => 'По-ниско число ще изисква повече заявки, по-високо число ще консумира повече памет.',
- 'flow_strategy' => 'Изберете как се генерира потокът. "auto" ще включи всички албуми, "opt-in" ще включи само албуми, в които потокът е активиран.',
- 'flow_include_sub_albums' => 'Всички наследници на базовия албум ще бъдат включени в потока. Ако е деактивирано, ще бъдат включени само преките под-албуми.',
- 'flow_include_photos_from_children' => 'Ако даден албум няма снимки, но има под-албуми, ще се показват снимките от под-албумите.
Това НЕ се препоръчва. Последствията включват изчерпване на паметта, по-бавно време за зареждане, сривове...',
- 'flow_open_album_on_click' => 'Отиване в албума при кликване. Ако е деактивирано, снимките ще се показват директно.',
- 'flow_display_open_album_button' => 'В картата ще се показва бутон за отваряне на албума.',
- 'flow_highlight_first_picture' => 'Основната снимка, която се показва, е първата снимка в албума.',
- 'flow_min_max_enabled' => 'Показване на началната и крайната дата от снимките в албума в рамките на потока.',
- 'flow_display_statistics' => 'Ще се показва броят на прегледите, споделянията и изтеглянията на албума.',
- 'flow_compact_mode_enabled' => 'Ограничава описанието до 3 реда и скрива допълнителна информация като броя снимки и под-албуми.
Добавя и бутон "Покажи повече" за разгръщане.',
- 'flow_image_header_enabled' => 'Горната част на картата ще подчертава корицата на албума.',
- 'flow_image_header_cover' => 'Заглавното изображение може да се показва като корица (cover) или запълване (fit). "Cover" ще изреже изображението, за да пасне на заглавната част, докато "fit" ще го мащабира.',
- 'flow_image_header_height' => 'Височина на заглавното изображение в rem.',
- 'flow_carousel_enabled' => 'Показване на преглед на изображенията в карусел под заглавното изображение. Това се прилага само ако заглавното изображение е активирано.',
- 'flow_carousel_height' => 'Височина на карусела с изображения в rem.',
- 'date_format_flow_published' => 'Вижте datetime.format.php',
- 'date_format_flow_min_max' => 'Вижте datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Снимките от албуми, маркирани като чувствителни, ще бъдат замъглени в потока. Потребителите могат да ги отмъглят, като кликнат върху албума.',
- 'hide_nsfw_in_flow' => 'Албумите, маркирани като чувствителни, няма да се показват в потока.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'Ако е активирано, лентата на заглавието ще бъде прозрачна и заглавното изображение ще се вижда зад нея.',
- 'gallery_header_bar_gradient' => 'Ако е активирано, лентата на заглавието ще има градиентен фон за по-добра четимост на текста, в противен случай ще бъде прозрачна.',
- 'import_via_url_forbidden_localhost' => ' Деактивирането на това излага вашия localhost на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Деактивирането на това излага вашата вътрешна мрежа на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Деактивирането на това ще намали сигурността на функционалността за импортиране чрез URL.',
- 'import_via_url_forbidden_ports' => ' Деактивирането на това ще позволи на импортирането чрез URL да използва всякакви портове, което може да доведе до Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Промяната на тази стойност ще позволи на друг администратор да поеме контрола над сървъра.',
- 'details_links_enabled' => 'Добавяне на малък модул за лесно копиране на URL адресите на снимките в панела с детайли.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'Вижте datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'Вижте datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'Вижте datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'Вижте datetime.format.php',
- 'photo_thumb_tags_enabled' => 'Ако описанието е активирано върху миниматюрата на снимката, етикетите няма да се показват.',
- 'hide_nsfw_in_tag_albums' => 'Снимките, поставени в чувствителни албуми, няма да се показват в албуми с етикети.',
- 'hide_nsfw_in_tag_listing' => 'Снимките, поставени в чувствителни албуми, няма да се показват в списъка със снимки за даден етикет.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Качените снимки ще бъдат брандирани с конфигурирания воден знак.',
- 'watermark_photo_id' => 'ID на снимката (24-символна последователност), използвана за воден знак. Препоръчваме PNG с прозрачност.',
- 'watermark_random_path' => 'Ако е деактивирано, пътят до изображението на водния знак ще бъде същият като текущия, но със суфикс.',
- 'watermark_public' => 'Анонимните потребители ще виждат снимките с воден знак.',
- 'watermark_logged_in_users_enabled' => 'Влезлите потребители ще виждат снимките с воден знак.',
- 'watermark_original' => '',
- 'watermark_size' => 'Това представлява количеството от изображението, покрито от водния знак.',
- 'watermark_opacity' => '1 - почти невидимо, 100 - напълно непрозрачно. Препоръчваме да не падате под 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'При използване на "относително" (relative), водният знак ще бъде изместен пропорционално на размера на изображението.
При използване на "абсолютно" (absolute), той ще бъде изместен с определен брой пиксели.',
- 'watermark_shift_x' => 'Брой пиксели/пропорционално изместване, приложено хоризонтално към водния знак.',
- 'watermark_shift_x_direction' => 'Посока на хоризонталното изместване: наляво или надясно?',
- 'watermark_shift_y' => 'Брой пиксели/пропорционално изместване, приложено вертикално към водния знак.',
- 'watermark_shift_y_direction' => 'Посока на вертикалното изместване: нагоре или надолу?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'Това ви позволява да преименувате файлове въз основа на правила, дефинирани в модула за преименуване.',
- 'renamer_enforced' => 'Правилата, дефинирани от собственика на инстанцията на Lychee, ще се прилагат независимо от потребителските настройки.',
- 'renamer_enforced_before' => 'Правилата на собственика ще се прилагат преди правилата на потребителя.',
- 'renamer_enforced_after' => 'Правилата на собственика ще се прилагат след правилата на потребителя.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip файлът ще остане на сървъра ви, освен ако не бъде извлечен правилно без грешки (след което се премахва).',
- 'webshop_enabled' => 'Албумите и снимките могат да бъдат зададени като артикули за покупка.',
- 'webshop_currency' => 'Валутата, в която се показват и таксуват цените. Трябва да бъде валиден ISO 4217 код.',
- 'webshop_default_description' => 'Това описание се използва, когато не е предоставено друго описание за албум или снимка.',
- 'webshop_allow_guest_checkout' => 'Позволява на клиентите да плащат без създаване на акаунт.',
- 'webshop_terms_url' => 'Опционален URL към страницата с Общите условия.',
- 'webshop_privacy_url' => 'Опционален URL към страницата с Политиката за поверителност.',
- 'webshop_default_price_cents' => 'Цената по подразбиране (в центове/стотинки) за нови артикули за покупка.',
- 'webshop_default_license' => 'Тип лиценз по подразбиране за нови артикули за покупка.',
- 'webshop_default_size' => 'Размер по подразбиране за нови артикули за покупка.',
- 'enable_untagged' => 'Дали в галерията да е наличен смарт албум, съдържащ всички снимки без етикети.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'Цялата обработка на плащания ще бъде прескочена. Поръчките ще бъдат маркирани като OFFLINE вместо да преминават през платежния поток.',
- 'deduplicate_pinned_albums' => 'Подчертаните (featured) албуми ще се появяват само веднъж на основната страница на галерията.',
- 'desktop_dock_full_transparency_enabled' => 'В изгледа на снимка, действията в горната част на страницата са леко прозрачни. Активирайте това, за да бъдат напълно прозрачни и да се появяват само при посочване с мишката.',
- 'mobile_dock_full_transparency_enabled' => ' Това ще повлияе на използваемостта на мобилни устройства. В изгледа на снимка, действията в горната част са леко прозрачни. Активирайте това, за да бъдат напълно прозрачни и да се появяват само при докосване.',
- 'enable_smart_album_per_owner' => 'Тази настройка се прилага само за влезли потребители. "Заобикаляне на видимостта на смарт албумите" трябва да бъде деактивирано, за да има ефект.',
- 'album_layout' => 'Изберете между мрежа (карти с миниматюри) или списък (детайлни редове) за изглед на албумите. Потребителите могат да превключват изгледа, но предпочитанието не се запазва при опресняване на страницата.',
- 'albums_per_page' => 'Брой под-албуми за показване на страница в страницираните изгледи. Тази настройка контролира колко под-албума се зареждат при преглед на албум, съдържащ други албуми. По-голямо число означава повече албуми на страница, но може да увеличи времето за зареждане.',
- 'albums_pagination_ui_mode' => 'Контролира как се показва страницирането на албумите: infinite_scroll (автоматично зареждане при превъртане), load_more_button (ръчен бутон "Зареди още") или page_navigation (номера на страници с предишна/следваща).',
- 'albums_infinite_scroll_threshold' => 'Брой височини на екрана от дъното на страницата, при които да се задейства зареждането на следващата страница с албуми при безкрайно превъртане. По-висока стойност означава по-ранно зареждане.',
- 'photos_per_page' => 'Брой снимки за показване на страница в страницираните изгледи. По-голямо число означава повече снимки на страница, но може да увеличи времето за зареждане и използването на ресурси.',
- 'photos_pagination_ui_mode' => 'Контролира как се показва страницирането на снимките: infinite_scroll, load_more_button или page_navigation.',
- 'photos_infinite_scroll_threshold' => 'Брой височини на екрана от дъното на страницата, при които да се задейства зареждането на следващата страница със снимки при безкрайно превъртане.',
- 'enable_propagate_unlock_option' => 'При отключване на албум с парола, да се отключват и всички албуми със същата парола.
Това може да доведе до проблеми с поверителността, ако различни потребители споделят една и съща парола за албум.',
- 'rating_enabled' => 'Основен превключвател за активиране или деактивиране на функцията за оценяване на снимки.',
- 'rating_public' => 'Позволява на всички потребители (включително нерегистрирани посетители) да виждат оценките на снимките.',
- 'rating_show_only_when_user_rated' => 'Показване на оценките (потребителски или средни) само след като потребителят е изпратил своята собствена оценка.',
- 'rating_show_avg_in_details' => 'Показване на средната оценка и броя на гласовете в страничната лента с детайли, вместо индивидуалната оценка на потребителя.',
- 'rating_photo_view_mode' => 'Контролира видимостта на индикатора за оценка: винаги видим, при посочване или никога.',
- 'rating_show_avg_in_photo_view' => 'Показване на средната оценка при преглед на снимка в пълен размер, вместо оценката на потребителя.',
- 'rating_album_view_mode' => 'Контролира видимостта на оценката върху миниматюрите: винаги видима, при посочване или никога.',
- 'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниматюрите на снимките в изглед на албум, вместо оценката на потребителя.',
- 'import_via_url_block_redirect' => ' Деактивирането на това излага вашия localhost на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee се предоставя под MIT лиценз без никакви гаранции. Деактивирането на тази опция премахва отказа от отговорност от страницата за поръчка.',
- 'webshop_auto_fulfill_enabled' => 'След приключване на плащането, съдържанието автоматично става достъпно за потребителя, когато е възможно.',
- 'webshop_manual_fulfill_enabled' => 'Когато се кликне върху "Маркирай като доставено", съдържанието автоматично става достъпно за потребителя, когато е възможно.',
- 'enable_photo_details_always_open' => 'При отваряне на изгледа на снимка, панелът с детайли винаги е видим.',
- 'album_enhanced_display_enabled' => 'Опция за включване на нов стил на заглавната част с по-голямо заглавие, бутон „Отвори галерията“ и възможност за персонализиране на стила на заглавието.',
- 'album_header_size' => 'Опция за конфигуриране на размера на изображението в заглавната част.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
- 'category_name' => [
- 'config' => 'Основни',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Галерия',
- 'Mod Welcome' => 'Начална страница',
- 'Footer' => 'Футър',
- 'Smart Albums' => 'Интелигентни и избрани албуми',
- 'Image Processing' => 'Обработка на изображения',
- 'Mod Search' => 'Търсене',
- 'Mod Timeline' => 'Времева линия',
- 'Mod Frame' => 'Рамка',
- 'Mod Map' => 'Карта / GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Чувствително съдържание',
- 'Mod Back Button' => 'Обратно към началото',
- 'Mod Cache' => 'Кеш',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Опции за поверителност',
- 'Users Management' => 'Управление на потребители',
- 'Admin' => 'Администриране',
- 'access_permissions' => 'Права за достъп',
- 'Mod Flow' => 'Навигация',
- 'gestures' => 'Жестове',
- 'Mod Watermarker' => 'Воден знак',
- 'Mod Renamer' => 'Преименуване',
- 'Mod Rating' => 'Оценяване на снимки',
- 'Mod Webshop' => 'Уеб магазин',
- ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Отключете пълните възможности на Lychee със Supporter Edition. Вземете ексклузивни функции и подкрепете разработката на Lychee. Станете спонсор на LycheeOrg в GitHub и вземете вашия лицензионен ключ тук.',
- 'Gallery' => '',
- 'Mod Welcome' => 'Този модул активира начална страница. Вместо да попадате директно в изгледа на галерията, той добавя малко тържественост при влизането в уебсайта. Предоставете URL адреса на изображението, което да се показва, и задайте заглавие.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'Този модул позволява показването на албуми под формата на емисия (feed). Ще се показват само албуми със снимки; албумите, съдържащи само под-албуми, не са включени в Flow. Тъй като е чисто визуален модул, страницата Flow не позволява на потребителите да качват, местят и т.н.',
- 'gestures' => 'Конфигурирайте управлението с жестове за навигация в снимките.',
- 'Mod Watermarker' => 'Този модул активира поставянето на воден знак върху снимките. Водният знак се конфигурира чрез подаване на photoId
на изображението, което искате да приложите. Този идентификатор е последният 24-символен код в URL адреса, когато отворите изображение. Препоръчваме да използвате PNG изображение с прозрачен фон за по-добри резултати.
Активирането на този модул ще удвои използваното дисково пространство на вашия сървър.',
- 'Mod Renamer' => 'Този модул ви позволява автоматично да прилагате дефинирани от потребителя правила за преименуване по време на качване или импортиране чрез синхронизация.
Преименуването вероятно ще попречи на бързото откриване на дубликати за снимки/албуми, които са били преименувани чрез синхронизация.',
- 'Mod Rating' => 'Този модул активира оценяването на снимки. Потребителят може да зададе рейтинг от 1 до 5 звезди за всяка снимка. Средната оценка се показва там, където е конфигурирано.',
- 'Mod Webshop' => 'Този модул ви позволява да управлявате и продавате вашите снимки.
Lychee се разработва под MIT лиценз. Това означава, че LycheeOrg не носи отговорност нито е задължен за каквито и да било проблеми или загуби, произтичащи от използването на модула за онлайн магазин и/или възможностите за обработка на плащания. Изключително важно е да проверите и да се уверите, че вашата конфигурация работи правилно и сигурно, преди да я използвате в реална работна среда.',
- ],
+ 'documentation' => [
+ /*
+ |--------------------------------------------------------------------------
+ | All Settings
+ |--------------------------------------------------------------------------
+ */
+ 'version' => 'Текуща версия на Lychee',
+ 'check_for_updates' => 'Автоматична проверка за нови актуализации',
+ 'sorting_photos_col' => 'Колона по подразбиране за сортиране на снимки',
+ 'sorting_photos_order' => 'Ред по подразбиране за сортиране на снимки',
+ 'sorting_albums_col' => 'Колона по подразбиране за сортиране на албуми',
+ 'sorting_albums_order' => 'Ред по подразбиране за сортиране на албуми',
+ 'photos_star_visibility' => 'Кой може да вижда и да поставя звездичка (флаг) на изображение',
+ 'imagick' => 'Активиране на обработка с Imagick',
+ 'dropbox_key' => 'API ключ за Dropbox',
+ 'skip_duplicates' => 'Пропускане на дубликат, ако е открит при импортиране',
+ 'lang' => 'Език, използван от Lychee',
+ 'default_license' => 'Лиценз по подразбиране за албумите',
+ 'small_max_width' => 'Максимална ширина за малки миниатюри (изглед на албум)',
+ 'small_max_height' => 'Максимална височина за малки миниатюри (изглед на албум)',
+ 'medium_max_width' => 'Максимална ширина за средно голямо изображение (изглед на снимка)',
+ 'medium_max_height' => 'Максимална височина за средно голямо изображение (изглед на снимка)',
+ 'grants_full_photo_access' => 'Позволява достъп до пълната разделителна способност по подразбиране',
+ 'delete_imported' => 'Изтриване на оригиналите при импортиране от сървъра',
+ 'mod_frame_enabled' => 'Активиране на модул „Рамка“ (Frame)',
+ 'mod_frame_refresh' => 'Честота на опресняване на рамката',
+ 'image_overlay_type' => 'Информация за наслагване върху изображението по подразбиране',
+ 'compression_quality' => 'Процент на компресия при генериране на миниатюри',
+ 'landing_page_enable' => 'Показване на началната (landing) страница',
+ 'site_owner' => 'Собственик на уебсайта',
+ 'landing_title' => 'Заглавие на началната страница',
+ 'landing_subtitle' => 'Подзаглавие на началната страница',
+ 'sm_facebook_url' => 'URL на Facebook профил',
+ 'sm_flickr_url' => 'URL на Flickr профил',
+ 'sm_twitter_url' => 'URL на X профил (преди Twitter)',
+ 'sm_instagram_url' => 'URL на Instagram профил',
+ 'sm_youtube_url' => 'URL на YouTube профил',
+ 'thumb_2x' => 'Активиране на 2x размер за квадратни миниатюри',
+ 'small_2x' => 'Активиране на 2x размер за малки миниатюри',
+ 'medium_2x' => 'Активиране на 2x размер за средни изображения',
+ 'site_title' => 'Заглавие на уебсайта',
+ 'footer_show_copyright' => 'Показване на авторските права в долния колонтитул (footer).',
+ 'site_copyright_begin' => 'Начална година на авторските права',
+ 'site_copyright_end' => 'Последна година на авторските права',
+ 'allow_online_git_pull' => 'Позволяване на git pull чрез уеб интерфейса',
+ 'footer_additional_text' => 'Допълнителен текст за долния колонтитул.',
+ 'footer_show_social_media' => 'Показване на връзки към социални медии в долния колонтитул.',
+ 'search_public' => 'Позволява на анонимни потребители да използват лентата за търсене',
+ 'hide_version_number' => 'Скриване на номера на текущата версия',
+ 'recent_age' => 'Максимална възраст на снимките в „Скорошни“ (в дни)',
+ 'grants_download' => 'Разрешава изтеглянето по подразбиране.',
+ 'photos_wraparound' => 'При достигане на последната снимка в албума, връщане в началото',
+ 'raw_formats' => 'Позволени допълнителни формати (няма да се обработват)',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Показване на картата при наличие на GPS координати',
+ 'zip64' => 'Използване на 64-битов Zip вместо 32-битов',
+ 'map_display_public' => 'Позволяване на анонимни потребители да имат достъп до картата',
+ 'map_provider' => 'Определя доставчика на карти',
+ 'map_include_subalbums' => 'Включване на снимките от под-албумите в картата',
+ 'update_check_every_days' => 'Честота на проверките за актуализация на Lychee',
+ 'has_exiftool' => 'Определя дали е налична обработка чрез exiftool',
+ 'share_button_visible' => 'Видимост на бутона за споделяне в заглавната част',
+ 'has_ffmpeg' => 'Определя дали е налична обработка чрез ffmpeg',
+ 'import_via_symlink' => 'Използване на символни връзки вместо копиране на оригинала при импорт от сървър',
+ 'apply_composer_update' => 'Прилагане на composer update при актуализиране на Lychee чрез уеб интерфейс',
+ 'location_decoding' => 'Използване на декодиране на GPS местоположение',
+ 'location_decoding_timeout' => 'Време за изчакване (timeout) на заявките за GPS декодиране',
+ 'location_show' => 'Показване на местоположението, извлечено от GPS координати',
+ 'location_show_public' => 'Анонимните потребители могат да виждат местоположението от GPS координатите',
+ 'gps_coordinate_display' => 'Показване на GPS координатите.',
+ 'gps_coordinate_display_public' => 'Позволяване на анонимни потребители да виждат GPS координатите.',
+ 'rss_enable' => 'Активиране на RSS емисия',
+ 'rss_recent_days' => 'Показване на последните X дни в RSS емисията',
+ 'rss_max_items' => 'Максимален брой елементи в RSS емисията',
+ 'prefer_available_xmp_metadata' => 'Използване на sidecar файл, ако е наличен, вместо exif метаданни',
+ 'editor_enabled' => 'Активиране на ръчно завъртане на изображения',
+ 'lossless_optimization' => 'Прилагане на допълнителна компресия върху изображенията',
+ 'local_takestamp_video_formats' => 'Използване на локален времеви маркер (takestamp) за следните видео формати',
+ 'log_max_num_line' => 'Показване на последните X реда в системните дневници (Logs)',
+ 'unlock_password_photos_with_url_param' => 'Позволяване на предаване на парола като URL параметър за отключване на албуми',
+ 'nsfw_visible' => 'Правене на чувствителните албуми видими по подразбиране',
+ 'nsfw_blur' => 'Замъгляване на чувствителните албуми',
+ 'nsfw_warning' => 'Активиране на предупреждение за чувствителни албуми',
+ 'nsfw_warning_admin' => 'Активиране на предупреждение за чувствителни албуми при влязъл администратор',
+ 'nsfw_banner_override' => 'Персонализиран текст за предупреждение вместо този по подразбиране.',
+ 'map_display_direction' => 'Показване на посоката на снимката върху картата, ако е налична',
+ 'album_subtitle_type' => 'Определя подзаглавието на албума в изгледа на албуми',
+ 'upload_processing_limit' => 'Максимален брой изображения, обработвани паралелно',
+ 'new_photos_notification' => 'Активиране на известия при добавяне на нови снимки',
+ 'zip_deflate_level' => 'Ниво на компресия на Zip архива.',
+ 'default_album_protection' => 'Защита по подразбиране за новосъздадени албуми',
+ 'allow_username_change' => 'Позволяване на потребителите да променят потребителското си име.',
+ 'album_decoration' => 'Показване на декорации върху корицата на албума (брой под-албуми и/или снимки)',
+ 'album_decoration_orientation' => 'Хоризонтално или вертикално подравняване на декорациите на албума',
+ 'auto_fix_orientation' => 'Автоматично завъртане на импортираните изображения',
+ 'random_album_id' => 'ID на албум, който да се използва за функцията за произволни снимки.',
+ 'use_last_modified_date_when_no_exif_date' => 'Използване на датата на последна промяна на файла, когато в Exif данните липсва дата на създаване',
+ 'ffmpeg_path' => 'Път до изпълнимия файл на ffmpeg',
+ 'ffprobe_path' => 'Път до изпълнимия файл на ffprobe',
+ 'layout' => 'Оформление на снимките',
+ 'date_format_photo_thumb' => 'Форматиране на датата за миниатюрите на снимките.',
+ 'date_format_photo_overlay' => 'Форматиране на датата за наслагването върху снимките.',
+ 'date_format_sidebar_uploaded' => 'Форматиране на датата на качване за страничната лента на снимката.',
+ 'date_format_sidebar_taken_at' => 'Форматиране на датата на заснемане за страничната лента на снимката.',
+ 'date_format_hero_min_max' => 'Форматиране на датата за заглавното изображение на албума.',
+ 'date_format_hero_created_at' => 'Форматиране на датата на създаване за детайлите на албума.',
+ 'date_format_album_thumb' => 'Форматиране на датата за миниатюрите на албумите.',
+ 'upload_chunk_size' => 'Размер на частите при качване в байтове: 0 е автоматично',
+ 'nsfw_banner_blur_backdrop' => 'Замъгляване на фона вместо тъмночервен непрозрачен цвят.',
+ 'search_pagination_limit' => 'Брой резултати за показване на страница.',
+ 'search_minimum_length_required' => 'Брой символи, необходими за задействане на търсене (по подразбиране: 4).',
+ 'photo_layout_justified_row_height' => 'Височина на редовете при подравнено (Justified) оформление',
+ 'photo_layout_masonry_column_width' => 'Минимална ширина на колоната при Masonry оформление.',
+ 'photo_layout_grid_column_width' => 'Минимална ширина на колоната при решетъчно (Grid) оформление.',
+ 'photo_layout_square_column_width' => 'Минимална ширина на колоната при квадратно (Square) оформление.',
+ 'photo_layout_gap' => 'Разстояние между колоните при Square/Masonry/Grid оформление.',
+ 'display_thumb_album_overlay' => 'Показване на заглавието и метаданните върху миниатюрите на албумите',
+ 'display_thumb_photo_overlay' => 'Показване на заглавието и метаданните върху миниатюрите на снимките',
+ 'default_album_thumb_aspect_ratio' => 'Съотношение на страните по подразбиране за миниатюрите на албумите',
+ 'use_album_compact_header' => 'Деактивиране на заглавното изображение в албумите',
+ 'back_button_enabled' => 'Активиране/деактивиране на бутона за връщане в галерията',
+ 'back_button_text' => 'Текст на бутона за връщане (ще бъде разположен срещу бутона за вход)',
+ 'back_button_url' => 'Връзка на бутона за връщане',
+ 'SA_random_thumbs' => 'Използване на произволни миниатюри вместо избрани или по ред на сортиране.',
+ 'login_required' => 'Изискване за вход за достъп до галерията.',
+ 'enable_unsorted' => 'Активиране на смарт албум „Несортирани“.',
+ 'enable_highlighted' => 'Активиране на смарт албум „Избрани“.',
+ 'enable_recent' => 'Активиране на смарт албум „Скорошно качени“.',
+ 'enable_on_this_day' => 'Активиране на смарт албум „На този ден“.',
+ 'enable_unrated' => 'Активиране на смарт албум „Без оценка“.',
+ 'enable_1_star' => 'Активиране на смарт албум „1 звезда“.',
+ 'enable_2_stars' => 'Активиране на смарт албум „2 звезди“.',
+ 'enable_3_stars' => 'Активиране на смарт албум „3+ звезди“.',
+ 'enable_4_stars' => 'Активиране на смарт албум „4+ звезди“.',
+ 'enable_5_stars' => 'Активиране на смарт албум „5 звезди“.',
+ 'enable_best_pictures' => 'Активиране на смарт албум „Най-добри снимки“.',
+ 'best_pictures_count' => 'Брой снимки в албума „Най-добри снимки“.',
+ 'enable_my_rated_pictures' => 'Активиране на смарт албум „Моите оценени снимки“.',
+ 'enable_my_best_pictures' => 'Активиране на смарт албум „Моите най-добри снимки“.',
+ 'my_best_pictures_count' => 'Брой снимки в албума „Моите най-добри снимки“.',
+ 'oauth_create_user_on_first_attempt' => 'Позволяване на създаване на потребител, когато OAuth ID не съществува.',
+ 'grant_new_user_upload_rights' => 'Новосъздадените потребители имат право да качват съдържание.',
+ 'grant_new_user_modification_rights' => 'Новосъздадените потребители имат право да редактират профила си.',
+ 'login_required_root_only' => 'Изискване за вход само за началната страница. Потребител с директна връзка към албум все още може да го отвори.',
+ 'exiftool_path' => 'Път до изпълнимия файл на exiftool.',
+ 'thumb_min_max_order' => 'Задаване на коя дата да се показва първа в миниатюрата.',
+ 'header_min_max_order' => 'Задаване на коя дата да се показва първа в заглавната част.',
+ 'autoplay_enabled' => 'Задаване на атрибут за автоматично пускане на видеоклипове.',
+ 'dark_mode_enabled' => 'Използване на тъмен режим за Lychee',
+ 'show_keybinding_help_popup' => 'Показване на помощ за клавишните комбинации при влизане.',
+ 'show_keybinding_help_button' => 'Показване на бутон за помощ за клавишните комбинации в заглавната част.',
+ 'email' => 'Имейл, използван при заявяване на лиценза.',
+ 'license_key' => 'Лицензионен ключ за Lychee',
+ 'disable_se_call_for_actions' => 'Деактивиране на информацията за Lychee SE',
+ 'enable_se_preview' => 'Преглед на функциите на Lychee SE',
+ 'slideshow_timeout' => 'Честота на опресняване на слайдшоуто в секунди.',
+ 'keep_original_untouched' => 'Запазване на оригиналното изображение непроменено.',
+ 'default_user_quota' => 'Квота за пространство по подразбиране за нови потребители.',
+ 'low_quality_image_placeholder' => 'Активиране на контейнери (placeholders) за изображения с ниско качество',
+ 'timeline_photos_enabled' => 'Активиране на времева линия за снимки',
+ 'timeline_photos_public' => 'Позволяване на анонимни потребители да виждат времевата линия на снимките',
+ 'timeline_photos_granularity' => 'Детайлност на времевата линия за снимки',
+ 'timeline_photos_order' => 'Подреждане на снимките по',
+ 'timeline_photos_layout' => 'Оформление на снимките за страницата с времевата линия',
+ 'timeline_photos_pagination_limit' => 'Брой снимки за показване на страница във времевата линия',
+ 'timeline_albums_enabled' => 'Активиране на времева линия за албуми',
+ 'timeline_albums_public' => 'Показване на времевата линия на албумите за анонимни потребители',
+ 'timeline_albums_granularity' => 'Детайлност на времевата линия за албуми',
+ 'timeline_left_border_enabled' => 'Активиране на лявата гранична линия в графиките на времевата линия',
+ 'timeline_photo_date_format_year' => 'Форматиране на датата при годишна детайлност за снимки',
+ 'timeline_photo_date_format_month' => 'Форматиране на датата при месечна детайлност за снимки',
+ 'timeline_photo_date_format_day' => 'Форматиране на датата при дневна детайлност за снимки',
+ 'timeline_photo_date_format_hour' => 'Форматиране на датата при почасова детайлност за снимки',
+ 'timeline_album_date_format_year' => 'Форматиране на датата при годишна детайлност за албуми',
+ 'timeline_album_date_format_month' => 'Форматиране на датата при месечна детайлност за албуми',
+ 'timeline_album_date_format_day' => 'Форматиране на датата при дневна детайлност за албуми',
+ 'hide_nsfw_in_smart_albums' => 'Да не се показват чувствителни снимки в Смарт Албумите',
+ 'hide_nsfw_in_frame' => 'Да не се показват чувствителни снимки в Рамката',
+ 'hide_nsfw_in_map' => 'Да не се показват чувствителни снимки в Картата',
+ 'hide_nsfw_in_search' => 'Да не се показват чувствителни снимки при Търсене',
+ 'search_photos_layout' => 'Оформление на снимките за страницата за търсене',
+ 'hide_nsfw_in_rss' => 'Да не се показват чувствителни снимки в RSS',
+ 'hide_nsfw_in_timeline' => 'Да не се показват чувствителни снимки във Времевата линия',
+ 'number_albums_per_row_mobile' => 'Брой албуми на ред в мобилен изглед',
+ 'cache_enabled' => 'Активиране на кеширане на отговорите при заявки.',
+ 'cache_event_logging' => 'Добавяне на редове в дневника за събития, свързани с кеширането.',
+ 'cache_ttl' => 'Брой секунди, през които отговорите трябва да се кешират.',
+ 'low_number_of_shoots_per_day' => 'Брой кадри на ден, които да се считат за малко.',
+ 'medium_number_of_shoots_per_day' => 'Брой кадри на ден, които да се считат за средно.',
+ 'high_number_of_shoots_per_day' => 'Брой кадри на ден, които да се считат за много.',
+ 'maintenance_processing_limit' => 'Брой операции по поддръжка, които да се изпълняват.',
+ 'disable_recursive_permission_check' => 'Деактивиране на рекурсивната проверка на правата.',
+ 'exif_disabled_for_all' => 'Деактивиране на детайлите и панелите за наслагване в потребителския интерфейс.',
+ 'display_exif_data' => 'Показване на Exif данни.',
+ 'file_name_hidden' => 'Да не се показва заглавието на снимката на анонимни потребители.',
+ 'client_side_favourite_enabled' => 'Позволяване на посетителите да маркират снимки като любими.',
+ 'default_old_settings' => 'Изгледът на настройките да бъде чрез текстови полета по подразбиране.',
+ 'default_expert_settings' => 'Изгледът за експертни настройки да е активиран по подразбиране.',
+ 'default_all_settings' => 'Показване на всички настройки на една страница.',
+ 'disable_thumb_download' => 'Забрана на изтеглянето на квадратни миниатюри',
+ 'disable_thumb2x_download' => 'Забрана на изтеглянето на HiDPI квадратни миниатюри',
+ 'disable_small_download' => 'Забрана на изтеглянето на малки миниатюри',
+ 'disable_small2x_download' => 'Забрана на изтеглянето на HiDPI малки миниатюри',
+ 'disable_medium_download' => 'Забрана на изтеглянето на средни изображения',
+ 'disable_medium2x_download' => 'Забрана на изтеглянето на HiDPI средни изображения',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Активиране на статистика за снимки и албуми',
+ 'metrics_logged_in_users_enabed' => 'Активиране на статистика за влезли потребители',
+ 'metrics_access' => 'Ниво на достъп до статистиката на албума/снимката',
+ 'live_metrics_enabled' => 'Активиране на статистика в реално време',
+ 'live_metrics_access' => 'Ниво на достъп до метриките на живо',
+ 'live_metrics_max_time' => 'Максимална възраст на метриките на живо в дни',
+ 'photo_thumb_info' => 'Избор на информацията, показвана върху миниатюрата на снимката',
+ 'temporary_image_link_enabled' => 'Активиране на временни връзки към изображения',
+ 'temporary_image_link_when_logged_in' => 'Активиране на временни връзки за влезли потребители',
+ 'temporary_image_link_when_admin' => 'Активиране на временни връзки за администратори',
+ 'temporary_image_link_life_in_seconds' => 'Максимално време на живот на временните връзки в секунди (по подразбиране е 86400 сек = 24 часа)',
+ 'secure_image_link_enabled' => 'Криптиране на връзките към изображенията за по-голяма защита',
+ 'photo_previous_next_size' => 'Избор на размера на бутоните „предишна/следваща“ в изгледа на снимка.',
+ 'SA_override_visibility' => 'Видимостта на смарт албума има предимство пред видимостта на снимката.',
+ 'TA_override_visibility' => 'Видимостта на албума с етикети има предимство пред видимостта на снимката.',
+ 'slideshow_enabled' => 'Активиране на функционалността за слайдшоу.',
+ 'user_registration_enabled' => 'Активиране на регистрация на потребители.',
+ 'enable_colour_extractions' => 'Извличане на 5-те най-използвани цвята от изображението.',
+ 'colour_extraction_driver' => 'Драйвер за извличане на цветове.',
+ 'home_page_default' => 'Начална страница по подразбиране след началната (landing) страница',
+ 'skip_duplicates_early' => 'Пропускане на дубликат по-рано при импортиране чрез командата sync.',
+ 'sync_delete_missing_photos' => 'Снимки в Lychee, които не присъстват в синхронизираната директория, ще бъдат изтрити от техния целеви албум.',
+ 'sync_delete_missing_albums' => 'Албуми в Lychee, които не присъстват в синхронизираната директория, ще бъдат изтрити от дървото.',
+ 'sync_dry_run' => 'Изпълнение на деструктивната част от командата sync в тестов режим (dry-run).',
+ 'user_invitation_ttl' => 'Максимално време на живот на връзките за покана в дни.',
+ 'flow_enabled' => 'Активиране на Flow изглед',
+ 'flow_public' => 'Позволяване на анонимни потребители достъп до Flow',
+ 'flow_base' => 'ID на базов албум за Flow',
+ 'flow_min_max_order' => 'Задаване на коя начална/крайна дата да се показва първа.',
+ 'flow_max_items' => 'Максимален брой елементи във Flow',
+ 'flow_strategy' => 'Стратегия на Flow',
+ 'flow_include_sub_albums' => 'Включване на под-албуми във Flow',
+ 'flow_include_photos_from_children' => 'Включване на снимки от под-албуми',
+ 'flow_open_album_on_click' => 'Отваряне на албума при кликване',
+ 'flow_display_open_album_button' => 'Показване на бутон за отваряне на албума',
+ 'flow_highlight_first_picture' => 'Акцентиране върху първата снимка в албума вместо корицата на албума',
+ 'flow_min_max_enabled' => 'Активиране на начална/крайна дата във Flow',
+ 'flow_display_statistics' => 'Показване на статистика на албума във Flow',
+ 'flow_compact_mode_enabled' => 'Активиране на компактен режим за Flow',
+ 'flow_image_header_enabled' => 'Активиране на заглавно изображение във Flow',
+ 'flow_image_header_cover' => 'Показване на заглавното изображение',
+ 'flow_image_header_height' => 'Височина на заглавното изображение',
+ 'flow_carousel_enabled' => 'Активиране на карусел с изображения във Flow',
+ 'flow_carousel_height' => 'Височина на карусела',
+ 'date_format_flow_published' => 'Форматиране на датата, показвана във Flow',
+ 'date_format_flow_min_max' => 'Форматиране на началната/крайната дата.',
+ 'flow_blur_nsfw_enabled' => 'Замъгляване на чувствителни албуми във Flow',
+ 'hide_nsfw_in_flow' => 'Да не се показват чувствителни албуми във Flow',
+ 'gallery_header_enabled' => 'Активиране на заглавно изображение в изгледа на галерията',
+ 'gallery_header_logged_in_enabled' => 'Активиране на заглавно изображение в изгледа на галерията при влязъл потребител',
+ 'gallery_header' => 'URL на заглавното изображение в изгледа на галерията',
+ 'gallery_header_bar_transparent' => 'Направи заглавната лента прозрачна.',
+ 'gallery_header_bar_gradient' => 'Добавяне на градиентен фон към заглавната лента.',
+ 'import_via_url_forbidden_localhost' => 'Импортирането чрез URL не трябва да използва localhost',
+ 'import_via_url_forbidden_local_ip' => 'Импортирането чрез URL не трябва да използва локални IP адреси',
+ 'import_via_url_require_https' => 'Импортирането чрез URL трябва да използва HTTPS',
+ 'import_via_url_forbidden_ports' => 'Импортирането чрез URL трябва да използва порт 80 или 443',
+ 'owner_id' => 'Собственик на инсталацията',
+ 'details_links_enabled' => 'Активиране на връзки към изображения в детайлите на снимката',
+ 'details_links_public' => 'Позволяване на анонимни потребители достъп до връзки към изображения в детайлите',
+ 'is_scroll_to_navigate_photos_enabled' => 'Активиране на превъртане с колелцето на мишката за навигация между снимките',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Активиране на жест за вертикално плъзгане върху снимка за връщане към албума',
+ 'timeline_page_enabled' => 'Активиране на страницата за времева линия',
+ 'timeline_quick_access_date_format_year' => 'Форматиране на годишната детайлност за бърз достъп в страницата на времевата линия',
+ 'timeline_quick_access_date_format_month' => 'Форматиране на месечната детайлност за бърз достъп в страницата на времевата линия',
+ 'timeline_quick_access_date_format_day' => 'Форматиране на дневната детайлност за бърз достъп в страницата на времевата линия',
+ 'timeline_quick_access_date_format_hour' => 'Форматиране на почасовата детайлност за бърз достъп в страницата на времевата линия',
+ 'photo_thumb_tags_enabled' => 'Показване на етикетите върху миниатюрата на снимката в изглед на албум',
+ 'hide_nsfw_in_tag_albums' => 'Да не се показват чувствителни снимки в албуми с етикети',
+ 'hide_nsfw_in_tag_listing' => 'Да не се показват чувствителни снимки в списъците с етикети',
+ 'sorting_pinned_albums_col' => 'Колона по подразбиране за сортиране на подчертани албуми',
+ 'sorting_pinned_albums_order' => 'Ред по подразбиране за сортиране на подчертани албуми',
+ 'copyright_text' => 'Текст за авторски права (заменя съобщението по подразбиране)',
+ 'watermark_enabled' => 'Активиране на воден знак върху снимките',
+ 'watermark_photo_id' => 'ID на снимката за воден знак',
+ 'watermark_random_path' => 'Използване на произволен път за изображения с воден знак',
+ 'watermark_public' => 'Показване на воден знак върху публични снимки',
+ 'watermark_logged_in_users_enabled' => 'Показване на воден знак на влезли потребители',
+ 'watermark_original' => 'Поставяне на воден знак и върху оригиналната снимка',
+ 'watermark_size' => 'Размер на водния знак върху изображението, от 1 до 100%',
+ 'watermark_opacity' => 'Прозрачност на водния знак от 1 до 100%',
+ 'watermark_position' => 'Позиция на водния знак върху изображението',
+ 'watermark_shift_type' => 'Изместване на водния знак пропорционално на размера',
+ 'watermark_shift_x' => 'Хоризонтално изместване',
+ 'watermark_shift_x_direction' => 'Посока на хоризонталното изместване',
+ 'watermark_shift_y' => 'Вертикално изместване',
+ 'watermark_shift_y_direction' => 'Посока на вертикалното изместване',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Активиране на правила за преименуване',
+ 'renamer_enforced' => 'Принудително прилагане на правилата за преименуване',
+ 'renamer_enforced_before' => 'Прилагане на принудителните правила преди потребителските',
+ 'renamer_enforced_after' => 'Прилагане на принудителните правила след потребителските',
+ 'renamer_photo_title_enabled' => 'Активиране на правилата върху заглавията на снимките при импорт/качване',
+ 'renamer_album_title_enabled' => 'Активиране на правилата върху заглавията на албумите при създаване',
+ 'extract_zip_on_upload' => 'Разархивиране на качения zip файл и импортиране на съдържанието.',
+ 'webshop_enabled' => 'Активиране на онлайн магазин',
+ 'webshop_currency' => 'Валута за плащане',
+ 'webshop_default_description' => 'Описание по подразбиране за артикули в магазина',
+ 'webshop_allow_guest_checkout' => 'Позволяване на поръчка без акаунт (като гост)',
+ 'webshop_terms_url' => 'URL към Общите условия',
+ 'webshop_privacy_url' => 'URL към Политиката за поверителност',
+ 'webshop_default_price_cents' => 'Цена по подразбиране в стотинки/центове',
+ 'webshop_default_license' => 'Тип лиценз по подразбиране',
+ 'webshop_default_size' => 'Вариант за размер по подразбиране',
+ 'enable_untagged' => 'Активиране на смарт албум „Без етикети“.',
+ 'photos_pagination_limit' => 'Максимален брой снимки за показване на страница в албумите.',
+ 'webshop_offline' => 'Поддържане на магазина офлайн',
+ 'deduplicate_pinned_albums' => 'Премахване на дублиращи се подчертани албуми.',
+ 'desktop_dock_full_transparency_enabled' => 'Активиране на пълна прозрачност на лентата за настолни компютри.',
+ 'mobile_dock_full_transparency_enabled' => 'Активиране на прозрачност на лентата за мобилни устройства.',
+ 'enable_smart_album_per_owner' => 'Показване само на снимки, притежавани от потребителя, в смарт албумите.',
+ 'album_layout' => 'Оформление на изгледа на албума по подразбиране.',
+ 'albums_per_page' => 'Брой под-албуми на страница.',
+ 'albums_pagination_ui_mode' => 'Режим на интерфейса за странициране на албумите.',
+ 'albums_infinite_scroll_threshold' => 'Праг за автоматично зареждане (infinite scroll) на албуми.',
+ 'photos_per_page' => 'Брой снимки на страница.',
+ 'photos_pagination_ui_mode' => 'Режим на интерфейса за странициране на снимките.',
+ 'photos_infinite_scroll_threshold' => 'Праг за автоматично зареждане (infinite scroll) на снимки.',
+ 'enable_propagate_unlock_option' => 'Активиране на разпространението на отключването (unlock propagation).',
+ 'rating_enabled' => 'Активиране на оценяването на снимки',
+ 'rating_public' => 'Правене на оценките на снимките публични',
+ 'rating_show_only_when_user_rated' => 'Показване на оценките само след като потребителят е дал своята',
+ 'rating_show_avg_in_details' => 'Показване на средната оценка в панела с детайли на снимката',
+ 'rating_photo_view_mode' => 'Показване на индикатор за оценка в пълен изглед на снимка',
+ 'rating_show_avg_in_photo_view' => 'Показване на средната оценка в пълен изглед на снимка',
+ 'rating_album_view_mode' => 'Показване на оценката върху миниатюрите в изглед на албум.',
+ 'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниатюрите на снимките',
+ 'import_via_url_block_redirect' => 'Импортирането чрез URL не трябва да следва пренасочвания',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Активиране на отказа от отговорност на LycheeOrg',
+ 'webshop_auto_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките.',
+ 'webshop_manual_fulfill_enabled' => 'Активиране на автоматично изпълнение на поръчките при ръчно действие.',
+ 'enable_photo_details_always_open' => 'Детайлите на снимката да са винаги видими.',
+ 'album_enhanced_display_enabled' => 'Активиране на разширени функции на заглавната част на албума',
+ 'album_header_size' => 'Размер на заглавната част на албума',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Използвайте стойност "disabled", за да маркирате тази настройка като изключена.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Имайте предвид, че е необходим достъп до избрания албум, за да видите рамката.
Бутонът ще бъде видим само ако условието е изпълнено.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Нефилтрирано HTML поле.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Тази настройка засяга само декодираното местоположение.',
+ 'location_show_public' => 'Тази настройка засяга само декодираното местоположение.',
+ 'gps_coordinate_display' => 'Деактивирането на това скрива информацията за географска ширина и дължина от всички потребители.',
+ 'gps_coordinate_display_public' => 'Деактивирането на това скрива информацията за географска ширина и дължина от анонимни потребители.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Замъгляване на корицата на албума.',
+ 'nsfw_warning' => 'Показване на предупреждение при първото отваряне на албума.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Нефилтрирано HTML поле.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = изключване на компресията (използва метод STORE), 0 = без компресия (използва метод DEFLATE), 1 = минимална компресия (бързо), ... 9 = максимална компресия (бавно)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Оригиналните изображения ще бъдат презаписани и компресирани.',
+ 'random_album_id' => 'Албум по подразбиране, който да се показва; ако се остави празно, ще се използват всички снимки, достъпни за търсене.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'Вижте datetime.format.php',
+ 'date_format_photo_overlay' => 'Вижте datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'Вижте datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'Вижте datetime.format.php',
+ 'date_format_hero_min_max' => 'Вижте datetime.format.php',
+ 'date_format_hero_created_at' => 'Вижте datetime.format.php',
+ 'date_format_album_thumb' => 'Вижте datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Замъгляване на фона на предупреждението.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Деактивирането на този смарт албум ще направи снимките без албум невидими.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Показване на смарт албум, съдържащ снимки без рейтинг.',
+ 'enable_1_star' => 'Показване на смарт албум със снимки с рейтинг от 1.0 до <2.0 звезди.',
+ 'enable_2_stars' => 'Показване на смарт албум със снимки с рейтинг от 2.0 до <3.0 звезди.',
+ 'enable_3_stars' => 'Показване на смарт албум със снимки с рейтинг 3.0 или повече звезди.',
+ 'enable_4_stars' => 'Показване на смарт албум със снимки с рейтинг 4.0 или повече звезди.',
+ 'enable_5_stars' => 'Показване на смарт албум със снимки с перфектен рейтинг 5.0.',
+ 'enable_best_pictures' => 'Показване на смарт албум, съдържащ най-високо оценените снимки.',
+ 'best_pictures_count' => 'Брой най-високо оценени снимки, които да се показват в албума "Най-добри снимки". Снимки с равен резултат при границата също се включват.',
+ 'enable_my_rated_pictures' => 'Показва всички снимки, оценени от текущия потребител.',
+ 'enable_my_best_pictures' => 'Показване на най-високо оценените снимки от текущия потребител.',
+ 'my_best_pictures_count' => 'Брой най-високо оценени снимки, които да се показват в албума "Моите най-добри снимки". Снимки с равен резултат при границата също се включват.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Вземете Supporter Edition тук: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Показване на следващата снимка след x секунди.',
+ 'keep_original_untouched' => 'В случай на автоматично завъртане, оригиналното изображение ще остане непроменено.',
+ 'default_user_quota' => 'Стойност в KB, оставете 0 за деактивиране на квотата.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Глобално активиране на времеви линии за снимки във всеки албум. Това може да се активира/деактивира и за всеки албум поотделно.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'Това определя дали за подреждане на снимките ще се използва датата на заснемане или датата на качване.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Глобално активиране на времеви линии за албуми във всеки албум (и в корена). Това може да се активира/деактивира и за всеки албум поотделно.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'Вижте datetime.format.php',
+ 'timeline_photo_date_format_month' => 'Вижте datetime.format.php',
+ 'timeline_photo_date_format_day' => 'Вижте datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'Вижте datetime.format.php',
+ 'timeline_album_date_format_year' => 'Вижте datetime.format.php',
+ 'timeline_album_date_format_month' => 'Вижте datetime.format.php',
+ 'timeline_album_date_format_day' => 'Вижте datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Снимките, поставени в чувствителни албуми, няма да се показват в Смарт Албуми.',
+ 'hide_nsfw_in_frame' => 'Снимките, поставени в чувствителни албуми, няма да се показват в Рамката.',
+ 'hide_nsfw_in_map' => 'Снимките, поставени в чувствителни албуми, няма да се показват на Картата.',
+ 'hide_nsfw_in_search' => 'Снимките, поставени в чувствителни албуми, няма да се показват при Търсене.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Снимките, поставени в чувствителни албуми, няма да се показват в RSS емисията.',
+ 'hide_nsfw_in_timeline' => 'Снимките, поставени в чувствителни албуми, няма да се показват на страницата с времевата линия.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'Това значително ще ускори времето за реакция на Lychee. Ако използвате защитени с парола албуми, не трябва да активирате това.',
+ 'cache_event_logging' => 'Това може да доведе до голямо количество логове.',
+ 'cache_ttl' => 'По-дълъг TTL ще спести повече ресурси, но може да доведе до остарели отговори.',
+ 'low_number_of_shoots_per_day' => 'Това се използва за определяне на цвета в статистиката на punch card.',
+ 'medium_number_of_shoots_per_day' => 'Това се използва за определяне на цвета в статистиката на punch card.',
+ 'high_number_of_shoots_per_day' => 'Това се използва за определяне на цвета в статистиката на punch card.',
+ 'maintenance_processing_limit' => 'По-голямо число ще обработва повече елементи наведнъж, но може да причини изтичане на времето (timeout).',
+ 'disable_recursive_permission_check' => 'Страницата за диагностика може да е бавна, когато има много албуми и снимки. Тази опция деактивира рекурсивната проверка на правата за по-голяма скорост.',
+ 'exif_disabled_for_all' => ' Това няма да премахне данните от API точката.',
+ 'display_exif_data' => 'Ако е деактивирано, Exif данните няма да се показват в потребителския интерфейс.',
+ 'file_name_hidden' => 'Влезлият потребител все още ще има достъп до заглавието.',
+ 'client_side_favourite_enabled' => 'Любимите се съхраняват в локалното хранилище на браузъра.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'Ако е активирано, анонимните потребители ще бъдат измервани.',
+ 'metrics_logged_in_users_enabed' => 'Ако е активирано, влезлите потребители също ще бъдат измервани (администраторите не се измерват).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Метриките на живо ви предоставят история на активността на вашата галерия.',
+ 'live_metrics_access' => 'Ако е зададено на "admin", само администраторите могат да виждат метриките на живо.',
+ 'live_metrics_max_time' => 'След това време метриките на живо ще бъдат изтрити.',
+ 'photo_thumb_info' => 'Ако е избрано описание, датата също няма да се показва.',
+ 'temporary_image_link_enabled' => 'Всички изображения ще бъдат предоставяни чрез подписан URL адрес. Това е функция за сигурност, която предотвратява "hotlinking" и неоторизиран достъп до изображения.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' Ако използвате кеширане на заявките, задайте стойност, по-висока от времето за изтичане на кеша.',
+ 'secure_image_link_enabled' => 'Това гарантира, че връзките към изображенията не могат да бъдат налучкани.',
+ 'photo_previous_next_size' => 'Тези бутони са скрити по подразбиране и стават видими само когато мишката се доближи до лявата или дясната страна на екрана.',
+ 'SA_override_visibility' => ' Това ще направи видими всички снимки, отговарящи на условието на смарт албума.',
+ 'TA_override_visibility' => ' Това ще направи видими всички снимки, отговарящи на условието на албума с етикети.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'Ако е деактивирано, новите потребители не могат да се регистрират сами.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'По-бавно: "league" прави пълно вземане на проби и използва ciede2000DeltaE за изчисляване на цветовата дистанция.
По-бързо: "farzai" използва точково вземане на проби и k-mean дистанция.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Използване на заглавието на снимката за проверка за дубликати в целевия албум.',
+ 'sync_delete_missing_photos' => 'Тази опция е активна само ако dry_run е изключен.',
+ 'sync_delete_missing_albums' => 'Тази опция е активна само ако dry_run е изключен.',
+ 'sync_dry_run' => ' Ако е деактивирано, това ще позволи на командата за синхронизиране да изтрива албуми/снимки от вашата инстанция на Lychee.',
+ 'user_invitation_ttl' => ' Връзките за покана не могат да бъдат отменени.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'Всички албуми в рамките на този албум ще бъдат включени в потока (оставете празно за основната директория).',
+ 'flow_min_max_order' => 'Ако е зададено на "older_younger", по-старата дата ще се показва първа, в противен случай по-новата дата ще се показва първа.',
+ 'flow_max_items' => 'По-ниско число ще изисква повече заявки, по-високо число ще консумира повече памет.',
+ 'flow_strategy' => 'Изберете как се генерира потокът. "auto" ще включи всички албуми, "opt-in" ще включи само албуми, в които потокът е активиран.',
+ 'flow_include_sub_albums' => 'Всички наследници на базовия албум ще бъдат включени в потока. Ако е деактивирано, ще бъдат включени само преките под-албуми.',
+ 'flow_include_photos_from_children' => 'Ако даден албум няма снимки, но има под-албуми, ще се показват снимките от под-албумите.
Това НЕ се препоръчва. Последствията включват изчерпване на паметта, по-бавно време за зареждане, сривове...',
+ 'flow_open_album_on_click' => 'Отиване в албума при кликване. Ако е деактивирано, снимките ще се показват директно.',
+ 'flow_display_open_album_button' => 'В картата ще се показва бутон за отваряне на албума.',
+ 'flow_highlight_first_picture' => 'Основната снимка, която се показва, е първата снимка в албума.',
+ 'flow_min_max_enabled' => 'Показване на началната и крайната дата от снимките в албума в рамките на потока.',
+ 'flow_display_statistics' => 'Ще се показва броят на прегледите, споделянията и изтеглянията на албума.',
+ 'flow_compact_mode_enabled' => 'Ограничава описанието до 3 реда и скрива допълнителна информация като броя снимки и под-албуми.
Добавя и бутон "Покажи повече" за разгръщане.',
+ 'flow_image_header_enabled' => 'Горната част на картата ще подчертава корицата на албума.',
+ 'flow_image_header_cover' => 'Заглавното изображение може да се показва като корица (cover) или запълване (fit). "Cover" ще изреже изображението, за да пасне на заглавната част, докато "fit" ще го мащабира.',
+ 'flow_image_header_height' => 'Височина на заглавното изображение в rem.',
+ 'flow_carousel_enabled' => 'Показване на преглед на изображенията в карусел под заглавното изображение. Това се прилага само ако заглавното изображение е активирано.',
+ 'flow_carousel_height' => 'Височина на карусела с изображения в rem.',
+ 'date_format_flow_published' => 'Вижте datetime.format.php',
+ 'date_format_flow_min_max' => 'Вижте datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Снимките от албуми, маркирани като чувствителни, ще бъдат замъглени в потока. Потребителите могат да ги отмъглят, като кликнат върху албума.',
+ 'hide_nsfw_in_flow' => 'Албумите, маркирани като чувствителни, няма да се показват в потока.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'Ако е активирано, лентата на заглавието ще бъде прозрачна и заглавното изображение ще се вижда зад нея.',
+ 'gallery_header_bar_gradient' => 'Ако е активирано, лентата на заглавието ще има градиентен фон за по-добра четимост на текста, в противен случай ще бъде прозрачна.',
+ 'import_via_url_forbidden_localhost' => ' Деактивирането на това излага вашия localhost на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Деактивирането на това излага вашата вътрешна мрежа на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Деактивирането на това ще намали сигурността на функционалността за импортиране чрез URL.',
+ 'import_via_url_forbidden_ports' => ' Деактивирането на това ще позволи на импортирането чрез URL да използва всякакви портове, което може да доведе до Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Промяната на тази стойност ще позволи на друг администратор да поеме контрола над сървъра.',
+ 'details_links_enabled' => 'Добавяне на малък модул за лесно копиране на URL адресите на снимките в панела с детайли.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'Вижте datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'Вижте datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'Вижте datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'Вижте datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'Ако описанието е активирано върху миниматюрата на снимката, етикетите няма да се показват.',
+ 'hide_nsfw_in_tag_albums' => 'Снимките, поставени в чувствителни албуми, няма да се показват в албуми с етикети.',
+ 'hide_nsfw_in_tag_listing' => 'Снимките, поставени в чувствителни албуми, няма да се показват в списъка със снимки за даден етикет.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Качените снимки ще бъдат брандирани с конфигурирания воден знак.',
+ 'watermark_photo_id' => 'ID на снимката (24-символна последователност), използвана за воден знак. Препоръчваме PNG с прозрачност.',
+ 'watermark_random_path' => 'Ако е деактивирано, пътят до изображението на водния знак ще бъде същият като текущия, но със суфикс.',
+ 'watermark_public' => 'Анонимните потребители ще виждат снимките с воден знак.',
+ 'watermark_logged_in_users_enabled' => 'Влезлите потребители ще виждат снимките с воден знак.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'Това представлява количеството от изображението, покрито от водния знак.',
+ 'watermark_opacity' => '1 - почти невидимо, 100 - напълно непрозрачно. Препоръчваме да не падате под 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'При използване на "относително" (relative), водният знак ще бъде изместен пропорционално на размера на изображението.
При използване на "абсолютно" (absolute), той ще бъде изместен с определен брой пиксели.',
+ 'watermark_shift_x' => 'Брой пиксели/пропорционално изместване, приложено хоризонтално към водния знак.',
+ 'watermark_shift_x_direction' => 'Посока на хоризонталното изместване: наляво или надясно?',
+ 'watermark_shift_y' => 'Брой пиксели/пропорционално изместване, приложено вертикално към водния знак.',
+ 'watermark_shift_y_direction' => 'Посока на вертикалното изместване: нагоре или надолу?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'Това ви позволява да преименувате файлове въз основа на правила, дефинирани в модула за преименуване.',
+ 'renamer_enforced' => 'Правилата, дефинирани от собственика на инстанцията на Lychee, ще се прилагат независимо от потребителските настройки.',
+ 'renamer_enforced_before' => 'Правилата на собственика ще се прилагат преди правилата на потребителя.',
+ 'renamer_enforced_after' => 'Правилата на собственика ще се прилагат след правилата на потребителя.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip файлът ще остане на сървъра ви, освен ако не бъде извлечен правилно без грешки (след което се премахва).',
+ 'webshop_enabled' => 'Албумите и снимките могат да бъдат зададени като артикули за покупка.',
+ 'webshop_currency' => 'Валутата, в която се показват и таксуват цените. Трябва да бъде валиден ISO 4217 код.',
+ 'webshop_default_description' => 'Това описание се използва, когато не е предоставено друго описание за албум или снимка.',
+ 'webshop_allow_guest_checkout' => 'Позволява на клиентите да плащат без създаване на акаунт.',
+ 'webshop_terms_url' => 'Опционален URL към страницата с Общите условия.',
+ 'webshop_privacy_url' => 'Опционален URL към страницата с Политиката за поверителност.',
+ 'webshop_default_price_cents' => 'Цената по подразбиране (в центове/стотинки) за нови артикули за покупка.',
+ 'webshop_default_license' => 'Тип лиценз по подразбиране за нови артикули за покупка.',
+ 'webshop_default_size' => 'Размер по подразбиране за нови артикули за покупка.',
+ 'enable_untagged' => 'Дали в галерията да е наличен смарт албум, съдържащ всички снимки без етикети.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'Цялата обработка на плащания ще бъде прескочена. Поръчките ще бъдат маркирани като OFFLINE вместо да преминават през платежния поток.',
+ 'deduplicate_pinned_albums' => 'Подчертаните (featured) албуми ще се появяват само веднъж на основната страница на галерията.',
+ 'desktop_dock_full_transparency_enabled' => 'В изгледа на снимка, действията в горната част на страницата са леко прозрачни. Активирайте това, за да бъдат напълно прозрачни и да се появяват само при посочване с мишката.',
+ 'mobile_dock_full_transparency_enabled' => ' Това ще повлияе на използваемостта на мобилни устройства. В изгледа на снимка, действията в горната част са леко прозрачни. Активирайте това, за да бъдат напълно прозрачни и да се появяват само при докосване.',
+ 'enable_smart_album_per_owner' => 'Тази настройка се прилага само за влезли потребители. "Заобикаляне на видимостта на смарт албумите" трябва да бъде деактивирано, за да има ефект.',
+ 'album_layout' => 'Изберете между мрежа (карти с миниматюри) или списък (детайлни редове) за изглед на албумите. Потребителите могат да превключват изгледа, но предпочитанието не се запазва при опресняване на страницата.',
+ 'albums_per_page' => 'Брой под-албуми за показване на страница в страницираните изгледи. Тази настройка контролира колко под-албума се зареждат при преглед на албум, съдържащ други албуми. По-голямо число означава повече албуми на страница, но може да увеличи времето за зареждане.',
+ 'albums_pagination_ui_mode' => 'Контролира как се показва страницирането на албумите: infinite_scroll (автоматично зареждане при превъртане), load_more_button (ръчен бутон "Зареди още") или page_navigation (номера на страници с предишна/следваща).',
+ 'albums_infinite_scroll_threshold' => 'Брой височини на екрана от дъното на страницата, при които да се задейства зареждането на следващата страница с албуми при безкрайно превъртане. По-висока стойност означава по-ранно зареждане.',
+ 'photos_per_page' => 'Брой снимки за показване на страница в страницираните изгледи. По-голямо число означава повече снимки на страница, но може да увеличи времето за зареждане и използването на ресурси.',
+ 'photos_pagination_ui_mode' => 'Контролира как се показва страницирането на снимките: infinite_scroll, load_more_button или page_navigation.',
+ 'photos_infinite_scroll_threshold' => 'Брой височини на екрана от дъното на страницата, при които да се задейства зареждането на следващата страница със снимки при безкрайно превъртане.',
+ 'enable_propagate_unlock_option' => 'При отключване на албум с парола, да се отключват и всички албуми със същата парола.
Това може да доведе до проблеми с поверителността, ако различни потребители споделят една и съща парола за албум.',
+ 'rating_enabled' => 'Основен превключвател за активиране или деактивиране на функцията за оценяване на снимки.',
+ 'rating_public' => 'Позволява на всички потребители (включително нерегистрирани посетители) да виждат оценките на снимките.',
+ 'rating_show_only_when_user_rated' => 'Показване на оценките (потребителски или средни) само след като потребителят е изпратил своята собствена оценка.',
+ 'rating_show_avg_in_details' => 'Показване на средната оценка и броя на гласовете в страничната лента с детайли, вместо индивидуалната оценка на потребителя.',
+ 'rating_photo_view_mode' => 'Контролира видимостта на индикатора за оценка: винаги видим, при посочване или никога.',
+ 'rating_show_avg_in_photo_view' => 'Показване на средната оценка при преглед на снимка в пълен размер, вместо оценката на потребителя.',
+ 'rating_album_view_mode' => 'Контролира видимостта на оценката върху миниматюрите: винаги видима, при посочване или никога.',
+ 'rating_show_avg_in_album_view' => 'Показване на средната оценка върху миниматюрите на снимките в изглед на албум, вместо оценката на потребителя.',
+ 'import_via_url_block_redirect' => ' Деактивирането на това излага вашия localhost на функционалността за импортиране чрез URL и може да доведе до Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee се предоставя под MIT лиценз без никакви гаранции. Деактивирането на тази опция премахва отказа от отговорност от страницата за поръчка.',
+ 'webshop_auto_fulfill_enabled' => 'След приключване на плащането, съдържанието автоматично става достъпно за потребителя, когато е възможно.',
+ 'webshop_manual_fulfill_enabled' => 'Когато се кликне върху "Маркирай като доставено", съдържанието автоматично става достъпно за потребителя, когато е възможно.',
+ 'enable_photo_details_always_open' => 'При отваряне на изгледа на снимка, панелът с детайли винаги е видим.',
+ 'album_enhanced_display_enabled' => 'Опция за включване на нов стил на заглавната част с по-голямо заглавие, бутон „Отвори галерията“ и възможност за персонализиране на стила на заглавието.',
+ 'album_header_size' => 'Опция за конфигуриране на размера на изображението в заглавната част.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
+ 'category_name' => [
+ 'config' => 'Основни',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Галерия',
+ 'Mod Welcome' => 'Начална страница',
+ 'Footer' => 'Футър',
+ 'Smart Albums' => 'Интелигентни и избрани албуми',
+ 'Image Processing' => 'Обработка на изображения',
+ 'Mod Search' => 'Търсене',
+ 'Mod Timeline' => 'Времева линия',
+ 'Mod Frame' => 'Рамка',
+ 'Mod Map' => 'Карта / GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Чувствително съдържание',
+ 'Mod Back Button' => 'Обратно към началото',
+ 'Mod Cache' => 'Кеш',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Опции за поверителност',
+ 'Users Management' => 'Управление на потребители',
+ 'Admin' => 'Администриране',
+ 'access_permissions' => 'Права за достъп',
+ 'Mod Flow' => 'Навигация',
+ 'gestures' => 'Жестове',
+ 'Mod Watermarker' => 'Воден знак',
+ 'Mod Renamer' => 'Преименуване',
+ 'Mod Rating' => 'Оценяване на снимки',
+ 'Mod Webshop' => 'Уеб магазин',
+ ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Отключете пълните възможности на Lychee със Supporter Edition. Вземете ексклузивни функции и подкрепете разработката на Lychee. Станете спонсор на LycheeOrg в GitHub и вземете вашия лицензионен ключ тук.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'Този модул активира начална страница. Вместо да попадате директно в изгледа на галерията, той добавя малко тържественост при влизането в уебсайта. Предоставете URL адреса на изображението, което да се показва, и задайте заглавие.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'Този модул позволява показването на албуми под формата на емисия (feed). Ще се показват само албуми със снимки; албумите, съдържащи само под-албуми, не са включени в Flow. Тъй като е чисто визуален модул, страницата Flow не позволява на потребителите да качват, местят и т.н.',
+ 'gestures' => 'Конфигурирайте управлението с жестове за навигация в снимките.',
+ 'Mod Watermarker' => 'Този модул активира поставянето на воден знак върху снимките. Водният знак се конфигурира чрез подаване на photoId
на изображението, което искате да приложите. Този идентификатор е последният 24-символен код в URL адреса, когато отворите изображение. Препоръчваме да използвате PNG изображение с прозрачен фон за по-добри резултати.
Активирането на този модул ще удвои използваното дисково пространство на вашия сървър.',
+ 'Mod Renamer' => 'Този модул ви позволява автоматично да прилагате дефинирани от потребителя правила за преименуване по време на качване или импортиране чрез синхронизация.
Преименуването вероятно ще попречи на бързото откриване на дубликати за снимки/албуми, които са били преименувани чрез синхронизация.',
+ 'Mod Rating' => 'Този модул активира оценяването на снимки. Потребителят може да зададе рейтинг от 1 до 5 звезди за всяка снимка. Средната оценка се показва там, където е конфигурирано.',
+ 'Mod Webshop' => 'Този модул ви позволява да управлявате и продавате вашите снимки.
Lychee се разработва под MIT лиценз. Това означава, че LycheeOrg не носи отговорност нито е задължен за каквито и да било проблеми или загуби, произтичащи от използването на модула за онлайн магазин и/или възможностите за обработка на плащания. Изключително важно е да проверите и да се уверите, че вашата конфигурация работи правилно и сигурно, преди да я използвате в реална работна среда.',
+ ],
];
diff --git a/lang/bg/aspect_ratio.php b/lang/bg/aspect_ratio.php
index e74be6da404..9a1eced2a5b 100644
--- a/lang/bg/aspect_ratio.php
+++ b/lang/bg/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (пейзаж – Instagram)',
- '4by5' => '4/5 (портрет – Instagram)',
- '2by3' => '2/3 (портрет)',
- '3by2' => '3/2 (пейзаж)',
- '1by1' => 'квадрат',
- '16by9' => '16/9 (пейзаж)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (пейзаж – Instagram)',
+ '4by5' => '4/5 (портрет – Instagram)',
+ '2by3' => '2/3 (портрет)',
+ '3by2' => '3/2 (пейзаж)',
+ '1by1' => 'квадрат',
+ '16by9' => '16/9 (пейзаж)',
];
diff --git a/lang/bg/bulk_album_edit.php b/lang/bg/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/bg/bulk_album_edit.php
+++ b/lang/bg/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/bg/changelogs.php b/lang/bg/changelogs.php
index 225573947f5..7d4301a697f 100644
--- a/lang/bg/changelogs.php
+++ b/lang/bg/changelogs.php
@@ -1,11 +1,11 @@
'Дневник на промените',
- 'description' => 'Тази страница съдържа списък с промените до последната налична версия на Lychee. Тя умишлено не е ограничена само до промените във вашата инсталирана версия. По този начин искаме да ви дадем по-добра представа какво да очаквате, когато решите да надградите.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Дневник на промените',
+ 'description' => 'Тази страница съдържа списък с промените до последната налична версия на Lychee. Тя умишлено не е ограничена само до промените във вашата инсталирана версия. По този начин искаме да ви дадем по-добра представа какво да очаквате, когато решите да надградите.',
];
diff --git a/lang/bg/contact.php b/lang/bg/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/bg/contact.php
+++ b/lang/bg/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/bg/diagnostics.php b/lang/bg/diagnostics.php
index e0da9594119..08864dcd8a1 100644
--- a/lang/bg/diagnostics.php
+++ b/lang/bg/diagnostics.php
@@ -1,23 +1,23 @@
'Диагностика',
- 'copy_to_clipboard' => 'Копирай в клипборда',
- 'self-diagnosis' => 'Самодиагностика',
- 'info' => 'Информация',
- 'space' => 'Пространство',
- 'load_space' => 'Зареди използването на пространството',
- 'configuration' => 'Конфигурация',
- 'loading' => 'Зареждане…',
- 'identical_content' => 'Идентично съдържание',
- 'toast' => [
- 'info' => 'Информация',
- 'copy' => 'Диагностиката е копирана в клипборда!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Диагностика',
+ 'copy_to_clipboard' => 'Копирай в клипборда',
+ 'self-diagnosis' => 'Самодиагностика',
+ 'info' => 'Информация',
+ 'space' => 'Пространство',
+ 'load_space' => 'Зареди използването на пространството',
+ 'configuration' => 'Конфигурация',
+ 'loading' => 'Зареждане…',
+ 'identical_content' => 'Идентично съдържание',
+ 'toast' => [
+ 'info' => 'Информация',
+ 'copy' => 'Диагностиката е копирана в клипборда!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/bg/dialogs.php b/lang/bg/dialogs.php
index b4d7521ab4c..972e2c5e988 100644
--- a/lang/bg/dialogs.php
+++ b/lang/bg/dialogs.php
@@ -1,306 +1,306 @@
[
- 'close' => 'Затвори',
- 'cancel' => 'Отказ',
- 'save' => 'Запази',
- 'delete' => 'Изтрий',
- 'move' => 'Премести',
- ],
- 'about' => [
- 'subtitle' => 'Самостоятелно хоствано управление на снимки, направено както трябва',
- 'description' => 'Lychee е безплатен инструмент за управление на снимки, който работи на вашия сървър или уеб пространство. Инсталацията отнема само секунди. Качвайте, управлявайте и споделяйте снимки като в нативно приложение. Lychee включва всичко необходимо и всички ваши снимки се съхраняват сигурно.',
- 'update_available' => 'Налична е актуализация!',
- 'thank_you' => 'Благодарим ви за подкрепата!',
- 'get_supporter_or_register' => 'Получете ексклузивни функции и подкрепете разработката на Lychee.
Отключете Supporter Edition или регистрирайте своя лицензен ключ',
- 'here' => 'тук',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox не е конфигуриран.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Моля, въведете директния линк към снимка, за да я импортирате:',
- 'import' => 'Импортиране',
- ],
- 'keybindings' => [
- 'header' => 'Клавишни комбинации',
- 'don_t_show_again' => 'Не показвай този прозорец отново',
- 'hide_header_button' => 'Не показвай помощта в заглавната лента',
- 'side_wide' => 'Глобални клавишни комбинации',
- 'back_cancel' => 'Назад/Отказ',
- 'confirm' => 'Потвърди',
- 'login' => 'Вход',
- 'toggle_full_screen' => 'Превключване на цял екран',
- 'toggle_sensitive_albums' => 'Показване/скриване на чувствителни албуми',
- 'albums' => 'Комбинации за албуми',
- 'new_album' => 'Нов албум',
- 'upload_photos' => 'Качване на снимки',
- 'search' => 'Търсене',
- 'show_this_modal' => 'Покажи този прозорец',
- 'select_all' => 'Избери всички',
- 'move_selection' => 'Премести избраните',
- 'delete_selection' => 'Изтрий избраните',
- 'album' => 'Комбинации за албум',
- 'slideshow' => 'Старт/Стоп на слайдшоу',
- 'toggle' => 'Превключване на панела',
- 'photo' => 'Комбинации за снимка',
- 'previous' => 'Предишна снимка',
- 'next' => 'Следваща снимка',
- 'cycle' => 'Смяна на режим на наслагване',
- 'star' => 'Отбележи снимката',
- 'move' => 'Премести снимката',
- 'delete' => 'Изтрий снимката',
- 'edit' => 'Редактирай информацията',
- 'show_hide_meta' => 'Покажи информация',
- 'keep_hidden' => 'Ще го запазим скрито.',
- 'button_hidden' => 'Бутонът ще бъде скрит от заглавната лента.',
- ],
- 'login' => [
- 'auth_with' => 'Удостоверяване с %s',
- 'username' => 'Потребителско име',
- 'password' => 'Парола',
- 'unknown_invalid' => 'Непознат потребител или невалидна парола.',
- 'signin' => 'Вход',
- 'remember_me' => 'Запомни ме',
- ],
- 'register' => [
- 'enter_license' => 'Въведете лицензния си ключ по-долу:',
- 'license_key' => 'Лицензен ключ',
- 'invalid_license' => 'Невалиден лицензен ключ.',
- 'expired_license' => 'Вашият лицензен ключ е изтекъл. Изпразнете полето или вземете нов от keygen.lycheeorg.dev.',
- 'register' => 'Регистрация',
- ],
- 'share_album' => [
- 'url_copied' => 'URL адресът е копиран в клипборда!',
- ],
- 'embed_code' => [
- 'title' => 'Вграждане на албум',
- 'title_stream' => 'Вграждане на поток от снимки',
- 'info' => 'Генерирайте код за вграждане, за да покажете този албум на уебсайта си.',
- 'mode' => 'Режим',
- 'mode_album_help' => 'Вграждане на снимки от конкретен албум.',
- 'mode_stream_help' => 'Вграждане на всички ваши публични снимки като хронологичен поток (най-новите първи).',
- 'layout' => 'Оформление',
- 'spacing' => 'Разстояние',
- 'row_height' => 'Височина на реда',
- 'column_width' => 'Ширина на колоната',
- 'max_photos' => 'Максимален брой снимки',
- 'max_photos_none' => 'Няма (всички снимки)',
- 'max_photos_count' => '%d снимки',
- 'sort_order' => 'Ред на сортиране',
- 'sort_newest' => 'Първо най-новите',
- 'sort_oldest' => 'Първо най-старите',
- 'header_placement' => 'Позиция на заглавието',
- 'header_top' => 'Горе',
- 'header_bottom' => 'Долу',
- 'header_none' => 'Без',
- 'preview' => 'Преглед',
- 'preview_failed' => 'Неуспешно зареждане на прегледа.',
- 'code' => 'Код за вграждане',
- 'copy' => 'Копирай в клипборда',
- 'copied' => 'Копирано!',
- 'copy_success' => 'Кодът за вграждане е копиран в клипборда',
- 'copy_error' => 'Грешка',
- 'copy_error_message' => 'Неуспешно копиране в клипборда',
- 'show_advanced' => 'Покажи разширените опции',
- 'hide_advanced' => 'Скрий разширените опции',
- ],
- 'upload' => [
- 'completed' => 'Завършено',
- 'uploaded' => 'Качени:',
- 'release' => 'Пуснете файла за качване!',
- 'select' => 'Кликнете тук, за да изберете файлове за качване',
- 'drag' => '(Или плъзнете файловете върху страницата)',
- 'loading' => 'Зареждане',
- 'resume' => 'Продължи',
- 'uploading' => 'Качване',
- 'finished' => 'Завършено',
- 'failed_error' => 'Качването не бе успешно. Сървърът върна грешка!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Направи снимка',
- 'capture' => 'Снимай',
- 'retake' => 'Повтори',
- 'upload' => 'Качи',
- 'secure_connection_required' => 'Достъпът до камерата изисква защитена връзка (HTTPS или localhost).',
- ],
- 'visibility' => [
- 'public' => 'Публичен',
- 'public_expl' => 'Анонимните потребители имат достъп до този албум, според ограниченията по-долу.',
- 'full' => 'Оригинал',
- 'full_expl' => 'Анонимните потребители могат да виждат снимки с пълна резолюция.',
- 'hidden' => 'Скрит',
- 'hidden_expl' => 'Анонимните потребители се нуждаят от директен линк за достъп до този албум.',
- 'downloadable' => 'Позволено изтегляне',
- 'downloadable_expl' => 'Анонимните потребители могат да изтеглят този албум.',
- 'upload' => 'Разреши качвания',
- 'upload_expl' => ' Анонимните потребители могат да качват снимки в този албум.',
- 'password' => 'Парола',
- 'password_prot' => 'Защитен с парола',
- 'password_prot_expl' => 'Анонимните потребители се нуждаят от споделена парола за достъп до този албум.',
- 'password_prop_not_compatible' => 'Кеширането на отговори е в конфликт с тази настройка.
Поради кеширането, отключването на този албум
ще разкрие съдържанието му и на други анонимни потребители.',
- 'nsfw' => 'Чувствително съдържание',
- 'nsfw_expl' => 'Албумът съдържа чувствително съдържание.',
- 'visibility_updated' => 'Видимостта е обновена.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Сигурни ли сте, че искате да преместите албума „%1$s“ в албума „%2$s“?',
- 'confirm_multiple' => 'Сигурни ли сте, че искате да преместите всички избрани албуми в албума „%s“?',
- 'move_single' => 'Премести албум',
- 'move_to' => 'Премести в',
- 'move_to_single' => 'Премести %s в:',
- 'move_to_multiple' => 'Премести %d албума в:',
- 'no_album_target' => 'Няма албум за преместване',
- 'moved_single' => 'Албумът е преместен!',
- 'moved_single_details' => '%1$s е преместен в %2$s',
- 'moved_details' => 'Албум(и) са преместени в %s',
- ],
- 'new_album' => [
- 'menu' => 'Създай албум',
- 'info' => 'Въведете заглавие за новия албум:',
- 'title' => 'заглавие',
- 'create' => 'Създай албум',
- 'visibility_private' => 'Този албум ще бъде личен (видим само за вас)',
- 'visibility_public' => 'Този албум ще бъде публичен (видим за всички)',
- 'visibility_public_hidden' => 'Този албум ще бъде публичен, но скрит от списъците',
- 'visibility_inherit' => 'Този албум ще наследи видимостта от своя родител',
- 'visibility_inherit_no_parent' => 'Този албум ще бъде личен (няма родителски албум, от който да наследи)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Създай таг албум',
- 'info' => 'Въведете заглавие за новия таг албум:',
- 'title' => 'заглавие',
- 'set_tags' => 'Задай тагове за показване',
- 'create' => 'Създай таг албум',
- ],
- 'delete_album' => [
- 'confirmation' => 'Сигурни ли сте, че искате да изтриете албума „%s“ и всички снимки в него?',
- 'confirmation_tag' => 'Сигурни ли сте, че искате да изтриете албума "%s"?',
- 'confirmation_multiple' => 'Сигурни ли сте, че искате да изтриете всички %d избрани албума и всички снимки в тях?',
- 'warning' => 'Това действие не може да бъде отменено!',
- 'delete' => 'Изтрий албума и снимките',
- ],
- 'transfer' => [
- 'query' => 'Прехвърли собствеността на албума на',
- 'confirmation' => 'Сигурни ли сте, че искате да прехвърлите собствеността на албума „%s“ и всички снимки в него на „%s“?',
- 'lost_access_warning' => 'Ще загубите достъп до този албум.',
- 'warning' => 'Това действие не може да бъде отменено!',
- 'transfer' => 'Прехвърли собствеността на албума и снимките',
- ],
- 'rename' => [
- 'photo' => 'Въведете ново заглавие за тази снимка:',
- 'album' => 'Въведете ново заглавие за този албум:',
- 'rename' => 'Преименувай',
- ],
- 'merge' => [
- 'merge_to' => 'Слей %s в:',
- 'merge_to_multiple' => 'Слей %d албума в:',
- 'no_albums' => 'Няма албуми за сливане.',
- 'confirm' => 'Сигурни ли сте, че искате да слеете албума „%1$s“ в албума „%2$s“?',
- 'confirm_multiple' => 'Сигурни ли сте, че искате да слеете всички избрани албуми в албума „%s“?',
- 'merge' => 'Сливане на албуми',
- 'merged' => 'Албум(и) са слети в %s!',
- ],
- 'unlock' => [
- 'password_required' => 'Този албум е защитен с парола. Въведете паролата по-долу, за да видите снимките:',
- 'password' => 'Парола',
- 'unlock' => 'Отключи',
- ],
- 'photo_tags' => [
- 'question' => 'Въведете тагове за тази снимка.',
- 'question_multiple' => 'Въведете тагове за всички %d избрани снимки. Съществуващите тагове ще бъдат презаписани.',
- 'no_tags' => 'Без тагове',
- 'set_tags' => 'Задай тагове',
- 'updated' => 'Таговете са обновени!',
- 'tags_override_info' => 'Ако това не е отметнато, таговете ще бъдат добавени към съществуващите тагове на снимката.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'Няма албуми за копиране',
- 'copy_to' => 'Копирай %s в:',
- 'copy_to_multiple' => 'Копирай %d снимки в:',
- 'confirm' => 'Копирай %s в %s.',
- 'confirm_multiple' => 'Копирай %d снимки в %s.',
- 'copy' => 'Копирай',
- 'copied' => 'Снимка(и) са копирани!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Сигурни ли сте, че искате да изтриете снимката „%s“?',
- 'confirm_multiple' => 'Сигурни ли сте, че искате да изтриете всички %d избрани снимки?',
- 'deleted' => 'Снимка(и) са изтрити!',
- ],
- 'move_photo' => [
- 'move_single' => 'Премести %s в:',
- 'move_multiple' => 'Премести %d снимки в:',
- 'confirm' => 'Премести %s в %s.',
- 'confirm_multiple' => 'Премести %d снимки в %s.',
- 'moved' => 'Снимка(и) са преместени в %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Избери потребител',
- ],
- 'target_album' => [
- 'placeholder' => 'Избери албум',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Удостоверяването е успешно!',
- 'error' => 'Опа, изглежда нещо се обърка. Моля, презаредете страницата и опитайте отново!',
- ],
- 'se' => [
- 'available' => 'Налично в Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Сесията изтече',
- 'message' => 'Вашата сесия е изтекла.
Моля, презаредете страницата.',
- 'reload' => 'Презареди',
- 'go_to_gallery' => 'Към галерията',
- ],
- 'selected_images' => [
- 'names_copied' => 'Имената на избраните изображения бяха копирани!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'button' => [
+ 'close' => 'Затвори',
+ 'cancel' => 'Отказ',
+ 'save' => 'Запази',
+ 'delete' => 'Изтрий',
+ 'move' => 'Премести',
+ ],
+ 'about' => [
+ 'subtitle' => 'Самостоятелно хоствано управление на снимки, направено както трябва',
+ 'description' => 'Lychee е безплатен инструмент за управление на снимки, който работи на вашия сървър или уеб пространство. Инсталацията отнема само секунди. Качвайте, управлявайте и споделяйте снимки като в нативно приложение. Lychee включва всичко необходимо и всички ваши снимки се съхраняват сигурно.',
+ 'update_available' => 'Налична е актуализация!',
+ 'thank_you' => 'Благодарим ви за подкрепата!',
+ 'get_supporter_or_register' => 'Получете ексклузивни функции и подкрепете разработката на Lychee.
Отключете Supporter Edition или регистрирайте своя лицензен ключ',
+ 'here' => 'тук',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox не е конфигуриран.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Моля, въведете директния линк към снимка, за да я импортирате:',
+ 'import' => 'Импортиране',
+ ],
+ 'keybindings' => [
+ 'header' => 'Клавишни комбинации',
+ 'don_t_show_again' => 'Не показвай този прозорец отново',
+ 'hide_header_button' => 'Не показвай помощта в заглавната лента',
+ 'side_wide' => 'Глобални клавишни комбинации',
+ 'back_cancel' => 'Назад/Отказ',
+ 'confirm' => 'Потвърди',
+ 'login' => 'Вход',
+ 'toggle_full_screen' => 'Превключване на цял екран',
+ 'toggle_sensitive_albums' => 'Показване/скриване на чувствителни албуми',
+ 'albums' => 'Комбинации за албуми',
+ 'new_album' => 'Нов албум',
+ 'upload_photos' => 'Качване на снимки',
+ 'search' => 'Търсене',
+ 'show_this_modal' => 'Покажи този прозорец',
+ 'select_all' => 'Избери всички',
+ 'move_selection' => 'Премести избраните',
+ 'delete_selection' => 'Изтрий избраните',
+ 'album' => 'Комбинации за албум',
+ 'slideshow' => 'Старт/Стоп на слайдшоу',
+ 'toggle' => 'Превключване на панела',
+ 'photo' => 'Комбинации за снимка',
+ 'previous' => 'Предишна снимка',
+ 'next' => 'Следваща снимка',
+ 'cycle' => 'Смяна на режим на наслагване',
+ 'star' => 'Отбележи снимката',
+ 'move' => 'Премести снимката',
+ 'delete' => 'Изтрий снимката',
+ 'edit' => 'Редактирай информацията',
+ 'show_hide_meta' => 'Покажи информация',
+ 'keep_hidden' => 'Ще го запазим скрито.',
+ 'button_hidden' => 'Бутонът ще бъде скрит от заглавната лента.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Удостоверяване с %s',
+ 'username' => 'Потребителско име',
+ 'password' => 'Парола',
+ 'unknown_invalid' => 'Непознат потребител или невалидна парола.',
+ 'signin' => 'Вход',
+ 'remember_me' => 'Запомни ме',
+ ],
+ 'register' => [
+ 'enter_license' => 'Въведете лицензния си ключ по-долу:',
+ 'license_key' => 'Лицензен ключ',
+ 'invalid_license' => 'Невалиден лицензен ключ.',
+ 'expired_license' => 'Вашият лицензен ключ е изтекъл. Изпразнете полето или вземете нов от keygen.lycheeorg.dev.',
+ 'register' => 'Регистрация',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'URL адресът е копиран в клипборда!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Вграждане на албум',
+ 'title_stream' => 'Вграждане на поток от снимки',
+ 'info' => 'Генерирайте код за вграждане, за да покажете този албум на уебсайта си.',
+ 'mode' => 'Режим',
+ 'mode_album_help' => 'Вграждане на снимки от конкретен албум.',
+ 'mode_stream_help' => 'Вграждане на всички ваши публични снимки като хронологичен поток (най-новите първи).',
+ 'layout' => 'Оформление',
+ 'spacing' => 'Разстояние',
+ 'row_height' => 'Височина на реда',
+ 'column_width' => 'Ширина на колоната',
+ 'max_photos' => 'Максимален брой снимки',
+ 'max_photos_none' => 'Няма (всички снимки)',
+ 'max_photos_count' => '%d снимки',
+ 'sort_order' => 'Ред на сортиране',
+ 'sort_newest' => 'Първо най-новите',
+ 'sort_oldest' => 'Първо най-старите',
+ 'header_placement' => 'Позиция на заглавието',
+ 'header_top' => 'Горе',
+ 'header_bottom' => 'Долу',
+ 'header_none' => 'Без',
+ 'preview' => 'Преглед',
+ 'preview_failed' => 'Неуспешно зареждане на прегледа.',
+ 'code' => 'Код за вграждане',
+ 'copy' => 'Копирай в клипборда',
+ 'copied' => 'Копирано!',
+ 'copy_success' => 'Кодът за вграждане е копиран в клипборда',
+ 'copy_error' => 'Грешка',
+ 'copy_error_message' => 'Неуспешно копиране в клипборда',
+ 'show_advanced' => 'Покажи разширените опции',
+ 'hide_advanced' => 'Скрий разширените опции',
+ ],
+ 'upload' => [
+ 'completed' => 'Завършено',
+ 'uploaded' => 'Качени:',
+ 'release' => 'Пуснете файла за качване!',
+ 'select' => 'Кликнете тук, за да изберете файлове за качване',
+ 'drag' => '(Или плъзнете файловете върху страницата)',
+ 'loading' => 'Зареждане',
+ 'resume' => 'Продължи',
+ 'uploading' => 'Качване',
+ 'finished' => 'Завършено',
+ 'failed_error' => 'Качването не бе успешно. Сървърът върна грешка!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Направи снимка',
+ 'capture' => 'Снимай',
+ 'retake' => 'Повтори',
+ 'upload' => 'Качи',
+ 'secure_connection_required' => 'Достъпът до камерата изисква защитена връзка (HTTPS или localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Публичен',
+ 'public_expl' => 'Анонимните потребители имат достъп до този албум, според ограниченията по-долу.',
+ 'full' => 'Оригинал',
+ 'full_expl' => 'Анонимните потребители могат да виждат снимки с пълна резолюция.',
+ 'hidden' => 'Скрит',
+ 'hidden_expl' => 'Анонимните потребители се нуждаят от директен линк за достъп до този албум.',
+ 'downloadable' => 'Позволено изтегляне',
+ 'downloadable_expl' => 'Анонимните потребители могат да изтеглят този албум.',
+ 'upload' => 'Разреши качвания',
+ 'upload_expl' => ' Анонимните потребители могат да качват снимки в този албум.',
+ 'password' => 'Парола',
+ 'password_prot' => 'Защитен с парола',
+ 'password_prot_expl' => 'Анонимните потребители се нуждаят от споделена парола за достъп до този албум.',
+ 'password_prop_not_compatible' => 'Кеширането на отговори е в конфликт с тази настройка.
Поради кеширането, отключването на този албум
ще разкрие съдържанието му и на други анонимни потребители.',
+ 'nsfw' => 'Чувствително съдържание',
+ 'nsfw_expl' => 'Албумът съдържа чувствително съдържание.',
+ 'visibility_updated' => 'Видимостта е обновена.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Сигурни ли сте, че искате да преместите албума „%1$s“ в албума „%2$s“?',
+ 'confirm_multiple' => 'Сигурни ли сте, че искате да преместите всички избрани албуми в албума „%s“?',
+ 'move_single' => 'Премести албум',
+ 'move_to' => 'Премести в',
+ 'move_to_single' => 'Премести %s в:',
+ 'move_to_multiple' => 'Премести %d албума в:',
+ 'no_album_target' => 'Няма албум за преместване',
+ 'moved_single' => 'Албумът е преместен!',
+ 'moved_single_details' => '%1$s е преместен в %2$s',
+ 'moved_details' => 'Албум(и) са преместени в %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Създай албум',
+ 'info' => 'Въведете заглавие за новия албум:',
+ 'title' => 'заглавие',
+ 'create' => 'Създай албум',
+ 'visibility_private' => 'Този албум ще бъде личен (видим само за вас)',
+ 'visibility_public' => 'Този албум ще бъде публичен (видим за всички)',
+ 'visibility_public_hidden' => 'Този албум ще бъде публичен, но скрит от списъците',
+ 'visibility_inherit' => 'Този албум ще наследи видимостта от своя родител',
+ 'visibility_inherit_no_parent' => 'Този албум ще бъде личен (няма родителски албум, от който да наследи)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Създай таг албум',
+ 'info' => 'Въведете заглавие за новия таг албум:',
+ 'title' => 'заглавие',
+ 'set_tags' => 'Задай тагове за показване',
+ 'create' => 'Създай таг албум',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Сигурни ли сте, че искате да изтриете албума „%s“ и всички снимки в него?',
+ 'confirmation_tag' => 'Сигурни ли сте, че искате да изтриете албума "%s"?',
+ 'confirmation_multiple' => 'Сигурни ли сте, че искате да изтриете всички %d избрани албума и всички снимки в тях?',
+ 'warning' => 'Това действие не може да бъде отменено!',
+ 'delete' => 'Изтрий албума и снимките',
+ ],
+ 'transfer' => [
+ 'query' => 'Прехвърли собствеността на албума на',
+ 'confirmation' => 'Сигурни ли сте, че искате да прехвърлите собствеността на албума „%s“ и всички снимки в него на „%s“?',
+ 'lost_access_warning' => 'Ще загубите достъп до този албум.',
+ 'warning' => 'Това действие не може да бъде отменено!',
+ 'transfer' => 'Прехвърли собствеността на албума и снимките',
+ ],
+ 'rename' => [
+ 'photo' => 'Въведете ново заглавие за тази снимка:',
+ 'album' => 'Въведете ново заглавие за този албум:',
+ 'rename' => 'Преименувай',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Слей %s в:',
+ 'merge_to_multiple' => 'Слей %d албума в:',
+ 'no_albums' => 'Няма албуми за сливане.',
+ 'confirm' => 'Сигурни ли сте, че искате да слеете албума „%1$s“ в албума „%2$s“?',
+ 'confirm_multiple' => 'Сигурни ли сте, че искате да слеете всички избрани албуми в албума „%s“?',
+ 'merge' => 'Сливане на албуми',
+ 'merged' => 'Албум(и) са слети в %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'Този албум е защитен с парола. Въведете паролата по-долу, за да видите снимките:',
+ 'password' => 'Парола',
+ 'unlock' => 'Отключи',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Въведете тагове за тази снимка.',
+ 'question_multiple' => 'Въведете тагове за всички %d избрани снимки. Съществуващите тагове ще бъдат презаписани.',
+ 'no_tags' => 'Без тагове',
+ 'set_tags' => 'Задай тагове',
+ 'updated' => 'Таговете са обновени!',
+ 'tags_override_info' => 'Ако това не е отметнато, таговете ще бъдат добавени към съществуващите тагове на снимката.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'Няма албуми за копиране',
+ 'copy_to' => 'Копирай %s в:',
+ 'copy_to_multiple' => 'Копирай %d снимки в:',
+ 'confirm' => 'Копирай %s в %s.',
+ 'confirm_multiple' => 'Копирай %d снимки в %s.',
+ 'copy' => 'Копирай',
+ 'copied' => 'Снимка(и) са копирани!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Сигурни ли сте, че искате да изтриете снимката „%s“?',
+ 'confirm_multiple' => 'Сигурни ли сте, че искате да изтриете всички %d избрани снимки?',
+ 'deleted' => 'Снимка(и) са изтрити!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Премести %s в:',
+ 'move_multiple' => 'Премести %d снимки в:',
+ 'confirm' => 'Премести %s в %s.',
+ 'confirm_multiple' => 'Премести %d снимки в %s.',
+ 'moved' => 'Снимка(и) са преместени в %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Избери потребител',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Избери албум',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Удостоверяването е успешно!',
+ 'error' => 'Опа, изглежда нещо се обърка. Моля, презаредете страницата и опитайте отново!',
+ ],
+ 'se' => [
+ 'available' => 'Налично в Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Сесията изтече',
+ 'message' => 'Вашата сесия е изтекла.
Моля, презаредете страницата.',
+ 'reload' => 'Презареди',
+ 'go_to_gallery' => 'Към галерията',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'Имената на избраните изображения бяха копирани!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/bg/duplicate-finder.php b/lang/bg/duplicate-finder.php
index b0e928e6cf9..1bb37bcab1a 100644
--- a/lang/bg/duplicate-finder.php
+++ b/lang/bg/duplicate-finder.php
@@ -1,26 +1,26 @@
'Поддръжка',
- 'intro' => 'На тази страница ще намерите дублиращите се снимки, открити във вашата база данни.',
- 'found' => ' намерени дубликати!',
- 'invalid-search' => ' Трябва да бъде избрано поне условието за контролна сума или заглавие.',
- 'checksum-must-match' => 'Контролната сума трябва да съвпада.',
- 'title-must-match' => 'Заглавието трябва да съвпада.',
- 'must-be-in-same-album' => 'Трябва да са в един и същи албум.',
- 'columns' => [
- 'album' => 'Албум',
- 'photo' => 'Снимка',
- 'checksum' => 'Контролна сума',
- ],
- 'warning' => [
- 'no-original-left' => 'Не е останал оригинал.',
- 'keep-one' => 'Избрахте всички дубликати в тази група. Моля, изберете поне един дубликат, който да бъде запазен.',
- ],
- 'delete-selected' => 'Изтрий избраните',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Поддръжка',
+ 'intro' => 'На тази страница ще намерите дублиращите се снимки, открити във вашата база данни.',
+ 'found' => ' намерени дубликати!',
+ 'invalid-search' => ' Трябва да бъде избрано поне условието за контролна сума или заглавие.',
+ 'checksum-must-match' => 'Контролната сума трябва да съвпада.',
+ 'title-must-match' => 'Заглавието трябва да съвпада.',
+ 'must-be-in-same-album' => 'Трябва да са в един и същи албум.',
+ 'columns' => [
+ 'album' => 'Албум',
+ 'photo' => 'Снимка',
+ 'checksum' => 'Контролна сума',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'Не е останал оригинал.',
+ 'keep-one' => 'Избрахте всички дубликати в тази група. Моля, изберете поне един дубликат, който да бъде запазен.',
+ ],
+ 'delete-selected' => 'Изтрий избраните',
];
diff --git a/lang/bg/fix-tree.php b/lang/bg/fix-tree.php
index 6f0c1a56a22..99032b7470d 100644
--- a/lang/bg/fix-tree.php
+++ b/lang/bg/fix-tree.php
@@ -1,46 +1,46 @@
'Поддръжка',
- 'intro' => 'Тази страница ви позволява ръчно да пренареждате и поправяте вашите албуми.
Преди да правите каквито и да било промени, силно препоръчваме да се запознаете със структурите от тип Nested Set.',
- 'warning' => 'Тук наистина можете да повредите инсталацията си на Lychee – променяйте стойностите на собствен риск.',
- 'help' => [
- 'header' => 'Помощ',
- 'hover' => 'Задръжте курсора над ID-та или заглавия, за да се подчертаят свързаните албуми.',
- 'left' => 'Ляво',
- 'right' => 'Дясно',
- 'convenience' => 'За ваше удобство бутоните и позволяват да променяте стойностите на %s и %s съответно с +1 и -1, с прилагане към свързаните записи.',
- 'left-right-warn' => 'Иконите и показват, че стойността на %s (съответно %s) е дублирана някъде.',
- 'parent-marked' => 'Маркираният Parent Id показва, че %s и %s не отговарят на структурата Nested Set. Редактирайте или Parent Id, или стойностите %s/%s.',
- 'slowness' => 'Тази страница ще бъде бавна при голям брой албуми.',
- ],
- 'buttons' => [
- 'reset' => 'Нулирай',
- 'check' => 'Провери',
- 'apply' => 'Приложи',
- ],
- 'no-changes' => 'Няма промени за прилагане.',
- 'table' => [
- 'title' => 'Заглавие',
- 'left' => 'Ляво',
- 'right' => 'Дясно',
- 'id' => 'ID',
- 'parent' => 'ID на родител',
- ],
- 'errors' => [
- 'invalid' => 'Невалидно дърво!',
- 'invalid_details' => 'Това няма да бъде приложено, тъй като със сигурност ще доведе до повредено състояние.',
- 'invalid_left' => 'Албум %s има невалидна лява стойност.',
- 'invalid_right' => 'Албум %s има невалидна дясна стойност.',
- 'invalid_left_right' => 'Албум %s има невалидни леви/десни стойности. Лявата трябва да е строго по-малка от дясната: %s < %s.',
- 'duplicate_left' => 'Албум %s има дублирана лява стойност %s.',
- 'duplicate_right' => 'Албум %s има дублирана дясна стойност %s.',
- 'parent' => 'Албум %s има неочакван ID на родител %s.',
- 'unknown' => 'Албум %s има неизвестна грешка.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Поддръжка',
+ 'intro' => 'Тази страница ви позволява ръчно да пренареждате и поправяте вашите албуми.
Преди да правите каквито и да било промени, силно препоръчваме да се запознаете със структурите от тип Nested Set.',
+ 'warning' => 'Тук наистина можете да повредите инсталацията си на Lychee – променяйте стойностите на собствен риск.',
+ 'help' => [
+ 'header' => 'Помощ',
+ 'hover' => 'Задръжте курсора над ID-та или заглавия, за да се подчертаят свързаните албуми.',
+ 'left' => 'Ляво',
+ 'right' => 'Дясно',
+ 'convenience' => 'За ваше удобство бутоните и позволяват да променяте стойностите на %s и %s съответно с +1 и -1, с прилагане към свързаните записи.',
+ 'left-right-warn' => 'Иконите и показват, че стойността на %s (съответно %s) е дублирана някъде.',
+ 'parent-marked' => 'Маркираният Parent Id показва, че %s и %s не отговарят на структурата Nested Set. Редактирайте или Parent Id, или стойностите %s/%s.',
+ 'slowness' => 'Тази страница ще бъде бавна при голям брой албуми.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Нулирай',
+ 'check' => 'Провери',
+ 'apply' => 'Приложи',
+ ],
+ 'no-changes' => 'Няма промени за прилагане.',
+ 'table' => [
+ 'title' => 'Заглавие',
+ 'left' => 'Ляво',
+ 'right' => 'Дясно',
+ 'id' => 'ID',
+ 'parent' => 'ID на родител',
+ ],
+ 'errors' => [
+ 'invalid' => 'Невалидно дърво!',
+ 'invalid_details' => 'Това няма да бъде приложено, тъй като със сигурност ще доведе до повредено състояние.',
+ 'invalid_left' => 'Албум %s има невалидна лява стойност.',
+ 'invalid_right' => 'Албум %s има невалидна дясна стойност.',
+ 'invalid_left_right' => 'Албум %s има невалидни леви/десни стойности. Лявата трябва да е строго по-малка от дясната: %s < %s.',
+ 'duplicate_left' => 'Албум %s има дублирана лява стойност %s.',
+ 'duplicate_right' => 'Албум %s има дублирана дясна стойност %s.',
+ 'parent' => 'Албум %s има неочакван ID на родител %s.',
+ 'unknown' => 'Албум %s има неизвестна грешка.',
+ ],
];
diff --git a/lang/bg/flow.php b/lang/bg/flow.php
index 18c1df911b8..26fc88d79fa 100644
--- a/lang/bg/flow.php
+++ b/lang/bg/flow.php
@@ -1,14 +1,14 @@
'Поток',
- 'by_author' => 'от %s',
- 'open_album' => 'Отвори албума',
- 'show_more' => 'Покажи още',
- 'no_content' => 'Няма съдържание.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Поток',
+ 'by_author' => 'от %s',
+ 'open_album' => 'Отвори албума',
+ 'show_more' => 'Покажи още',
+ 'no_content' => 'Няма съдържание.',
];
diff --git a/lang/bg/gallery.php b/lang/bg/gallery.php
index ac7a09b0e2b..0271040c022 100644
--- a/lang/bg/gallery.php
+++ b/lang/bg/gallery.php
@@ -1,357 +1,357 @@
'Галерия',
- 'smart_albums' => 'Умни албуми',
- 'pinned_albums' => 'Избрани албуми',
- 'albums' => 'Албуми',
- 'root' => 'Албуми',
- 'set_focus' => 'Задай фокус',
- 'set_header_focus' => 'Задай фокус на заглавката',
- 'done' => 'Готово',
- 'cancel' => 'Отказ',
- 'tabs' => [
- 'my_albums' => 'Моите албуми',
- 'shared_with_me' => 'Споделени с мен',
- ],
- 'favourites' => 'Любими',
- 'raw' => 'RAW',
- 'original' => 'Оригинал',
- 'medium' => 'Среден',
- 'medium_hidpi' => 'Среден HiDPI',
- 'small' => 'Миниатюра',
- 'small_hidpi' => 'Миниатюра HiDPI',
- 'thumb' => 'Квадратна миниатюра',
- 'thumb_hidpi' => 'Квадратна миниатюра HiDPI',
- 'placeholder' => 'Заместител с ниско качество',
- 'thumbnail' => 'Миниатюра на снимка',
- 'live_video' => 'Видео част от live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Изберете разделителна способност на изображенията за ZIP архива на албума. Ако снимка няма избрания вариант, ще бъде използван оригиналът.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Дата от камерата',
- 'album_reserved' => 'Всички права запазени',
- 'map' => [
- 'error_gpx' => 'Грешка при зареждане на GPX файл',
- 'osm_contributors' => 'Сътрудници на OpenStreetMap',
- ],
- 'search' => [
- 'title' => 'Търсене',
- 'no_results' => 'Нищо не отговаря на заявката ви.',
- 'searchbox' => 'Търсене…',
- 'minimum_chars' => 'Изискват се минимум %s знака.',
- 'photos' => 'Снимки (%s)',
- 'albums' => 'Албуми (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Несортирани',
- 'highlighted' => 'Отбелязани',
- 'recent' => 'Скорошни',
- 'public' => 'Публични',
- 'on_this_day' => 'На този ден',
- 'untagged' => 'Без тагове',
- 'unrated' => 'Без оценка',
- 'one_star' => '1 звезда',
- 'two_stars' => '2 звезди',
- 'three_stars' => '3+ звезди',
- 'four_stars' => '4+ звезди',
- 'five_stars' => '5 звезди',
- 'best_pictures' => 'Най-добри снимки',
- 'my_rated_pictures' => 'Моите оценени снимки',
- 'my_best_pictures' => 'Моите най-добри снимки',
- ],
- 'layout' => [
- 'squares' => 'Квадратни миниатюри',
- 'justified' => 'С пропорции, подравнени',
- 'masonry' => 'С пропорции, masonry',
- 'grid' => 'С пропорции, решетка',
- 'filmstrip' => 'Филмова лента',
- 'list' => 'Изглед списък',
- ],
- 'filter' => [
- 'by_rating' => 'Филтриране по звезден рейтинг',
- 'n_stars_or_higher' => 'Филтриране по :n или повече звезди',
- ],
- 'overlay' => [
- 'none' => 'Няма',
- 'exif' => 'EXIF данни',
- 'description' => 'Описание',
- 'date' => 'Дата на заснемане',
- ],
- 'timeline' => [
- 'title' => 'Времева линия',
- 'load_previous' => 'Зареди предишни',
- 'default' => 'по подразбиране',
- 'disabled' => 'изключено',
- 'year' => 'Година',
- 'month' => 'Месец',
- 'day' => 'Ден',
- 'hour' => 'Час',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Безкрайно превъртане',
- 'load_more_button' => 'Бутон „Зареди още“',
- 'page_navigation' => 'Навигация по страници',
- 'loading' => 'Зареждане...',
- 'load_more' => 'Зареди още',
- 'load_more_photos' => 'Зареди още (%s оставащи снимки)',
- 'load_more_albums' => 'Зареди още (%s оставащи албуми)',
- ],
- 'album' => [
- 'header_albums' => 'Албуми',
- 'header_photos' => 'Снимки',
- 'show_highlighted' => 'Филтрирай отбелязаните снимки',
- 'copy_highlighted_names' => 'Копирай имената на маркираните снимки',
- 'no_results' => 'Няма какво да се покаже',
- 'upload' => 'Качване на снимки',
- 'tabs' => [
- 'about' => 'За албума',
- 'share' => 'Споделяне',
- 'embed' => 'Вграждане',
- 'move' => 'Преместване',
- 'shop' => 'Управление на магазин',
- 'danger' => 'ОПАСНА ЗОНА',
- ],
- 'hero' => [
- 'created' => 'Създаден',
- 'copyright' => 'Авторски права',
- 'subalbums' => 'Подалбуми',
- 'images' => 'Снимки',
- 'download' => 'Изтегли албума',
- 'share' => 'Сподели албума',
- 'embed' => 'Вгради албума',
- 'stats_only_se' => 'Статистиката е налична в Supporter Edition',
- 'edit' => 'Редактирай',
- 'save' => 'Запази',
- 'open_gallery' => 'Отвори галерията',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Брой посещения',
- 'number_of_downloads' => 'Брой изтегляния',
- 'number_of_shares' => 'Брой споделяния',
- 'lens' => 'Обектив',
- 'shutter' => 'Скорост на затвора',
- 'iso' => 'ISO',
- 'model' => 'Модел',
- 'aperture' => 'Бленда',
- 'no_data' => 'Няма данни',
- ],
- 'properties' => [
- 'title' => 'Заглавие',
- 'slug' => 'Slug (приятелски URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Описание',
- 'photo_ordering' => 'Подреждай снимките по',
- 'children_ordering' => 'Подреждай албумите по',
- 'asc/desc' => 'възх./низх.',
- 'header' => 'Задай заглавка на албума',
- 'compact_header' => 'Използвай компактна заглавка',
- 'license' => 'Задай лиценз',
- 'copyright' => 'Задай авторски права',
- 'aspect_ratio' => 'Задай пропорции на миниатюрите',
- 'album_timeline' => 'Задай времева линия за албума',
- 'photo_timeline' => 'Задай времева линия за снимките',
- 'layout' => 'Задай оформление на снимките',
- 'show_tags' => 'Задай тагове за показване',
- 'tags_required' => 'Таговете са задължителни.',
- 'all_tags_must_match' => 'Всички тагове трябва да съвпадат.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Отбележи',
- 'unhighlight' => 'Премахни отметка',
- 'set_album_header' => 'Задай като заглавка на албума',
- 'move' => 'Премести',
- 'delete' => 'Изтрий',
- 'header_set' => 'Заглавката е зададена',
- ],
- 'details' => [
- 'exif_data' => 'EXIF данни',
- 'about' => 'Информация',
- 'basics' => 'Основни',
- 'title' => 'Заглавие',
- 'uploaded' => 'Качена',
- 'description' => 'Описание',
- 'license' => 'Лиценз',
- 'reuse' => 'Повторна употреба',
- 'latitude' => 'Географска ширина',
- 'longitude' => 'Географска дължина',
- 'altitude' => 'Надморска височина',
- 'location' => 'Местоположение',
- 'image' => 'Изображение',
- 'video' => 'Видео',
- 'size' => 'Размер',
- 'format' => 'Формат',
- 'resolution' => 'Резолюция',
- 'duration' => 'Продължителност',
- 'fps' => 'Кадри/сек',
- 'tags' => 'Тагове',
- 'camera' => 'Камера',
- 'captured' => 'Заснета',
- 'make' => 'Производител',
- 'type' => 'Тип/Модел',
- 'lens' => 'Обектив',
- 'shutter' => 'Скорост на затвора',
- 'aperture' => 'Бленда',
- 'focal' => 'Фокусно разстояние',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Статистика',
- 'number_of_visits' => 'Брой посещения',
- 'number_of_downloads' => 'Брой изтегляния',
- 'number_of_shares' => 'Брой споделяния',
- 'number_of_favourites' => 'Брой любими',
- ],
- 'links' => [
- 'header' => 'Връзки',
- 'copy' => 'Копирай',
- 'copy_success' => 'Връзката е копирана в клипборда.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Задай заглавие',
- 'set_description' => 'Задай описание',
- 'set_license' => 'Задай лиценз',
- 'no_tags' => 'Без тагове',
- 'set_tags' => 'Задай тагове',
- 'set_created_at' => 'Задай дата на качване',
- 'set_taken_at' => 'Задай дата на заснемане',
- 'set_taken_at_info' => 'Когато е зададено, ще се показва звезда %s, указваща че тази дата не е оригиналната EXIF дата.
Махнете отметката и запазете, за да възстановите оригиналната дата.',
- ],
- 'rating' => [
- 'header' => 'Оценка',
- 'rating' => 'оценка',
- 'ratings' => 'оценки',
- 'your_rating' => 'Вашата оценка',
- 'saving' => 'Запазване на оценката...',
- 'removed' => 'Оценката е премахната',
- 'saved' => 'Оценката е запазена',
- 'error' => 'Неуспешно запазване на оценката',
- 'error_unauthorized' => 'Трябва да сте влезли, за да оценявате снимки',
- 'error_forbidden' => 'Нямате право да оценявате тази снимка',
- 'error_not_found' => 'Снимката не е намерена',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Чувствително съдържание',
- 'description' => 'Този албум съдържа чувствително съдържание, което може да бъде обидно или смущаващо за някои хора.',
- 'consent' => 'Докоснете, за да потвърдите.',
- ],
- 'menus' => [
- 'highlight' => 'Отбележи',
- 'unhighlight' => 'Премахни отметка',
- 'highlight_all' => 'Отбележи избраните',
- 'unhighlight_all' => 'Премахни отметките',
- 'tag' => 'Таг',
- 'tag_all' => 'Тагни избраните',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Задай корица на албума',
- 'remove_header' => 'Премахни заглавката на албума',
- 'set_header' => 'Задай заглавка на албума',
- 'copy_to' => 'Копирай в …',
- 'copy_all_to' => 'Копирай избраните в …',
- 'rename' => 'Преименувай',
- 'move' => 'Премести',
- 'move_all' => 'Премести избраните',
- 'pin' => 'Закачи',
- 'unpin' => 'Откачи',
- 'delete' => 'Изтрий',
- 'delete_all' => 'Изтрий избраните',
- 'download' => 'Изтегли',
- 'download_all' => 'Изтегли избраните',
- 'merge' => 'Слей',
- 'merge_all' => 'Слей избраните',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Качи снимка',
- 'take_photo' => 'Направи снимка',
- 'import_link' => 'Импорт от линк',
- 'import_server' => 'Импорт от сървър',
- 'import_dropbox' => 'Импорт от Dropbox',
- 'new_album' => 'Нов албум',
- 'new_tag_album' => 'Нов таг албум',
- 'upload_track' => 'Качи трак',
- 'delete_track' => 'Изтрий трак',
- ],
- 'sort' => [
- 'photo_select_1' => 'Време на качване',
- 'photo_select_2' => 'Дата на заснемане',
- 'photo_select_3' => 'Заглавие (естествено)',
- 'photo_select_4' => 'Описание (естествено)',
- 'photo_select_3_strict' => 'Заглавие (лексикално)',
- 'photo_select_4_strict' => 'Описание (лексикално)',
- 'photo_select_6' => 'Оценка',
- 'photo_select_7' => 'Формат на снимката',
- 'ascending' => 'Възходящо',
- 'descending' => 'Низходящо',
- 'album_select_1' => 'Време на създаване',
- 'album_select_2' => 'Заглавие (естествено)',
- 'album_select_3' => 'Описание (естествено)',
- 'album_select_2_strict' => 'Заглавие (лексикално)',
- 'album_select_3_strict' => 'Описание (лексикално)',
- 'album_select_5' => 'Най-нова дата на заснемане',
- 'album_select_6' => 'Най-стара дата на заснемане',
- ],
- 'albums_protection' => [
- 'private' => 'частен',
- 'public' => 'публичен',
- 'inherit_from_parent' => 'наследи от родителя',
- 'public_but_hidden' => 'публичен, но скрит',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Gallery page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Галерия',
+ 'smart_albums' => 'Умни албуми',
+ 'pinned_albums' => 'Избрани албуми',
+ 'albums' => 'Албуми',
+ 'root' => 'Албуми',
+ 'set_focus' => 'Задай фокус',
+ 'set_header_focus' => 'Задай фокус на заглавката',
+ 'done' => 'Готово',
+ 'cancel' => 'Отказ',
+ 'tabs' => [
+ 'my_albums' => 'Моите албуми',
+ 'shared_with_me' => 'Споделени с мен',
+ ],
+ 'favourites' => 'Любими',
+ 'raw' => 'RAW',
+ 'original' => 'Оригинал',
+ 'medium' => 'Среден',
+ 'medium_hidpi' => 'Среден HiDPI',
+ 'small' => 'Миниатюра',
+ 'small_hidpi' => 'Миниатюра HiDPI',
+ 'thumb' => 'Квадратна миниатюра',
+ 'thumb_hidpi' => 'Квадратна миниатюра HiDPI',
+ 'placeholder' => 'Заместител с ниско качество',
+ 'thumbnail' => 'Миниатюра на снимка',
+ 'live_video' => 'Видео част от live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Изберете разделителна способност на изображенията за ZIP архива на албума. Ако снимка няма избрания вариант, ще бъде използван оригиналът.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Дата от камерата',
+ 'album_reserved' => 'Всички права запазени',
+ 'map' => [
+ 'error_gpx' => 'Грешка при зареждане на GPX файл',
+ 'osm_contributors' => 'Сътрудници на OpenStreetMap',
+ ],
+ 'search' => [
+ 'title' => 'Търсене',
+ 'no_results' => 'Нищо не отговаря на заявката ви.',
+ 'searchbox' => 'Търсене…',
+ 'minimum_chars' => 'Изискват се минимум %s знака.',
+ 'photos' => 'Снимки (%s)',
+ 'albums' => 'Албуми (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Несортирани',
+ 'highlighted' => 'Отбелязани',
+ 'recent' => 'Скорошни',
+ 'public' => 'Публични',
+ 'on_this_day' => 'На този ден',
+ 'untagged' => 'Без тагове',
+ 'unrated' => 'Без оценка',
+ 'one_star' => '1 звезда',
+ 'two_stars' => '2 звезди',
+ 'three_stars' => '3+ звезди',
+ 'four_stars' => '4+ звезди',
+ 'five_stars' => '5 звезди',
+ 'best_pictures' => 'Най-добри снимки',
+ 'my_rated_pictures' => 'Моите оценени снимки',
+ 'my_best_pictures' => 'Моите най-добри снимки',
+ ],
+ 'layout' => [
+ 'squares' => 'Квадратни миниатюри',
+ 'justified' => 'С пропорции, подравнени',
+ 'masonry' => 'С пропорции, masonry',
+ 'grid' => 'С пропорции, решетка',
+ 'filmstrip' => 'Филмова лента',
+ 'list' => 'Изглед списък',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Филтриране по звезден рейтинг',
+ 'n_stars_or_higher' => 'Филтриране по :n или повече звезди',
+ ],
+ 'overlay' => [
+ 'none' => 'Няма',
+ 'exif' => 'EXIF данни',
+ 'description' => 'Описание',
+ 'date' => 'Дата на заснемане',
+ ],
+ 'timeline' => [
+ 'title' => 'Времева линия',
+ 'load_previous' => 'Зареди предишни',
+ 'default' => 'по подразбиране',
+ 'disabled' => 'изключено',
+ 'year' => 'Година',
+ 'month' => 'Месец',
+ 'day' => 'Ден',
+ 'hour' => 'Час',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Безкрайно превъртане',
+ 'load_more_button' => 'Бутон „Зареди още“',
+ 'page_navigation' => 'Навигация по страници',
+ 'loading' => 'Зареждане...',
+ 'load_more' => 'Зареди още',
+ 'load_more_photos' => 'Зареди още (%s оставащи снимки)',
+ 'load_more_albums' => 'Зареди още (%s оставащи албуми)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Албуми',
+ 'header_photos' => 'Снимки',
+ 'show_highlighted' => 'Филтрирай отбелязаните снимки',
+ 'copy_highlighted_names' => 'Копирай имената на маркираните снимки',
+ 'no_results' => 'Няма какво да се покаже',
+ 'upload' => 'Качване на снимки',
+ 'tabs' => [
+ 'about' => 'За албума',
+ 'share' => 'Споделяне',
+ 'embed' => 'Вграждане',
+ 'move' => 'Преместване',
+ 'shop' => 'Управление на магазин',
+ 'danger' => 'ОПАСНА ЗОНА',
+ ],
+ 'hero' => [
+ 'created' => 'Създаден',
+ 'copyright' => 'Авторски права',
+ 'subalbums' => 'Подалбуми',
+ 'images' => 'Снимки',
+ 'download' => 'Изтегли албума',
+ 'share' => 'Сподели албума',
+ 'embed' => 'Вгради албума',
+ 'stats_only_se' => 'Статистиката е налична в Supporter Edition',
+ 'edit' => 'Редактирай',
+ 'save' => 'Запази',
+ 'open_gallery' => 'Отвори галерията',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Брой посещения',
+ 'number_of_downloads' => 'Брой изтегляния',
+ 'number_of_shares' => 'Брой споделяния',
+ 'lens' => 'Обектив',
+ 'shutter' => 'Скорост на затвора',
+ 'iso' => 'ISO',
+ 'model' => 'Модел',
+ 'aperture' => 'Бленда',
+ 'no_data' => 'Няма данни',
+ ],
+ 'properties' => [
+ 'title' => 'Заглавие',
+ 'slug' => 'Slug (приятелски URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Описание',
+ 'photo_ordering' => 'Подреждай снимките по',
+ 'children_ordering' => 'Подреждай албумите по',
+ 'asc/desc' => 'възх./низх.',
+ 'header' => 'Задай заглавка на албума',
+ 'compact_header' => 'Използвай компактна заглавка',
+ 'license' => 'Задай лиценз',
+ 'copyright' => 'Задай авторски права',
+ 'aspect_ratio' => 'Задай пропорции на миниатюрите',
+ 'album_timeline' => 'Задай времева линия за албума',
+ 'photo_timeline' => 'Задай времева линия за снимките',
+ 'layout' => 'Задай оформление на снимките',
+ 'show_tags' => 'Задай тагове за показване',
+ 'tags_required' => 'Таговете са задължителни.',
+ 'all_tags_must_match' => 'Всички тагове трябва да съвпадат.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Отбележи',
+ 'unhighlight' => 'Премахни отметка',
+ 'set_album_header' => 'Задай като заглавка на албума',
+ 'move' => 'Премести',
+ 'delete' => 'Изтрий',
+ 'header_set' => 'Заглавката е зададена',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF данни',
+ 'about' => 'Информация',
+ 'basics' => 'Основни',
+ 'title' => 'Заглавие',
+ 'uploaded' => 'Качена',
+ 'description' => 'Описание',
+ 'license' => 'Лиценз',
+ 'reuse' => 'Повторна употреба',
+ 'latitude' => 'Географска ширина',
+ 'longitude' => 'Географска дължина',
+ 'altitude' => 'Надморска височина',
+ 'location' => 'Местоположение',
+ 'image' => 'Изображение',
+ 'video' => 'Видео',
+ 'size' => 'Размер',
+ 'format' => 'Формат',
+ 'resolution' => 'Резолюция',
+ 'duration' => 'Продължителност',
+ 'fps' => 'Кадри/сек',
+ 'tags' => 'Тагове',
+ 'camera' => 'Камера',
+ 'captured' => 'Заснета',
+ 'make' => 'Производител',
+ 'type' => 'Тип/Модел',
+ 'lens' => 'Обектив',
+ 'shutter' => 'Скорост на затвора',
+ 'aperture' => 'Бленда',
+ 'focal' => 'Фокусно разстояние',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Статистика',
+ 'number_of_visits' => 'Брой посещения',
+ 'number_of_downloads' => 'Брой изтегляния',
+ 'number_of_shares' => 'Брой споделяния',
+ 'number_of_favourites' => 'Брой любими',
+ ],
+ 'links' => [
+ 'header' => 'Връзки',
+ 'copy' => 'Копирай',
+ 'copy_success' => 'Връзката е копирана в клипборда.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Задай заглавие',
+ 'set_description' => 'Задай описание',
+ 'set_license' => 'Задай лиценз',
+ 'no_tags' => 'Без тагове',
+ 'set_tags' => 'Задай тагове',
+ 'set_created_at' => 'Задай дата на качване',
+ 'set_taken_at' => 'Задай дата на заснемане',
+ 'set_taken_at_info' => 'Когато е зададено, ще се показва звезда %s, указваща че тази дата не е оригиналната EXIF дата.
Махнете отметката и запазете, за да възстановите оригиналната дата.',
+ ],
+ 'rating' => [
+ 'header' => 'Оценка',
+ 'rating' => 'оценка',
+ 'ratings' => 'оценки',
+ 'your_rating' => 'Вашата оценка',
+ 'saving' => 'Запазване на оценката...',
+ 'removed' => 'Оценката е премахната',
+ 'saved' => 'Оценката е запазена',
+ 'error' => 'Неуспешно запазване на оценката',
+ 'error_unauthorized' => 'Трябва да сте влезли, за да оценявате снимки',
+ 'error_forbidden' => 'Нямате право да оценявате тази снимка',
+ 'error_not_found' => 'Снимката не е намерена',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Чувствително съдържание',
+ 'description' => 'Този албум съдържа чувствително съдържание, което може да бъде обидно или смущаващо за някои хора.',
+ 'consent' => 'Докоснете, за да потвърдите.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Отбележи',
+ 'unhighlight' => 'Премахни отметка',
+ 'highlight_all' => 'Отбележи избраните',
+ 'unhighlight_all' => 'Премахни отметките',
+ 'tag' => 'Таг',
+ 'tag_all' => 'Тагни избраните',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Задай корица на албума',
+ 'remove_header' => 'Премахни заглавката на албума',
+ 'set_header' => 'Задай заглавка на албума',
+ 'copy_to' => 'Копирай в …',
+ 'copy_all_to' => 'Копирай избраните в …',
+ 'rename' => 'Преименувай',
+ 'move' => 'Премести',
+ 'move_all' => 'Премести избраните',
+ 'pin' => 'Закачи',
+ 'unpin' => 'Откачи',
+ 'delete' => 'Изтрий',
+ 'delete_all' => 'Изтрий избраните',
+ 'download' => 'Изтегли',
+ 'download_all' => 'Изтегли избраните',
+ 'merge' => 'Слей',
+ 'merge_all' => 'Слей избраните',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Качи снимка',
+ 'take_photo' => 'Направи снимка',
+ 'import_link' => 'Импорт от линк',
+ 'import_server' => 'Импорт от сървър',
+ 'import_dropbox' => 'Импорт от Dropbox',
+ 'new_album' => 'Нов албум',
+ 'new_tag_album' => 'Нов таг албум',
+ 'upload_track' => 'Качи трак',
+ 'delete_track' => 'Изтрий трак',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Време на качване',
+ 'photo_select_2' => 'Дата на заснемане',
+ 'photo_select_3' => 'Заглавие (естествено)',
+ 'photo_select_4' => 'Описание (естествено)',
+ 'photo_select_3_strict' => 'Заглавие (лексикално)',
+ 'photo_select_4_strict' => 'Описание (лексикално)',
+ 'photo_select_6' => 'Оценка',
+ 'photo_select_7' => 'Формат на снимката',
+ 'ascending' => 'Възходящо',
+ 'descending' => 'Низходящо',
+ 'album_select_1' => 'Време на създаване',
+ 'album_select_2' => 'Заглавие (естествено)',
+ 'album_select_3' => 'Описание (естествено)',
+ 'album_select_2_strict' => 'Заглавие (лексикално)',
+ 'album_select_3_strict' => 'Описание (лексикално)',
+ 'album_select_5' => 'Най-нова дата на заснемане',
+ 'album_select_6' => 'Най-стара дата на заснемане',
+ ],
+ 'albums_protection' => [
+ 'private' => 'частен',
+ 'public' => 'публичен',
+ 'inherit_from_parent' => 'наследи от родителя',
+ 'public_but_hidden' => 'публичен, но скрит',
+ ],
];
diff --git a/lang/bg/import_from_server.php b/lang/bg/import_from_server.php
index 22caf23a8ff..d93f6549d34 100644
--- a/lang/bg/import_from_server.php
+++ b/lang/bg/import_from_server.php
@@ -1,22 +1,22 @@
'Синхронизиране на файловете на сървъра',
- 'description' => 'Синхронизирайте файловете на сървъра си с Lychee. Това ще импортира снимки от избраната директория и всички нейни подпапки. Този процес е много бавен и препоръчваме използването на работници и опашки, за да се избегне изтичане на времето.',
- 'sync' => 'Синхронизирай',
- 'loading' => 'Зареждане...',
- 'selected_directory' => 'Текущо избрана директория:',
- 'resync_metadata' => 'Пресинхронизиране на метаданните на съществуващите файлове.',
- 'delete_imported' => 'Изтрий оригиналните файлове.',
- 'import_via_symlink' => 'Импортиране на снимки чрез символичен линк вместо копиране на файловете.',
- 'skip_duplicates' => 'Прескочи снимки и албуми, ако вече съществуват в галерията.',
- 'delete_missing_photos' => 'Изтрий снимките в албума, които не присъстват в синхронизираната директория.',
- 'delete_missing_albums' => 'Изтрий албумите в родителския албум, които не присъстват в синхронизираната директория.',
- 'importing_please_be_patient' => 'Импортиране, моля изчакайте...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Синхронизиране на файловете на сървъра',
+ 'description' => 'Синхронизирайте файловете на сървъра си с Lychee. Това ще импортира снимки от избраната директория и всички нейни подпапки. Този процес е много бавен и препоръчваме използването на работници и опашки, за да се избегне изтичане на времето.',
+ 'sync' => 'Синхронизирай',
+ 'loading' => 'Зареждане...',
+ 'selected_directory' => 'Текущо избрана директория:',
+ 'resync_metadata' => 'Пресинхронизиране на метаданните на съществуващите файлове.',
+ 'delete_imported' => 'Изтрий оригиналните файлове.',
+ 'import_via_symlink' => 'Импортиране на снимки чрез символичен линк вместо копиране на файловете.',
+ 'skip_duplicates' => 'Прескочи снимки и албуми, ако вече съществуват в галерията.',
+ 'delete_missing_photos' => 'Изтрий снимките в албума, които не присъстват в синхронизираната директория.',
+ 'delete_missing_albums' => 'Изтрий албумите в родителския албум, които не присъстват в синхронизираната директория.',
+ 'importing_please_be_patient' => 'Импортиране, моля изчакайте...',
];
diff --git a/lang/bg/jobs.php b/lang/bg/jobs.php
index 6f26ce0f9d2..1d4b2bc984c 100644
--- a/lang/bg/jobs.php
+++ b/lang/bg/jobs.php
@@ -1,15 +1,15 @@
'Задачи',
- 'no_data' => 'Все още не са изпълнени задачи.',
- 'ready' => 'Готово',
- 'success' => 'Успешно',
- 'failure' => 'Неуспешно',
- 'started' => 'Стартирано',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Задачи',
+ 'no_data' => 'Все още не са изпълнени задачи.',
+ 'ready' => 'Готово',
+ 'success' => 'Успешно',
+ 'failure' => 'Неуспешно',
+ 'started' => 'Стартирано',
];
diff --git a/lang/bg/landing.php b/lang/bg/landing.php
index ccea13cc21d..bcc1a3bf09b 100644
--- a/lang/bg/landing.php
+++ b/lang/bg/landing.php
@@ -1,13 +1,13 @@
'Галерия',
- 'access_gallery' => 'Достъп до галерията',
- 'Powered_by_Lychee' => 'Задвижвано от Lychee',
- 'copyright' => 'Всички изображения на този уебсайт са защитени с авторски права от %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Галерия',
+ 'access_gallery' => 'Достъп до галерията',
+ 'Powered_by_Lychee' => 'Задвижвано от Lychee',
+ 'copyright' => 'Всички изображения на този уебсайт са защитени с авторски права от %1$s © %2$s',
];
diff --git a/lang/bg/left-menu.php b/lang/bg/left-menu.php
index b00de8e56d2..5c686ddbd36 100644
--- a/lang/bg/left-menu.php
+++ b/lang/bg/left-menu.php
@@ -1,28 +1,28 @@
'Обратно в галерията',
- 'login' => 'Вход',
- 'frame' => 'Рамка',
- 'map' => 'Карта',
- 'embed_stream' => 'Вграждане на фотопоток',
- 'admin' => 'Администратор',
- 'clockwork' => 'Clockwork приложение',
- 'logs' => 'Покажи дневници',
- 'jobs' => 'Покажи история на задачите',
- 'user' => 'Потребител',
- 'sign_out' => 'Изход',
- 'about' => 'Относно',
- 'changelog' => 'Дневник на промените',
- 'api' => 'API документация',
- 'source_code' => 'Изходен код',
- 'support' => 'Поддръжка',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Обратно в галерията',
+ 'login' => 'Вход',
+ 'frame' => 'Рамка',
+ 'map' => 'Карта',
+ 'embed_stream' => 'Вграждане на фотопоток',
+ 'admin' => 'Администратор',
+ 'clockwork' => 'Clockwork приложение',
+ 'logs' => 'Покажи дневници',
+ 'jobs' => 'Покажи история на задачите',
+ 'user' => 'Потребител',
+ 'sign_out' => 'Изход',
+ 'about' => 'Относно',
+ 'changelog' => 'Дневник на промените',
+ 'api' => 'API документация',
+ 'source_code' => 'Изходен код',
+ 'support' => 'Поддръжка',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/bg/maintenance.php b/lang/bg/maintenance.php
index 2fee1f468d4..8fe36ef907d 100644
--- a/lang/bg/maintenance.php
+++ b/lang/bg/maintenance.php
@@ -1,103 +1,103 @@
'Поддръжка',
- 'description' => 'На тази страница ще намерите всички необходими действия, за да поддържате инсталацията на Lychee да работи гладко и без проблеми.',
- 'cleaning' => [
- 'title' => 'Почистване на %s',
- 'result' => '%s изтрити.',
- 'description' => 'Премахни всички съдържания от %s',
- 'button' => 'Почисти',
- ],
- 'duplicate-finder' => [
- 'title' => 'Дубликати',
- 'description' => 'Този модул отчита потенциалните дубликати между снимките.',
- 'duplicates-all' => 'Дубликати във всички албуми',
- 'duplicates-title' => 'Дубликати по заглавие на албум',
- 'duplicates-per-album' => 'Дубликати на албум',
- 'show' => 'Покажи дубликатите',
- 'load' => 'Зареди броя',
- ],
- 'fix-jobs' => [
- 'title' => 'Поправяне на историята на задачите',
- 'description' => 'Маркирай задачите със статус %s или %s като %s.',
- 'button' => 'Поправи историята на задачите',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Липсващи %s',
- 'description' => 'Намерени са %d %s, които могат да бъдат генерирани.',
- 'button' => 'Генерирай!',
- 'success' => 'Успешно генерирани %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'Липсващи размери на файлове',
- 'description' => 'Намерени са %d малки варианта без информация за размер.',
- 'button' => 'Вземи данни!',
- 'success' => 'Успешно изчислени размерите на %d малки варианта.',
- ],
- 'fix-tree' => [
- 'title' => 'Статистика на дървото',
- 'Oddness' => 'Нередности',
- 'Duplicates' => 'Дубликати',
- 'Wrong parents' => 'Грешни родители',
- 'Missing parents' => 'Липсващи родители',
- 'button' => 'Поправи дървото',
- ],
- 'optimize' => [
- 'title' => 'Оптимизирай базата данни',
- 'description' => 'Ако забележите забавяне в инсталацията, това може да се дължи на липсващи индекси в базата данни.',
- 'button' => 'Оптимизирай базата данни',
- ],
- 'update' => [
- 'title' => 'Актуализации',
- 'check-button' => 'Провери за актуализации',
- 'update-button' => 'Актуализирай',
- 'no-pending-updates' => 'Няма налични актуализации.',
- ],
- 'missing-palettes' => [
- 'title' => 'Липсващи палитри',
- 'description' => 'Намерени са %d липсващи палитри.',
- 'button' => 'Създай липсващите',
- ],
- 'statistics-check' => [
- 'title' => 'Проверка на целостта на статистиката',
- 'missing_photos' => 'Липсва статистика за %d снимки.',
- 'missing_albums' => 'Липсва статистика за %d албуми.',
- 'button' => 'Създай липсващите',
- ],
- 'flush-cache' => [
- 'title' => 'Изчисти кеша',
- 'description' => 'Изчисти кеша на всеки потребител, за да се решат проблеми с валидността.',
- 'button' => 'Изчисти',
- ],
- 'old-orders' => [
- 'title' => 'Старо поръчки',
- 'description' => 'Намерени са %d стари поръчки.
Стара поръчка е по-стара от 14 дни, няма свързан потребител и все още е в очакване на плащане или не съдържа артикули.',
- 'button' => 'Изтрий старите поръчки',
- ],
- 'fulfill-orders' => [
- 'title' => 'Поръчки за изпълнение',
- 'description' => 'Намерени са %d поръчки със съдържание, което не е направено достъпно.
Кликнете бутона, за да разпределите съдържанието, когато е възможно.',
- 'button' => 'Изпълни поръчките',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Предварително изчислени полета на албума',
- 'description' => 'Намерени са %d албума с липсващи предварително изчислени полета.
Еквивалентно на изпълнение на: php artisan lychee:backfill-album-fields',
- 'button' => 'Изчисли полетата',
- ],
- 'flush-queue' => [
- 'title' => 'Изчисти опашката',
- 'description' => 'Намерени са %d чакащи задачи в опашката.
ВНИМАНИЕ: Изчистването на опашката ще изтрие завинаги всички чакащи задачи. Това не може да бъде отменено.',
- 'button' => 'Изчисти опашката',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Статистика за размера на албумите',
- 'description' => 'Открити са %d албума без статистика за размера.
Еквивалентно на изпълнението на: php artisan lychee:recompute-album-sizes',
- 'button' => 'Изчисли размерите',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Maintenance Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Поддръжка',
+ 'description' => 'На тази страница ще намерите всички необходими действия, за да поддържате инсталацията на Lychee да работи гладко и без проблеми.',
+ 'cleaning' => [
+ 'title' => 'Почистване на %s',
+ 'result' => '%s изтрити.',
+ 'description' => 'Премахни всички съдържания от %s',
+ 'button' => 'Почисти',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Дубликати',
+ 'description' => 'Този модул отчита потенциалните дубликати между снимките.',
+ 'duplicates-all' => 'Дубликати във всички албуми',
+ 'duplicates-title' => 'Дубликати по заглавие на албум',
+ 'duplicates-per-album' => 'Дубликати на албум',
+ 'show' => 'Покажи дубликатите',
+ 'load' => 'Зареди броя',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Поправяне на историята на задачите',
+ 'description' => 'Маркирай задачите със статус %s или %s като %s.',
+ 'button' => 'Поправи историята на задачите',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Липсващи %s',
+ 'description' => 'Намерени са %d %s, които могат да бъдат генерирани.',
+ 'button' => 'Генерирай!',
+ 'success' => 'Успешно генерирани %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'Липсващи размери на файлове',
+ 'description' => 'Намерени са %d малки варианта без информация за размер.',
+ 'button' => 'Вземи данни!',
+ 'success' => 'Успешно изчислени размерите на %d малки варианта.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Статистика на дървото',
+ 'Oddness' => 'Нередности',
+ 'Duplicates' => 'Дубликати',
+ 'Wrong parents' => 'Грешни родители',
+ 'Missing parents' => 'Липсващи родители',
+ 'button' => 'Поправи дървото',
+ ],
+ 'optimize' => [
+ 'title' => 'Оптимизирай базата данни',
+ 'description' => 'Ако забележите забавяне в инсталацията, това може да се дължи на липсващи индекси в базата данни.',
+ 'button' => 'Оптимизирай базата данни',
+ ],
+ 'update' => [
+ 'title' => 'Актуализации',
+ 'check-button' => 'Провери за актуализации',
+ 'update-button' => 'Актуализирай',
+ 'no-pending-updates' => 'Няма налични актуализации.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Липсващи палитри',
+ 'description' => 'Намерени са %d липсващи палитри.',
+ 'button' => 'Създай липсващите',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Проверка на целостта на статистиката',
+ 'missing_photos' => 'Липсва статистика за %d снимки.',
+ 'missing_albums' => 'Липсва статистика за %d албуми.',
+ 'button' => 'Създай липсващите',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Изчисти кеша',
+ 'description' => 'Изчисти кеша на всеки потребител, за да се решат проблеми с валидността.',
+ 'button' => 'Изчисти',
+ ],
+ 'old-orders' => [
+ 'title' => 'Старо поръчки',
+ 'description' => 'Намерени са %d стари поръчки.
Стара поръчка е по-стара от 14 дни, няма свързан потребител и все още е в очакване на плащане или не съдържа артикули.',
+ 'button' => 'Изтрий старите поръчки',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Поръчки за изпълнение',
+ 'description' => 'Намерени са %d поръчки със съдържание, което не е направено достъпно.
Кликнете бутона, за да разпределите съдържанието, когато е възможно.',
+ 'button' => 'Изпълни поръчките',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Предварително изчислени полета на албума',
+ 'description' => 'Намерени са %d албума с липсващи предварително изчислени полета.
Еквивалентно на изпълнение на: php artisan lychee:backfill-album-fields',
+ 'button' => 'Изчисли полетата',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Изчисти опашката',
+ 'description' => 'Намерени са %d чакащи задачи в опашката.
ВНИМАНИЕ: Изчистването на опашката ще изтрие завинаги всички чакащи задачи. Това не може да бъде отменено.',
+ 'button' => 'Изчисти опашката',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Статистика за размера на албумите',
+ 'description' => 'Открити са %d албума без статистика за размера.
Еквивалентно на изпълнението на: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Изчисли размерите',
+ ],
];
diff --git a/lang/bg/moderation.php b/lang/bg/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/bg/moderation.php
+++ b/lang/bg/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/bg/profile.php b/lang/bg/profile.php
index b99640beb1c..9530c5c20d0 100644
--- a/lang/bg/profile.php
+++ b/lang/bg/profile.php
@@ -1,80 +1,80 @@
'Профил',
- 'login' => [
- 'header' => 'Профил',
- 'enter_current_password' => 'Въведете текущата си парола:',
- 'current_password' => 'Текуща парола',
- 'credentials_update' => 'Вашите данни ще бъдат променени на следните:',
- 'username' => 'Потребителско име',
- 'new_password' => 'Нова парола',
- 'confirm_new_password' => 'Потвърдете новата парола',
- 'email_instruction' => 'Добавете вашия имейл по-долу, за да получавате известия по имейл. За да спрете получаването на имейли, просто премахнете имейла си по-долу.',
- 'email' => 'Имейл',
- 'change' => 'Промени данните за вход',
- 'api_token' => 'API токен …',
- 'missing_fields' => 'Липсващи полета',
- 'ldap_managed' => 'Информацията за вход на потребителя се управлява чрез LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Потребителското име вече съществува.',
- 'password_mismatch' => 'Паролите не съвпадат.',
- 'signup' => 'Регистрация',
- 'error' => 'Възникна грешка при регистрацията на вашия акаунт.',
- 'success' => 'Вашият акаунт беше успешно създаден.',
- ],
- 'token' => [
- 'unavailable' => 'Вече сте видели този токен.',
- 'no_data' => 'Не е генериран API токен.',
- 'disable' => 'Деактивирай',
- 'disabled' => 'Токенът е деактивиран',
- 'warning' => 'Този токен няма да се показва отново. Копирайте го и го съхранявайте на безопасно място.',
- 'reset' => 'Нулиране на токена',
- 'create' => 'Създай нов токен',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth не е наличен',
- 'setup_env' => 'Настройте данните за достъп в .env файла си',
- 'token_registered' => 'Токен %s регистриран.',
- 'setup' => 'Настрой %s',
- 'reset' => 'нулиране',
- 'credential_deleted' => 'Данните за достъп са изтрити!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'Това предоставя възможност за използване на WebAuthn за автентикация вместо потребителско име и парола.',
- 'empty' => 'Списъкът с данни за достъп е празен!',
- 'not_secure' => 'Околната среда не е защитена. U2F не е наличен.',
- 'new' => 'Регистрирай ново устройство.',
- 'credential_deleted' => 'Данните за достъп са изтрити!',
- 'credential_updated' => 'Данните за достъп са обновени!',
- 'credential_registred' => 'Регистрацията е успешна!',
- '5_chars' => 'Поне 5 символа.',
- ],
- 'preferences' => [
- 'header' => 'Предпочитания',
- 'save' => 'Запази предпочитанията',
- 'reset' => 'Нулирай',
- 'change_saved' => 'Предпочитанията са запазени!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Изберете как споделените албуми (албуми от други потребители) да се показват във вашата галерия:',
- 'mode_default' => 'Използвай настройките на сървъра',
- 'mode_default_desc' => 'Наследява стандартния режим на видимост на сървъра.',
- 'mode_show' => 'Показвай заедно',
- 'mode_show_desc' => 'Споделените албуми се показват под вашите собствени албуми.',
- 'mode_separate' => 'Отделни табове',
- 'mode_separate_desc' => 'Преглед на албумите в отделни табове „Моите албуми“ и „Споделени с мен“.',
- 'mode_separate_shared_only' => 'Само споделени',
- 'mode_separate_shared_only_desc' => 'Отделни табове, показващи само директно споделените албуми (без публичните албуми).',
- 'mode_hide' => 'Скрий',
- 'mode_hide_desc' => 'Не показвай никакви споделени албуми.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Профил',
+ 'login' => [
+ 'header' => 'Профил',
+ 'enter_current_password' => 'Въведете текущата си парола:',
+ 'current_password' => 'Текуща парола',
+ 'credentials_update' => 'Вашите данни ще бъдат променени на следните:',
+ 'username' => 'Потребителско име',
+ 'new_password' => 'Нова парола',
+ 'confirm_new_password' => 'Потвърдете новата парола',
+ 'email_instruction' => 'Добавете вашия имейл по-долу, за да получавате известия по имейл. За да спрете получаването на имейли, просто премахнете имейла си по-долу.',
+ 'email' => 'Имейл',
+ 'change' => 'Промени данните за вход',
+ 'api_token' => 'API токен …',
+ 'missing_fields' => 'Липсващи полета',
+ 'ldap_managed' => 'Информацията за вход на потребителя се управлява чрез LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Потребителското име вече съществува.',
+ 'password_mismatch' => 'Паролите не съвпадат.',
+ 'signup' => 'Регистрация',
+ 'error' => 'Възникна грешка при регистрацията на вашия акаунт.',
+ 'success' => 'Вашият акаунт беше успешно създаден.',
+ ],
+ 'token' => [
+ 'unavailable' => 'Вече сте видели този токен.',
+ 'no_data' => 'Не е генериран API токен.',
+ 'disable' => 'Деактивирай',
+ 'disabled' => 'Токенът е деактивиран',
+ 'warning' => 'Този токен няма да се показва отново. Копирайте го и го съхранявайте на безопасно място.',
+ 'reset' => 'Нулиране на токена',
+ 'create' => 'Създай нов токен',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth не е наличен',
+ 'setup_env' => 'Настройте данните за достъп в .env файла си',
+ 'token_registered' => 'Токен %s регистриран.',
+ 'setup' => 'Настрой %s',
+ 'reset' => 'нулиране',
+ 'credential_deleted' => 'Данните за достъп са изтрити!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'Това предоставя възможност за използване на WebAuthn за автентикация вместо потребителско име и парола.',
+ 'empty' => 'Списъкът с данни за достъп е празен!',
+ 'not_secure' => 'Околната среда не е защитена. U2F не е наличен.',
+ 'new' => 'Регистрирай ново устройство.',
+ 'credential_deleted' => 'Данните за достъп са изтрити!',
+ 'credential_updated' => 'Данните за достъп са обновени!',
+ 'credential_registred' => 'Регистрацията е успешна!',
+ '5_chars' => 'Поне 5 символа.',
+ ],
+ 'preferences' => [
+ 'header' => 'Предпочитания',
+ 'save' => 'Запази предпочитанията',
+ 'reset' => 'Нулирай',
+ 'change_saved' => 'Предпочитанията са запазени!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Изберете как споделените албуми (албуми от други потребители) да се показват във вашата галерия:',
+ 'mode_default' => 'Използвай настройките на сървъра',
+ 'mode_default_desc' => 'Наследява стандартния режим на видимост на сървъра.',
+ 'mode_show' => 'Показвай заедно',
+ 'mode_show_desc' => 'Споделените албуми се показват под вашите собствени албуми.',
+ 'mode_separate' => 'Отделни табове',
+ 'mode_separate_desc' => 'Преглед на албумите в отделни табове „Моите албуми“ и „Споделени с мен“.',
+ 'mode_separate_shared_only' => 'Само споделени',
+ 'mode_separate_shared_only_desc' => 'Отделни табове, показващи само директно споделените албуми (без публичните албуми).',
+ 'mode_hide' => 'Скрий',
+ 'mode_hide_desc' => 'Не показвай никакви споделени албуми.',
+ ],
];
diff --git a/lang/bg/renamer.php b/lang/bg/renamer.php
index c2e1ceabb10..fa00153a3e6 100644
--- a/lang/bg/renamer.php
+++ b/lang/bg/renamer.php
@@ -1,109 +1,109 @@
'Правила за преименуване',
-
- // Modal titles
- 'create_rule' => 'Създай правило за преименуване',
- 'edit_rule' => 'Редактирай правило за преименуване',
-
- // Form fields
- 'rule_name' => 'Име на правило',
- 'description' => 'Описание',
- 'pattern' => 'Шаблон',
- 'replacement' => 'Замяна',
- 'mode' => 'Режим',
- 'order' => 'Пореден номер',
- 'enabled' => 'Активно',
- 'photo_rule' => 'Правилото се прилага за снимки',
- 'album_rule' => 'Правилото се прилага за албуми',
-
- // Form placeholders and help text
- 'description_placeholder' => 'По избор описание на действието на правилото',
- 'pattern_help' => 'Шаблон за съвпадение (напр. IMG_, DSC_)',
- 'replacement_help' => 'Текст за замяна (напр. Photo_, Camera_)',
- 'order_help' => 'По-ниските числа се обработват първо (1 = най-висок приоритет)',
- 'enabled_help' => '(Само активните правила ще се прилагат при преименуване)',
-
- // Mode options
- 'mode_first' => 'Първо срещане',
- 'mode_all' => 'Всички срещания',
- 'mode_regex' => 'Регулярен израз',
- 'mode_trim' => 'Премахни интервали',
- 'mode_strtolower' => 'малки букви',
- 'mode_strtoupper' => 'ГЛАВНИ БУКВИ',
- 'mode_ucwords' => 'Главни букви на всяка дума',
- 'mode_ucfirst' => 'Главна буква на първата дума',
-
- 'mode_first_description' => 'Замени само първото срещане',
- 'mode_all_description' => 'Замени всички срещания',
- 'mode_regex_description' => 'Използвай съвпадение с regex',
- 'mode_trim_description' => 'Премахни интервалите',
- 'mode_strtolower_description' => 'Преобразувай текста в малки букви',
- 'mode_strtoupper_description' => 'Преобразувай текста в ГЛАВНИ БУКВИ',
- 'mode_ucwords_description' => 'Първата буква на всяка дума е главна',
- 'mode_ucfirst_description' => 'Първата буква е главна',
-
- 'regex_help' => 'Използвайте регулярни изрази за съвпадение на шаблони. Например, за да замените IMG_1234.jpeg с 1234_JPG.jpeg, можете да използвате /IMG_(\d+)/ като шаблон и $1_JPG като замяна. Повече обяснения и примери можете да намерите в следните линкове.',
-
- // Buttons
- 'cancel' => 'Откажи',
- 'create' => 'Създай',
- 'update' => 'Обнови',
- 'create_first_rule' => 'Създай първото си правило',
-
- // Validation messages
- 'rule_name_required' => 'Името на правилото е задължително',
- 'pattern_required' => 'Шаблонът е задължителен',
- 'replacement_required' => 'Замяната е задължителна',
- 'mode_required' => 'Режимът е задължителен',
- 'order_positive' => 'Пореден номер трябва да е положително число',
-
- // Success messages
- 'rule_created' => 'Правилото за преименуване е създадено успешно',
- 'rule_updated' => 'Правилото за преименуване е обновено успешно',
- 'rule_deleted' => 'Правилото за преименуване е изтрито успешно',
-
- // Error messages
- 'failed_to_create' => 'Неуспешно създаване на правило за преименуване',
- 'failed_to_update' => 'Неуспешно обновяване на правило за преименуване',
- 'failed_to_delete' => 'Неуспешно изтриване на правило за преименуване',
- 'failed_to_load' => 'Неуспешно зареждане на правилата за преименуване',
-
- // List view
- 'rules_count' => ':count правила',
- 'no_rules' => 'Не са намерени правила за преименуване',
- 'loading' => 'Зареждане на правилата за преименуване...',
- 'pattern_label' => 'Шаблон',
- 'replace_with_label' => 'Замени с',
- 'photo' => 'Снимка',
- 'album' => 'Албум',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Потвърждение за изтриване',
- 'confirm_delete_message' => 'Сигурни ли сте, че искате да изтриете правилото ":rule"?',
- 'delete' => 'Изтрий',
-
- // Status messages
- 'success' => 'Успех',
- 'error' => 'Грешка',
-
- // Placeholders
- 'select_mode' => 'Изберете режим на преименуване',
- 'execution_order' => 'Поръчка на изпълнение',
-
- // Test functionality
- 'test_input_placeholder' => 'Въведете име на файл за тестване на правилата (напр. IMG_1234.jpg)',
- 'test_original' => 'Оригинал',
- 'test_result' => 'Резултат',
- 'test_failed' => 'Неуспешен тест на правилата за преименуване',
- 'apply_photo_rules' => 'Прилагане на правила за снимки',
- 'apply_album_rules' => 'Прилагане на правила за албуми',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Правила за преименуване',
+
+ // Modal titles
+ 'create_rule' => 'Създай правило за преименуване',
+ 'edit_rule' => 'Редактирай правило за преименуване',
+
+ // Form fields
+ 'rule_name' => 'Име на правило',
+ 'description' => 'Описание',
+ 'pattern' => 'Шаблон',
+ 'replacement' => 'Замяна',
+ 'mode' => 'Режим',
+ 'order' => 'Пореден номер',
+ 'enabled' => 'Активно',
+ 'photo_rule' => 'Правилото се прилага за снимки',
+ 'album_rule' => 'Правилото се прилага за албуми',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'По избор описание на действието на правилото',
+ 'pattern_help' => 'Шаблон за съвпадение (напр. IMG_, DSC_)',
+ 'replacement_help' => 'Текст за замяна (напр. Photo_, Camera_)',
+ 'order_help' => 'По-ниските числа се обработват първо (1 = най-висок приоритет)',
+ 'enabled_help' => '(Само активните правила ще се прилагат при преименуване)',
+
+ // Mode options
+ 'mode_first' => 'Първо срещане',
+ 'mode_all' => 'Всички срещания',
+ 'mode_regex' => 'Регулярен израз',
+ 'mode_trim' => 'Премахни интервали',
+ 'mode_strtolower' => 'малки букви',
+ 'mode_strtoupper' => 'ГЛАВНИ БУКВИ',
+ 'mode_ucwords' => 'Главни букви на всяка дума',
+ 'mode_ucfirst' => 'Главна буква на първата дума',
+
+ 'mode_first_description' => 'Замени само първото срещане',
+ 'mode_all_description' => 'Замени всички срещания',
+ 'mode_regex_description' => 'Използвай съвпадение с regex',
+ 'mode_trim_description' => 'Премахни интервалите',
+ 'mode_strtolower_description' => 'Преобразувай текста в малки букви',
+ 'mode_strtoupper_description' => 'Преобразувай текста в ГЛАВНИ БУКВИ',
+ 'mode_ucwords_description' => 'Първата буква на всяка дума е главна',
+ 'mode_ucfirst_description' => 'Първата буква е главна',
+
+ 'regex_help' => 'Използвайте регулярни изрази за съвпадение на шаблони. Например, за да замените IMG_1234.jpeg с 1234_JPG.jpeg, можете да използвате /IMG_(\d+)/ като шаблон и $1_JPG като замяна. Повече обяснения и примери можете да намерите в следните линкове.',
+
+ // Buttons
+ 'cancel' => 'Откажи',
+ 'create' => 'Създай',
+ 'update' => 'Обнови',
+ 'create_first_rule' => 'Създай първото си правило',
+
+ // Validation messages
+ 'rule_name_required' => 'Името на правилото е задължително',
+ 'pattern_required' => 'Шаблонът е задължителен',
+ 'replacement_required' => 'Замяната е задължителна',
+ 'mode_required' => 'Режимът е задължителен',
+ 'order_positive' => 'Пореден номер трябва да е положително число',
+
+ // Success messages
+ 'rule_created' => 'Правилото за преименуване е създадено успешно',
+ 'rule_updated' => 'Правилото за преименуване е обновено успешно',
+ 'rule_deleted' => 'Правилото за преименуване е изтрито успешно',
+
+ // Error messages
+ 'failed_to_create' => 'Неуспешно създаване на правило за преименуване',
+ 'failed_to_update' => 'Неуспешно обновяване на правило за преименуване',
+ 'failed_to_delete' => 'Неуспешно изтриване на правило за преименуване',
+ 'failed_to_load' => 'Неуспешно зареждане на правилата за преименуване',
+
+ // List view
+ 'rules_count' => ':count правила',
+ 'no_rules' => 'Не са намерени правила за преименуване',
+ 'loading' => 'Зареждане на правилата за преименуване...',
+ 'pattern_label' => 'Шаблон',
+ 'replace_with_label' => 'Замени с',
+ 'photo' => 'Снимка',
+ 'album' => 'Албум',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Потвърждение за изтриване',
+ 'confirm_delete_message' => 'Сигурни ли сте, че искате да изтриете правилото ":rule"?',
+ 'delete' => 'Изтрий',
+
+ // Status messages
+ 'success' => 'Успех',
+ 'error' => 'Грешка',
+
+ // Placeholders
+ 'select_mode' => 'Изберете режим на преименуване',
+ 'execution_order' => 'Поръчка на изпълнение',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Въведете име на файл за тестване на правилата (напр. IMG_1234.jpg)',
+ 'test_original' => 'Оригинал',
+ 'test_result' => 'Резултат',
+ 'test_failed' => 'Неуспешен тест на правилата за преименуване',
+ 'apply_photo_rules' => 'Прилагане на правила за снимки',
+ 'apply_album_rules' => 'Прилагане на правила за албуми',
];
diff --git a/lang/bg/settings.php b/lang/bg/settings.php
index 784f8671fd2..e72e986a522 100644
--- a/lang/bg/settings.php
+++ b/lang/bg/settings.php
@@ -1,114 +1,114 @@
'Настройки',
- 'small_screen' => 'За по-добро изживяване на страницата с настройки,
препоръчваме да използвате по-голям екран.',
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Настройки',
+ 'small_screen' => 'За по-добро изживяване на страницата с настройки,
препоръчваме да използвате по-голям екран.',
- 'tabs' => [
- 'basic' => 'Основни',
- 'all_settings' => 'Всички настройки',
- ],
+ 'tabs' => [
+ 'basic' => 'Основни',
+ 'all_settings' => 'Всички настройки',
+ ],
- 'toasts' => [
- 'change_saved' => 'Промяната е запазена!',
- 'details' => 'Настройките са променени според заявката',
- 'error' => 'Грешка!',
- 'error_load_css' => 'Не можа да се зареди dist/user.css',
- 'error_load_js' => 'Не можа да се зареди dist/custom.js',
- 'error_save_css' => 'Не можа да се запази CSS',
- 'error_save_js' => 'Не можа да се запази JS',
- 'thank_you' => 'Благодарим за подкрепата.',
- 'reload' => 'Презаредете страницата за пълна функционалност.',
- ],
+ 'toasts' => [
+ 'change_saved' => 'Промяната е запазена!',
+ 'details' => 'Настройките са променени според заявката',
+ 'error' => 'Грешка!',
+ 'error_load_css' => 'Не можа да се зареди dist/user.css',
+ 'error_load_js' => 'Не можа да се зареди dist/custom.js',
+ 'error_save_css' => 'Не можа да се запази CSS',
+ 'error_save_js' => 'Не можа да се запази JS',
+ 'thank_you' => 'Благодарим за подкрепата.',
+ 'reload' => 'Презаредете страницата за пълна функционалност.',
+ ],
- 'system' => [
- 'header' => 'Система',
- 'use_dark_mode' => 'Използвай тъмен режим за Lychee',
- 'language' => 'Език, използван от Lychee',
- 'nsfw_album_visibility' => 'Прави чувствителните албуми видими по подразбиране.',
- 'nsfw_album_explanation' => 'Ако албумът е публичен, той все пак е достъпен, но е скрит от гледката и може да се покаже с натискане на H.',
- 'cache_enabled' => 'Разреши кеширане на отговорите.',
- 'cache_enabled_details' => 'Това значително ускорява времето за отговор на Lychee.
Ако използвате албуми с парола, не трябва да активирате това.',
- ],
+ 'system' => [
+ 'header' => 'Система',
+ 'use_dark_mode' => 'Използвай тъмен режим за Lychee',
+ 'language' => 'Език, използван от Lychee',
+ 'nsfw_album_visibility' => 'Прави чувствителните албуми видими по подразбиране.',
+ 'nsfw_album_explanation' => 'Ако албумът е публичен, той все пак е достъпен, но е скрит от гледката и може да се покаже с натискане на H.',
+ 'cache_enabled' => 'Разреши кеширане на отговорите.',
+ 'cache_enabled_details' => 'Това значително ускорява времето за отговор на Lychee.
Ако използвате албуми с парола, не трябва да активирате това.',
+ ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Получете ексклузивни функции и подкрепете развитието на Lychee. Отключете SE издание.',
- 'preview' => 'Разреши предварителен преглед на Lychee SE функции',
- 'hide_call4action' => 'Скрий този регистрационен формуляр за Lychee SE. Доволен съм от Lychee така, както е. :)',
- 'hide_warning' => 'Ако е активирано, единственият начин да регистрирате лицензионния си ключ ще бъде чрез таба "Още" по-горе. Промените се прилагат след презареждане на страницата.',
- ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Получете ексклузивни функции и подкрепете развитието на Lychee. Отключете SE издание.',
+ 'preview' => 'Разреши предварителен преглед на Lychee SE функции',
+ 'hide_call4action' => 'Скрий този регистрационен формуляр за Lychee SE. Доволен съм от Lychee така, както е. :)',
+ 'hide_warning' => 'Ако е активирано, единственият начин да регистрирате лицензионния си ключ ще бъде чрез таба "Още" по-горе. Промените се прилагат след презареждане на страницата.',
+ ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'За да импортирате снимки от Dropbox, ви е необходим валиден ключ за drop-ins приложение от техния сайт.',
- 'api_key' => 'Dropbox API ключ',
- 'set_key' => 'Задай Dropbox ключ',
- ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'За да импортирате снимки от Dropbox, ви е необходим валиден ключ за drop-ins приложение от техния сайт.',
+ 'api_key' => 'Dropbox API ключ',
+ 'set_key' => 'Задай Dropbox ключ',
+ ],
- 'gallery' => [
- 'header' => 'Галерия',
- 'photo_order_column' => 'Колона по подразбиране за сортиране на снимки',
- 'photo_order_direction' => 'Подредба по подразбиране за сортиране на снимки',
- 'album_order_column' => 'Колона по подразбиране за сортиране на албуми',
- 'album_order_direction' => 'Подредба по подразбиране за сортиране на албуми',
- 'aspect_ratio' => 'Съотношение по подразбиране за миниатюри на албуми',
- 'photo_layout' => 'Оформление на снимките',
- 'album_decoration' => 'Покажи декорации на корицата на албума (брой подалбуми и/или снимки)',
- 'album_decoration_direction' => 'Подравни декорациите на албума хоризонтално или вертикално',
- 'photo_overlay' => 'Информация по подразбиране за изображението',
- 'license_default' => 'Лиценз по подразбиране за албуми',
- 'license_help' => 'Нужна помощ при избора?',
- ],
+ 'gallery' => [
+ 'header' => 'Галерия',
+ 'photo_order_column' => 'Колона по подразбиране за сортиране на снимки',
+ 'photo_order_direction' => 'Подредба по подразбиране за сортиране на снимки',
+ 'album_order_column' => 'Колона по подразбиране за сортиране на албуми',
+ 'album_order_direction' => 'Подредба по подразбиране за сортиране на албуми',
+ 'aspect_ratio' => 'Съотношение по подразбиране за миниатюри на албуми',
+ 'photo_layout' => 'Оформление на снимките',
+ 'album_decoration' => 'Покажи декорации на корицата на албума (брой подалбуми и/или снимки)',
+ 'album_decoration_direction' => 'Подравни декорациите на албума хоризонтално или вертикално',
+ 'photo_overlay' => 'Информация по подразбиране за изображението',
+ 'license_default' => 'Лиценз по подразбиране за албуми',
+ 'license_help' => 'Нужна помощ при избора?',
+ ],
- 'geolocation' => [
- 'header' => 'Геолокация',
- 'map_display' => 'Показване на карта според GPS координати',
- 'map_display_public' => 'Позволи на анонимни потребители да виждат картата',
- 'map_provider' => 'Дефинира доставчик на картата',
- 'map_include_subalbums' => 'Включва снимки от подалбумите на картата',
- 'location_decoding' => 'Използвай декодиране на GPS местоположение',
- 'location_show' => 'Показване на местоположение извлечено от GPS координати',
- 'location_show_public' => 'Анонимни потребители могат да виждат извлеченото местоположение',
- 'gps_coordinate_display' => 'Показване на GPS координатите',
- 'gps_coordinate_display_public' => 'Позволяване на анонимни потребители да имат достъп до GPS координатите',
- ],
+ 'geolocation' => [
+ 'header' => 'Геолокация',
+ 'map_display' => 'Показване на карта според GPS координати',
+ 'map_display_public' => 'Позволи на анонимни потребители да виждат картата',
+ 'map_provider' => 'Дефинира доставчик на картата',
+ 'map_include_subalbums' => 'Включва снимки от подалбумите на картата',
+ 'location_decoding' => 'Използвай декодиране на GPS местоположение',
+ 'location_show' => 'Показване на местоположение извлечено от GPS координати',
+ 'location_show_public' => 'Анонимни потребители могат да виждат извлеченото местоположение',
+ 'gps_coordinate_display' => 'Показване на GPS координатите',
+ 'gps_coordinate_display_public' => 'Позволяване на анонимни потребители да имат достъп до GPS координатите',
+ ],
- 'cssjs' => [
- 'header' => 'Потребителски CSS & JS',
- 'change_css' => 'Промени CSS',
- 'change_js' => 'Промени JS',
- ],
+ 'cssjs' => [
+ 'header' => 'Потребителски CSS & JS',
+ 'change_css' => 'Промени CSS',
+ 'change_js' => 'Промени JS',
+ ],
- 'all' => [
- 'old_setting_style' => 'Стар стил на настройките',
- 'expert_settings' => 'Режим експерт',
- 'change_detected' => 'Някои настройки са променени.',
- 'save' => 'Запази',
- 'back_to_settings' => 'Обратно към групираните настройки',
- ],
+ 'all' => [
+ 'old_setting_style' => 'Стар стил на настройките',
+ 'expert_settings' => 'Режим експерт',
+ 'change_detected' => 'Някои настройки са променени.',
+ 'save' => 'Запази',
+ 'back_to_settings' => 'Обратно към групираните настройки',
+ ],
- 'tool_option' => [
- 'disabled' => 'деактивирано',
- 'enabled' => 'активирано',
- 'discover' => 'открий',
- ],
+ 'tool_option' => [
+ 'disabled' => 'деактивирано',
+ 'enabled' => 'активирано',
+ 'discover' => 'открий',
+ ],
- 'groups' => [
- 'general' => 'Общи',
- 'system' => 'Система',
- 'modules' => 'Модули',
- 'advanced' => 'Разширени',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ 'groups' => [
+ 'general' => 'Общи',
+ 'system' => 'Система',
+ 'modules' => 'Модули',
+ 'advanced' => 'Разширени',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/bg/sharing.php b/lang/bg/sharing.php
index c5447219683..414ca5cff4e 100644
--- a/lang/bg/sharing.php
+++ b/lang/bg/sharing.php
@@ -1,40 +1,40 @@
'Споделяне',
- 'info' => 'Тази страница дава преглед и възможност за редактиране на права за споделяне, свързани с албуми.',
- 'album_title' => 'Заглавие на албум',
- 'username' => 'Потребителско име',
- 'no_data' => 'Списъкът за споделяне е празен.',
- 'share' => 'Сподели',
- 'add_new_access_permission' => 'Добави ново право за достъп',
- 'permission_deleted' => 'Правото е изтрито!',
- 'permission_created' => 'Правото е създадено!',
- 'propagate' => 'Разпространи',
- 'propagate_help' => 'Разпространи текущите права за достъп на всички наследници
(под-албуми и съответните им под-албуми и т.н.)',
- 'propagate_default' => 'По подразбиране съществуващите права (албум-потребител)
се обновяват, а липсващите се добавят.
Допълнителните права, които не са в този списък, остават непроменени.',
- 'propagate_overwrite' => 'Презапиши съществуващите права вместо да ги обновяваш.
Това също ще премахне всички права, които не са в този списък.',
- 'propagate_warning' => 'Това действие не може да бъде отменено.',
- 'permission_overwritten' => 'Разпространението е успешно! Правото е презаписано!',
- 'permission_updated' => 'Разпространението е успешно! Правото е обновено!',
- 'bluk_share' => 'Масово споделяне',
- 'bulk_share_instr' => 'Изберете няколко албума и потребители за споделяне.',
- 'albums' => 'Албуми',
- 'users' => 'Потребители',
- 'no_users' => 'Няма налични потребители за избор.',
- 'no_albums' => 'Няма налични албуми за избор.',
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Споделяне',
+ 'info' => 'Тази страница дава преглед и възможност за редактиране на права за споделяне, свързани с албуми.',
+ 'album_title' => 'Заглавие на албум',
+ 'username' => 'Потребителско име',
+ 'no_data' => 'Списъкът за споделяне е празен.',
+ 'share' => 'Сподели',
+ 'add_new_access_permission' => 'Добави ново право за достъп',
+ 'permission_deleted' => 'Правото е изтрито!',
+ 'permission_created' => 'Правото е създадено!',
+ 'propagate' => 'Разпространи',
+ 'propagate_help' => 'Разпространи текущите права за достъп на всички наследници
(под-албуми и съответните им под-албуми и т.н.)',
+ 'propagate_default' => 'По подразбиране съществуващите права (албум-потребител)
се обновяват, а липсващите се добавят.
Допълнителните права, които не са в този списък, остават непроменени.',
+ 'propagate_overwrite' => 'Презапиши съществуващите права вместо да ги обновяваш.
Това също ще премахне всички права, които не са в този списък.',
+ 'propagate_warning' => 'Това действие не може да бъде отменено.',
+ 'permission_overwritten' => 'Разпространението е успешно! Правото е презаписано!',
+ 'permission_updated' => 'Разпространението е успешно! Правото е обновено!',
+ 'bluk_share' => 'Масово споделяне',
+ 'bulk_share_instr' => 'Изберете няколко албума и потребители за споделяне.',
+ 'albums' => 'Албуми',
+ 'users' => 'Потребители',
+ 'no_users' => 'Няма налични потребители за избор.',
+ 'no_albums' => 'Няма налични албуми за избор.',
- 'grants' => [
- 'read' => 'Дава право на четене',
- 'original' => 'Дава достъп до оригиналната снимка',
- 'download' => 'Дава право за изтегляне',
- 'upload' => 'Дава право за качване',
- 'edit' => 'Дава право за редактиране',
- 'delete' => 'Дава право за изтриване',
- ],
+ 'grants' => [
+ 'read' => 'Дава право на четене',
+ 'original' => 'Дава достъп до оригиналната снимка',
+ 'download' => 'Дава право за изтегляне',
+ 'upload' => 'Дава право за качване',
+ 'edit' => 'Дава право за редактиране',
+ 'delete' => 'Дава право за изтриване',
+ ],
];
diff --git a/lang/bg/statistics.php b/lang/bg/statistics.php
index 128a5ebbe0e..5cdb66d255b 100644
--- a/lang/bg/statistics.php
+++ b/lang/bg/statistics.php
@@ -1,68 +1,68 @@
'Статистика',
- 'preview_text' => 'Това е визуализация на страницата със статистика, налична в Lychee SE.
Показаните данни са генерирани случайно и не отразяват състоянието на вашия сървър.',
- 'no_data' => 'Потребителят няма данни на сървъра.',
- 'collapse' => 'Свий размерите на албумите',
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Статистика',
+ 'preview_text' => 'Това е визуализация на страницата със статистика, налична в Lychee SE.
Показаните данни са генерирани случайно и не отразяват състоянието на вашия сървър.',
+ 'no_data' => 'Потребителят няма данни на сървъра.',
+ 'collapse' => 'Свий размерите на албумите',
- 'total' => [
- 'total' => 'Общо',
- 'albums' => 'Албуми',
- 'photos' => 'Снимки',
- 'size' => 'Размер',
- ],
+ 'total' => [
+ 'total' => 'Общо',
+ 'albums' => 'Албуми',
+ 'photos' => 'Снимки',
+ 'size' => 'Размер',
+ ],
- 'table' => [
- 'username' => 'Собственик',
- 'title' => 'Заглавие',
- 'photos' => 'Снимки',
- 'descendants' => 'Подалбуми',
- 'size' => 'Размер',
- ],
+ 'table' => [
+ 'username' => 'Собственик',
+ 'title' => 'Заглавие',
+ 'photos' => 'Снимки',
+ 'descendants' => 'Подалбуми',
+ 'size' => 'Размер',
+ ],
- 'punch_card' => [
- 'title' => 'Активност',
- 'photo-taken' => '%d направени снимки',
- 'photo-taken-in' => '%d направени снимки в %d',
- 'photo-uploaded' => '%d качени снимки',
- 'photo-uploaded-in' => '%d качени снимки в %d',
- 'with-exif' => 'с EXIF данни',
- 'less' => 'По-малко',
- 'more' => 'Повече',
- 'tooltip' => '%d снимки на %s',
- 'created_at' => 'Дата на качване',
- 'taken_at' => 'Дата на заснемане',
- 'caption' => 'Всяка колона представя седмица.',
- ],
+ 'punch_card' => [
+ 'title' => 'Активност',
+ 'photo-taken' => '%d направени снимки',
+ 'photo-taken-in' => '%d направени снимки в %d',
+ 'photo-uploaded' => '%d качени снимки',
+ 'photo-uploaded-in' => '%d качени снимки в %d',
+ 'with-exif' => 'с EXIF данни',
+ 'less' => 'По-малко',
+ 'more' => 'Повече',
+ 'tooltip' => '%d снимки на %s',
+ 'created_at' => 'Дата на качване',
+ 'taken_at' => 'Дата на заснемане',
+ 'caption' => 'Всяка колона представя седмица.',
+ ],
- 'metrics' => [
- 'header' => 'Live метрики',
- 'preview_text' => 'Това е визуализация на live метриките, налични в Lychee SE. Показаните данни са генерирани случайно и не отразяват сървъра ви.',
- 'a_visitor' => 'Посетител',
- 'visitors' => '%d посетители',
- 'visit_singular' => '%1$s е видял %2$s',
- 'favourite_singular' => '%1$s е добавил в любими %2$s',
- 'download_singular' => '%1$s е изтеглил %2$s',
- 'shared_singular' => '%1$s е споделил %2$s',
- 'visit_plural' => '%1$s са видели %2$s',
- 'favourite_plural' => '%1$s са добавили в любими %2$s',
- 'download_plural' => '%1$s са изтеглили %2$s',
- 'shared_plural' => '%1$s са споделили %2$s',
+ 'metrics' => [
+ 'header' => 'Live метрики',
+ 'preview_text' => 'Това е визуализация на live метриките, налични в Lychee SE. Показаните данни са генерирани случайно и не отразяват сървъра ви.',
+ 'a_visitor' => 'Посетител',
+ 'visitors' => '%d посетители',
+ 'visit_singular' => '%1$s е видял %2$s',
+ 'favourite_singular' => '%1$s е добавил в любими %2$s',
+ 'download_singular' => '%1$s е изтеглил %2$s',
+ 'shared_singular' => '%1$s е споделил %2$s',
+ 'visit_plural' => '%1$s са видели %2$s',
+ 'favourite_plural' => '%1$s са добавили в любими %2$s',
+ 'download_plural' => '%1$s са изтеглили %2$s',
+ 'shared_plural' => '%1$s са споделили %2$s',
- 'ago' => [
- 'days' => '%d дни преди',
- 'day' => 'преди ден',
- 'hours' => '%d часа преди',
- 'hour' => 'преди час',
- 'minutes' => '%d минути преди',
- 'few_minutes' => 'преди няколко минути',
- 'seconds' => 'преди няколко секунди',
- ],
- ],
+ 'ago' => [
+ 'days' => '%d дни преди',
+ 'day' => 'преди ден',
+ 'hours' => '%d часа преди',
+ 'hour' => 'преди час',
+ 'minutes' => '%d минути преди',
+ 'few_minutes' => 'преди няколко минути',
+ 'seconds' => 'преди няколко секунди',
+ ],
+ ],
];
diff --git a/lang/bg/tags.php b/lang/bg/tags.php
index b3a0acfbdb9..8663f2e781a 100644
--- a/lang/bg/tags.php
+++ b/lang/bg/tags.php
@@ -1,24 +1,24 @@
'Етикети',
- 'description' => 'Управлявайте вашите етикети тук. Можете да ги преименувате, обединявате и изтривате.
Числото показва колко снимки са свързани с този етикет.',
- 'no_tags' => 'Не са намерени етикети.',
- 'loading' => 'Зареждане на етикети...',
- 'rename' => 'Преименувай',
- 'merge' => 'Обедини',
- 'delete' => 'Изтрий',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Етикети',
+ 'description' => 'Управлявайте вашите етикети тук. Можете да ги преименувате, обединявате и изтривате.
Числото показва колко снимки са свързани с този етикет.',
+ 'no_tags' => 'Не са намерени етикети.',
+ 'loading' => 'Зареждане на етикети...',
+ 'rename' => 'Преименувай',
+ 'merge' => 'Обедини',
+ 'delete' => 'Изтрий',
- 'delete_confirm' => 'Сигурни ли сте, че искате да изтриете етикета “%s”?',
- 'delete_warning' => 'Тази операция не може да бъде отменена! Всички снимки, свързани с този етикет, вече няма да имат този етикет.',
+ 'delete_confirm' => 'Сигурни ли сте, че искате да изтриете етикета “%s”?',
+ 'delete_warning' => 'Тази операция не може да бъде отменена! Всички снимки, свързани с този етикет, вече няма да имат този етикет.',
- 'merge_confirm' => 'Сигурни ли сте, че искате да обедините етикета “%1$s” с етикета “%2$s”?',
- 'merge_warning' => 'Тази операция не може да бъде отменена! Всички снимки, свързани с източниковия етикет, ще бъдат преместени към целевия етикет.',
+ 'merge_confirm' => 'Сигурни ли сте, че искате да обедините етикета “%1$s” с етикета “%2$s”?',
+ 'merge_warning' => 'Тази операция не може да бъде отменена! Всички снимки, свързани с източниковия етикет, ще бъдат преместени към целевия етикет.',
- 'rename_tag' => 'Преименувай етикета',
+ 'rename_tag' => 'Преименувай етикета',
];
\ No newline at end of file
diff --git a/lang/bg/toasts.php b/lang/bg/toasts.php
index 8aa40daa167..10c1cb9f1e3 100644
--- a/lang/bg/toasts.php
+++ b/lang/bg/toasts.php
@@ -1,13 +1,13 @@
'Грешка',
- 'success' => 'Успех',
- 'album_updated' => 'Албумът е обновен',
- 'update_failed' => 'Неуспешно обновяване на албума',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Грешка',
+ 'success' => 'Успех',
+ 'album_updated' => 'Албумът е обновен',
+ 'update_failed' => 'Неуспешно обновяване на албума',
];
diff --git a/lang/bg/user-groups.php b/lang/bg/user-groups.php
index ad0a36d9cc6..50f4eec3b8a 100644
--- a/lang/bg/user-groups.php
+++ b/lang/bg/user-groups.php
@@ -1,39 +1,39 @@
'Потребителски групи',
- 'explanation' => 'Потребителските групи ви позволяват да организирате потребителите и да управлявате разрешенията колективно.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Потребителски групи',
+ 'explanation' => 'Потребителските групи ви позволяват да организирате потребителите и да управлявате разрешенията колективно.',
- 'create_group' => 'Създай група',
- 'edit' => 'Редактиране',
- 'delete' => 'Изтриване',
+ 'create_group' => 'Създай група',
+ 'edit' => 'Редактиране',
+ 'delete' => 'Изтриване',
- 'loading' => 'Зареждане на групи...',
- 'empty' => 'Не са намерени групи.',
+ 'loading' => 'Зареждане на групи...',
+ 'empty' => 'Не са намерени групи.',
- 'add_member' => 'Добави член...',
- 'empty_group' => 'Тази група е празна.',
- 'no_permission_members' => 'Нямате разрешение да виждате членовете на тази група.',
- 'remove_success' => '%s е премахнат от %s.',
+ 'add_member' => 'Добави член...',
+ 'empty_group' => 'Тази група е празна.',
+ 'no_permission_members' => 'Нямате разрешение да виждате членовете на тази група.',
+ 'remove_success' => '%s е премахнат от %s.',
- 'confirm_delete_header' => 'Изтриване на група',
- 'confirm_delete_message' => 'Сигурни ли сте, че искате да изтриете тази група?',
- 'cancel' => 'Отказ',
- 'confirm' => 'Изтрий',
+ 'confirm_delete_header' => 'Изтриване на група',
+ 'confirm_delete_message' => 'Сигурни ли сте, че искате да изтриете тази група?',
+ 'cancel' => 'Отказ',
+ 'confirm' => 'Изтрий',
- 'create' => [
- 'name' => 'Име на групата',
- 'description' => 'Описание',
- 'users' => 'Потребители',
- 'cancel' => 'Отказ',
- 'create' => 'Създай',
- 'edit' => 'Редактиране',
+ 'create' => [
+ 'name' => 'Име на групата',
+ 'description' => 'Описание',
+ 'users' => 'Потребители',
+ 'cancel' => 'Отказ',
+ 'create' => 'Създай',
+ 'edit' => 'Редактиране',
- 'error_name_required' => 'Името на групата е задължително.',
- ],
+ 'error_name_required' => 'Името на групата е задължително.',
+ ],
];
diff --git a/lang/bg/users.php b/lang/bg/users.php
index 8a18d7d2ac6..32fa4e24bec 100644
--- a/lang/bg/users.php
+++ b/lang/bg/users.php
@@ -1,53 +1,53 @@
'Потребители',
- 'description' => 'Тук можете да управлявате потребителите на вашата инсталация на Lychee. Можете да създавате, редактирате и изтривате потребители.',
- 'create' => 'Създай нов потребител',
- 'username' => 'Потребителско име',
- 'password' => 'Парола',
- 'legend' => 'Легенда',
- 'upload_rights' => 'Ако е избрано, потребителят може да качва съдържание.',
- 'edit_rights' => 'Ако е избрано, потребителят може да редактира своя профил (потребителско име, парола).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Потребители',
+ 'description' => 'Тук можете да управлявате потребителите на вашата инсталация на Lychee. Можете да създавате, редактирате и изтривате потребители.',
+ 'create' => 'Създай нов потребител',
+ 'username' => 'Потребителско име',
+ 'password' => 'Парола',
+ 'legend' => 'Легенда',
+ 'upload_rights' => 'Ако е избрано, потребителят може да качва съдържание.',
+ 'edit_rights' => 'Ако е избрано, потребителят може да редактира своя профил (потребителско име, парола).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'Ако е зададено, потребителят има квота за място за снимки (в kB).',
- 'user_deleted' => 'Потребителят е изтрит',
- 'user_created' => 'Потребителят е създаден',
- 'user_updated' => 'Потребителят е обновен',
- 'change_saved' => 'Промяната е запазена!',
+ 'quota' => 'Ако е зададено, потребителят има квота за място за снимки (в kB).',
+ 'user_deleted' => 'Потребителят е изтрит',
+ 'user_created' => 'Потребителят е създаден',
+ 'user_updated' => 'Потребителят е обновен',
+ 'change_saved' => 'Промяната е запазена!',
- 'create_edit' => [
- 'upload_rights' => 'Потребителят може да качва съдържание.',
- 'edit_rights' => 'Потребителят може да редактира своя профил (потребителско име, парола).',
- 'admin_rights' => 'Потребителят има администраторски права.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'create_edit' => [
+ 'upload_rights' => 'Потребителят може да качва съдържание.',
+ 'edit_rights' => 'Потребителят може да редактира своя профил (потребителско име, парола).',
+ 'admin_rights' => 'Потребителят има администраторски права.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'Потребителят има ограничение на квотата.',
- 'quota_kb' => 'квота в kB (0 за подразбиране)',
- 'note' => 'Бележка на админа (не е видима публично)',
- 'create' => 'Създай',
- 'edit' => 'Редактиране',
- ],
+ 'quota' => 'Потребителят има ограничение на квотата.',
+ 'quota_kb' => 'квота в kB (0 за подразбиране)',
+ 'note' => 'Бележка на админа (не е видима публично)',
+ 'create' => 'Създай',
+ 'edit' => 'Редактиране',
+ ],
- 'invite' => [
- 'button' => 'Покани потребител',
- 'links_are_not_revokable' => 'Линковете за покана не могат да бъдат отменяни.',
- 'link_is_valid_x_days' => 'Този линк е валиден за %d дни.',
- ],
+ 'invite' => [
+ 'button' => 'Покани потребител',
+ 'links_are_not_revokable' => 'Линковете за покана не могат да бъдат отменяни.',
+ 'link_is_valid_x_days' => 'Този линк е валиден за %d дни.',
+ ],
- 'line' => [
- 'owner' => 'Собственик',
- 'admin' => 'Администратор',
- 'edit' => 'Редактиране',
- 'delete' => 'Изтриване',
- ],
+ 'line' => [
+ 'owner' => 'Собственик',
+ 'admin' => 'Администратор',
+ 'edit' => 'Редактиране',
+ 'delete' => 'Изтриване',
+ ],
];
\ No newline at end of file
diff --git a/lang/bg/webhook.php b/lang/bg/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/bg/webhook.php
+++ b/lang/bg/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/bg/webshop.php b/lang/bg/webshop.php
index 3f2e0d1a201..5ef17db3922 100644
--- a/lang/bg/webshop.php
+++ b/lang/bg/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Притежател на карта',
- 'fullName' => 'Пълно име',
- 'expires' => 'Изтича',
- 'MM' => 'ММ',
- 'YY' => 'ГГ',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Номер на карта',
- 'cardName' => 'Име на карта',
- 'expirationDate' => 'Срок на валидност',
- 'month' => 'Месец',
- 'year' => 'Година',
- 'CVV' => 'CVV',
- 'submit' => 'Изпрати',
- 'invalidCardNumber' => 'Невалиден номер на карта',
- ],
- 'basketList' => [
- 'basket' => 'Количка',
- 'size' => 'Размер',
- 'license' => 'Лиценз',
- 'notes' => 'Бележки',
- 'removeItem' => 'Премахни артикул',
- 'clearBasket' => 'Изчисти количката',
- 'total' => 'Общо:',
- 'proceedToCheckout' => 'Премини към плащане',
- 'emptyBasket' => 'Вашата количка е празна.',
- ],
- 'checkout' => [
- 'checkout' => 'Плащане',
- 'yourInfo' => 'Вашата информация',
- 'payment' => 'Плащане',
- 'confirmation' => 'Потвърждение',
- 'next' => 'Напред',
- 'back' => 'Назад',
- 'thankYou' => 'Благодарим за покупката!',
- 'orderNumber' => 'Номер на вашата поръчка:',
- 'transactionId' => 'Идентификатор на транзакцията:',
- 'noteWarning' => 'Моля',
- 'noteTransactionId' => 'запишете вашия идентификатор на транзакция и',
- 'noteOrderNumber' => 'номер на поръчката',
- 'noteReason' => 'тъй като ще са ви нужни за достъп до съдържанието.',
- 'enjoyPurchase' => 'Приятна покупка!',
- 'toMyDownloads' => 'Към моите изтегляния',
- 'toTheGallery' => 'Към галерията',
- 'offlineThankYou' => 'Благодарим за покупката!',
- 'offlinePaymentMessage' => 'Ще се свържем с вас по имейл с инструкции за плащане.',
- 'offlineProcessingMessage' => 'Ще ви уведомим, когато снимките са готови за изтегляне.',
- ],
- 'orderDownload' => [
- 'order' => 'Поръчка %d',
- 'orderAccessRequired' => 'Необходим достъп до поръчката',
- 'provideTransactionId' => 'Моля, предоставете идентификатора на транзакцията, за да видите детайлите на поръчката.',
- 'enterTransactionId' => 'Въведете идентификатор на транзакция',
- 'loadOrder' => 'Зареди поръчката',
- 'orderDetails' => 'Детайли на поръчката',
- 'transactionId' => 'Идентификатор на транзакция:',
- 'orderSummary' => 'Обобщение на поръчката',
- 'for' => 'За:',
- 'status' => 'Статус:',
- 'total' => 'Общо:',
- 'paid' => 'Платено:',
- 'notPaid' => 'не е платено',
- 'lastUpdate' => 'Последна актуализация:',
- 'items' => 'Артикули',
- 'deliver' => 'Достави',
- 'edit' => 'Редактиране',
- 'view' => 'Преглед',
- 'enterContentUrl' => 'Въведете URL на съдържанието тук.',
- 'download' => 'Изтегли',
- 'downloadNotAvailable' => 'Изтеглянето не е налично (още)',
- 'copiedToClipboard' => 'Копирано в клипборда',
- 'orderLinkCopied' => 'Линк към поръчката копиран в клипборда',
- 'couldNotCopy' => 'Не можа да се копира в клипборда.',
- 'somethingWentWrong' => 'Нещо се обърка',
- 'couldNotMarkDelivered' => 'Не можа да се отбележи артикул като доставен.',
- ],
- 'status' => [
- 'pending' => 'В очакване',
- 'paid' => 'Платено',
- 'offline' => 'Офлайн',
- 'completed' => 'Завършено',
- 'processing' => 'Обработва се',
- 'failed' => 'Неуспешно',
- 'closed' => 'Затворено',
- ],
- 'orderList' => [
- 'orders' => 'Поръчки',
- 'numStaleOrders' => 'Брой стари поръчки: %d',
- 'cleanStaleOrders' => 'Почисти стари поръчки',
- 'client' => 'Клиент',
- 'transactionId' => 'Идентификатор на транзакция',
- 'status' => 'Статус',
- 'amount' => 'Сума',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Продукти за покупка',
- 'title' => 'Заглавие',
- 'description' => 'Описание',
- 'notes' => 'Бележки',
- 'prices' => 'Цени',
- ],
- 'disclaimer' => [
- 'title' => 'Отказ от отговорност',
- 'message' => "Lychee е разработен под MIT лиценз. Това означава, че LycheeOrg не носи отговорност за някакви проблеми или загуби, възникнали при използването на модула за електронен магазин и/или възможностите за обработка на плащания. Важно е да проверите и да се уверите, че вашата конфигурация работи правилно и сигурно преди използване в продукционна среда.",
- 'iUnderstand' => 'Разбирам',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Вашата информация',
- 'mustBeLoggedIn' => 'Трябва да сте влезли, за да продължите с плащането.',
- 'goToLogin' => 'Вход',
- 'notLoggedInMessage' => 'Не сте влезли! Моля, въведете вашия имейл, за да продължите.',
- 'loggedInWithEmail' => "Влезли сте като %s (%s). Можете да промените имейл адреса, ако искате да получавате известия за поръчки на друг адрес.",
- 'loggedInWithoutEmail' => "Влезли сте като %s. Можете да зададете имейл адрес, ако искате да получавате известия за поръчки.",
- 'emailUsageNote' => 'Вашият имейл ще се използва само за известия за поръчки.',
- 'consentAgreement' => "Съгласявам се с политиката за поверителност и условията за ползване.",
- ],
- 'errors' => [
- 'emailRequired' => 'Имейлът е задължителен за гост плащане.',
- 'invalidEmail' => 'Моля, въведете валиден имейл адрес.',
- 'noData' => 'НЯМА ДАННИ',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Нуждаете се от помощ?',
- 'legend' => 'Легенда:',
- 'pendingDesc' => 'Поръчката е създадена, но все още не е платена.',
- 'processingDesc' => 'Плащането се обработва.',
- 'offlineDesc' => 'Поръчката е маркирана за ръчно плащане.',
- 'completedDesc' => 'Поръчката е платена.',
- 'closedDesc' => 'Поръчката е доставена.',
- 'cancelledDesc' => 'Плащането е отменено.',
- 'failedDesc' => 'Плащането е неуспешно.',
- 'flowsIntro' => 'Има няколко възможни потока за управление на поръчките, описани по-долу:',
- 'offlineExplanation' => 'Поръчка със статус %s означава, че плащането ще се обработва ръчно, например чрез банков превод или наложен платеж. Администраторът на магазина е отговорен за актуализиране на статуса на поръчката на %s, след като плащането бъде потвърдено чрез бутона „Маркирай като платено“ в детайлите на поръчката.',
- 'offlineStatus' => 'офлайн',
- 'completedStatus' => 'завършено',
- 'closedStatus' => 'затворено',
- 'offlineExplanationPart1' => 'Поръчка със статус',
- 'offlineExplanationPart2' => 'означава, че плащането ще се обработва ръчно, например чрез банков превод или наложен платеж. Администраторът на магазина е отговорен за актуализиране на статуса на поръчката на',
- 'offlineExplanationPart3' => 'след като плащането бъде потвърдено чрез бутона „Маркирай като платено“ в детайлите на поръчката.',
- 'closedExplanationPart1' => 'След като поръчката достигне статуса',
- 'closedExplanationPart2' => ', тя се счита за завършена и повече действия не могат да бъдат предприети.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Маркирай като платено',
- 'requireAttention' => 'Изисква внимание',
- 'markAsDelivered' => 'Маркирай като доставено',
- 'viewDetails' => 'Преглед на детайли',
- ],
- 'orderSummary' => [
- 'title' => 'Обобщение на вашата поръчка',
- 'size' => 'Размер:',
- 'license' => 'Лиценз:',
- 'notes' => 'Бележки:',
- 'total' => 'Общо:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Изберете вашия доставчик на плащане',
- 'selectProviderPlaceholder' => 'Изберете доставчик на плащане',
- 'pciCompliant' => 'Това плащане е съвместимо с %s.
Данните на вашата карта се обработват сигурно от %s.',
- 'enterInfo' => 'Въведете вашата информация за %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Плащане в процес...',
- 'cancel' => 'отмяна',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Копирано в клипборда',
- 'transactionIdCopied' => 'Идентификатор на транзакция копиран в клипборда',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'Този албум все още не е достъпен за покупка.',
- 'descriptionPlaceholder' => 'Описание за клиентите',
- 'ownerNotePlaceholder' => 'Бележка на собственика',
- 'setPurchasable' => 'Маркирай като достъпен за покупка',
- 'setPurchasablePropagate' => 'Маркирай като достъпен за покупка и разпространи',
- 'disable' => 'Деактивирай',
- 'update' => 'Обнови',
- 'setAtLeastOnePrice' => 'Задайте поне една цена.',
- 'success' => 'Успех',
- 'error' => 'Грешка',
- 'albumNowPurchasable' => 'Албумът вече е достъпен за покупка',
- 'albumNoLongerPurchasable' => 'Албумът вече не е достъпен за покупка',
- ],
- 'pricesInput' => [
- 'licenseType' => 'Тип лиценз',
- 'variant' => 'Вариант',
- 'duplicateError' => 'Има дублирани цени (същият тип лиценз и вариант на размер).',
- 'addPrice' => 'Добави цена',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Фалшивият номер на карта е наличен в клипборда',
- 'paymentSuccess' => 'Плащането е успешно обработено.',
- 'redirectError' => 'Искаше се пренасочване, но целта липсва.',
- 'finalizationError' => 'Искаше се финализиране, но целта липсва.',
- 'orderFinalizedSuccess' => 'Поръчката е успешно финализирана.',
- 'orderFinalizationFailed' => 'Финализирането на поръчката не бе успешно.',
- 'badRequest' => 'Грешна заявка',
- 'invalidInput' => 'Заявката е невалидна. Моля, проверете данните си.',
- 'success' => 'Успех',
- 'error' => 'Грешка',
- ],
- 'useMollie' => [
- 'error' => 'Грешка',
- 'profileNotConfigured' => 'ID на профила в Mollie не е конфигуриран.',
- 'somethingWentWrong' => 'Нещо се обърка с Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Грешка',
- 'client_id_missing' => 'PayPal client ID не е конфигуриран.',
- 'sdkLoadError' => 'Грешка при зареждане на PayPal JS SDK',
- 'sdkLoadErrorDetail' => 'Неуспешно зареждане на PayPal JS SDK скрипт',
- 'paymentError' => 'Грешка при PayPal плащане',
- 'paymentErrorDetail' => 'Възникна грешка по време на процеса на плащане чрез PayPal.',
- ],
- 'buyMeActions' => [
- 'success' => 'Успех',
- 'addedToOrder' => 'Добавено към поръчката',
- 'photoAddedToOrder' => '%s добавено към вашата поръчка за %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Плащането е отменено',
- 'paymentCancelledMessage' => 'Плащането е отменено.',
- 'paymentFailed' => 'Плащането е неуспешно',
- 'paymentFailedMessage' => 'Не успяхме да потвърдим вашето плащане. Моля, опитайте отново или се свържете с поддръжката, ако проблемът продължава.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Притежател на карта',
+ 'fullName' => 'Пълно име',
+ 'expires' => 'Изтича',
+ 'MM' => 'ММ',
+ 'YY' => 'ГГ',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Номер на карта',
+ 'cardName' => 'Име на карта',
+ 'expirationDate' => 'Срок на валидност',
+ 'month' => 'Месец',
+ 'year' => 'Година',
+ 'CVV' => 'CVV',
+ 'submit' => 'Изпрати',
+ 'invalidCardNumber' => 'Невалиден номер на карта',
+ ],
+ 'basketList' => [
+ 'basket' => 'Количка',
+ 'size' => 'Размер',
+ 'license' => 'Лиценз',
+ 'notes' => 'Бележки',
+ 'removeItem' => 'Премахни артикул',
+ 'clearBasket' => 'Изчисти количката',
+ 'total' => 'Общо:',
+ 'proceedToCheckout' => 'Премини към плащане',
+ 'emptyBasket' => 'Вашата количка е празна.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Плащане',
+ 'yourInfo' => 'Вашата информация',
+ 'payment' => 'Плащане',
+ 'confirmation' => 'Потвърждение',
+ 'next' => 'Напред',
+ 'back' => 'Назад',
+ 'thankYou' => 'Благодарим за покупката!',
+ 'orderNumber' => 'Номер на вашата поръчка:',
+ 'transactionId' => 'Идентификатор на транзакцията:',
+ 'noteWarning' => 'Моля',
+ 'noteTransactionId' => 'запишете вашия идентификатор на транзакция и',
+ 'noteOrderNumber' => 'номер на поръчката',
+ 'noteReason' => 'тъй като ще са ви нужни за достъп до съдържанието.',
+ 'enjoyPurchase' => 'Приятна покупка!',
+ 'toMyDownloads' => 'Към моите изтегляния',
+ 'toTheGallery' => 'Към галерията',
+ 'offlineThankYou' => 'Благодарим за покупката!',
+ 'offlinePaymentMessage' => 'Ще се свържем с вас по имейл с инструкции за плащане.',
+ 'offlineProcessingMessage' => 'Ще ви уведомим, когато снимките са готови за изтегляне.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Поръчка %d',
+ 'orderAccessRequired' => 'Необходим достъп до поръчката',
+ 'provideTransactionId' => 'Моля, предоставете идентификатора на транзакцията, за да видите детайлите на поръчката.',
+ 'enterTransactionId' => 'Въведете идентификатор на транзакция',
+ 'loadOrder' => 'Зареди поръчката',
+ 'orderDetails' => 'Детайли на поръчката',
+ 'transactionId' => 'Идентификатор на транзакция:',
+ 'orderSummary' => 'Обобщение на поръчката',
+ 'for' => 'За:',
+ 'status' => 'Статус:',
+ 'total' => 'Общо:',
+ 'paid' => 'Платено:',
+ 'notPaid' => 'не е платено',
+ 'lastUpdate' => 'Последна актуализация:',
+ 'items' => 'Артикули',
+ 'deliver' => 'Достави',
+ 'edit' => 'Редактиране',
+ 'view' => 'Преглед',
+ 'enterContentUrl' => 'Въведете URL на съдържанието тук.',
+ 'download' => 'Изтегли',
+ 'downloadNotAvailable' => 'Изтеглянето не е налично (още)',
+ 'copiedToClipboard' => 'Копирано в клипборда',
+ 'orderLinkCopied' => 'Линк към поръчката копиран в клипборда',
+ 'couldNotCopy' => 'Не можа да се копира в клипборда.',
+ 'somethingWentWrong' => 'Нещо се обърка',
+ 'couldNotMarkDelivered' => 'Не можа да се отбележи артикул като доставен.',
+ ],
+ 'status' => [
+ 'pending' => 'В очакване',
+ 'paid' => 'Платено',
+ 'offline' => 'Офлайн',
+ 'completed' => 'Завършено',
+ 'processing' => 'Обработва се',
+ 'failed' => 'Неуспешно',
+ 'closed' => 'Затворено',
+ ],
+ 'orderList' => [
+ 'orders' => 'Поръчки',
+ 'numStaleOrders' => 'Брой стари поръчки: %d',
+ 'cleanStaleOrders' => 'Почисти стари поръчки',
+ 'client' => 'Клиент',
+ 'transactionId' => 'Идентификатор на транзакция',
+ 'status' => 'Статус',
+ 'amount' => 'Сума',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Продукти за покупка',
+ 'title' => 'Заглавие',
+ 'description' => 'Описание',
+ 'notes' => 'Бележки',
+ 'prices' => 'Цени',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Отказ от отговорност',
+ 'message' => "Lychee е разработен под MIT лиценз. Това означава, че LycheeOrg не носи отговорност за някакви проблеми или загуби, възникнали при използването на модула за електронен магазин и/или възможностите за обработка на плащания. Важно е да проверите и да се уверите, че вашата конфигурация работи правилно и сигурно преди използване в продукционна среда.",
+ 'iUnderstand' => 'Разбирам',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Вашата информация',
+ 'mustBeLoggedIn' => 'Трябва да сте влезли, за да продължите с плащането.',
+ 'goToLogin' => 'Вход',
+ 'notLoggedInMessage' => 'Не сте влезли! Моля, въведете вашия имейл, за да продължите.',
+ 'loggedInWithEmail' => "Влезли сте като %s (%s). Можете да промените имейл адреса, ако искате да получавате известия за поръчки на друг адрес.",
+ 'loggedInWithoutEmail' => "Влезли сте като %s. Можете да зададете имейл адрес, ако искате да получавате известия за поръчки.",
+ 'emailUsageNote' => 'Вашият имейл ще се използва само за известия за поръчки.',
+ 'consentAgreement' => "Съгласявам се с политиката за поверителност и условията за ползване.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Имейлът е задължителен за гост плащане.',
+ 'invalidEmail' => 'Моля, въведете валиден имейл адрес.',
+ 'noData' => 'НЯМА ДАННИ',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Нуждаете се от помощ?',
+ 'legend' => 'Легенда:',
+ 'pendingDesc' => 'Поръчката е създадена, но все още не е платена.',
+ 'processingDesc' => 'Плащането се обработва.',
+ 'offlineDesc' => 'Поръчката е маркирана за ръчно плащане.',
+ 'completedDesc' => 'Поръчката е платена.',
+ 'closedDesc' => 'Поръчката е доставена.',
+ 'cancelledDesc' => 'Плащането е отменено.',
+ 'failedDesc' => 'Плащането е неуспешно.',
+ 'flowsIntro' => 'Има няколко възможни потока за управление на поръчките, описани по-долу:',
+ 'offlineExplanation' => 'Поръчка със статус %s означава, че плащането ще се обработва ръчно, например чрез банков превод или наложен платеж. Администраторът на магазина е отговорен за актуализиране на статуса на поръчката на %s, след като плащането бъде потвърдено чрез бутона „Маркирай като платено“ в детайлите на поръчката.',
+ 'offlineStatus' => 'офлайн',
+ 'completedStatus' => 'завършено',
+ 'closedStatus' => 'затворено',
+ 'offlineExplanationPart1' => 'Поръчка със статус',
+ 'offlineExplanationPart2' => 'означава, че плащането ще се обработва ръчно, например чрез банков превод или наложен платеж. Администраторът на магазина е отговорен за актуализиране на статуса на поръчката на',
+ 'offlineExplanationPart3' => 'след като плащането бъде потвърдено чрез бутона „Маркирай като платено“ в детайлите на поръчката.',
+ 'closedExplanationPart1' => 'След като поръчката достигне статуса',
+ 'closedExplanationPart2' => ', тя се счита за завършена и повече действия не могат да бъдат предприети.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Маркирай като платено',
+ 'requireAttention' => 'Изисква внимание',
+ 'markAsDelivered' => 'Маркирай като доставено',
+ 'viewDetails' => 'Преглед на детайли',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Обобщение на вашата поръчка',
+ 'size' => 'Размер:',
+ 'license' => 'Лиценз:',
+ 'notes' => 'Бележки:',
+ 'total' => 'Общо:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Изберете вашия доставчик на плащане',
+ 'selectProviderPlaceholder' => 'Изберете доставчик на плащане',
+ 'pciCompliant' => 'Това плащане е съвместимо с %s.
Данните на вашата карта се обработват сигурно от %s.',
+ 'enterInfo' => 'Въведете вашата информация за %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Плащане в процес...',
+ 'cancel' => 'отмяна',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Копирано в клипборда',
+ 'transactionIdCopied' => 'Идентификатор на транзакция копиран в клипборда',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'Този албум все още не е достъпен за покупка.',
+ 'descriptionPlaceholder' => 'Описание за клиентите',
+ 'ownerNotePlaceholder' => 'Бележка на собственика',
+ 'setPurchasable' => 'Маркирай като достъпен за покупка',
+ 'setPurchasablePropagate' => 'Маркирай като достъпен за покупка и разпространи',
+ 'disable' => 'Деактивирай',
+ 'update' => 'Обнови',
+ 'setAtLeastOnePrice' => 'Задайте поне една цена.',
+ 'success' => 'Успех',
+ 'error' => 'Грешка',
+ 'albumNowPurchasable' => 'Албумът вече е достъпен за покупка',
+ 'albumNoLongerPurchasable' => 'Албумът вече не е достъпен за покупка',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'Тип лиценз',
+ 'variant' => 'Вариант',
+ 'duplicateError' => 'Има дублирани цени (същият тип лиценз и вариант на размер).',
+ 'addPrice' => 'Добави цена',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Фалшивият номер на карта е наличен в клипборда',
+ 'paymentSuccess' => 'Плащането е успешно обработено.',
+ 'redirectError' => 'Искаше се пренасочване, но целта липсва.',
+ 'finalizationError' => 'Искаше се финализиране, но целта липсва.',
+ 'orderFinalizedSuccess' => 'Поръчката е успешно финализирана.',
+ 'orderFinalizationFailed' => 'Финализирането на поръчката не бе успешно.',
+ 'badRequest' => 'Грешна заявка',
+ 'invalidInput' => 'Заявката е невалидна. Моля, проверете данните си.',
+ 'success' => 'Успех',
+ 'error' => 'Грешка',
+ ],
+ 'useMollie' => [
+ 'error' => 'Грешка',
+ 'profileNotConfigured' => 'ID на профила в Mollie не е конфигуриран.',
+ 'somethingWentWrong' => 'Нещо се обърка с Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Грешка',
+ 'client_id_missing' => 'PayPal client ID не е конфигуриран.',
+ 'sdkLoadError' => 'Грешка при зареждане на PayPal JS SDK',
+ 'sdkLoadErrorDetail' => 'Неуспешно зареждане на PayPal JS SDK скрипт',
+ 'paymentError' => 'Грешка при PayPal плащане',
+ 'paymentErrorDetail' => 'Възникна грешка по време на процеса на плащане чрез PayPal.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Успех',
+ 'addedToOrder' => 'Добавено към поръчката',
+ 'photoAddedToOrder' => '%s добавено към вашата поръчка за %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Плащането е отменено',
+ 'paymentCancelledMessage' => 'Плащането е отменено.',
+ 'paymentFailed' => 'Плащането е неуспешно',
+ 'paymentFailedMessage' => 'Не успяхме да потвърдим вашето плащане. Моля, опитайте отново или се свържете с поддръжката, ако проблемът продължава.',
+ ],
];
diff --git a/lang/cz/admin-dashboard.php b/lang/cz/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/cz/admin-dashboard.php
+++ b/lang/cz/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/de/admin-dashboard.php b/lang/de/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/de/admin-dashboard.php
+++ b/lang/de/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/de/all_settings.php b/lang/de/all_settings.php
index 0876dc3d724..9ca2edde59f 100644
--- a/lang/de/all_settings.php
+++ b/lang/de/all_settings.php
@@ -1,746 +1,746 @@
[
- 'version' => 'Aktuelle Version von Lychee',
- 'check_for_updates' => 'Automatisch auf Aktualisierungen prüfen',
- 'sorting_photos_col' => 'Standardspalte für die Fotosortierung',
- 'sorting_photos_order' => 'Standardsortierung für Fotos',
- 'sorting_albums_col' => 'Standardspalte für die Albensortierung',
- 'sorting_albums_order' => 'Standardsortierung für Alben',
- 'photos_star_visibility' => 'Sichtbarkeit und Vergabe der Favoritenmarkierung',
- 'imagick' => 'Imagick verwenden',
- 'dropbox_key' => 'Dropbox API-Schlüssel',
- 'skip_duplicates' => 'Duplikate beim Import überspringen',
- 'lang' => 'Von Lychee verwendete Sprache',
- 'default_license' => 'Standardlizenz für Alben',
- 'small_max_width' => 'Maximale Breite für kleine Vorschaubilder (Albumansicht)',
- 'small_max_height' => 'Maximale Höhe für kleine Vorschaubilder (Albumansicht)',
- 'medium_max_width' => 'Maximale Breite für mittlere Bilder (Fotoansicht)',
- 'medium_max_height' => 'Maximale Höhe für mittlere Bilder (Fotoansicht)',
- 'grants_full_photo_access' => 'Standardmäßig Zugriff auf die volle Auflösung ermöglichen',
- 'delete_imported' => 'Beim Import vom Server die Originale löschen',
- 'mod_frame_enabled' => 'Rahmen-Modul aktivieren',
- 'mod_frame_refresh' => 'Aktualisierungsintervall des Rahmens',
- 'image_overlay_type' => 'Standardinformation im Bild-Overlay',
- 'compression_quality' => 'Kompressionsrate beim Erstellen von Vorschaubildern',
- 'landing_page_enable' => 'Landingpage anzeigen',
- 'site_owner' => 'Website-Inhaber',
- 'landing_title' => 'Titel auf der Landingpage',
- 'landing_subtitle' => 'Untertitel auf der Landingpage',
- 'sm_facebook_url' => 'URL des Facebook-Profils',
- 'sm_flickr_url' => 'URL des Flickr-Profils',
- 'sm_twitter_url' => 'URL des X-Profils (ehemals Twitter)',
- 'sm_instagram_url' => 'URL des Instagram-Profils',
- 'sm_youtube_url' => 'URL des YouTube-Profils',
- 'thumb_2x' => 'Doppelte Größe für quadratische Vorschaubilder aktivieren',
- 'small_2x' => 'Doppelte Größe für kleine Vorschaubilder aktivieren',
- 'medium_2x' => 'Doppelte Größe für mittlere Bilder aktivieren',
- 'site_title' => 'Website-Titel',
- 'footer_show_copyright' => 'Copyright-Hinweis in der Fußzeile anzeigen',
- 'site_copyright_begin' => 'Anfangsjahr des Copyrights',
- 'site_copyright_end' => 'Endjahr des Copyrights',
- 'allow_online_git_pull' => 'git pull über das Web-Interface erlauben',
- 'footer_additional_text' => 'Zusätzlicher Text in der Fußzeile',
- 'footer_show_social_media' => 'Social-Media-Links in der Fußzeile anzeigen',
- 'search_public' => 'Anonymen Benutzern die Verwendung der Suche erlauben',
- 'hide_version_number' => 'Aktuelle Versionsnummer ausblenden',
- 'recent_age' => 'Maximales Alter für „Zuletzt hinzugefügt“ (in Tagen)',
- 'grants_download' => 'Download standardmäßig erlauben',
- 'photos_wraparound' => 'Nach dem letzten Bild eines Albums zum Anfang zurückkehren',
- 'raw_formats' => 'Zusätzliche erlaubte Formate (keine weitere Verarbeitung)',
- 'raw_download_enabled' => 'Benutzern den Download der Original-RAW-Datei erlauben',
- 'map_display' => 'Karte basierend auf GPS-Koordinaten anzeigen',
- 'zip64' => 'Zip 64-Bit anstelle von 32-Bit verwenden',
- 'map_display_public' => 'Anonymen Benutzern den Zugriff auf die Karte erlauben',
- 'map_provider' => 'Kartenanbieter festlegen',
- 'map_include_subalbums' => 'Bilder aus Unteralben auf der Karte einschließen',
- 'update_check_every_days' => 'Intervall für Lychee-Update-Prüfungen (in Tagen)',
- 'has_exiftool' => 'Verfügbarkeit der exiftool-Verarbeitung',
- 'share_button_visible' => 'Sichtbarkeit der Teilen-Schaltfläche im Header ',
- 'has_ffmpeg' => 'Verfügbarkeit der ffmpeg-Verarbeitung',
- 'import_via_symlink' => 'Symbolische Verknüpfungen statt Kopien beim Server-Import verwenden',
- 'apply_composer_update' => 'composer-Update bei Lychee-Aktualisierung über Web-Interface ausführen',
- 'location_decoding' => 'GPS-Standortdekodierung verwenden',
- 'location_decoding_timeout' => 'Zeitüberschreitung (Timeout) für GPS-Dekodierungsanfragen',
- 'location_show' => 'Aus GPS-Koordinaten ermittelten Standort anzeigen',
- 'location_show_public' => 'Anonymen Benutzern Zugriff auf den ermittelten Standort erlauben',
- 'gps_coordinate_display' => 'GPS-Koordinaten anzeigen',
- 'gps_coordinate_display_public' => 'Anonymen Benutzern den Zugriff auf GPS-Koordinaten erlauben',
- 'rss_enable' => 'RSS-Feed aktivieren',
- 'rss_recent_days' => 'Die letzten X Tage im RSS-Feed anzeigen',
- 'rss_max_items' => 'Maximale Anzahl an Einträgen im RSS-Feed',
- 'prefer_available_xmp_metadata' => 'XMP-Sidecar-Dateien gegenüber EXIF-Metadaten bevorzugen',
- 'editor_enabled' => 'Manuelles Drehen von Bildern aktivieren',
- 'lossless_optimization' => 'Zusätzliche verlustfreie Kompression auf Bilder anwenden',
- 'local_takestamp_video_formats' => 'Lokalen Zeitstempel für folgende Videoformate verwenden',
- 'log_max_num_line' => 'Anzahl der neuesten Log-Zeilen, die angezeigt werden sollen',
- 'unlock_password_photos_with_url_param' => 'Passwort-Übergabe via URL-Parameter zum Freischalten von Alben erlauben',
- 'nsfw_visible' => 'Sensible Alben standardmäßig anzeigen',
- 'nsfw_blur' => 'Sensible Alben weichzeichnen',
- 'nsfw_warning' => 'Warnung für sensible Alben aktivieren',
- 'nsfw_warning_admin' => 'Warnung für sensible Alben auch im angemeldeten Zustand aktivieren',
- 'nsfw_banner_override' => 'Benutzerdefinierter Warntext anstelle des Standards',
- 'map_display_direction' => 'Aufnahmerichtung des Bildes auf der Karte anzeigen (falls verfügbar)',
- 'album_subtitle_type' => 'Untertitel für Alben in der Albenansicht festlegen',
- 'upload_processing_limit' => 'Maximale Anzahl gleichzeitig verarbeiteter Bilder beim Upload',
- 'new_photos_notification' => 'Benachrichtigungen bei neuen Fotos aktivieren',
- 'zip_deflate_level' => 'ZIP-Kompressionsstufe',
- 'default_album_protection' => 'Standardschutz für neu erstellte Alben',
- 'allow_username_change' => 'Benutzern die Änderung des Benutzernamens erlauben',
- 'album_decoration' => 'Hinweise auf dem Albumcover anzeigen (Unteralbum- und/oder Fotoanzahl)',
- 'album_decoration_orientation' => 'Ausrichtung der Album-Hinweise (horizontal oder vertikal)',
- 'auto_fix_orientation' => 'Importierte Bilder automatisch drehen',
- 'random_album_id' => 'Album-ID für die Zufallsfunktion',
- 'use_last_modified_date_when_no_exif_date' => 'Änderungsdatum der Datei verwenden, wenn EXIF-Daten kein Erstelldatum enthalten',
- 'ffmpeg_path' => 'Pfad zur ffmpeg-Binärdatei',
- 'ffprobe_path' => 'Pfad zur ffprobe-Binärdatei',
- 'layout' => 'Layout für Bilder',
- 'date_format_photo_thumb' => 'Datumsformat für Foto-Vorschaubilder',
- 'date_format_photo_overlay' => 'Datumsformat für das Bild-Overlay',
- 'date_format_sidebar_uploaded' => 'Format des Upload-Datums in der Seitenleiste',
- 'date_format_sidebar_taken_at' => 'Format des Aufnahmedatums in der Seitenleiste',
- 'date_format_hero_min_max' => 'Datumsformat für den Album-Hero',
- 'date_format_hero_created_at' => 'Format des Erstellungsdatums in den Albumdetails',
- 'date_format_album_thumb' => 'Datumsformat für Album-Vorschaubilder',
- 'upload_chunk_size' => 'Größe der Upload-Segmente (Chunks) in Bytes: 0 für automatisch',
- 'nsfw_banner_blur_backdrop' => 'Hintergrund weichzeichnen statt dunkelrotem Hintergrund',
- 'search_pagination_limit' => 'Anzahl der Suchergebnisse pro Seite',
- 'search_minimum_length_required' => 'Mindestanzahl an Zeichen für die Suche (Standard: 4)',
- 'photo_layout_justified_row_height' => 'Zeilenhöhe im bündigen Layout',
- 'photo_layout_masonry_column_width' => 'Minimale Spaltenbreite im Masonry-Layout',
- 'photo_layout_grid_column_width' => 'Minimale Spaltenbreite im Raster-Layout (Grid)',
- 'photo_layout_square_column_width' => 'Minimale Spaltenbreite im quadratischen Raster-Layout',
- 'photo_layout_gap' => 'Abstand zwischen den Spalten in den Layouts Quadratisch/Masonry/Raster',
- 'display_thumb_album_overlay' => 'Titel und Metadaten auf Album-Vorschaubildern anzeigen',
- 'display_thumb_photo_overlay' => 'Titel und Metadaten auf Foto-Vorschaubildern anzeigen',
- 'default_album_thumb_aspect_ratio' => 'Standard-Seitenverhältnis für Album-Vorschaubilder',
- 'use_album_compact_header' => 'Header-Bild in Alben deaktivieren',
- 'back_button_enabled' => 'Zurück-Schaltfläche in der Galerie aktivieren',
- 'back_button_text' => 'Beschriftung der Zurück-Schaltfläche (gegenüber dem Login platziert)',
- 'back_button_url' => 'Link der Zurück-Schaltfläche',
- 'SA_random_thumbs' => 'Zufällige Vorschaubilder statt Favoriten/Sortierreihenfolge verwenden',
- 'login_required' => 'Anmeldung für den Zugriff auf die Galerie erzwingen',
- 'enable_unsorted' => 'Smart-Album „Unsortiert“ aktivieren',
- 'enable_highlighted' => 'Smart-Album „Favoriten“ aktivieren',
- 'enable_recent' => 'Smart-Album „Zuletzt hinzugefügt“ aktivieren',
- 'enable_on_this_day' => 'Smart-Album „An diesem Tag“ aktivieren',
- 'enable_unrated' => 'Smart-Album „Unbewertet“ aktivieren',
- 'enable_1_star' => 'Smart-Album „1 Stern“ aktivieren',
- 'enable_2_stars' => 'Smart-Album „2 Sterne“ aktivieren',
- 'enable_3_stars' => 'Smart-Album „3+ Sterne“ aktivieren',
- 'enable_4_stars' => 'Smart-Album „4+ Sterne“ aktivieren',
- 'enable_5_stars' => 'Smart-Album „5 Sterne“ aktivieren',
- 'enable_best_pictures' => 'Smart-Album „Beste Bilder“ aktivieren',
- 'best_pictures_count' => 'Anzahl der Fotos im Album „Beste Bilder“',
- 'enable_my_rated_pictures' => 'Smart-Album „Meine bewerteten Bilder“ aktivieren',
- 'enable_my_best_pictures' => 'Smart-Album „Meine besten Bilder“ aktivieren',
- 'my_best_pictures_count' => 'Anzahl der Fotos im Album „Meine besten Bilder“',
- 'oauth_create_user_on_first_attempt' => 'Benutzererstellung erlauben, wenn keine OAuth-ID existiert',
- 'grant_new_user_upload_rights' => 'Neu erstellten Benutzern das Hochladen von Inhalten erlauben',
- 'grant_new_user_modification_rights' => 'Neu erstellten Benutzern das Bearbeiten des eigenen Profils erlauben',
- 'login_required_root_only' => 'Anmeldung nur für die Startseite erzwingen (Direktlinks bleiben zugänglich)',
- 'exiftool_path' => 'Pfad zur exiftool-Binärdatei',
- 'thumb_min_max_order' => 'Anzeigereihenfolge des Datums auf Vorschaubildern',
- 'header_min_max_order' => 'Anzeigereihenfolge des Datums im Header',
- 'autoplay_enabled' => 'Autoplay-Attribut für Videos aktivieren',
- 'dark_mode_enabled' => 'Dunkelmodus (Dark Mode) verwenden',
- 'show_keybinding_help_popup' => 'Hilfe-Popup für Tastenkombinationen beim Login anzeigen',
- 'show_keybinding_help_button' => 'Schaltfläche für Tastenkombinationen im Header anzeigen',
- 'email' => 'E-Mail-Adresse für die Lizenzanfrage',
- 'license_key' => 'Lychee-Lizenzschlüssel',
- 'disable_se_call_for_actions' => 'Lychee SE-Informationen deaktivieren',
- 'enable_se_preview' => 'Vorschau für Lychee SE-Funktionen aktivieren',
- 'slideshow_timeout' => 'Anzeigedauer der Bilder in der Diashow',
- 'keep_original_untouched' => 'Originalbild unverändert lassen',
- 'default_user_quota' => 'Standard-Speicherkontingent für neue Benutzer',
- 'low_quality_image_placeholder' => 'Platzhalterbilder mit geringer Qualität aktivieren',
- 'timeline_photos_enabled' => 'Zeitstrahl für Fotos aktivieren',
- 'timeline_photos_public' => 'Anonymen Benutzern den Zugriff auf den Foto-Zeitstrahl erlauben',
- 'timeline_photos_granularity' => 'Granularität des Foto-Zeitstrahls',
- 'timeline_photos_order' => 'Fotos im Zeitstrahl sortieren nach',
- 'timeline_photos_layout' => 'Foto-Layout für die Zeitstrahl-Seite',
- 'timeline_photos_pagination_limit' => 'Anzahl der Fotos pro Seite im Zeitstrahl',
- 'timeline_albums_enabled' => 'Zeitstrahl für Alben aktivieren',
- 'timeline_albums_public' => 'Alben-Zeitstrahl für anonyme Benutzer anzeigen',
- 'timeline_albums_granularity' => 'Granularität des Alben-Zeitstrahls',
- 'timeline_left_border_enabled' => 'Linke Begrenzungslinie in Zeitstrahlen anzeigen',
- 'timeline_photo_date_format_year' => 'Datumsformat für Fotos nach Jahren',
- 'timeline_photo_date_format_month' => 'Datumsformat für Fotos nach Monaten',
- 'timeline_photo_date_format_day' => 'Datumsformat für Fotos nach Tagen',
- 'timeline_photo_date_format_hour' => 'Datumsformat für Fotos nach Stunden',
- 'timeline_album_date_format_year' => 'Datumsformat für Alben nach Jahren',
- 'timeline_album_date_format_month' => 'Datumsformat für Alben nach Monaten',
- 'timeline_album_date_format_day' => 'Datumsformat für Alben nach Tagen',
- 'hide_nsfw_in_smart_albums' => 'Sensible Fotos in Smart-Alben ausblenden',
- 'hide_nsfw_in_frame' => 'Sensible Fotos im Rahmen ausblenden',
- 'hide_nsfw_in_map' => 'Sensible Fotos auf der Karte ausblenden',
- 'hide_nsfw_in_search' => 'Sensible Fotos in der Suche ausblenden',
- 'search_photos_layout' => 'Foto-Layout für die Suchseite',
- 'hide_nsfw_in_rss' => 'Sensible Fotos im RSS-Feed ausblenden',
- 'hide_nsfw_in_timeline' => 'Sensible Fotos im Zeitstrahl ausblenden',
- 'number_albums_per_row_mobile' => 'Anzahl der Alben pro Zeile in der mobilen Ansicht',
- 'cache_enabled' => 'Caching von Anfragen aktivieren',
- 'cache_event_logging' => 'Protokollierung von Cache-Ereignissen aktivieren',
- 'cache_ttl' => 'Gültigkeitsdauer des Caches (Sekunden)',
- 'low_number_of_shoots_per_day' => 'Schwellenwert für niedrige Anzahl an Aufnahmen pro Tag',
- 'medium_number_of_shoots_per_day' => 'Schwellenwert für mittlere Anzahl an Aufnahmen pro Tag',
- 'high_number_of_shoots_per_day' => 'Schwellenwert für hohe Anzahl an Aufnahmen pro Tag',
- 'maintenance_processing_limit' => 'Anzahl auszuführender Wartungsvorgänge',
- 'disable_recursive_permission_check' => 'Rekursive Berechtigungsprüfung deaktivieren',
- 'exif_disabled_for_all' => 'Detail- und Overlay-Panels im Frontend deaktivieren',
- 'display_exif_data' => 'EXIF-Daten anzeigen',
- 'file_name_hidden' => 'Fototitel für anonyme Benutzer verbergen',
- 'client_side_favourite_enabled' => 'Besuchern das Markieren von Favoriten erlauben',
- 'default_old_settings' => 'Einstellungen standardmäßig als Texteingabe anzeigen',
- 'default_expert_settings' => 'Experten-Einstellungen standardmäßig aktivieren',
- 'default_all_settings' => 'Alle Einstellungen auf einer Seite anzeigen',
- 'disable_thumb_download' => 'Download von quadratischen Vorschaubildern deaktivieren',
- 'disable_thumb2x_download' => 'Download von quadratischen HiDPI-Vorschaubildern deaktivieren',
- 'disable_small_download' => 'Download von Vorschaubildern deaktivieren',
- 'disable_small2x_download' => 'Download von HiDPI-Vorschaubildern deaktivieren',
- 'disable_medium_download' => 'Download von mittleren Bildern deaktivieren',
- 'disable_medium2x_download' => 'Download von mittleren HiDPI-Bildern deaktivieren',
- 'landing_background_landscape_mode' => 'Modus für Hintergrund im Querformat',
- 'landing_background_portrait_mode' => 'Modus für Hintergrund im Hochformat',
- 'landing_background_landscape' => 'Hintergrund im Querformat (URL, Foto-ID oder Album-ID)',
- 'landing_background_portrait' => 'Hintergrund im Hochformat (URL, Foto-ID oder Album-ID)',
- 'metrics_enabled' => 'Statistiken für Fotos und Alben aktivieren',
- 'metrics_logged_in_users_enabed' => 'Statistiken für angemeldete Benutzer aktivieren',
- 'metrics_access' => 'Zugriffsebene für Album- und Fotostatistiken',
- 'live_metrics_enabled' => 'Echtzeit-Statistiken aktivieren',
- 'live_metrics_access' => 'Zugriffsebene für Echtzeit-Statistiken',
- 'live_metrics_max_time' => 'Maximales Alter für Echtzeit-Statistiken (Tage)',
- 'photo_thumb_info' => 'Anzuzeigende Informationen auf Foto-Vorschaubildern',
- 'temporary_image_link_enabled' => 'Temporäre Bild-Links aktivieren',
- 'temporary_image_link_when_logged_in' => 'Temporäre Bild-Links für angemeldete Benutzer aktivieren',
- 'temporary_image_link_when_admin' => 'Temporäre Bild-Links für Administratoren aktivieren',
- 'temporary_image_link_life_in_seconds' => 'Maximale Gültigkeitsdauer für temporäre Links (Sekunden, Standard: 86400s = 24h)',
- 'secure_image_link_enabled' => 'Bild-Links zum Schutz verschlüsseln',
- 'photo_previous_next_size' => 'Größe der Vor-/Zurück-Schaltflächen in der Fotoansicht',
- 'SA_override_visibility' => 'Sichtbarkeit von Smart-Alben überschreibt Sichtbarkeit von Fotos',
- 'TA_override_visibility' => 'Sichtbarkeit von Tag-Alben überschreibt Sichtbarkeit von Fotos',
- 'slideshow_enabled' => 'Diashow-Funktion aktivieren',
- 'user_registration_enabled' => 'Benutzerregistrierung aktivieren',
- 'enable_colour_extractions' => 'Die 5 am häufigsten verwendeten Farben aus dem Bild extrahieren',
- 'colour_extraction_driver' => 'Treiber für die Farbextraktion',
- 'home_page_default' => 'Standard-Startseite nach der Landingpage',
- 'skip_duplicates_early' => 'Duplikate beim Import über den Sync-Befehl frühzeitig überspringen',
- 'sync_delete_missing_photos' => 'Fotos, die nicht im synchronisierten Verzeichnis vorhanden sind, aus dem Zielalbum löschen',
- 'sync_delete_missing_albums' => 'Alben, die nicht im synchronisierten Verzeichnis vorhanden sind, aus der Struktur löschen',
- 'sync_dry_run' => 'Destruktive Teile des Sync-Befehls im Testlauf-Modus (Dry-Run) ausführen',
- 'user_invitation_ttl' => 'Maximale Gültigkeitsdauer für Einladungslinks (Tage)',
- 'flow_enabled' => 'Flow aktivieren',
- 'flow_public' => 'Anonymen Benutzern den Zugriff auf den Flow erlauben',
- 'flow_base' => 'Basis-Album-ID für den Flow',
- 'flow_min_max_order' => 'Anzeigereihenfolge des Zeitraums (ältestes/neuestes Datum)',
- 'flow_max_items' => 'Maximale Anzahl an Elementen im Flow',
- 'flow_strategy' => 'Flow-Strategie',
- 'flow_include_sub_albums' => 'Unteralben im Flow einschließen',
- 'flow_include_photos_from_children' => 'Fotos aus untergeordneten Alben einschließen',
- 'flow_open_album_on_click' => 'Album bei Klick öffnen',
- 'flow_display_open_album_button' => 'Schaltfläche zum Öffnen des Albums anzeigen',
- 'flow_highlight_first_picture' => 'Erstes Bild des Albums anstelle des Albumcovers hervorheben',
- 'flow_min_max_enabled' => 'Zeitraum (ältestes/neuestes Datum) im Flow anzeigen',
- 'flow_display_statistics' => 'Album-Statistiken im Flow anzeigen',
- 'flow_compact_mode_enabled' => 'Kompaktmodus für den Flow aktivieren',
- 'flow_image_header_enabled' => 'Bild-Header im Flow aktivieren',
- 'flow_image_header_cover' => 'Anzeige der Bild-Header',
- 'flow_image_header_height' => 'Höhe der Bild-Header',
- 'flow_carousel_enabled' => 'Bild-Karussell im Flow aktivieren',
- 'flow_carousel_height' => 'Höhe des Karussells',
- 'date_format_flow_published' => 'Datumsformat im Flow',
- 'date_format_flow_min_max' => 'Format für den Zeitraum (ältestes/neuestes Datum)',
- 'flow_blur_nsfw_enabled' => 'Sensible Alben im Flow weichzeichnen',
- 'hide_nsfw_in_flow' => 'Sensible Alben im Flow ausblenden',
- 'gallery_header_enabled' => 'Header-Bild in der Galerieansicht aktivieren',
- 'gallery_header_logged_in_enabled' => 'Header-Bild in der Galerieansicht auch im angemeldeten Zustand aktivieren',
- 'gallery_header' => 'URL des Header-Bildes in der Galerieansicht',
- 'gallery_header_bar_transparent' => 'Header-Leiste transparent darstellen',
- 'gallery_header_bar_gradient' => 'Verlaufshintergrund zur Header-Leiste hinzufügen',
- 'import_via_url_forbidden_localhost' => 'Import via URL darf nicht „localhost“ verwenden',
- 'import_via_url_forbidden_local_ip' => 'Import via URL darf keine lokalen IP-Adressen verwenden',
- 'import_via_url_require_https' => 'Import via URL muss HTTPS verwenden',
- 'import_via_url_forbidden_ports' => 'Import via URL muss Port 80 oder 443 verwenden',
- 'owner_id' => 'Besitzer der Installation',
- 'details_links_enabled' => 'Bild-Links in den Fotodetails aktivieren',
- 'details_links_public' => 'Anonymen Benutzern Zugriff auf Bild-Links in den Fotodetails erlauben',
- 'is_scroll_to_navigate_photos_enabled' => 'Scrollen mit dem Mausrad zur Navigation zwischen Fotos aktivieren',
- 'is_swipe_vertically_to_go_back_enabled' => 'Vertikale Wischgeste bei Fotos zur Rückkehr zum Album aktivieren',
- 'timeline_page_enabled' => 'Zeitstrahl-Seite aktivieren',
- 'timeline_quick_access_date_format_year' => 'Format für Schnellzugriff nach Jahren auf der Zeitstrahl-Seite',
- 'timeline_quick_access_date_format_month' => 'Format für Schnellzugriff nach Monaten auf der Zeitstrahl-Seite',
- 'timeline_quick_access_date_format_day' => 'Format für Schnellzugriff nach Tagen auf der Zeitstrahl-Seite',
- 'timeline_quick_access_date_format_hour' => 'Format für Schnellzugriff nach Stunden auf der Zeitstrahl-Seite',
- 'photo_thumb_tags_enabled' => 'Tags auf Foto-Vorschaubildern in der Albumansicht anzeigen',
- 'hide_nsfw_in_tag_albums' => 'Sensible Fotos in Tag-Alben ausblenden',
- 'hide_nsfw_in_tag_listing' => 'Sensible Fotos in Tag-Listen ausblenden',
- 'sorting_pinned_albums_col' => 'Standardspalte für die Sortierung hervorgehobener Alben',
- 'sorting_pinned_albums_order' => 'Standardsortierung für hervorgehobene Alben',
- 'copyright_text' => 'Copyright-Text (ersetzt den Standard-Copyright-Hinweis)',
- 'watermark_enabled' => 'Wasserzeichen für Fotos aktivieren',
- 'watermark_photo_id' => 'Foto-ID des Wasserzeichens',
- 'watermark_random_path' => 'Zufälligen Pfad für Bilder mit Wasserzeichen verwenden',
- 'watermark_public' => 'Wasserzeichen auf öffentlichen Fotos anzeigen',
- 'watermark_logged_in_users_enabled' => 'Wasserzeichen für angemeldete Benutzer anzeigen',
- 'watermark_original' => 'Wasserzeichen auch auf das Originalbild anwenden',
- 'watermark_size' => 'Größe des Wasserzeichens (1 bis 100 %)',
- 'watermark_opacity' => 'Deckkraft des Wasserzeichens (1 bis 100 %)',
- 'watermark_position' => 'Position des Wasserzeichens auf dem Bild',
- 'watermark_shift_type' => 'Versatz des Wasserzeichens relativ zur Größe',
- 'watermark_shift_x' => 'Horizontaler Versatz',
- 'watermark_shift_x_direction' => 'Richtung des horizontalen Versatzes',
- 'watermark_shift_y' => 'Vertikaler Versatz',
- 'watermark_shift_y_direction' => 'Richtung des vertikalen Versatzes',
- 'watermark_optout_disabled' => 'Opt-out des Wasserzeichens beim Upload deaktivieren',
- 'renamer_enabled' => 'Umbenennungsregeln aktivieren',
- 'renamer_enforced' => 'Umbenennungsregeln erzwingen',
- 'renamer_enforced_before' => 'Regeln vor den Benutzerregeln erzwingen',
- 'renamer_enforced_after' => 'Regeln nach den Benutzerregeln erzwingen',
- 'renamer_photo_title_enabled' => 'Umbenennungsregeln für Fototitel beim Import/Upload aktivieren',
- 'renamer_album_title_enabled' => 'Umbenennungsregeln für Albumtitel bei Erstellung aktivieren',
- 'extract_zip_on_upload' => 'Hochgeladene ZIP-Dateien entpacken und Inhalt importieren',
- 'webshop_enabled' => 'Webshop aktivieren',
- 'webshop_currency' => 'Währung für Käufe',
- 'webshop_default_description' => 'Standardbeschreibung für käufliche Artikel',
- 'webshop_allow_guest_checkout' => 'Bestellungen als Gast erlauben',
- 'webshop_terms_url' => 'URL der Allgemeinen Geschäftsbedingungen (AGB)',
- 'webshop_privacy_url' => 'URL der Datenschutzerklärung',
- 'webshop_default_price_cents' => 'Standardpreis in Cent',
- 'webshop_default_license' => 'Standard-Lizenztyp',
- 'webshop_default_size' => 'Standard-Größenvariante',
- 'enable_untagged' => 'Smart-Album „Ohne Tags“ aktivieren',
- 'photos_pagination_limit' => 'Maximale Anzahl an Fotos pro Seite in Alben',
- 'webshop_offline' => 'Webshop offline halten',
- 'deduplicate_pinned_albums' => 'Hervorgehobene Alben deduplizieren',
- 'desktop_dock_full_transparency_enabled' => 'Vollständige Transparenz für das Dock (Desktop) aktivieren',
- 'mobile_dock_full_transparency_enabled' => 'Transparenz für das Dock (Mobil) aktivieren',
- 'enable_smart_album_per_owner' => 'In Smart-Alben nur Bilder des jeweiligen Besitzers anzeigen',
- 'album_layout' => 'Standard-Layout für die Albenansicht',
- 'albums_per_page' => 'Anzahl der Unteralben pro Seite',
- 'albums_pagination_ui_mode' => 'Seitenaufteilung (Alben)',
- 'albums_infinite_scroll_threshold' => 'Schwellenwert für unendliches Scrollen (Alben)',
- 'photos_per_page' => 'Anzahl der Fotos pro Seite',
- 'photos_pagination_ui_mode' => 'Seitenaufteilung (Fotos)',
- 'photos_infinite_scroll_threshold' => 'Schwellenwert für unendliches Scrollen (Fotos)',
- 'enable_propagate_unlock_option' => 'Weitergabe der Freischalt-Option aktivieren',
- 'rating_enabled' => 'Bewertung von Fotos aktivieren',
- 'rating_public' => 'Bewertungen öffentlich zugänglich machen',
- 'rating_show_only_when_user_rated' => 'Bewertungen erst nach eigener Stimmabgabe anzeigen',
- 'rating_show_avg_in_details' => 'Durchschnittsbewertung in den Fotodetails anzeigen',
- 'rating_photo_view_mode' => 'Bewertungs-Overlay in der Foto-Vollansicht anzeigen',
- 'rating_show_avg_in_photo_view' => 'Durchschnittsbewertung in der Foto-Vollansicht anzeigen',
- 'rating_album_view_mode' => 'Bewertung auf Foto-Vorschaubildern in der Albumansicht anzeigen',
- 'rating_show_avg_in_album_view' => 'Durchschnittsbewertung auf Foto-Vorschaubildern anzeigen',
- 'import_via_url_block_redirect' => 'Import via URL darf keinen Weiterleitungen folgen',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Haftungsausschluss von LycheeOrg aktivieren',
- 'webshop_auto_fulfill_enabled' => 'Automatische Auftragsabwicklung aktivieren',
- 'webshop_manual_fulfill_enabled' => 'Automatische Auftragsabwicklung bei manueller Bestätigung aktivieren',
- 'enable_photo_details_always_open' => 'Fotodetails permanent anzeigen',
- 'album_enhanced_display_enabled' => 'Erweiterten Album-Header aktivieren',
- 'album_header_size' => 'Größe des Album-Headers',
- 'album_header_landing_title_enabled' => 'Landingpage-Titel im Album-Header anzeigen',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Einstellung durch den Wert „disabled“ deaktivieren.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Beachten Sie, dass für die Anzeige des Rahmens der Zugriff auf das gewählte Album erforderlich ist.
Die Schaltfläche wird nur angezeigt, wenn diese Bedingung erfüllt ist.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Ungeprüftes HTML-Feld (Inhalt wird direkt übernommen).',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'Wenn aktiviert, können Benutzer mit Download-Berechtigung die unveränderte RAW/HEIC/PSD-Datei herunterladen, die beim Upload gesichert wurde.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Diese Einstellung wirkt sich nur auf den dekodierten Standort aus.',
- 'location_show_public' => 'Diese Einstellung wirkt sich nur auf den dekodierten Standort aus.',
- 'gps_coordinate_display' => 'Durch das Deaktivieren werden Breiten- und Längengrad für alle Benutzer ausgeblendet.',
- 'gps_coordinate_display_public' => 'Durch das Deaktivieren werden Breiten- und Längengrad für anonyme Benutzer ausgeblendet.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Albumcover weichzeichnen.',
- 'nsfw_warning' => 'Warnung beim ersten Öffnen des Albums anzeigen.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Ungeprüftes HTML-Feld (Inhalt wird direkt übernommen).',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = Kompression deaktivieren (STORE-Methode), 0 = keine Kompression (DEFLATE-Methode), 1 = minimale Kompression (schnell), … 9 = maximale Kompression (langsam)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Originalbilder werden überschrieben und komprimiert.',
- 'random_album_id' => 'Standardmäßig anzuzeigendes Album; falls leer, werden alle durchsuchbaren Fotos verwendet.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'Siehe datetime.format.php',
- 'date_format_photo_overlay' => 'Siehe datetime.format.php',
- 'date_format_sidebar_uploaded' => 'Siehe datetime.format.php',
- 'date_format_sidebar_taken_at' => 'Siehe datetime.format.php',
- 'date_format_hero_min_max' => 'Siehe datetime.format.php',
- 'date_format_hero_created_at' => 'Siehe datetime.format.php',
- 'date_format_album_thumb' => 'Siehe datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Zeichnet den Hintergrund der Warnmeldung weich.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Durch das Deaktivieren dieses Smart-Albums werden Bilder ohne Album unsichtbar.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Smart-Album für unbewertete Fotos anzeigen.',
- 'enable_1_star' => 'Smart-Album für Fotos mit 1-Stern-Bewertung anzeigen.',
- 'enable_2_stars' => 'Smart-Album für Fotos mit 2-Sterne-Bewertung anzeigen.',
- 'enable_3_stars' => 'Smart-Album für Fotos mit 3 oder mehr Sternen anzeigen.',
- 'enable_4_stars' => 'Smart-Album für Fotos mit 4 oder mehr Sternen anzeigen.',
- 'enable_5_stars' => 'Smart-Album für Fotos mit 5-Sterne-Bewertung anzeigen.',
- 'enable_best_pictures' => 'Smart-Album für bestbewertete Fotos anzeigen.',
- 'best_pictures_count' => 'Anzahl der im Album „Beste Bilder“ anzuzeigenden Fotos. Inkludiert Bilder mit identischer Bewertung an der Auswahlgrenze.',
- 'enable_my_rated_pictures' => 'Zeigt alle vom aktuellen Benutzer bewerteten Fotos an.',
- 'enable_my_best_pictures' => 'Zeigt die bestbewerteten Fotos des aktuellen Benutzers an.',
- 'my_best_pictures_count' => 'Anzahl der im Album „Meine besten Bilder“ anzuzeigenden Fotos. Inkludiert Bilder mit identischer Bewertung an der Auswahlgrenze.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Supporter Edition hier erhältlich: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Nächstes Bild nach x Sekunden anzeigen.',
- 'keep_original_untouched' => 'Bei automatischer Drehung wird das Originalbild unverändert beibehalten.',
- 'default_user_quota' => 'Wert in KB; 0 eingeben, um das Kontingent zu deaktivieren.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Foto-Zeitstrahl global für alle Alben aktivieren. Die Funktion kann auch pro Album einzeln ein- oder ausgeschaltet werden.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'Legt fest, ob das Aufnahmedatum oder das Upload-Datum für die Sortierung der Fotos verwendet wird.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Alben-Zeitstrahl global für alle Alben (und die Startseite) aktivieren. Die Funktion kann auch pro Album einzeln ein- oder ausgeschaltet werden.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'Siehe datetime.format.php',
- 'timeline_photo_date_format_month' => 'Siehe datetime.format.php',
- 'timeline_photo_date_format_day' => 'Siehe datetime.format.php',
- 'timeline_photo_date_format_hour' => 'Siehe datetime.format.php',
- 'timeline_album_date_format_year' => 'Siehe datetime.format.php',
- 'timeline_album_date_format_month' => 'Siehe datetime.format.php',
- 'timeline_album_date_format_day' => 'Siehe datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Bilder in sensiblen Alben werden in Smart-Alben nicht angezeigt.',
- 'hide_nsfw_in_frame' => 'Bilder in sensiblen Alben werden im Rahmen nicht angezeigt.',
- 'hide_nsfw_in_map' => 'Bilder in sensiblen Alben werden auf der Karte nicht angezeigt.',
- 'hide_nsfw_in_search' => 'Bilder in sensiblen Alben werden in der Suche nicht angezeigt.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Bilder in sensiblen Alben werden im RSS-Feed nicht angezeigt.',
- 'hide_nsfw_in_timeline' => 'Bilder in sensiblen Alben werden auf der Zeitstrahl-Seite nicht angezeigt.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'Beschleunigt die Antwortzeiten von Lychee erheblich. Bei Verwendung passwortgeschützter Alben sollte diese Option nicht aktiviert werden.',
- 'cache_event_logging' => 'Kann zu einer großen Menge an Log-Einträgen führen.',
- 'cache_ttl' => 'Eine längere Gültigkeitsdauer spart Ressourcen, kann aber zu veralteten Antworten führen.',
- 'low_number_of_shoots_per_day' => 'Wird zur Farbbestimmung in der Punch-Card-Statistik verwendet.',
- 'medium_number_of_shoots_per_day' => 'Wird zur Farbbestimmung in der Punch-Card-Statistik verwendet.',
- 'high_number_of_shoots_per_day' => 'Wird zur Farbbestimmung in der Punch-Card-Statistik verwendet.',
- 'maintenance_processing_limit' => 'Höhere Werte verarbeiten mehr Elemente gleichzeitig, können aber zu Zeitüberschreitungen führen.',
- 'disable_recursive_permission_check' => 'Die Diagnose-Seite kann bei vielen Alben und Fotos langsam sein. Diese Option deaktiviert die rekursive Berechtigungsprüfung zur Beschleunigung.',
- 'exif_disabled_for_all' => ' Dies entfernt die Daten nicht vom API-Endpunkt.',
- 'display_exif_data' => 'EXIF-Daten werden in der Benutzeroberfläche nicht angezeigt.',
- 'file_name_hidden' => 'Angemeldete Benutzer haben weiterhin Zugriff auf den Titel.',
- 'client_side_favourite_enabled' => 'Favoriten werden im lokalen Speicher des Browsers hinterlegt.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Optionen: static (URL), photo_id (spezifisches Foto), random (zufälliges öffentliches Foto), latest_album_cover (aktuellstes Albumcover), random_from_album (Zufallsbild aus Album).',
- 'landing_background_portrait_mode' => 'Optionen: static (URL), photo_id (spezifisches Foto), random (zufälliges öffentliches Foto), latest_album_cover (aktuellstes Albumcover), random_from_album (Zufallsbild aus Album).',
- 'landing_background_landscape' => 'Abhängig vom Modus: URL für „static“, Foto-ID für „photo_id“, Album-ID für „random_from_album“. Dieses Bild wird auch beim direkten Teilen des Galerie-Links verwendet.',
- 'landing_background_portrait' => 'Abhängig vom Modus: URL für „static“, Foto-ID für „photo_id“, Album-ID für „random_from_album“.',
- 'metrics_enabled' => 'Wenn aktiviert, werden anonyme Benutzer statistisch erfasst.',
- 'metrics_logged_in_users_enabed' => 'Wenn aktiviert, werden auch angemeldete Benutzer erfasst (Administratoren ausgenommen).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Echtzeit-Statistiken bieten Ihnen einen Aktivitätsverlauf Ihrer Galerie.',
- 'live_metrics_access' => 'Wenn auf „admin“ gesetzt, können nur Administratoren die Echtzeit-Statistiken einsehen.',
- 'live_metrics_max_time' => 'Nach Ablauf dieser Zeitspanne werden die Echtzeit-Statistiken gelöscht.',
- 'photo_thumb_info' => 'Falls „description“ ausgewählt wird, wird das Datum ebenfalls nicht angezeigt.',
- 'temporary_image_link_enabled' => 'Alle Bilder werden über eine signierte URL bereitgestellt. Dies ist eine Sicherheitsfunktion, um Hotlinking und unbefugten Zugriff auf Bilder zu verhindern.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' Falls Caching für Anfragen verwendet wird, sollte dieser Wert höher als die Ablaufzeit des Caches eingestellt werden.',
- 'secure_image_link_enabled' => 'Stellt sicher, dass Bild-Links nicht erratbar sind.',
- 'photo_previous_next_size' => 'Diese Schaltflächen sind standardmäßig ausgeblendet und werden nur sichtbar, wenn sich die Maus dem linken oder rechten Bildschirmrand nähert.',
- 'SA_override_visibility' => ' Dadurch werden alle Fotos sichtbar, die die Bedingungen des Smart-Albums erfüllen.',
- 'TA_override_visibility' => ' Dadurch werden alle Fotos sichtbar, die die Bedingungen des Tag-Albums erfüllen.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'Falls deaktiviert, können sich neue Benutzer nicht selbst registrieren.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Langsamer: „league“ führt eine vollständige Abtastung durch und nutzt CIEDE2000 (Delta E) zur Farbabstandsberechnung.
Schneller: „farzai“ nutzt Stichproben und K-Means-Abstände.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Nutzt den Fototitel, um im Zielalbum nach Duplikaten zu suchen.',
- 'sync_delete_missing_photos' => 'Diese Option ist nur verfügbar, wenn „dry_run“ deaktiviert ist.',
- 'sync_delete_missing_albums' => 'Diese Option ist nur verfügbar, wenn „dry_run“ deaktiviert ist.',
- 'sync_dry_run' => ' Falls deaktiviert, erlaubt dies dem Sync-Befehl, Alben oder Fotos aus Ihrer Lychee-Instanz zu löschen.',
- 'user_invitation_ttl' => ' Einladungslinks können nicht widerrufen werden.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'Alle Alben innerhalb dieses Albums werden in den Flow aufgenommen (für das Hauptverzeichnis leer lassen).',
- 'flow_min_max_order' => 'Bei Auswahl von „older_younger“ wird das ältere Datum zuerst angezeigt, andernfalls das neuere.',
- 'flow_max_items' => 'Ein niedrigerer Wert erfordert mehr Anfragen, ein höherer Wert verbraucht mehr Arbeitsspeicher.',
- 'flow_strategy' => 'Legt fest, wie der Flow generiert wird. „auto“ schließt alle Alben ein, „opt-in“ nur Alben mit aktiviertem Flow.',
- 'flow_include_sub_albums' => 'Alle untergeordneten Alben werden in den Flow aufgenommen. Falls deaktiviert, werden nur direkte Unteralben berücksichtigt.',
- 'flow_include_photos_from_children' => 'Falls ein Album keine Fotos, aber Unteralben besitzt, werden deren Fotos angezeigt.
Dies wird NICHT empfohlen. Mögliche Folgen sind Speicherüberlastung, langsame Ladezeiten oder Abstürze.',
- 'flow_open_album_on_click' => 'Navigiert beim Klicken zum Album. Falls deaktiviert, werden die Fotos direkt angezeigt.',
- 'flow_display_open_album_button' => 'In der Karte wird eine Schaltfläche zum Öffnen des Albums angezeigt.',
- 'flow_highlight_first_picture' => 'Als Hauptbild wird das erste Bild im Album anstelle des Covers verwendet.',
- 'flow_min_max_enabled' => 'Zeigt den Zeitraum (ältestes/neuestes Datum) der Fotos im Flow an.',
- 'flow_display_statistics' => 'Die Anzahl der Aufrufe, geteilten Inhalte und Downloads des Albums wird angezeigt.',
- 'flow_compact_mode_enabled' => 'Kürzt die Beschreibung auf 3 Zeilen und verbirgt Zusatzinfos wie die Anzahl der Fotos.
Fügt zudem eine „Mehr anzeigen“-Schaltfläche zum Ausklappen hinzu.',
- 'flow_image_header_enabled' => 'Der obere Bereich der Karte hebt das Albumcover hervor.',
- 'flow_image_header_cover' => 'Der Bild-Header kann füllend („cover“) oder eingepasst („fit“) angezeigt werden. „cover“ beschneidet das Bild, um den gesamten Header auszufüllen, während „fit“ das Bild ohne Beschnitt skaliert, bis es in den Header passt.',
- 'flow_image_header_height' => 'Höhe des Bild-Headers in rem.',
- 'flow_carousel_enabled' => 'Zeigt eine Vorschau der Bilder in einem Karussell unter dem Bild-Header an. Dies gilt nur, wenn der Bild-Header aktiviert ist.',
- 'flow_carousel_height' => 'Höhe des Bild-Karussells in rem.',
- 'date_format_flow_published' => 'Siehe datetime.format.php',
- 'date_format_flow_min_max' => 'Siehe datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Fotos aus als sensibel markierten Alben werden im Flow weichgezeichnet. Benutzer können die Weichzeichnung durch Klicken auf das Album aufheben.',
- 'hide_nsfw_in_flow' => 'Als sensibel markierte Alben werden im Flow nicht angezeigt.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'Wenn aktiviert, wird die Header-Leiste transparent dargestellt und das Header-Bild ist dahinter sichtbar.',
- 'gallery_header_bar_gradient' => 'Wenn aktiviert, erhält die Header-Leiste einen Verlaufshintergrund zur besseren Lesbarkeit des Textes; andernfalls wird sie transparent dargestellt.',
- 'import_via_url_forbidden_localhost' => ' Das Deaktivieren dieser Option setzt Ihren Localhost der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
- 'import_via_url_forbidden_local_ip' => ' Das Deaktivieren dieser Option setzt Ihr internes Netzwerk der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
- 'import_via_url_require_https' => ' Das Deaktivieren dieser Option verringert die Sicherheit der Import-via-URL-Funktion.',
- 'import_via_url_forbidden_ports' => ' Das Deaktivieren dieser Option erlaubt dem URL-Import die Nutzung beliebiger Ports, was zu Server-Side Request Forgery (SSRF) führen kann.',
- 'owner_id' => ' Das Ändern dieses Wertes ermöglicht es einem anderen Administrator, die Kontrolle über den Server zu übernehmen.',
- 'details_links_enabled' => 'Fügt ein kleines Modul hinzu, um das einfache Kopieren der Foto-URLs im Detail-Panel zu ermöglichen.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'Siehe datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'Siehe datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'Siehe datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'Siehe datetime.format.php',
- 'photo_thumb_tags_enabled' => 'Falls die Beschreibung auf dem Foto-Vorschaubild aktiviert ist, werden die Tags nicht angezeigt.',
- 'hide_nsfw_in_tag_albums' => 'Bilder in sensiblen Alben werden in Tag-Alben nicht angezeigt.',
- 'hide_nsfw_in_tag_listing' => 'Bilder in sensiblen Alben werden in der Foto-Auflistung eines Tags nicht angezeigt.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Hochgeladene Fotos werden mit dem konfigurierten Wasserzeichen versehen.',
- 'watermark_photo_id' => 'Foto-ID (24-stellige Zeichenfolge) des Bildes, das als Wasserzeichen dient. Wir empfehlen eine PNG-Datei mit Transparenz.',
- 'watermark_random_path' => 'Falls deaktiviert, entspricht der Pfad des Wasserzeichens dem aktuellen Pfad, ergänzt um ein Suffix.',
- 'watermark_public' => 'Anonyme Benutzer sehen die mit Wasserzeichen versehenen Fotos.',
- 'watermark_logged_in_users_enabled' => 'Angemeldete Benutzer sehen die mit Wasserzeichen versehenen Fotos.',
- 'watermark_original' => '',
- 'watermark_size' => 'Gibt an, welcher Anteil des Bildes vom Wasserzeichen bedeckt wird.',
- 'watermark_opacity' => '1 - fast unsichtbar, 100 - vollständig deckend. Wir empfehlen, den Wert 25 nicht zu unterschreiten.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'Bei Verwendung von „relative“ wird das Wasserzeichen proportional zur Bildgröße verschoben.
Bei „absolute“ erfolgt die Verschiebung um eine feste Pixelanzahl.',
- 'watermark_shift_x' => 'Horizontaler Versatz des Wasserzeichens in Pixeln oder proportionalen Einheiten.',
- 'watermark_shift_x_direction' => 'Richtung des horizontalen Versatzes: nach links oder nach rechts?',
- 'watermark_shift_y' => 'Vertikaler Versatz des Wasserzeichens in Pixeln oder proportionalen Einheiten.',
- 'watermark_shift_y_direction' => 'Richtung des vertikalen Versatzes: nach oben oder nach unten?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'Ermöglicht das Umbenennen von Dateien basierend auf definierten Regeln.',
- 'renamer_enforced' => 'Vom Besitzer der Lychee-Instanz definierte Regeln werden ungeachtet der Benutzereinstellungen angewendet.',
- 'renamer_enforced_before' => 'Vom Besitzer der Lychee-Instanz definierte Regeln werden vor den Regeln des Benutzers angewendet.',
- 'renamer_enforced_after' => 'Vom Besitzer der Lychee-Instanz definierte Regeln werden nach den Regeln des Benutzers angewendet.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Die ZIP-Datei verbleibt auf dem Server, sofern sie nicht fehlerfrei entpackt wurde (danach wird sie entfernt).',
- 'webshop_enabled' => 'Ermöglicht es, Alben und Fotos als käufliche Artikel festzulegen.',
- 'webshop_currency' => 'Die Währung, in der Preise angezeigt und berechnet werden. Muss ein gültiger ISO-4217-Währungscode sein.',
- 'webshop_default_description' => 'Diese Beschreibung wird verwendet, wenn für ein Album oder Foto keine eigene Beschreibung hinterlegt ist.',
- 'webshop_allow_guest_checkout' => 'Erlaubt Kunden den Kaufabschluss, ohne ein Benutzerkonto erstellen zu müssen.',
- 'webshop_terms_url' => 'Optionale URL zur Seite mit den Allgemeinen Geschäftsbedingungen (AGB).',
- 'webshop_privacy_url' => 'Optionale URL zur Seite mit der Datenschutzerklärung.',
- 'webshop_default_price_cents' => 'Der Standardpreis (in Cent) für neue käufliche Artikel.',
- 'webshop_default_license' => 'Der Standard-Lizenztyp für neue käufliche Artikel.',
- 'webshop_default_size' => 'Die Standard-Größenvariante für neue käufliche Artikel.',
- 'enable_untagged' => 'Legt fest, ob ein Smart-Album mit allen Fotos ohne Tags in der Galerie angezeigt wird.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'Sämtliche Zahlungsabwicklungen werden übersprungen. Bestellungen werden als OFFLINE markiert, anstatt den regulären Zahlungsfluss zu durchlaufen.',
- 'deduplicate_pinned_albums' => 'Hervorgehobene Alben erscheinen nur einmal auf der Hauptseite der Galerie.',
- 'desktop_dock_full_transparency_enabled' => 'In der Fotoansicht sind die Aktionen am oberen Bildrand leicht transparent. Diese Einstellung macht sie vollständig transparent; sie werden erst beim Darüberfahren mit der Maus sichtbar.',
- 'mobile_dock_full_transparency_enabled' => ' Dies beeinträchtigt die Bedienbarkeit auf Mobilgeräten. In der Fotoansicht sind die Aktionen am oberen Bildrand leicht transparent. Diese Einstellung macht sie vollständig transparent; sie erscheinen dann nur beim Tippen.',
- 'enable_smart_album_per_owner' => 'Diese Einstellung gilt nur für angemeldete Benutzer. Damit sie wirksam wird, muss die Option „Sichtbarkeit von Smart-Alben überschreibt Sichtbarkeit von Fotos“ deaktiviert sein.',
- 'album_layout' => 'Wahl zwischen Raster- (Vorschaukarten) oder Listenansicht (detaillierte Zeilen) für Alben. Benutzer können clientseitig zwischen den Ansichten wechseln, die Auswahl bleibt jedoch nach einem Neuladen der Seite nicht gespeichert.',
- 'albums_per_page' => 'Anzahl der Unteralben, die pro Seite in seitenbasierten Albenansichten angezeigt werden. Ein höherer Wert zeigt mehr Alben an, kann aber die Ladezeiten und den Ressourcenverbrauch erhöhen.',
- 'albums_pagination_ui_mode' => 'Steuert die Anzeige der Seitenaufteilung für Alben: unendliches Scrollen (automatisches Laden beim Scrollen), „Mehr laden“-Schaltfläche (manuelles Laden) oder Seitennavigation (Seitenzahlen mit Vor/Zurück).',
- 'albums_infinite_scroll_threshold' => 'Abstand zum Seitenende (in Viewport-Höhen), bei dem das Laden der nächsten Alben-Seite ausgelöst wird. Ein höherer Wert lädt früher nach, kann aber unnötige Daten laden, falls nicht so weit gescrollt wird.',
- 'photos_per_page' => 'Anzahl der Fotos, die pro Seite in seitenbasierten Albenansichten angezeigt werden. Ein höherer Wert zeigt mehr Fotos an, kann aber Ladezeiten und Ressourcenverbrauch erhöhen.',
- 'photos_pagination_ui_mode' => 'Steuert die Anzeige der Seitenaufteilung für Fotos: unendliches Scrollen (automatisches Laden beim Scrollen), „Mehr laden“-Schaltfläche (manuelles Laden) oder Seitennavigation (Seitenzahlen mit Vor/Zurück).',
- 'photos_infinite_scroll_threshold' => 'Abstand zum Seitenende (in Viewport-Höhen), bei dem das Laden der nächsten Foto-Seite ausgelöst wird. Ein höherer Wert lädt früher nach, kann aber unnötige Daten laden, falls nicht so weit gescrollt wird.',
- 'enable_propagate_unlock_option' => 'Beim Freischalten eines Albums mit Passwort werden auch alle anderen Alben mit demselben Passwort freigeschaltet.
Dies kann zu Datenschutzproblemen führen, wenn verschiedene Benutzer dasselbe Passwort für Alben teilen.',
- 'rating_enabled' => 'Hauptschalter zum vollständigen Aktivieren oder Deaktivieren der Foto-Bewertungsfunktion.',
- 'rating_public' => 'Ermöglicht allen Benutzern (einschließlich nicht angemeldeter Besucher), Foto-Bewertungen einzusehen.',
- 'rating_show_only_when_user_rated' => 'Bewertungen (eigene oder Durchschnitt) werden erst angezeigt, nachdem der Benutzer eine eigene Bewertung abgegeben hat.',
- 'rating_show_avg_in_details' => 'Zeigt die Durchschnittsbewertung und die Anzahl der Stimmen in der Seitenleiste anstelle der Nutzerbewertung an.',
- 'rating_photo_view_mode' => 'Steuert die Sichtbarkeit des Bewertungs-Overlays: immer sichtbar, beim Darüberfahren mit der Maus oder nie.',
- 'rating_show_avg_in_photo_view' => 'Zeigt die Durchschnittsbewertung in der Vollbildansicht anstelle der Nutzerbewertung an.',
- 'rating_album_view_mode' => 'Steuert die Sichtbarkeit der Bewertung auf Vorschaubildern: immer sichtbar, beim Darüberfahren mit der Maus oder nie.',
- 'rating_show_avg_in_album_view' => 'Zeigt die Durchschnittsbewertung auf Foto-Vorschaubildern in der Albenansicht anstelle der Nutzerbewertung an.',
- 'import_via_url_block_redirect' => ' Das Deaktivieren dieser Option setzt Ihren Localhost der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee wird unter der MIT-Lizenz ohne Gewährleistung bereitgestellt. Das Deaktivieren dieser Option entfernt diesen Hinweis von der Bestellseite.',
- 'webshop_auto_fulfill_enabled' => 'Sobald eine Zahlung abgeschlossen ist, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.',
- 'webshop_manual_fulfill_enabled' => 'Sobald „Als ausgeliefert markieren“ angeklickt wird, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.',
- 'enable_photo_details_always_open' => 'Beim Öffnen der Fotoansicht bleibt die Seitenleiste mit den Fotodetails permanent sichtbar.',
- 'album_enhanced_display_enabled' => 'Aktiviert einen neuen Stil für den Album-Header mit größerem Titel, einer „Galerie öffnen“-Schaltfläche und anpassbarem Titelstil.',
- 'album_header_size' => 'Konfiguration der Größe des Header-Bildes in der Albenansicht.',
- 'album_header_landing_title_enabled' => 'Zeigt den Landingpage-Titel am unteren Rand des Album-Headers an. Der Titel kann in den Landingpage-Einstellungen konfiguriert werden.',
- ],
- 'category_name' => [
- 'config' => 'Grundeinstellungen',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Galerie',
- 'Mod Welcome' => 'Landingpage',
- 'Footer' => 'Fußzeile',
- 'Smart Albums' => 'Smart- & hervorgehobene Alben',
- 'Image Processing' => 'Bildverarbeitung',
- 'Mod Search' => 'Suche',
- 'Mod Timeline' => 'Zeitstrahl',
- 'Mod Frame' => 'Rahmen',
- 'Mod Map' => 'Karte/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensible Inhalte',
- 'Mod Back Button' => 'Zurück zur Startseite',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Datenschutz',
- 'Users Management' => 'Benutzerverwaltung',
- 'Admin' => 'Administrator',
- 'access_permissions' => 'Berechtigungen',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gesten',
- 'Mod Watermarker' => 'Wasserzeichen',
- 'Mod Renamer' => 'Umbenennungsregeln',
- 'Mod Rating' => 'Sternebewertung',
- 'Mod Webshop' => 'Webshop',
- ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Schalten Sie den vollen Funktionsumfang von Lychee mit der Supporter Edition frei. Erhalten Sie exklusive Funktionen und unterstützen Sie die Weiterentwicklung von Lychee. Werden Sie Sponsor von LycheeOrg auf GitHub und erhalten Sie Ihren Lizenzschlüssel hier.',
- 'Gallery' => '',
- 'Mod Welcome' => 'Dieses Modul aktiviert eine Landingpage. Statt direkt in der Galerieansicht zu landen, verleiht sie dem Eingang Ihrer Website etwas mehr Glanz. Geben Sie die URL des anzuzeigenden Bildes an und legen Sie den Titel fest.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'Dieses Modul ermöglicht die Anzeige von Alben in einer Feed-ähnlichen Weise. Es werden nur Alben mit Fotos angezeigt; Alben, die nur Unteralben enthalten, sind im Flow nicht enthalten. Da es sich um eine reine Anzeige handelt, erlaubt die Flow-Seite keine Aktionen wie Hochladen, Verschieben usw.',
- 'gestures' => 'Konfigurieren Sie die Gestensteuerung für die Foto-Navigation.',
- 'Mod Watermarker' => 'Dieses Modul ermöglicht Wasserzeichen auf Fotos. Das Wasserzeichen wird durch Angabe der photoId
des gewünschten Bildes konfiguriert. Diese ID ist die letzte 24-stellige Kennung in der URL, wenn Sie ein Bild öffnen. Für beste Ergebnisse empfehlen wir ein PNG-Bild mit transparentem Hintergrund.
Die Aktivierung dieses Moduls wird den Speicherplatzbedarf auf Ihrem Server verdoppeln.',
- 'Mod Renamer' => 'Dieses Modul ermöglicht die automatische Anwendung benutzerdefinierter Umbenennungsregeln beim Upload oder beim Import via Sync.
Die Umbenennung wird wahrscheinlich die schnelle Duplikaterkennung bei Fotos/Alben verhindern, die via Sync umbenannt wurden.',
- 'Mod Rating' => 'Dieses Modul ermöglicht die Bewertung von Fotos. Benutzer können pro Foto eine Bewertung von 1 bis 5 Sternen vergeben. Die Durchschnittsbewertung wird an den konfigurierten Stellen angezeigt.',
- 'Mod Webshop' => 'Dieses Modul ermöglicht die Verwaltung und den Verkauf Ihrer Bilder.
Lychee wird unter der MIT-Lizenz entwickelt. Dies bedeutet, dass LycheeOrg weder verantwortlich noch haftbar für Probleme oder Verluste ist, die aus der Nutzung des Webshop-Moduls und/oder der Zahlungsfunktionen entstehen. Es ist wichtig, dass Sie sicherstellen, dass Ihr Setup korrekt und sicher funktioniert, bevor Sie es in einer Produktionsumgebung einsetzen.',
- ],
+ 'documentation' => [
+ 'version' => 'Aktuelle Version von Lychee',
+ 'check_for_updates' => 'Automatisch auf Aktualisierungen prüfen',
+ 'sorting_photos_col' => 'Standardspalte für die Fotosortierung',
+ 'sorting_photos_order' => 'Standardsortierung für Fotos',
+ 'sorting_albums_col' => 'Standardspalte für die Albensortierung',
+ 'sorting_albums_order' => 'Standardsortierung für Alben',
+ 'photos_star_visibility' => 'Sichtbarkeit und Vergabe der Favoritenmarkierung',
+ 'imagick' => 'Imagick verwenden',
+ 'dropbox_key' => 'Dropbox API-Schlüssel',
+ 'skip_duplicates' => 'Duplikate beim Import überspringen',
+ 'lang' => 'Von Lychee verwendete Sprache',
+ 'default_license' => 'Standardlizenz für Alben',
+ 'small_max_width' => 'Maximale Breite für kleine Vorschaubilder (Albumansicht)',
+ 'small_max_height' => 'Maximale Höhe für kleine Vorschaubilder (Albumansicht)',
+ 'medium_max_width' => 'Maximale Breite für mittlere Bilder (Fotoansicht)',
+ 'medium_max_height' => 'Maximale Höhe für mittlere Bilder (Fotoansicht)',
+ 'grants_full_photo_access' => 'Standardmäßig Zugriff auf die volle Auflösung ermöglichen',
+ 'delete_imported' => 'Beim Import vom Server die Originale löschen',
+ 'mod_frame_enabled' => 'Rahmen-Modul aktivieren',
+ 'mod_frame_refresh' => 'Aktualisierungsintervall des Rahmens',
+ 'image_overlay_type' => 'Standardinformation im Bild-Overlay',
+ 'compression_quality' => 'Kompressionsrate beim Erstellen von Vorschaubildern',
+ 'landing_page_enable' => 'Landingpage anzeigen',
+ 'site_owner' => 'Website-Inhaber',
+ 'landing_title' => 'Titel auf der Landingpage',
+ 'landing_subtitle' => 'Untertitel auf der Landingpage',
+ 'sm_facebook_url' => 'URL des Facebook-Profils',
+ 'sm_flickr_url' => 'URL des Flickr-Profils',
+ 'sm_twitter_url' => 'URL des X-Profils (ehemals Twitter)',
+ 'sm_instagram_url' => 'URL des Instagram-Profils',
+ 'sm_youtube_url' => 'URL des YouTube-Profils',
+ 'thumb_2x' => 'Doppelte Größe für quadratische Vorschaubilder aktivieren',
+ 'small_2x' => 'Doppelte Größe für kleine Vorschaubilder aktivieren',
+ 'medium_2x' => 'Doppelte Größe für mittlere Bilder aktivieren',
+ 'site_title' => 'Website-Titel',
+ 'footer_show_copyright' => 'Copyright-Hinweis in der Fußzeile anzeigen',
+ 'site_copyright_begin' => 'Anfangsjahr des Copyrights',
+ 'site_copyright_end' => 'Endjahr des Copyrights',
+ 'allow_online_git_pull' => 'git pull über das Web-Interface erlauben',
+ 'footer_additional_text' => 'Zusätzlicher Text in der Fußzeile',
+ 'footer_show_social_media' => 'Social-Media-Links in der Fußzeile anzeigen',
+ 'search_public' => 'Anonymen Benutzern die Verwendung der Suche erlauben',
+ 'hide_version_number' => 'Aktuelle Versionsnummer ausblenden',
+ 'recent_age' => 'Maximales Alter für „Zuletzt hinzugefügt“ (in Tagen)',
+ 'grants_download' => 'Download standardmäßig erlauben',
+ 'photos_wraparound' => 'Nach dem letzten Bild eines Albums zum Anfang zurückkehren',
+ 'raw_formats' => 'Zusätzliche erlaubte Formate (keine weitere Verarbeitung)',
+ 'raw_download_enabled' => 'Benutzern den Download der Original-RAW-Datei erlauben',
+ 'map_display' => 'Karte basierend auf GPS-Koordinaten anzeigen',
+ 'zip64' => 'Zip 64-Bit anstelle von 32-Bit verwenden',
+ 'map_display_public' => 'Anonymen Benutzern den Zugriff auf die Karte erlauben',
+ 'map_provider' => 'Kartenanbieter festlegen',
+ 'map_include_subalbums' => 'Bilder aus Unteralben auf der Karte einschließen',
+ 'update_check_every_days' => 'Intervall für Lychee-Update-Prüfungen (in Tagen)',
+ 'has_exiftool' => 'Verfügbarkeit der exiftool-Verarbeitung',
+ 'share_button_visible' => 'Sichtbarkeit der Teilen-Schaltfläche im Header ',
+ 'has_ffmpeg' => 'Verfügbarkeit der ffmpeg-Verarbeitung',
+ 'import_via_symlink' => 'Symbolische Verknüpfungen statt Kopien beim Server-Import verwenden',
+ 'apply_composer_update' => 'composer-Update bei Lychee-Aktualisierung über Web-Interface ausführen',
+ 'location_decoding' => 'GPS-Standortdekodierung verwenden',
+ 'location_decoding_timeout' => 'Zeitüberschreitung (Timeout) für GPS-Dekodierungsanfragen',
+ 'location_show' => 'Aus GPS-Koordinaten ermittelten Standort anzeigen',
+ 'location_show_public' => 'Anonymen Benutzern Zugriff auf den ermittelten Standort erlauben',
+ 'gps_coordinate_display' => 'GPS-Koordinaten anzeigen',
+ 'gps_coordinate_display_public' => 'Anonymen Benutzern den Zugriff auf GPS-Koordinaten erlauben',
+ 'rss_enable' => 'RSS-Feed aktivieren',
+ 'rss_recent_days' => 'Die letzten X Tage im RSS-Feed anzeigen',
+ 'rss_max_items' => 'Maximale Anzahl an Einträgen im RSS-Feed',
+ 'prefer_available_xmp_metadata' => 'XMP-Sidecar-Dateien gegenüber EXIF-Metadaten bevorzugen',
+ 'editor_enabled' => 'Manuelles Drehen von Bildern aktivieren',
+ 'lossless_optimization' => 'Zusätzliche verlustfreie Kompression auf Bilder anwenden',
+ 'local_takestamp_video_formats' => 'Lokalen Zeitstempel für folgende Videoformate verwenden',
+ 'log_max_num_line' => 'Anzahl der neuesten Log-Zeilen, die angezeigt werden sollen',
+ 'unlock_password_photos_with_url_param' => 'Passwort-Übergabe via URL-Parameter zum Freischalten von Alben erlauben',
+ 'nsfw_visible' => 'Sensible Alben standardmäßig anzeigen',
+ 'nsfw_blur' => 'Sensible Alben weichzeichnen',
+ 'nsfw_warning' => 'Warnung für sensible Alben aktivieren',
+ 'nsfw_warning_admin' => 'Warnung für sensible Alben auch im angemeldeten Zustand aktivieren',
+ 'nsfw_banner_override' => 'Benutzerdefinierter Warntext anstelle des Standards',
+ 'map_display_direction' => 'Aufnahmerichtung des Bildes auf der Karte anzeigen (falls verfügbar)',
+ 'album_subtitle_type' => 'Untertitel für Alben in der Albenansicht festlegen',
+ 'upload_processing_limit' => 'Maximale Anzahl gleichzeitig verarbeiteter Bilder beim Upload',
+ 'new_photos_notification' => 'Benachrichtigungen bei neuen Fotos aktivieren',
+ 'zip_deflate_level' => 'ZIP-Kompressionsstufe',
+ 'default_album_protection' => 'Standardschutz für neu erstellte Alben',
+ 'allow_username_change' => 'Benutzern die Änderung des Benutzernamens erlauben',
+ 'album_decoration' => 'Hinweise auf dem Albumcover anzeigen (Unteralbum- und/oder Fotoanzahl)',
+ 'album_decoration_orientation' => 'Ausrichtung der Album-Hinweise (horizontal oder vertikal)',
+ 'auto_fix_orientation' => 'Importierte Bilder automatisch drehen',
+ 'random_album_id' => 'Album-ID für die Zufallsfunktion',
+ 'use_last_modified_date_when_no_exif_date' => 'Änderungsdatum der Datei verwenden, wenn EXIF-Daten kein Erstelldatum enthalten',
+ 'ffmpeg_path' => 'Pfad zur ffmpeg-Binärdatei',
+ 'ffprobe_path' => 'Pfad zur ffprobe-Binärdatei',
+ 'layout' => 'Layout für Bilder',
+ 'date_format_photo_thumb' => 'Datumsformat für Foto-Vorschaubilder',
+ 'date_format_photo_overlay' => 'Datumsformat für das Bild-Overlay',
+ 'date_format_sidebar_uploaded' => 'Format des Upload-Datums in der Seitenleiste',
+ 'date_format_sidebar_taken_at' => 'Format des Aufnahmedatums in der Seitenleiste',
+ 'date_format_hero_min_max' => 'Datumsformat für den Album-Hero',
+ 'date_format_hero_created_at' => 'Format des Erstellungsdatums in den Albumdetails',
+ 'date_format_album_thumb' => 'Datumsformat für Album-Vorschaubilder',
+ 'upload_chunk_size' => 'Größe der Upload-Segmente (Chunks) in Bytes: 0 für automatisch',
+ 'nsfw_banner_blur_backdrop' => 'Hintergrund weichzeichnen statt dunkelrotem Hintergrund',
+ 'search_pagination_limit' => 'Anzahl der Suchergebnisse pro Seite',
+ 'search_minimum_length_required' => 'Mindestanzahl an Zeichen für die Suche (Standard: 4)',
+ 'photo_layout_justified_row_height' => 'Zeilenhöhe im bündigen Layout',
+ 'photo_layout_masonry_column_width' => 'Minimale Spaltenbreite im Masonry-Layout',
+ 'photo_layout_grid_column_width' => 'Minimale Spaltenbreite im Raster-Layout (Grid)',
+ 'photo_layout_square_column_width' => 'Minimale Spaltenbreite im quadratischen Raster-Layout',
+ 'photo_layout_gap' => 'Abstand zwischen den Spalten in den Layouts Quadratisch/Masonry/Raster',
+ 'display_thumb_album_overlay' => 'Titel und Metadaten auf Album-Vorschaubildern anzeigen',
+ 'display_thumb_photo_overlay' => 'Titel und Metadaten auf Foto-Vorschaubildern anzeigen',
+ 'default_album_thumb_aspect_ratio' => 'Standard-Seitenverhältnis für Album-Vorschaubilder',
+ 'use_album_compact_header' => 'Header-Bild in Alben deaktivieren',
+ 'back_button_enabled' => 'Zurück-Schaltfläche in der Galerie aktivieren',
+ 'back_button_text' => 'Beschriftung der Zurück-Schaltfläche (gegenüber dem Login platziert)',
+ 'back_button_url' => 'Link der Zurück-Schaltfläche',
+ 'SA_random_thumbs' => 'Zufällige Vorschaubilder statt Favoriten/Sortierreihenfolge verwenden',
+ 'login_required' => 'Anmeldung für den Zugriff auf die Galerie erzwingen',
+ 'enable_unsorted' => 'Smart-Album „Unsortiert“ aktivieren',
+ 'enable_highlighted' => 'Smart-Album „Favoriten“ aktivieren',
+ 'enable_recent' => 'Smart-Album „Zuletzt hinzugefügt“ aktivieren',
+ 'enable_on_this_day' => 'Smart-Album „An diesem Tag“ aktivieren',
+ 'enable_unrated' => 'Smart-Album „Unbewertet“ aktivieren',
+ 'enable_1_star' => 'Smart-Album „1 Stern“ aktivieren',
+ 'enable_2_stars' => 'Smart-Album „2 Sterne“ aktivieren',
+ 'enable_3_stars' => 'Smart-Album „3+ Sterne“ aktivieren',
+ 'enable_4_stars' => 'Smart-Album „4+ Sterne“ aktivieren',
+ 'enable_5_stars' => 'Smart-Album „5 Sterne“ aktivieren',
+ 'enable_best_pictures' => 'Smart-Album „Beste Bilder“ aktivieren',
+ 'best_pictures_count' => 'Anzahl der Fotos im Album „Beste Bilder“',
+ 'enable_my_rated_pictures' => 'Smart-Album „Meine bewerteten Bilder“ aktivieren',
+ 'enable_my_best_pictures' => 'Smart-Album „Meine besten Bilder“ aktivieren',
+ 'my_best_pictures_count' => 'Anzahl der Fotos im Album „Meine besten Bilder“',
+ 'oauth_create_user_on_first_attempt' => 'Benutzererstellung erlauben, wenn keine OAuth-ID existiert',
+ 'grant_new_user_upload_rights' => 'Neu erstellten Benutzern das Hochladen von Inhalten erlauben',
+ 'grant_new_user_modification_rights' => 'Neu erstellten Benutzern das Bearbeiten des eigenen Profils erlauben',
+ 'login_required_root_only' => 'Anmeldung nur für die Startseite erzwingen (Direktlinks bleiben zugänglich)',
+ 'exiftool_path' => 'Pfad zur exiftool-Binärdatei',
+ 'thumb_min_max_order' => 'Anzeigereihenfolge des Datums auf Vorschaubildern',
+ 'header_min_max_order' => 'Anzeigereihenfolge des Datums im Header',
+ 'autoplay_enabled' => 'Autoplay-Attribut für Videos aktivieren',
+ 'dark_mode_enabled' => 'Dunkelmodus (Dark Mode) verwenden',
+ 'show_keybinding_help_popup' => 'Hilfe-Popup für Tastenkombinationen beim Login anzeigen',
+ 'show_keybinding_help_button' => 'Schaltfläche für Tastenkombinationen im Header anzeigen',
+ 'email' => 'E-Mail-Adresse für die Lizenzanfrage',
+ 'license_key' => 'Lychee-Lizenzschlüssel',
+ 'disable_se_call_for_actions' => 'Lychee SE-Informationen deaktivieren',
+ 'enable_se_preview' => 'Vorschau für Lychee SE-Funktionen aktivieren',
+ 'slideshow_timeout' => 'Anzeigedauer der Bilder in der Diashow',
+ 'keep_original_untouched' => 'Originalbild unverändert lassen',
+ 'default_user_quota' => 'Standard-Speicherkontingent für neue Benutzer',
+ 'low_quality_image_placeholder' => 'Platzhalterbilder mit geringer Qualität aktivieren',
+ 'timeline_photos_enabled' => 'Zeitstrahl für Fotos aktivieren',
+ 'timeline_photos_public' => 'Anonymen Benutzern den Zugriff auf den Foto-Zeitstrahl erlauben',
+ 'timeline_photos_granularity' => 'Granularität des Foto-Zeitstrahls',
+ 'timeline_photos_order' => 'Fotos im Zeitstrahl sortieren nach',
+ 'timeline_photos_layout' => 'Foto-Layout für die Zeitstrahl-Seite',
+ 'timeline_photos_pagination_limit' => 'Anzahl der Fotos pro Seite im Zeitstrahl',
+ 'timeline_albums_enabled' => 'Zeitstrahl für Alben aktivieren',
+ 'timeline_albums_public' => 'Alben-Zeitstrahl für anonyme Benutzer anzeigen',
+ 'timeline_albums_granularity' => 'Granularität des Alben-Zeitstrahls',
+ 'timeline_left_border_enabled' => 'Linke Begrenzungslinie in Zeitstrahlen anzeigen',
+ 'timeline_photo_date_format_year' => 'Datumsformat für Fotos nach Jahren',
+ 'timeline_photo_date_format_month' => 'Datumsformat für Fotos nach Monaten',
+ 'timeline_photo_date_format_day' => 'Datumsformat für Fotos nach Tagen',
+ 'timeline_photo_date_format_hour' => 'Datumsformat für Fotos nach Stunden',
+ 'timeline_album_date_format_year' => 'Datumsformat für Alben nach Jahren',
+ 'timeline_album_date_format_month' => 'Datumsformat für Alben nach Monaten',
+ 'timeline_album_date_format_day' => 'Datumsformat für Alben nach Tagen',
+ 'hide_nsfw_in_smart_albums' => 'Sensible Fotos in Smart-Alben ausblenden',
+ 'hide_nsfw_in_frame' => 'Sensible Fotos im Rahmen ausblenden',
+ 'hide_nsfw_in_map' => 'Sensible Fotos auf der Karte ausblenden',
+ 'hide_nsfw_in_search' => 'Sensible Fotos in der Suche ausblenden',
+ 'search_photos_layout' => 'Foto-Layout für die Suchseite',
+ 'hide_nsfw_in_rss' => 'Sensible Fotos im RSS-Feed ausblenden',
+ 'hide_nsfw_in_timeline' => 'Sensible Fotos im Zeitstrahl ausblenden',
+ 'number_albums_per_row_mobile' => 'Anzahl der Alben pro Zeile in der mobilen Ansicht',
+ 'cache_enabled' => 'Caching von Anfragen aktivieren',
+ 'cache_event_logging' => 'Protokollierung von Cache-Ereignissen aktivieren',
+ 'cache_ttl' => 'Gültigkeitsdauer des Caches (Sekunden)',
+ 'low_number_of_shoots_per_day' => 'Schwellenwert für niedrige Anzahl an Aufnahmen pro Tag',
+ 'medium_number_of_shoots_per_day' => 'Schwellenwert für mittlere Anzahl an Aufnahmen pro Tag',
+ 'high_number_of_shoots_per_day' => 'Schwellenwert für hohe Anzahl an Aufnahmen pro Tag',
+ 'maintenance_processing_limit' => 'Anzahl auszuführender Wartungsvorgänge',
+ 'disable_recursive_permission_check' => 'Rekursive Berechtigungsprüfung deaktivieren',
+ 'exif_disabled_for_all' => 'Detail- und Overlay-Panels im Frontend deaktivieren',
+ 'display_exif_data' => 'EXIF-Daten anzeigen',
+ 'file_name_hidden' => 'Fototitel für anonyme Benutzer verbergen',
+ 'client_side_favourite_enabled' => 'Besuchern das Markieren von Favoriten erlauben',
+ 'default_old_settings' => 'Einstellungen standardmäßig als Texteingabe anzeigen',
+ 'default_expert_settings' => 'Experten-Einstellungen standardmäßig aktivieren',
+ 'default_all_settings' => 'Alle Einstellungen auf einer Seite anzeigen',
+ 'disable_thumb_download' => 'Download von quadratischen Vorschaubildern deaktivieren',
+ 'disable_thumb2x_download' => 'Download von quadratischen HiDPI-Vorschaubildern deaktivieren',
+ 'disable_small_download' => 'Download von Vorschaubildern deaktivieren',
+ 'disable_small2x_download' => 'Download von HiDPI-Vorschaubildern deaktivieren',
+ 'disable_medium_download' => 'Download von mittleren Bildern deaktivieren',
+ 'disable_medium2x_download' => 'Download von mittleren HiDPI-Bildern deaktivieren',
+ 'landing_background_landscape_mode' => 'Modus für Hintergrund im Querformat',
+ 'landing_background_portrait_mode' => 'Modus für Hintergrund im Hochformat',
+ 'landing_background_landscape' => 'Hintergrund im Querformat (URL, Foto-ID oder Album-ID)',
+ 'landing_background_portrait' => 'Hintergrund im Hochformat (URL, Foto-ID oder Album-ID)',
+ 'metrics_enabled' => 'Statistiken für Fotos und Alben aktivieren',
+ 'metrics_logged_in_users_enabed' => 'Statistiken für angemeldete Benutzer aktivieren',
+ 'metrics_access' => 'Zugriffsebene für Album- und Fotostatistiken',
+ 'live_metrics_enabled' => 'Echtzeit-Statistiken aktivieren',
+ 'live_metrics_access' => 'Zugriffsebene für Echtzeit-Statistiken',
+ 'live_metrics_max_time' => 'Maximales Alter für Echtzeit-Statistiken (Tage)',
+ 'photo_thumb_info' => 'Anzuzeigende Informationen auf Foto-Vorschaubildern',
+ 'temporary_image_link_enabled' => 'Temporäre Bild-Links aktivieren',
+ 'temporary_image_link_when_logged_in' => 'Temporäre Bild-Links für angemeldete Benutzer aktivieren',
+ 'temporary_image_link_when_admin' => 'Temporäre Bild-Links für Administratoren aktivieren',
+ 'temporary_image_link_life_in_seconds' => 'Maximale Gültigkeitsdauer für temporäre Links (Sekunden, Standard: 86400s = 24h)',
+ 'secure_image_link_enabled' => 'Bild-Links zum Schutz verschlüsseln',
+ 'photo_previous_next_size' => 'Größe der Vor-/Zurück-Schaltflächen in der Fotoansicht',
+ 'SA_override_visibility' => 'Sichtbarkeit von Smart-Alben überschreibt Sichtbarkeit von Fotos',
+ 'TA_override_visibility' => 'Sichtbarkeit von Tag-Alben überschreibt Sichtbarkeit von Fotos',
+ 'slideshow_enabled' => 'Diashow-Funktion aktivieren',
+ 'user_registration_enabled' => 'Benutzerregistrierung aktivieren',
+ 'enable_colour_extractions' => 'Die 5 am häufigsten verwendeten Farben aus dem Bild extrahieren',
+ 'colour_extraction_driver' => 'Treiber für die Farbextraktion',
+ 'home_page_default' => 'Standard-Startseite nach der Landingpage',
+ 'skip_duplicates_early' => 'Duplikate beim Import über den Sync-Befehl frühzeitig überspringen',
+ 'sync_delete_missing_photos' => 'Fotos, die nicht im synchronisierten Verzeichnis vorhanden sind, aus dem Zielalbum löschen',
+ 'sync_delete_missing_albums' => 'Alben, die nicht im synchronisierten Verzeichnis vorhanden sind, aus der Struktur löschen',
+ 'sync_dry_run' => 'Destruktive Teile des Sync-Befehls im Testlauf-Modus (Dry-Run) ausführen',
+ 'user_invitation_ttl' => 'Maximale Gültigkeitsdauer für Einladungslinks (Tage)',
+ 'flow_enabled' => 'Flow aktivieren',
+ 'flow_public' => 'Anonymen Benutzern den Zugriff auf den Flow erlauben',
+ 'flow_base' => 'Basis-Album-ID für den Flow',
+ 'flow_min_max_order' => 'Anzeigereihenfolge des Zeitraums (ältestes/neuestes Datum)',
+ 'flow_max_items' => 'Maximale Anzahl an Elementen im Flow',
+ 'flow_strategy' => 'Flow-Strategie',
+ 'flow_include_sub_albums' => 'Unteralben im Flow einschließen',
+ 'flow_include_photos_from_children' => 'Fotos aus untergeordneten Alben einschließen',
+ 'flow_open_album_on_click' => 'Album bei Klick öffnen',
+ 'flow_display_open_album_button' => 'Schaltfläche zum Öffnen des Albums anzeigen',
+ 'flow_highlight_first_picture' => 'Erstes Bild des Albums anstelle des Albumcovers hervorheben',
+ 'flow_min_max_enabled' => 'Zeitraum (ältestes/neuestes Datum) im Flow anzeigen',
+ 'flow_display_statistics' => 'Album-Statistiken im Flow anzeigen',
+ 'flow_compact_mode_enabled' => 'Kompaktmodus für den Flow aktivieren',
+ 'flow_image_header_enabled' => 'Bild-Header im Flow aktivieren',
+ 'flow_image_header_cover' => 'Anzeige der Bild-Header',
+ 'flow_image_header_height' => 'Höhe der Bild-Header',
+ 'flow_carousel_enabled' => 'Bild-Karussell im Flow aktivieren',
+ 'flow_carousel_height' => 'Höhe des Karussells',
+ 'date_format_flow_published' => 'Datumsformat im Flow',
+ 'date_format_flow_min_max' => 'Format für den Zeitraum (ältestes/neuestes Datum)',
+ 'flow_blur_nsfw_enabled' => 'Sensible Alben im Flow weichzeichnen',
+ 'hide_nsfw_in_flow' => 'Sensible Alben im Flow ausblenden',
+ 'gallery_header_enabled' => 'Header-Bild in der Galerieansicht aktivieren',
+ 'gallery_header_logged_in_enabled' => 'Header-Bild in der Galerieansicht auch im angemeldeten Zustand aktivieren',
+ 'gallery_header' => 'URL des Header-Bildes in der Galerieansicht',
+ 'gallery_header_bar_transparent' => 'Header-Leiste transparent darstellen',
+ 'gallery_header_bar_gradient' => 'Verlaufshintergrund zur Header-Leiste hinzufügen',
+ 'import_via_url_forbidden_localhost' => 'Import via URL darf nicht „localhost“ verwenden',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL darf keine lokalen IP-Adressen verwenden',
+ 'import_via_url_require_https' => 'Import via URL muss HTTPS verwenden',
+ 'import_via_url_forbidden_ports' => 'Import via URL muss Port 80 oder 443 verwenden',
+ 'owner_id' => 'Besitzer der Installation',
+ 'details_links_enabled' => 'Bild-Links in den Fotodetails aktivieren',
+ 'details_links_public' => 'Anonymen Benutzern Zugriff auf Bild-Links in den Fotodetails erlauben',
+ 'is_scroll_to_navigate_photos_enabled' => 'Scrollen mit dem Mausrad zur Navigation zwischen Fotos aktivieren',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Vertikale Wischgeste bei Fotos zur Rückkehr zum Album aktivieren',
+ 'timeline_page_enabled' => 'Zeitstrahl-Seite aktivieren',
+ 'timeline_quick_access_date_format_year' => 'Format für Schnellzugriff nach Jahren auf der Zeitstrahl-Seite',
+ 'timeline_quick_access_date_format_month' => 'Format für Schnellzugriff nach Monaten auf der Zeitstrahl-Seite',
+ 'timeline_quick_access_date_format_day' => 'Format für Schnellzugriff nach Tagen auf der Zeitstrahl-Seite',
+ 'timeline_quick_access_date_format_hour' => 'Format für Schnellzugriff nach Stunden auf der Zeitstrahl-Seite',
+ 'photo_thumb_tags_enabled' => 'Tags auf Foto-Vorschaubildern in der Albumansicht anzeigen',
+ 'hide_nsfw_in_tag_albums' => 'Sensible Fotos in Tag-Alben ausblenden',
+ 'hide_nsfw_in_tag_listing' => 'Sensible Fotos in Tag-Listen ausblenden',
+ 'sorting_pinned_albums_col' => 'Standardspalte für die Sortierung hervorgehobener Alben',
+ 'sorting_pinned_albums_order' => 'Standardsortierung für hervorgehobene Alben',
+ 'copyright_text' => 'Copyright-Text (ersetzt den Standard-Copyright-Hinweis)',
+ 'watermark_enabled' => 'Wasserzeichen für Fotos aktivieren',
+ 'watermark_photo_id' => 'Foto-ID des Wasserzeichens',
+ 'watermark_random_path' => 'Zufälligen Pfad für Bilder mit Wasserzeichen verwenden',
+ 'watermark_public' => 'Wasserzeichen auf öffentlichen Fotos anzeigen',
+ 'watermark_logged_in_users_enabled' => 'Wasserzeichen für angemeldete Benutzer anzeigen',
+ 'watermark_original' => 'Wasserzeichen auch auf das Originalbild anwenden',
+ 'watermark_size' => 'Größe des Wasserzeichens (1 bis 100 %)',
+ 'watermark_opacity' => 'Deckkraft des Wasserzeichens (1 bis 100 %)',
+ 'watermark_position' => 'Position des Wasserzeichens auf dem Bild',
+ 'watermark_shift_type' => 'Versatz des Wasserzeichens relativ zur Größe',
+ 'watermark_shift_x' => 'Horizontaler Versatz',
+ 'watermark_shift_x_direction' => 'Richtung des horizontalen Versatzes',
+ 'watermark_shift_y' => 'Vertikaler Versatz',
+ 'watermark_shift_y_direction' => 'Richtung des vertikalen Versatzes',
+ 'watermark_optout_disabled' => 'Opt-out des Wasserzeichens beim Upload deaktivieren',
+ 'renamer_enabled' => 'Umbenennungsregeln aktivieren',
+ 'renamer_enforced' => 'Umbenennungsregeln erzwingen',
+ 'renamer_enforced_before' => 'Regeln vor den Benutzerregeln erzwingen',
+ 'renamer_enforced_after' => 'Regeln nach den Benutzerregeln erzwingen',
+ 'renamer_photo_title_enabled' => 'Umbenennungsregeln für Fototitel beim Import/Upload aktivieren',
+ 'renamer_album_title_enabled' => 'Umbenennungsregeln für Albumtitel bei Erstellung aktivieren',
+ 'extract_zip_on_upload' => 'Hochgeladene ZIP-Dateien entpacken und Inhalt importieren',
+ 'webshop_enabled' => 'Webshop aktivieren',
+ 'webshop_currency' => 'Währung für Käufe',
+ 'webshop_default_description' => 'Standardbeschreibung für käufliche Artikel',
+ 'webshop_allow_guest_checkout' => 'Bestellungen als Gast erlauben',
+ 'webshop_terms_url' => 'URL der Allgemeinen Geschäftsbedingungen (AGB)',
+ 'webshop_privacy_url' => 'URL der Datenschutzerklärung',
+ 'webshop_default_price_cents' => 'Standardpreis in Cent',
+ 'webshop_default_license' => 'Standard-Lizenztyp',
+ 'webshop_default_size' => 'Standard-Größenvariante',
+ 'enable_untagged' => 'Smart-Album „Ohne Tags“ aktivieren',
+ 'photos_pagination_limit' => 'Maximale Anzahl an Fotos pro Seite in Alben',
+ 'webshop_offline' => 'Webshop offline halten',
+ 'deduplicate_pinned_albums' => 'Hervorgehobene Alben deduplizieren',
+ 'desktop_dock_full_transparency_enabled' => 'Vollständige Transparenz für das Dock (Desktop) aktivieren',
+ 'mobile_dock_full_transparency_enabled' => 'Transparenz für das Dock (Mobil) aktivieren',
+ 'enable_smart_album_per_owner' => 'In Smart-Alben nur Bilder des jeweiligen Besitzers anzeigen',
+ 'album_layout' => 'Standard-Layout für die Albenansicht',
+ 'albums_per_page' => 'Anzahl der Unteralben pro Seite',
+ 'albums_pagination_ui_mode' => 'Seitenaufteilung (Alben)',
+ 'albums_infinite_scroll_threshold' => 'Schwellenwert für unendliches Scrollen (Alben)',
+ 'photos_per_page' => 'Anzahl der Fotos pro Seite',
+ 'photos_pagination_ui_mode' => 'Seitenaufteilung (Fotos)',
+ 'photos_infinite_scroll_threshold' => 'Schwellenwert für unendliches Scrollen (Fotos)',
+ 'enable_propagate_unlock_option' => 'Weitergabe der Freischalt-Option aktivieren',
+ 'rating_enabled' => 'Bewertung von Fotos aktivieren',
+ 'rating_public' => 'Bewertungen öffentlich zugänglich machen',
+ 'rating_show_only_when_user_rated' => 'Bewertungen erst nach eigener Stimmabgabe anzeigen',
+ 'rating_show_avg_in_details' => 'Durchschnittsbewertung in den Fotodetails anzeigen',
+ 'rating_photo_view_mode' => 'Bewertungs-Overlay in der Foto-Vollansicht anzeigen',
+ 'rating_show_avg_in_photo_view' => 'Durchschnittsbewertung in der Foto-Vollansicht anzeigen',
+ 'rating_album_view_mode' => 'Bewertung auf Foto-Vorschaubildern in der Albumansicht anzeigen',
+ 'rating_show_avg_in_album_view' => 'Durchschnittsbewertung auf Foto-Vorschaubildern anzeigen',
+ 'import_via_url_block_redirect' => 'Import via URL darf keinen Weiterleitungen folgen',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Haftungsausschluss von LycheeOrg aktivieren',
+ 'webshop_auto_fulfill_enabled' => 'Automatische Auftragsabwicklung aktivieren',
+ 'webshop_manual_fulfill_enabled' => 'Automatische Auftragsabwicklung bei manueller Bestätigung aktivieren',
+ 'enable_photo_details_always_open' => 'Fotodetails permanent anzeigen',
+ 'album_enhanced_display_enabled' => 'Erweiterten Album-Header aktivieren',
+ 'album_header_size' => 'Größe des Album-Headers',
+ 'album_header_landing_title_enabled' => 'Landingpage-Titel im Album-Header anzeigen',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Einstellung durch den Wert „disabled“ deaktivieren.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Beachten Sie, dass für die Anzeige des Rahmens der Zugriff auf das gewählte Album erforderlich ist.
Die Schaltfläche wird nur angezeigt, wenn diese Bedingung erfüllt ist.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Ungeprüftes HTML-Feld (Inhalt wird direkt übernommen).',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'Wenn aktiviert, können Benutzer mit Download-Berechtigung die unveränderte RAW/HEIC/PSD-Datei herunterladen, die beim Upload gesichert wurde.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Diese Einstellung wirkt sich nur auf den dekodierten Standort aus.',
+ 'location_show_public' => 'Diese Einstellung wirkt sich nur auf den dekodierten Standort aus.',
+ 'gps_coordinate_display' => 'Durch das Deaktivieren werden Breiten- und Längengrad für alle Benutzer ausgeblendet.',
+ 'gps_coordinate_display_public' => 'Durch das Deaktivieren werden Breiten- und Längengrad für anonyme Benutzer ausgeblendet.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Albumcover weichzeichnen.',
+ 'nsfw_warning' => 'Warnung beim ersten Öffnen des Albums anzeigen.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Ungeprüftes HTML-Feld (Inhalt wird direkt übernommen).',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = Kompression deaktivieren (STORE-Methode), 0 = keine Kompression (DEFLATE-Methode), 1 = minimale Kompression (schnell), … 9 = maximale Kompression (langsam)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Originalbilder werden überschrieben und komprimiert.',
+ 'random_album_id' => 'Standardmäßig anzuzeigendes Album; falls leer, werden alle durchsuchbaren Fotos verwendet.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'Siehe datetime.format.php',
+ 'date_format_photo_overlay' => 'Siehe datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'Siehe datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'Siehe datetime.format.php',
+ 'date_format_hero_min_max' => 'Siehe datetime.format.php',
+ 'date_format_hero_created_at' => 'Siehe datetime.format.php',
+ 'date_format_album_thumb' => 'Siehe datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Zeichnet den Hintergrund der Warnmeldung weich.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Durch das Deaktivieren dieses Smart-Albums werden Bilder ohne Album unsichtbar.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Smart-Album für unbewertete Fotos anzeigen.',
+ 'enable_1_star' => 'Smart-Album für Fotos mit 1-Stern-Bewertung anzeigen.',
+ 'enable_2_stars' => 'Smart-Album für Fotos mit 2-Sterne-Bewertung anzeigen.',
+ 'enable_3_stars' => 'Smart-Album für Fotos mit 3 oder mehr Sternen anzeigen.',
+ 'enable_4_stars' => 'Smart-Album für Fotos mit 4 oder mehr Sternen anzeigen.',
+ 'enable_5_stars' => 'Smart-Album für Fotos mit 5-Sterne-Bewertung anzeigen.',
+ 'enable_best_pictures' => 'Smart-Album für bestbewertete Fotos anzeigen.',
+ 'best_pictures_count' => 'Anzahl der im Album „Beste Bilder“ anzuzeigenden Fotos. Inkludiert Bilder mit identischer Bewertung an der Auswahlgrenze.',
+ 'enable_my_rated_pictures' => 'Zeigt alle vom aktuellen Benutzer bewerteten Fotos an.',
+ 'enable_my_best_pictures' => 'Zeigt die bestbewerteten Fotos des aktuellen Benutzers an.',
+ 'my_best_pictures_count' => 'Anzahl der im Album „Meine besten Bilder“ anzuzeigenden Fotos. Inkludiert Bilder mit identischer Bewertung an der Auswahlgrenze.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Supporter Edition hier erhältlich: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Nächstes Bild nach x Sekunden anzeigen.',
+ 'keep_original_untouched' => 'Bei automatischer Drehung wird das Originalbild unverändert beibehalten.',
+ 'default_user_quota' => 'Wert in KB; 0 eingeben, um das Kontingent zu deaktivieren.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Foto-Zeitstrahl global für alle Alben aktivieren. Die Funktion kann auch pro Album einzeln ein- oder ausgeschaltet werden.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'Legt fest, ob das Aufnahmedatum oder das Upload-Datum für die Sortierung der Fotos verwendet wird.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Alben-Zeitstrahl global für alle Alben (und die Startseite) aktivieren. Die Funktion kann auch pro Album einzeln ein- oder ausgeschaltet werden.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'Siehe datetime.format.php',
+ 'timeline_photo_date_format_month' => 'Siehe datetime.format.php',
+ 'timeline_photo_date_format_day' => 'Siehe datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'Siehe datetime.format.php',
+ 'timeline_album_date_format_year' => 'Siehe datetime.format.php',
+ 'timeline_album_date_format_month' => 'Siehe datetime.format.php',
+ 'timeline_album_date_format_day' => 'Siehe datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Bilder in sensiblen Alben werden in Smart-Alben nicht angezeigt.',
+ 'hide_nsfw_in_frame' => 'Bilder in sensiblen Alben werden im Rahmen nicht angezeigt.',
+ 'hide_nsfw_in_map' => 'Bilder in sensiblen Alben werden auf der Karte nicht angezeigt.',
+ 'hide_nsfw_in_search' => 'Bilder in sensiblen Alben werden in der Suche nicht angezeigt.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Bilder in sensiblen Alben werden im RSS-Feed nicht angezeigt.',
+ 'hide_nsfw_in_timeline' => 'Bilder in sensiblen Alben werden auf der Zeitstrahl-Seite nicht angezeigt.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'Beschleunigt die Antwortzeiten von Lychee erheblich. Bei Verwendung passwortgeschützter Alben sollte diese Option nicht aktiviert werden.',
+ 'cache_event_logging' => 'Kann zu einer großen Menge an Log-Einträgen führen.',
+ 'cache_ttl' => 'Eine längere Gültigkeitsdauer spart Ressourcen, kann aber zu veralteten Antworten führen.',
+ 'low_number_of_shoots_per_day' => 'Wird zur Farbbestimmung in der Punch-Card-Statistik verwendet.',
+ 'medium_number_of_shoots_per_day' => 'Wird zur Farbbestimmung in der Punch-Card-Statistik verwendet.',
+ 'high_number_of_shoots_per_day' => 'Wird zur Farbbestimmung in der Punch-Card-Statistik verwendet.',
+ 'maintenance_processing_limit' => 'Höhere Werte verarbeiten mehr Elemente gleichzeitig, können aber zu Zeitüberschreitungen führen.',
+ 'disable_recursive_permission_check' => 'Die Diagnose-Seite kann bei vielen Alben und Fotos langsam sein. Diese Option deaktiviert die rekursive Berechtigungsprüfung zur Beschleunigung.',
+ 'exif_disabled_for_all' => ' Dies entfernt die Daten nicht vom API-Endpunkt.',
+ 'display_exif_data' => 'EXIF-Daten werden in der Benutzeroberfläche nicht angezeigt.',
+ 'file_name_hidden' => 'Angemeldete Benutzer haben weiterhin Zugriff auf den Titel.',
+ 'client_side_favourite_enabled' => 'Favoriten werden im lokalen Speicher des Browsers hinterlegt.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Optionen: static (URL), photo_id (spezifisches Foto), random (zufälliges öffentliches Foto), latest_album_cover (aktuellstes Albumcover), random_from_album (Zufallsbild aus Album).',
+ 'landing_background_portrait_mode' => 'Optionen: static (URL), photo_id (spezifisches Foto), random (zufälliges öffentliches Foto), latest_album_cover (aktuellstes Albumcover), random_from_album (Zufallsbild aus Album).',
+ 'landing_background_landscape' => 'Abhängig vom Modus: URL für „static“, Foto-ID für „photo_id“, Album-ID für „random_from_album“. Dieses Bild wird auch beim direkten Teilen des Galerie-Links verwendet.',
+ 'landing_background_portrait' => 'Abhängig vom Modus: URL für „static“, Foto-ID für „photo_id“, Album-ID für „random_from_album“.',
+ 'metrics_enabled' => 'Wenn aktiviert, werden anonyme Benutzer statistisch erfasst.',
+ 'metrics_logged_in_users_enabed' => 'Wenn aktiviert, werden auch angemeldete Benutzer erfasst (Administratoren ausgenommen).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Echtzeit-Statistiken bieten Ihnen einen Aktivitätsverlauf Ihrer Galerie.',
+ 'live_metrics_access' => 'Wenn auf „admin“ gesetzt, können nur Administratoren die Echtzeit-Statistiken einsehen.',
+ 'live_metrics_max_time' => 'Nach Ablauf dieser Zeitspanne werden die Echtzeit-Statistiken gelöscht.',
+ 'photo_thumb_info' => 'Falls „description“ ausgewählt wird, wird das Datum ebenfalls nicht angezeigt.',
+ 'temporary_image_link_enabled' => 'Alle Bilder werden über eine signierte URL bereitgestellt. Dies ist eine Sicherheitsfunktion, um Hotlinking und unbefugten Zugriff auf Bilder zu verhindern.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' Falls Caching für Anfragen verwendet wird, sollte dieser Wert höher als die Ablaufzeit des Caches eingestellt werden.',
+ 'secure_image_link_enabled' => 'Stellt sicher, dass Bild-Links nicht erratbar sind.',
+ 'photo_previous_next_size' => 'Diese Schaltflächen sind standardmäßig ausgeblendet und werden nur sichtbar, wenn sich die Maus dem linken oder rechten Bildschirmrand nähert.',
+ 'SA_override_visibility' => ' Dadurch werden alle Fotos sichtbar, die die Bedingungen des Smart-Albums erfüllen.',
+ 'TA_override_visibility' => ' Dadurch werden alle Fotos sichtbar, die die Bedingungen des Tag-Albums erfüllen.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'Falls deaktiviert, können sich neue Benutzer nicht selbst registrieren.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Langsamer: „league“ führt eine vollständige Abtastung durch und nutzt CIEDE2000 (Delta E) zur Farbabstandsberechnung.
Schneller: „farzai“ nutzt Stichproben und K-Means-Abstände.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Nutzt den Fototitel, um im Zielalbum nach Duplikaten zu suchen.',
+ 'sync_delete_missing_photos' => 'Diese Option ist nur verfügbar, wenn „dry_run“ deaktiviert ist.',
+ 'sync_delete_missing_albums' => 'Diese Option ist nur verfügbar, wenn „dry_run“ deaktiviert ist.',
+ 'sync_dry_run' => ' Falls deaktiviert, erlaubt dies dem Sync-Befehl, Alben oder Fotos aus Ihrer Lychee-Instanz zu löschen.',
+ 'user_invitation_ttl' => ' Einladungslinks können nicht widerrufen werden.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'Alle Alben innerhalb dieses Albums werden in den Flow aufgenommen (für das Hauptverzeichnis leer lassen).',
+ 'flow_min_max_order' => 'Bei Auswahl von „older_younger“ wird das ältere Datum zuerst angezeigt, andernfalls das neuere.',
+ 'flow_max_items' => 'Ein niedrigerer Wert erfordert mehr Anfragen, ein höherer Wert verbraucht mehr Arbeitsspeicher.',
+ 'flow_strategy' => 'Legt fest, wie der Flow generiert wird. „auto“ schließt alle Alben ein, „opt-in“ nur Alben mit aktiviertem Flow.',
+ 'flow_include_sub_albums' => 'Alle untergeordneten Alben werden in den Flow aufgenommen. Falls deaktiviert, werden nur direkte Unteralben berücksichtigt.',
+ 'flow_include_photos_from_children' => 'Falls ein Album keine Fotos, aber Unteralben besitzt, werden deren Fotos angezeigt.
Dies wird NICHT empfohlen. Mögliche Folgen sind Speicherüberlastung, langsame Ladezeiten oder Abstürze.',
+ 'flow_open_album_on_click' => 'Navigiert beim Klicken zum Album. Falls deaktiviert, werden die Fotos direkt angezeigt.',
+ 'flow_display_open_album_button' => 'In der Karte wird eine Schaltfläche zum Öffnen des Albums angezeigt.',
+ 'flow_highlight_first_picture' => 'Als Hauptbild wird das erste Bild im Album anstelle des Covers verwendet.',
+ 'flow_min_max_enabled' => 'Zeigt den Zeitraum (ältestes/neuestes Datum) der Fotos im Flow an.',
+ 'flow_display_statistics' => 'Die Anzahl der Aufrufe, geteilten Inhalte und Downloads des Albums wird angezeigt.',
+ 'flow_compact_mode_enabled' => 'Kürzt die Beschreibung auf 3 Zeilen und verbirgt Zusatzinfos wie die Anzahl der Fotos.
Fügt zudem eine „Mehr anzeigen“-Schaltfläche zum Ausklappen hinzu.',
+ 'flow_image_header_enabled' => 'Der obere Bereich der Karte hebt das Albumcover hervor.',
+ 'flow_image_header_cover' => 'Der Bild-Header kann füllend („cover“) oder eingepasst („fit“) angezeigt werden. „cover“ beschneidet das Bild, um den gesamten Header auszufüllen, während „fit“ das Bild ohne Beschnitt skaliert, bis es in den Header passt.',
+ 'flow_image_header_height' => 'Höhe des Bild-Headers in rem.',
+ 'flow_carousel_enabled' => 'Zeigt eine Vorschau der Bilder in einem Karussell unter dem Bild-Header an. Dies gilt nur, wenn der Bild-Header aktiviert ist.',
+ 'flow_carousel_height' => 'Höhe des Bild-Karussells in rem.',
+ 'date_format_flow_published' => 'Siehe datetime.format.php',
+ 'date_format_flow_min_max' => 'Siehe datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Fotos aus als sensibel markierten Alben werden im Flow weichgezeichnet. Benutzer können die Weichzeichnung durch Klicken auf das Album aufheben.',
+ 'hide_nsfw_in_flow' => 'Als sensibel markierte Alben werden im Flow nicht angezeigt.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'Wenn aktiviert, wird die Header-Leiste transparent dargestellt und das Header-Bild ist dahinter sichtbar.',
+ 'gallery_header_bar_gradient' => 'Wenn aktiviert, erhält die Header-Leiste einen Verlaufshintergrund zur besseren Lesbarkeit des Textes; andernfalls wird sie transparent dargestellt.',
+ 'import_via_url_forbidden_localhost' => ' Das Deaktivieren dieser Option setzt Ihren Localhost der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
+ 'import_via_url_forbidden_local_ip' => ' Das Deaktivieren dieser Option setzt Ihr internes Netzwerk der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
+ 'import_via_url_require_https' => ' Das Deaktivieren dieser Option verringert die Sicherheit der Import-via-URL-Funktion.',
+ 'import_via_url_forbidden_ports' => ' Das Deaktivieren dieser Option erlaubt dem URL-Import die Nutzung beliebiger Ports, was zu Server-Side Request Forgery (SSRF) führen kann.',
+ 'owner_id' => ' Das Ändern dieses Wertes ermöglicht es einem anderen Administrator, die Kontrolle über den Server zu übernehmen.',
+ 'details_links_enabled' => 'Fügt ein kleines Modul hinzu, um das einfache Kopieren der Foto-URLs im Detail-Panel zu ermöglichen.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'Siehe datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'Siehe datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'Siehe datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'Siehe datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'Falls die Beschreibung auf dem Foto-Vorschaubild aktiviert ist, werden die Tags nicht angezeigt.',
+ 'hide_nsfw_in_tag_albums' => 'Bilder in sensiblen Alben werden in Tag-Alben nicht angezeigt.',
+ 'hide_nsfw_in_tag_listing' => 'Bilder in sensiblen Alben werden in der Foto-Auflistung eines Tags nicht angezeigt.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Hochgeladene Fotos werden mit dem konfigurierten Wasserzeichen versehen.',
+ 'watermark_photo_id' => 'Foto-ID (24-stellige Zeichenfolge) des Bildes, das als Wasserzeichen dient. Wir empfehlen eine PNG-Datei mit Transparenz.',
+ 'watermark_random_path' => 'Falls deaktiviert, entspricht der Pfad des Wasserzeichens dem aktuellen Pfad, ergänzt um ein Suffix.',
+ 'watermark_public' => 'Anonyme Benutzer sehen die mit Wasserzeichen versehenen Fotos.',
+ 'watermark_logged_in_users_enabled' => 'Angemeldete Benutzer sehen die mit Wasserzeichen versehenen Fotos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'Gibt an, welcher Anteil des Bildes vom Wasserzeichen bedeckt wird.',
+ 'watermark_opacity' => '1 - fast unsichtbar, 100 - vollständig deckend. Wir empfehlen, den Wert 25 nicht zu unterschreiten.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'Bei Verwendung von „relative“ wird das Wasserzeichen proportional zur Bildgröße verschoben.
Bei „absolute“ erfolgt die Verschiebung um eine feste Pixelanzahl.',
+ 'watermark_shift_x' => 'Horizontaler Versatz des Wasserzeichens in Pixeln oder proportionalen Einheiten.',
+ 'watermark_shift_x_direction' => 'Richtung des horizontalen Versatzes: nach links oder nach rechts?',
+ 'watermark_shift_y' => 'Vertikaler Versatz des Wasserzeichens in Pixeln oder proportionalen Einheiten.',
+ 'watermark_shift_y_direction' => 'Richtung des vertikalen Versatzes: nach oben oder nach unten?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'Ermöglicht das Umbenennen von Dateien basierend auf definierten Regeln.',
+ 'renamer_enforced' => 'Vom Besitzer der Lychee-Instanz definierte Regeln werden ungeachtet der Benutzereinstellungen angewendet.',
+ 'renamer_enforced_before' => 'Vom Besitzer der Lychee-Instanz definierte Regeln werden vor den Regeln des Benutzers angewendet.',
+ 'renamer_enforced_after' => 'Vom Besitzer der Lychee-Instanz definierte Regeln werden nach den Regeln des Benutzers angewendet.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Die ZIP-Datei verbleibt auf dem Server, sofern sie nicht fehlerfrei entpackt wurde (danach wird sie entfernt).',
+ 'webshop_enabled' => 'Ermöglicht es, Alben und Fotos als käufliche Artikel festzulegen.',
+ 'webshop_currency' => 'Die Währung, in der Preise angezeigt und berechnet werden. Muss ein gültiger ISO-4217-Währungscode sein.',
+ 'webshop_default_description' => 'Diese Beschreibung wird verwendet, wenn für ein Album oder Foto keine eigene Beschreibung hinterlegt ist.',
+ 'webshop_allow_guest_checkout' => 'Erlaubt Kunden den Kaufabschluss, ohne ein Benutzerkonto erstellen zu müssen.',
+ 'webshop_terms_url' => 'Optionale URL zur Seite mit den Allgemeinen Geschäftsbedingungen (AGB).',
+ 'webshop_privacy_url' => 'Optionale URL zur Seite mit der Datenschutzerklärung.',
+ 'webshop_default_price_cents' => 'Der Standardpreis (in Cent) für neue käufliche Artikel.',
+ 'webshop_default_license' => 'Der Standard-Lizenztyp für neue käufliche Artikel.',
+ 'webshop_default_size' => 'Die Standard-Größenvariante für neue käufliche Artikel.',
+ 'enable_untagged' => 'Legt fest, ob ein Smart-Album mit allen Fotos ohne Tags in der Galerie angezeigt wird.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'Sämtliche Zahlungsabwicklungen werden übersprungen. Bestellungen werden als OFFLINE markiert, anstatt den regulären Zahlungsfluss zu durchlaufen.',
+ 'deduplicate_pinned_albums' => 'Hervorgehobene Alben erscheinen nur einmal auf der Hauptseite der Galerie.',
+ 'desktop_dock_full_transparency_enabled' => 'In der Fotoansicht sind die Aktionen am oberen Bildrand leicht transparent. Diese Einstellung macht sie vollständig transparent; sie werden erst beim Darüberfahren mit der Maus sichtbar.',
+ 'mobile_dock_full_transparency_enabled' => ' Dies beeinträchtigt die Bedienbarkeit auf Mobilgeräten. In der Fotoansicht sind die Aktionen am oberen Bildrand leicht transparent. Diese Einstellung macht sie vollständig transparent; sie erscheinen dann nur beim Tippen.',
+ 'enable_smart_album_per_owner' => 'Diese Einstellung gilt nur für angemeldete Benutzer. Damit sie wirksam wird, muss die Option „Sichtbarkeit von Smart-Alben überschreibt Sichtbarkeit von Fotos“ deaktiviert sein.',
+ 'album_layout' => 'Wahl zwischen Raster- (Vorschaukarten) oder Listenansicht (detaillierte Zeilen) für Alben. Benutzer können clientseitig zwischen den Ansichten wechseln, die Auswahl bleibt jedoch nach einem Neuladen der Seite nicht gespeichert.',
+ 'albums_per_page' => 'Anzahl der Unteralben, die pro Seite in seitenbasierten Albenansichten angezeigt werden. Ein höherer Wert zeigt mehr Alben an, kann aber die Ladezeiten und den Ressourcenverbrauch erhöhen.',
+ 'albums_pagination_ui_mode' => 'Steuert die Anzeige der Seitenaufteilung für Alben: unendliches Scrollen (automatisches Laden beim Scrollen), „Mehr laden“-Schaltfläche (manuelles Laden) oder Seitennavigation (Seitenzahlen mit Vor/Zurück).',
+ 'albums_infinite_scroll_threshold' => 'Abstand zum Seitenende (in Viewport-Höhen), bei dem das Laden der nächsten Alben-Seite ausgelöst wird. Ein höherer Wert lädt früher nach, kann aber unnötige Daten laden, falls nicht so weit gescrollt wird.',
+ 'photos_per_page' => 'Anzahl der Fotos, die pro Seite in seitenbasierten Albenansichten angezeigt werden. Ein höherer Wert zeigt mehr Fotos an, kann aber Ladezeiten und Ressourcenverbrauch erhöhen.',
+ 'photos_pagination_ui_mode' => 'Steuert die Anzeige der Seitenaufteilung für Fotos: unendliches Scrollen (automatisches Laden beim Scrollen), „Mehr laden“-Schaltfläche (manuelles Laden) oder Seitennavigation (Seitenzahlen mit Vor/Zurück).',
+ 'photos_infinite_scroll_threshold' => 'Abstand zum Seitenende (in Viewport-Höhen), bei dem das Laden der nächsten Foto-Seite ausgelöst wird. Ein höherer Wert lädt früher nach, kann aber unnötige Daten laden, falls nicht so weit gescrollt wird.',
+ 'enable_propagate_unlock_option' => 'Beim Freischalten eines Albums mit Passwort werden auch alle anderen Alben mit demselben Passwort freigeschaltet.
Dies kann zu Datenschutzproblemen führen, wenn verschiedene Benutzer dasselbe Passwort für Alben teilen.',
+ 'rating_enabled' => 'Hauptschalter zum vollständigen Aktivieren oder Deaktivieren der Foto-Bewertungsfunktion.',
+ 'rating_public' => 'Ermöglicht allen Benutzern (einschließlich nicht angemeldeter Besucher), Foto-Bewertungen einzusehen.',
+ 'rating_show_only_when_user_rated' => 'Bewertungen (eigene oder Durchschnitt) werden erst angezeigt, nachdem der Benutzer eine eigene Bewertung abgegeben hat.',
+ 'rating_show_avg_in_details' => 'Zeigt die Durchschnittsbewertung und die Anzahl der Stimmen in der Seitenleiste anstelle der Nutzerbewertung an.',
+ 'rating_photo_view_mode' => 'Steuert die Sichtbarkeit des Bewertungs-Overlays: immer sichtbar, beim Darüberfahren mit der Maus oder nie.',
+ 'rating_show_avg_in_photo_view' => 'Zeigt die Durchschnittsbewertung in der Vollbildansicht anstelle der Nutzerbewertung an.',
+ 'rating_album_view_mode' => 'Steuert die Sichtbarkeit der Bewertung auf Vorschaubildern: immer sichtbar, beim Darüberfahren mit der Maus oder nie.',
+ 'rating_show_avg_in_album_view' => 'Zeigt die Durchschnittsbewertung auf Foto-Vorschaubildern in der Albenansicht anstelle der Nutzerbewertung an.',
+ 'import_via_url_block_redirect' => ' Das Deaktivieren dieser Option setzt Ihren Localhost der Import-Funktion aus und kann zu Server-Side Request Forgery (SSRF) führen.',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee wird unter der MIT-Lizenz ohne Gewährleistung bereitgestellt. Das Deaktivieren dieser Option entfernt diesen Hinweis von der Bestellseite.',
+ 'webshop_auto_fulfill_enabled' => 'Sobald eine Zahlung abgeschlossen ist, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.',
+ 'webshop_manual_fulfill_enabled' => 'Sobald „Als ausgeliefert markieren“ angeklickt wird, werden die Inhalte dem Benutzer automatisch bereitgestellt, sofern möglich.',
+ 'enable_photo_details_always_open' => 'Beim Öffnen der Fotoansicht bleibt die Seitenleiste mit den Fotodetails permanent sichtbar.',
+ 'album_enhanced_display_enabled' => 'Aktiviert einen neuen Stil für den Album-Header mit größerem Titel, einer „Galerie öffnen“-Schaltfläche und anpassbarem Titelstil.',
+ 'album_header_size' => 'Konfiguration der Größe des Header-Bildes in der Albenansicht.',
+ 'album_header_landing_title_enabled' => 'Zeigt den Landingpage-Titel am unteren Rand des Album-Headers an. Der Titel kann in den Landingpage-Einstellungen konfiguriert werden.',
+ ],
+ 'category_name' => [
+ 'config' => 'Grundeinstellungen',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Galerie',
+ 'Mod Welcome' => 'Landingpage',
+ 'Footer' => 'Fußzeile',
+ 'Smart Albums' => 'Smart- & hervorgehobene Alben',
+ 'Image Processing' => 'Bildverarbeitung',
+ 'Mod Search' => 'Suche',
+ 'Mod Timeline' => 'Zeitstrahl',
+ 'Mod Frame' => 'Rahmen',
+ 'Mod Map' => 'Karte/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensible Inhalte',
+ 'Mod Back Button' => 'Zurück zur Startseite',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Datenschutz',
+ 'Users Management' => 'Benutzerverwaltung',
+ 'Admin' => 'Administrator',
+ 'access_permissions' => 'Berechtigungen',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gesten',
+ 'Mod Watermarker' => 'Wasserzeichen',
+ 'Mod Renamer' => 'Umbenennungsregeln',
+ 'Mod Rating' => 'Sternebewertung',
+ 'Mod Webshop' => 'Webshop',
+ ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Schalten Sie den vollen Funktionsumfang von Lychee mit der Supporter Edition frei. Erhalten Sie exklusive Funktionen und unterstützen Sie die Weiterentwicklung von Lychee. Werden Sie Sponsor von LycheeOrg auf GitHub und erhalten Sie Ihren Lizenzschlüssel hier.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'Dieses Modul aktiviert eine Landingpage. Statt direkt in der Galerieansicht zu landen, verleiht sie dem Eingang Ihrer Website etwas mehr Glanz. Geben Sie die URL des anzuzeigenden Bildes an und legen Sie den Titel fest.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'Dieses Modul ermöglicht die Anzeige von Alben in einer Feed-ähnlichen Weise. Es werden nur Alben mit Fotos angezeigt; Alben, die nur Unteralben enthalten, sind im Flow nicht enthalten. Da es sich um eine reine Anzeige handelt, erlaubt die Flow-Seite keine Aktionen wie Hochladen, Verschieben usw.',
+ 'gestures' => 'Konfigurieren Sie die Gestensteuerung für die Foto-Navigation.',
+ 'Mod Watermarker' => 'Dieses Modul ermöglicht Wasserzeichen auf Fotos. Das Wasserzeichen wird durch Angabe der photoId
des gewünschten Bildes konfiguriert. Diese ID ist die letzte 24-stellige Kennung in der URL, wenn Sie ein Bild öffnen. Für beste Ergebnisse empfehlen wir ein PNG-Bild mit transparentem Hintergrund.
Die Aktivierung dieses Moduls wird den Speicherplatzbedarf auf Ihrem Server verdoppeln.',
+ 'Mod Renamer' => 'Dieses Modul ermöglicht die automatische Anwendung benutzerdefinierter Umbenennungsregeln beim Upload oder beim Import via Sync.
Die Umbenennung wird wahrscheinlich die schnelle Duplikaterkennung bei Fotos/Alben verhindern, die via Sync umbenannt wurden.',
+ 'Mod Rating' => 'Dieses Modul ermöglicht die Bewertung von Fotos. Benutzer können pro Foto eine Bewertung von 1 bis 5 Sternen vergeben. Die Durchschnittsbewertung wird an den konfigurierten Stellen angezeigt.',
+ 'Mod Webshop' => 'Dieses Modul ermöglicht die Verwaltung und den Verkauf Ihrer Bilder.
Lychee wird unter der MIT-Lizenz entwickelt. Dies bedeutet, dass LycheeOrg weder verantwortlich noch haftbar für Probleme oder Verluste ist, die aus der Nutzung des Webshop-Moduls und/oder der Zahlungsfunktionen entstehen. Es ist wichtig, dass Sie sicherstellen, dass Ihr Setup korrekt und sicher funktioniert, bevor Sie es in einer Produktionsumgebung einsetzen.',
+ ],
];
diff --git a/lang/de/aspect_ratio.php b/lang/de/aspect_ratio.php
index 579a3ab94e6..171069c9e28 100644
--- a/lang/de/aspect_ratio.php
+++ b/lang/de/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (Instagram Querformat)',
- '4by5' => '4/5 (Instagram Portrait)',
- '2by3' => '2/3 (Portrait)',
- '3by2' => '3/2 (Querformat)',
- '1by1' => 'Quadrat',
- '16by9' => '16/9 (Querformat)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (Instagram Querformat)',
+ '4by5' => '4/5 (Instagram Portrait)',
+ '2by3' => '2/3 (Portrait)',
+ '3by2' => '3/2 (Querformat)',
+ '1by1' => 'Quadrat',
+ '16by9' => '16/9 (Querformat)',
];
diff --git a/lang/de/bulk_album_edit.php b/lang/de/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/de/bulk_album_edit.php
+++ b/lang/de/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/de/changelogs.php b/lang/de/changelogs.php
index 82b0c27d566..18b3f2f372b 100644
--- a/lang/de/changelogs.php
+++ b/lang/de/changelogs.php
@@ -1,11 +1,11 @@
'Änderungsübersicht',
- 'description' => 'Diese Seite enthält die Changelogs bis zur letzten verfügbaren Version von Lychee. Sie ist bewusst nicht auf die Änderungen an Ihrer installierten Version beschränkt. Damit wollen wir Ihnen einen besseren Überblick darüber verschaffen, was Sie erwartet, wenn Sie sich für ein Upgrade entscheiden.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Änderungsübersicht',
+ 'description' => 'Diese Seite enthält die Changelogs bis zur letzten verfügbaren Version von Lychee. Sie ist bewusst nicht auf die Änderungen an Ihrer installierten Version beschränkt. Damit wollen wir Ihnen einen besseren Überblick darüber verschaffen, was Sie erwartet, wenn Sie sich für ein Upgrade entscheiden.',
];
diff --git a/lang/de/contact.php b/lang/de/contact.php
index 6a920422c1c..94428f66017 100644
--- a/lang/de/contact.php
+++ b/lang/de/contact.php
@@ -1,62 +1,62 @@
'Kontakt',
- 'description' => 'Wir freuen uns auf Ihre Nachricht!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Ihr Name',
- 'email_label' => 'E-Mail oder Kontaktmöglichkeit',
- 'email_placeholder' => 'ihre@mail.de',
- 'message_label' => 'Nachricht',
- 'message_placeholder' => 'Schreiben Sie hier Ihre Nachricht …',
- 'security_question_label' => 'Sicherheitsfrage',
- 'security_answer_placeholder' => 'Ihre Antwort',
- 'sample_qa_label' => 'Beispiel Q&A',
- 'consent_label' => 'Ich stimme der',
- 'consent_privacy_link' => 'Datenschutzerklärung zu',
- 'name_required_error' => 'Name is erforderlich',
- 'email_required_error' => 'Kontaktmöglichkeit ist erforderlich.',
- 'message_min_length_error' => 'Die Nachricht muss mindestens 10 Zeichen lang sein.',
- 'security_answer_required_error' => 'Bitte beantworten Sie die Sicherheitsfrage.',
- 'consent_required_error' => 'Sie müssen der Datenschutzerklärung zustimmen.',
- 'submit_button' => 'Nachricht senden',
- 'clear_button' => 'Zurücksetzen',
- 'success_message' => 'Vielen Dank für Ihre Nachricht. Wir melden uns in Kürze bei Ihnen.',
- 'submit_error' => 'Beim Senden Ihrer Nachricht ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.',
- 'rate_limit_error' => 'Zu viele Anfragen. Bitte versuchen Sie es später noch einmal.',
- 'validation_error' => 'Bitte korrigieren Sie die Fehler unten.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Kontakt',
+ 'description' => 'Wir freuen uns auf Ihre Nachricht!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Ihr Name',
+ 'email_label' => 'E-Mail oder Kontaktmöglichkeit',
+ 'email_placeholder' => 'ihre@mail.de',
+ 'message_label' => 'Nachricht',
+ 'message_placeholder' => 'Schreiben Sie hier Ihre Nachricht …',
+ 'security_question_label' => 'Sicherheitsfrage',
+ 'security_answer_placeholder' => 'Ihre Antwort',
+ 'sample_qa_label' => 'Beispiel Q&A',
+ 'consent_label' => 'Ich stimme der',
+ 'consent_privacy_link' => 'Datenschutzerklärung zu',
+ 'name_required_error' => 'Name is erforderlich',
+ 'email_required_error' => 'Kontaktmöglichkeit ist erforderlich.',
+ 'message_min_length_error' => 'Die Nachricht muss mindestens 10 Zeichen lang sein.',
+ 'security_answer_required_error' => 'Bitte beantworten Sie die Sicherheitsfrage.',
+ 'consent_required_error' => 'Sie müssen der Datenschutzerklärung zustimmen.',
+ 'submit_button' => 'Nachricht senden',
+ 'clear_button' => 'Zurücksetzen',
+ 'success_message' => 'Vielen Dank für Ihre Nachricht. Wir melden uns in Kürze bei Ihnen.',
+ 'submit_error' => 'Beim Senden Ihrer Nachricht ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.',
+ 'rate_limit_error' => 'Zu viele Anfragen. Bitte versuchen Sie es später noch einmal.',
+ 'validation_error' => 'Bitte korrigieren Sie die Fehler unten.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Kontaktanfragen',
- 'description' => 'Über das Kontaktformular gesendete Nachrichten.',
- 'no_messages' => 'Noch keine Kontaktanfragen vorhanden.',
- 'name_column' => 'Name',
- 'email_column' => 'E-Mail',
- 'message_column' => 'Nachricht',
- 'date_column' => 'Datum',
- 'read_column' => 'Gelesen',
- 'search_placeholder' => 'Nachrichten suchen …',
- 'filter_unread' => 'Ungelesen',
- 'filter_read' => 'Gelesen',
- 'filter_all' => 'Alle',
- 'mark_read' => 'Als gelesen markieren',
- 'mark_unread' => 'Als ungelesen markieren',
- 'delete_confirm_header' => 'Nachricht löschen',
- 'delete_confirm_message' => 'Sind Sie sicher, dass Sie diese Nachricht löschen möchten?',
- 'delete_success' => 'Nachricht gelöscht.',
- 'delete_error' => 'Fehler beim Löschen der Nachricht.',
- 'update_error' => 'Fehler beim Aktualisieren der Nachricht.',
- 'cancel' => 'Abbrechen',
- 'delete' => 'Löschen',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Kontaktanfragen',
+ 'description' => 'Über das Kontaktformular gesendete Nachrichten.',
+ 'no_messages' => 'Noch keine Kontaktanfragen vorhanden.',
+ 'name_column' => 'Name',
+ 'email_column' => 'E-Mail',
+ 'message_column' => 'Nachricht',
+ 'date_column' => 'Datum',
+ 'read_column' => 'Gelesen',
+ 'search_placeholder' => 'Nachrichten suchen …',
+ 'filter_unread' => 'Ungelesen',
+ 'filter_read' => 'Gelesen',
+ 'filter_all' => 'Alle',
+ 'mark_read' => 'Als gelesen markieren',
+ 'mark_unread' => 'Als ungelesen markieren',
+ 'delete_confirm_header' => 'Nachricht löschen',
+ 'delete_confirm_message' => 'Sind Sie sicher, dass Sie diese Nachricht löschen möchten?',
+ 'delete_success' => 'Nachricht gelöscht.',
+ 'delete_error' => 'Fehler beim Löschen der Nachricht.',
+ 'update_error' => 'Fehler beim Aktualisieren der Nachricht.',
+ 'cancel' => 'Abbrechen',
+ 'delete' => 'Löschen',
+ ],
];
diff --git a/lang/de/diagnostics.php b/lang/de/diagnostics.php
index 1a7dea02638..267338b1516 100644
--- a/lang/de/diagnostics.php
+++ b/lang/de/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostik',
- 'copy_to_clipboard' => 'Diagnose in die Zwischenablage kopieren',
- 'self-diagnosis' => 'Selbstdiagnose',
- 'info' => 'Info',
- 'space' => 'Speicherplatz',
- 'load_space' => 'Speicherplatzverbrauch laden.',
- 'configuration' => 'Konfiguration',
- 'loading' => 'Lade …',
- 'identical_content' => 'Identischer Inhalt',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnosen in die Zwischenablage kopiert!',
- ],
- 'copy_on_secure_context' => 'Das Kopieren der Diagnose ist nur in sicheren Kontexten (HTTPS) verfügbar.',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostik',
+ 'copy_to_clipboard' => 'Diagnose in die Zwischenablage kopieren',
+ 'self-diagnosis' => 'Selbstdiagnose',
+ 'info' => 'Info',
+ 'space' => 'Speicherplatz',
+ 'load_space' => 'Speicherplatzverbrauch laden.',
+ 'configuration' => 'Konfiguration',
+ 'loading' => 'Lade …',
+ 'identical_content' => 'Identischer Inhalt',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnosen in die Zwischenablage kopiert!',
+ ],
+ 'copy_on_secure_context' => 'Das Kopieren der Diagnose ist nur in sicheren Kontexten (HTTPS) verfügbar.',
];
diff --git a/lang/de/dialogs.php b/lang/de/dialogs.php
index 09296d522c6..ecb35503b4c 100644
--- a/lang/de/dialogs.php
+++ b/lang/de/dialogs.php
@@ -1,306 +1,306 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Schließen',
- 'cancel' => 'Abbrechen',
- 'save' => 'Speichern',
- 'delete' => 'Löschen',
- 'move' => 'Verschieben',
- ],
- 'about' => [
- 'subtitle' => 'Selbst gehostetes Fotomanagement richtig gemacht',
- 'description' => 'Lychee ist ein kostenloses Fotoverwaltungsprogramm, das auf einem Server oder Webspace betrieben werden kann. Die Installation erfolgt in wenigen Sekunden. Fotos lassen sich hochladen, verwalten und teilen – ganz wie in einer nativen Anwendung. Lychee bietet alle notwendigen Funktionen und sorgt für eine sichere Speicherung sämtlicher Bilder.',
- 'update_available' => 'Update verfügbar!',
- 'thank_you' => 'Vielen Dank für Ihre Unterstützung!',
- 'get_supporter_or_register' => 'Exklusive Funktionen stehen in der Supporter Edition zur Verfügung und tragen zur Weiterentwicklung von Lychee bei.
Die Freischaltung kann über den Erwerb dieser Edition oder durch die Registrierung eines Lizenzschlüssels erfolgen',
- 'here' => 'hier',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox ist nicht konfiguriert.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Bitte geben Sie den direkten Link zu einem Foto ein, um es zu importieren:',
- 'import' => 'Importieren',
- ],
- 'keybindings' => [
- 'header' => 'Tastaturkürzel',
- 'don_t_show_again' => 'Diesen Dialog nicht nochmal anzeigen',
- 'hide_header_button' => 'Hilfe im Header nicht anzeigen',
- 'side_wide' => 'Global gültige Tastaturkürzel',
- 'back_cancel' => 'Zurück/Abbrechen',
- 'confirm' => 'Bestätigen',
- 'login' => 'Anmelden',
- 'toggle_full_screen' => 'Vollbild umschalten',
- 'toggle_sensitive_albums' => 'Sensible Alben umschalten',
- 'albums' => 'Alben Tastaturkürzel',
- 'new_album' => 'Neues Album',
- 'upload_photos' => 'Fotos hochladen',
- 'search' => 'Suche',
- 'show_this_modal' => 'Dieses Modal anzeigen',
- 'select_all' => 'Alles auswählen',
- 'move_selection' => 'Auswahl verschieben',
- 'delete_selection' => 'Auswahl löschen',
- 'album' => 'Album Tastaturkürzel',
- 'slideshow' => 'Diashow starten/stoppen',
- 'toggle' => 'Panel umschalten',
- 'photo' => 'Foto Tastaturkürzel',
- 'previous' => 'Vorheriges Foto',
- 'next' => 'Nächstes Foto',
- 'cycle' => 'Overlay Modus durchschalten',
- 'star' => 'Foto als Favorit markieren',
- 'move' => 'Foto verschieben',
- 'delete' => 'Foto löschen',
- 'edit' => 'Informationen bearbeiten',
- 'show_hide_meta' => 'Informationen anzeigen',
- 'keep_hidden' => 'Es wird verborgen bleiben.',
- 'button_hidden' => 'Schaltfläche im Header wird ausgeblendet.',
- ],
- 'login' => [
- 'auth_with' => 'Authentifizierung mit %s',
- 'username' => 'Benutzername',
- 'password' => 'Passwort',
- 'unknown_invalid' => 'Unbekannter Benutzer oder ungültiges Passwort.',
- 'signin' => 'Anmelden',
- 'remember_me' => 'Angemeldet bleiben',
- ],
- 'register' => [
- 'enter_license' => 'Den Lizenzschlüssel eingeben:',
- 'license_key' => 'Lizenzschlüssel',
- 'invalid_license' => 'Ungültiger Lizenzschlüssel.',
- 'expired_license' => 'Ihr Lizenzschlüssel ist abgelaufen. Löschen Sie das Feld oder besorgen Sie sich einen neuen Schlüssel unter keygen.lycheeorg.dev.',
- 'register' => 'Registrieren',
- ],
- 'share_album' => [
- 'url_copied' => 'URL in die Zwischenablage kopiert!',
- ],
- 'embed_code' => [
- 'title' => 'Album einbetten',
- 'title_stream' => 'Fotostream einbetten',
- 'info' => 'Erzeugen Sie einen Einbettungscode, um dieses Album auf Ihrer Website anzuzeigen.',
- 'mode' => 'Modus',
- 'mode_album_help' => 'Fotos aus diesem spezifischen Album einbetten.',
- 'mode_stream_help' => 'Alle Ihre öffentlichen Fotos als chronologischen Stream einbetten (neueste zuerst).',
- 'layout' => 'Layout',
- 'spacing' => 'Abstand',
- 'row_height' => 'Zeilenhöhe',
- 'column_width' => 'Spaltenbreite',
- 'max_photos' => 'Maximale Anzahl an Fotos',
- 'max_photos_none' => 'Keine (alle Fotos)',
- 'max_photos_count' => '%d Fotos',
- 'sort_order' => 'Sortierung',
- 'sort_newest' => 'Neueste zuerst',
- 'sort_oldest' => 'Älteste zuerst',
- 'header_placement' => 'Position des Headers',
- 'header_top' => 'Oben',
- 'header_bottom' => 'Unten',
- 'header_none' => 'Keine',
- 'preview' => 'Vorschau',
- 'preview_failed' => 'Vorschau konnte nicht geladen werden.',
- 'code' => 'Einbettungscode',
- 'copy' => 'In die Zwischenablage kopieren',
- 'copied' => 'Kopiert!',
- 'copy_success' => 'Einbettungscode in die Zwischenablage kopiert',
- 'copy_error' => 'Fehler',
- 'copy_error_message' => 'Kopieren in die Zwischenablage fehlgeschlagen',
- 'show_advanced' => 'Erweiterte Optionen anzeigen',
- 'hide_advanced' => 'Erweiterte Optionen ausblenden',
- ],
- 'upload' => [
- 'completed' => 'Abgeschlossen',
- 'uploaded' => 'Hochgeladen:',
- 'release' => 'Datei zum Hochladen freigeben!',
- 'select' => 'Hier klicken um Dateien zum Hochladen auszuwählen',
- 'drag' => '(Oder Dateien auf die Seite ziehen)',
- 'loading' => 'Laden',
- 'resume' => 'Fortfahren',
- 'uploading' => 'Hochladen',
- 'finished' => 'Fertig',
- 'failed_error' => 'Hochladen fehlgeschlagen. Der Server hat einen Fehler zurückgegeben!',
- 'apply_watermark' => 'Wasserzeichen hinzufügen',
- ],
- 'camera' => [
- 'title' => 'Foto aufnehmen',
- 'capture' => 'Aufnehmen',
- 'retake' => 'Erneut aufnehmen',
- 'upload' => 'Hochladen',
- 'secure_connection_required' => 'Der Kamerazugriff erfordert eine sichere Verbindung (HTTPS oder localhost).',
- ],
- 'visibility' => [
- 'public' => 'Öffentlich',
- 'public_expl' => 'Anonyme Benutzer können auf dieses Album zugreifen, allerdings mit den unten aufgeführten Einschränkungen.',
- 'full' => 'Original',
- 'full_expl' => 'Anonyme Benutzer können Fotos in voller Auflösung betrachten.',
- 'hidden' => 'Versteckt',
- 'hidden_expl' => 'Anonyme Benutzer benötigen einen direkten Link, um auf dieses Album zuzugreifen.',
- 'downloadable' => 'Herunterladbar',
- 'downloadable_expl' => 'Anonyme Benutzer können dieses Album herunterladen.',
- 'upload' => 'Hochladen zulassen',
- 'upload_expl' => ' Anonyme Benutzer können Fotos in dieses Album hochladen.',
- 'password' => 'Passwort',
- 'password_prot' => 'Passwort geschützt',
- 'password_prot_expl' => 'Anonyme Benutzer benötigen ein gemeinsames Kennwort für den Zugriff auf dieses Album.',
- 'password_prop_not_compatible' => 'Der Antwort-Cache steht im Widerspruch zu dieser Einstellung.
Aufgrund der Zwischenspeicherung von Antworten wird die Freigabe dieses Albums auch anderen anonymen Nutzern den Inhalt offenbaren.',
- 'nsfw' => 'Sensibel',
- 'nsfw_expl' => 'Das Album enthält sensible Inhalte.',
- 'visibility_updated' => 'Sichtbarkeit aktualisiert.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Sicher, dass das Album „%1$s“ in das Album „%2$s“ verschoben werden soll?',
- 'confirm_multiple' => 'Sicher, dass alle ausgewählten Alben in das Album „%s“ verschoben werden sollen?',
- 'move_single' => 'Album verschieben',
- 'move_to' => 'Verschieben nach',
- 'move_to_single' => 'Verschiebe %s nach:',
- 'move_to_multiple' => 'Verschiebe %d Alben nach:',
- 'no_album_target' => 'Kein Album zum Verschieben',
- 'moved_single' => 'Album verschoben!',
- 'moved_single_details' => '%1$s verschoben nach %2$s',
- 'moved_details' => 'Album/Alben nach %s verschoben',
- ],
- 'new_album' => [
- 'menu' => 'Album erstellen',
- 'info' => 'Einen Titel für das neue Album angeben:',
- 'title' => 'Titel',
- 'create' => 'Album erstellen',
- 'visibility_private' => 'Dieses Album wird privat sein (nur für Sie sichtbar)',
- 'visibility_public' => 'Dieses Album wird öffentlich sein (für alle sichtbar)',
- 'visibility_public_hidden' => 'Dieses Album wird öffentlich, aber verborgen sein',
- 'visibility_inherit' => 'Dieses Album erbt die Sichtbarkeit vom übergeordneten Album',
- 'visibility_inherit_no_parent' => 'Dieses Album wird privat sein (kein übergeordnetes Album vorhanden)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Tag-Album erstellen',
- 'info' => 'Einen Titel für das neue Tag-Album angeben:',
- 'title' => 'Titel',
- 'set_tags' => 'Anzuzeigende Tags festlegen',
- 'create' => 'Tag-Album erstellen',
- ],
- 'delete_album' => [
- 'confirmation' => 'Sicher, dass das Album „%s“ und alle darin enthaltenen Fotos gelöscht werden soll?',
- 'confirmation_tag' => 'Sicher, dass das Album „%s“ gelöscht werden soll?',
- 'confirmation_multiple' => 'Sicher, dass alle %d ausgewählten Alben und alle darin enthaltenen Fotos gelöscht werden sollen?',
- 'warning' => 'Diese Aktion kann nicht rückgängig gemacht werden!',
- 'delete' => 'Album und Fotos löschen',
- ],
- 'transfer' => [
- 'query' => 'Übertrage Besitzrecht am Album auf',
- 'confirmation' => 'Sicher, dass das Besitzrecht am Album „%s“ und allen darin enthaltenen Fotos auf „%s“ übertragen werden soll?',
- 'lost_access_warning' => 'Zugriff auf dieses Album wird verloren gehen.',
- 'warning' => 'Diese Aktion kann nicht rückgängig gemacht werden!',
- 'transfer' => 'Übertragung des Besitzrechts an Album und Fotos',
- ],
- 'rename' => [
- 'photo' => 'Einen neuen Titel für dieses Foto eingeben:',
- 'album' => 'Einen neuen Titel für dieses Album eingeben:',
- 'rename' => 'Umbenennen',
- ],
- 'merge' => [
- 'merge_to' => 'Zusammenführen von %s nach:',
- 'merge_to_multiple' => 'Zusammenführen von %d Alben nach:',
- 'no_albums' => 'Keine Alben zum Zusammenführen.',
- 'confirm' => 'Sicher, dass das Album „%1$s“ mit dem Album „%2$s“ zusammengeführt werden soll?',
- 'confirm_multiple' => 'Sicher, dass alle ausgewählten Alben in das Album „%s“ zusammengeführt werden sollen?',
- 'merge' => 'Alben zusammenführen',
- 'merged' => 'Album/Alben zu %s zusammengeführt!',
- ],
- 'unlock' => [
- 'password_required' => 'Dieses Album ist durch ein Passwort geschützt. Passwort unten eingeben, um die Fotos dieses Albums zu sehen:',
- 'password' => 'Passwort',
- 'unlock' => 'freischalten',
- ],
- 'photo_tags' => [
- 'question' => 'Tags für dieses Foto eingeben.',
- 'question_multiple' => 'Tags für alle %d ausgewählten Fotos eingeben. Vorhandene Tags werden überschrieben.',
- 'no_tags' => 'Keine Tags',
- 'set_tags' => 'Tags angeben',
- 'updated' => 'Tags aktualisiert!',
- 'tags_override_info' => 'Wenn diese Option nicht aktiviert ist, werden die Tags zu den vorhandenen Tags des Fotos hinzugefügt.',
- ],
- 'photo_license' => [
- 'question' => 'Wählen Sie eine Lizenz für dieses Foto aus.',
- 'question_multiple' => 'Wählen Sie eine Lizenz für alle %d ausgewählten Fotos aus.',
- 'select_license' => 'Lizenz wählen',
- 'set_license' => 'Lizenz festlegen',
- 'updated' => 'Lizenz aktualisiert!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'Keine Alben zum Kopieren nach',
- 'copy_to' => 'Kopieren Sie %s nach:',
- 'copy_to_multiple' => 'Kopiere %d Fotos nach:',
- 'confirm' => 'Kopieren Sie %s nach %s.',
- 'confirm_multiple' => 'Kopiere %d Fotos nach %s.',
- 'copy' => 'Kopieren',
- 'copied' => 'Foto(s) kopiert!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Sicher, dass das Foto „%s“ gelöscht werden soll?',
- 'confirm_multiple' => 'Sicher, dass alle %d ausgewählten Fotos gelöscht werden sollen?',
- 'deleted' => 'Foto(s) gelöscht!',
- ],
- 'move_photo' => [
- 'move_single' => 'Verschiebe %s nach:',
- 'move_multiple' => 'Verschiebe %d Fotos nach:',
- 'confirm' => 'Verschieben Sie %s nach %s.',
- 'confirm_multiple' => 'Verschiebe %d Fotos nach %s.',
- 'moved' => 'Foto(s) nach %s verschoben!',
- ],
- 'target_user' => [
- 'placeholder' => 'Benutzer auswählen',
- ],
- 'target_album' => [
- 'placeholder' => 'Album auswählen',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentifizierung erfolgreich!',
- 'error' => 'Ups, da ist wohl etwas schief gelaufen. Bitte die Seite neu laden und es erneut versuchen!',
- ],
- 'se' => [
- 'available' => 'Erhältlich in der Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Sitzung abgelaufen',
- 'message' => 'Die Sitzung ist abgelaufen.
Bitte die Seite neu laden.',
- 'reload' => 'Neu laden',
- 'go_to_gallery' => 'Zur Galerie gehen',
- ],
- 'selected_images' => [
- 'names_copied' => 'Die Namen der ausgewählten Bilder wurden kopiert!',
- ],
- 'apply_renamer' => [
- 'title' => 'Umbenennungsregeln anwenden',
- 'description' => 'Wählen Sie die anzuwendenden Umbenennungsregeln aus und konfigurieren Sie den Umfang.',
- 'no_rules' => 'Keine Umbenennungsregeln gefunden.',
- 'target' => 'Ziel',
- 'scope' => 'Umfang',
- 'photos' => 'Fotos',
- 'albums' => 'Alben',
- 'current' => 'Aktuelle',
- 'descendants' => 'Unterelemente',
- 'preview' => 'Vorschau',
- 'preview_title' => 'Vorschau anzeigen',
- 'no_changes' => 'Keine Änderungen erkannt.',
- 'original' => 'Original',
- 'new_title' => 'Neuer Titel',
- 'count_changes' => ':count Element(e) werden umbenannt.',
- 'back' => 'Zurück',
- 'apply' => 'Anwenden',
- 'success' => 'Umbenennungsregeln erfolgreich angewendet!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Wasserzeichen hinzufügen',
- 'description' => 'Sind Sie sicher, dass Sie den Fotos in diesem Album ein Wasserzeichen hinzufügen möchten? Diese Aktion kann nicht rückgängig gemacht werden.',
- 'confirm' => 'Wasserzeichen hinzufügen',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Schließen',
+ 'cancel' => 'Abbrechen',
+ 'save' => 'Speichern',
+ 'delete' => 'Löschen',
+ 'move' => 'Verschieben',
+ ],
+ 'about' => [
+ 'subtitle' => 'Selbst gehostetes Fotomanagement richtig gemacht',
+ 'description' => 'Lychee ist ein kostenloses Fotoverwaltungsprogramm, das auf einem Server oder Webspace betrieben werden kann. Die Installation erfolgt in wenigen Sekunden. Fotos lassen sich hochladen, verwalten und teilen – ganz wie in einer nativen Anwendung. Lychee bietet alle notwendigen Funktionen und sorgt für eine sichere Speicherung sämtlicher Bilder.',
+ 'update_available' => 'Update verfügbar!',
+ 'thank_you' => 'Vielen Dank für Ihre Unterstützung!',
+ 'get_supporter_or_register' => 'Exklusive Funktionen stehen in der Supporter Edition zur Verfügung und tragen zur Weiterentwicklung von Lychee bei.
Die Freischaltung kann über den Erwerb dieser Edition oder durch die Registrierung eines Lizenzschlüssels erfolgen',
+ 'here' => 'hier',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox ist nicht konfiguriert.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Bitte geben Sie den direkten Link zu einem Foto ein, um es zu importieren:',
+ 'import' => 'Importieren',
+ ],
+ 'keybindings' => [
+ 'header' => 'Tastaturkürzel',
+ 'don_t_show_again' => 'Diesen Dialog nicht nochmal anzeigen',
+ 'hide_header_button' => 'Hilfe im Header nicht anzeigen',
+ 'side_wide' => 'Global gültige Tastaturkürzel',
+ 'back_cancel' => 'Zurück/Abbrechen',
+ 'confirm' => 'Bestätigen',
+ 'login' => 'Anmelden',
+ 'toggle_full_screen' => 'Vollbild umschalten',
+ 'toggle_sensitive_albums' => 'Sensible Alben umschalten',
+ 'albums' => 'Alben Tastaturkürzel',
+ 'new_album' => 'Neues Album',
+ 'upload_photos' => 'Fotos hochladen',
+ 'search' => 'Suche',
+ 'show_this_modal' => 'Dieses Modal anzeigen',
+ 'select_all' => 'Alles auswählen',
+ 'move_selection' => 'Auswahl verschieben',
+ 'delete_selection' => 'Auswahl löschen',
+ 'album' => 'Album Tastaturkürzel',
+ 'slideshow' => 'Diashow starten/stoppen',
+ 'toggle' => 'Panel umschalten',
+ 'photo' => 'Foto Tastaturkürzel',
+ 'previous' => 'Vorheriges Foto',
+ 'next' => 'Nächstes Foto',
+ 'cycle' => 'Overlay Modus durchschalten',
+ 'star' => 'Foto als Favorit markieren',
+ 'move' => 'Foto verschieben',
+ 'delete' => 'Foto löschen',
+ 'edit' => 'Informationen bearbeiten',
+ 'show_hide_meta' => 'Informationen anzeigen',
+ 'keep_hidden' => 'Es wird verborgen bleiben.',
+ 'button_hidden' => 'Schaltfläche im Header wird ausgeblendet.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authentifizierung mit %s',
+ 'username' => 'Benutzername',
+ 'password' => 'Passwort',
+ 'unknown_invalid' => 'Unbekannter Benutzer oder ungültiges Passwort.',
+ 'signin' => 'Anmelden',
+ 'remember_me' => 'Angemeldet bleiben',
+ ],
+ 'register' => [
+ 'enter_license' => 'Den Lizenzschlüssel eingeben:',
+ 'license_key' => 'Lizenzschlüssel',
+ 'invalid_license' => 'Ungültiger Lizenzschlüssel.',
+ 'expired_license' => 'Ihr Lizenzschlüssel ist abgelaufen. Löschen Sie das Feld oder besorgen Sie sich einen neuen Schlüssel unter keygen.lycheeorg.dev.',
+ 'register' => 'Registrieren',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'URL in die Zwischenablage kopiert!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Album einbetten',
+ 'title_stream' => 'Fotostream einbetten',
+ 'info' => 'Erzeugen Sie einen Einbettungscode, um dieses Album auf Ihrer Website anzuzeigen.',
+ 'mode' => 'Modus',
+ 'mode_album_help' => 'Fotos aus diesem spezifischen Album einbetten.',
+ 'mode_stream_help' => 'Alle Ihre öffentlichen Fotos als chronologischen Stream einbetten (neueste zuerst).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Abstand',
+ 'row_height' => 'Zeilenhöhe',
+ 'column_width' => 'Spaltenbreite',
+ 'max_photos' => 'Maximale Anzahl an Fotos',
+ 'max_photos_none' => 'Keine (alle Fotos)',
+ 'max_photos_count' => '%d Fotos',
+ 'sort_order' => 'Sortierung',
+ 'sort_newest' => 'Neueste zuerst',
+ 'sort_oldest' => 'Älteste zuerst',
+ 'header_placement' => 'Position des Headers',
+ 'header_top' => 'Oben',
+ 'header_bottom' => 'Unten',
+ 'header_none' => 'Keine',
+ 'preview' => 'Vorschau',
+ 'preview_failed' => 'Vorschau konnte nicht geladen werden.',
+ 'code' => 'Einbettungscode',
+ 'copy' => 'In die Zwischenablage kopieren',
+ 'copied' => 'Kopiert!',
+ 'copy_success' => 'Einbettungscode in die Zwischenablage kopiert',
+ 'copy_error' => 'Fehler',
+ 'copy_error_message' => 'Kopieren in die Zwischenablage fehlgeschlagen',
+ 'show_advanced' => 'Erweiterte Optionen anzeigen',
+ 'hide_advanced' => 'Erweiterte Optionen ausblenden',
+ ],
+ 'upload' => [
+ 'completed' => 'Abgeschlossen',
+ 'uploaded' => 'Hochgeladen:',
+ 'release' => 'Datei zum Hochladen freigeben!',
+ 'select' => 'Hier klicken um Dateien zum Hochladen auszuwählen',
+ 'drag' => '(Oder Dateien auf die Seite ziehen)',
+ 'loading' => 'Laden',
+ 'resume' => 'Fortfahren',
+ 'uploading' => 'Hochladen',
+ 'finished' => 'Fertig',
+ 'failed_error' => 'Hochladen fehlgeschlagen. Der Server hat einen Fehler zurückgegeben!',
+ 'apply_watermark' => 'Wasserzeichen hinzufügen',
+ ],
+ 'camera' => [
+ 'title' => 'Foto aufnehmen',
+ 'capture' => 'Aufnehmen',
+ 'retake' => 'Erneut aufnehmen',
+ 'upload' => 'Hochladen',
+ 'secure_connection_required' => 'Der Kamerazugriff erfordert eine sichere Verbindung (HTTPS oder localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Öffentlich',
+ 'public_expl' => 'Anonyme Benutzer können auf dieses Album zugreifen, allerdings mit den unten aufgeführten Einschränkungen.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonyme Benutzer können Fotos in voller Auflösung betrachten.',
+ 'hidden' => 'Versteckt',
+ 'hidden_expl' => 'Anonyme Benutzer benötigen einen direkten Link, um auf dieses Album zuzugreifen.',
+ 'downloadable' => 'Herunterladbar',
+ 'downloadable_expl' => 'Anonyme Benutzer können dieses Album herunterladen.',
+ 'upload' => 'Hochladen zulassen',
+ 'upload_expl' => ' Anonyme Benutzer können Fotos in dieses Album hochladen.',
+ 'password' => 'Passwort',
+ 'password_prot' => 'Passwort geschützt',
+ 'password_prot_expl' => 'Anonyme Benutzer benötigen ein gemeinsames Kennwort für den Zugriff auf dieses Album.',
+ 'password_prop_not_compatible' => 'Der Antwort-Cache steht im Widerspruch zu dieser Einstellung.
Aufgrund der Zwischenspeicherung von Antworten wird die Freigabe dieses Albums auch anderen anonymen Nutzern den Inhalt offenbaren.',
+ 'nsfw' => 'Sensibel',
+ 'nsfw_expl' => 'Das Album enthält sensible Inhalte.',
+ 'visibility_updated' => 'Sichtbarkeit aktualisiert.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Sicher, dass das Album „%1$s“ in das Album „%2$s“ verschoben werden soll?',
+ 'confirm_multiple' => 'Sicher, dass alle ausgewählten Alben in das Album „%s“ verschoben werden sollen?',
+ 'move_single' => 'Album verschieben',
+ 'move_to' => 'Verschieben nach',
+ 'move_to_single' => 'Verschiebe %s nach:',
+ 'move_to_multiple' => 'Verschiebe %d Alben nach:',
+ 'no_album_target' => 'Kein Album zum Verschieben',
+ 'moved_single' => 'Album verschoben!',
+ 'moved_single_details' => '%1$s verschoben nach %2$s',
+ 'moved_details' => 'Album/Alben nach %s verschoben',
+ ],
+ 'new_album' => [
+ 'menu' => 'Album erstellen',
+ 'info' => 'Einen Titel für das neue Album angeben:',
+ 'title' => 'Titel',
+ 'create' => 'Album erstellen',
+ 'visibility_private' => 'Dieses Album wird privat sein (nur für Sie sichtbar)',
+ 'visibility_public' => 'Dieses Album wird öffentlich sein (für alle sichtbar)',
+ 'visibility_public_hidden' => 'Dieses Album wird öffentlich, aber verborgen sein',
+ 'visibility_inherit' => 'Dieses Album erbt die Sichtbarkeit vom übergeordneten Album',
+ 'visibility_inherit_no_parent' => 'Dieses Album wird privat sein (kein übergeordnetes Album vorhanden)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Tag-Album erstellen',
+ 'info' => 'Einen Titel für das neue Tag-Album angeben:',
+ 'title' => 'Titel',
+ 'set_tags' => 'Anzuzeigende Tags festlegen',
+ 'create' => 'Tag-Album erstellen',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Sicher, dass das Album „%s“ und alle darin enthaltenen Fotos gelöscht werden soll?',
+ 'confirmation_tag' => 'Sicher, dass das Album „%s“ gelöscht werden soll?',
+ 'confirmation_multiple' => 'Sicher, dass alle %d ausgewählten Alben und alle darin enthaltenen Fotos gelöscht werden sollen?',
+ 'warning' => 'Diese Aktion kann nicht rückgängig gemacht werden!',
+ 'delete' => 'Album und Fotos löschen',
+ ],
+ 'transfer' => [
+ 'query' => 'Übertrage Besitzrecht am Album auf',
+ 'confirmation' => 'Sicher, dass das Besitzrecht am Album „%s“ und allen darin enthaltenen Fotos auf „%s“ übertragen werden soll?',
+ 'lost_access_warning' => 'Zugriff auf dieses Album wird verloren gehen.',
+ 'warning' => 'Diese Aktion kann nicht rückgängig gemacht werden!',
+ 'transfer' => 'Übertragung des Besitzrechts an Album und Fotos',
+ ],
+ 'rename' => [
+ 'photo' => 'Einen neuen Titel für dieses Foto eingeben:',
+ 'album' => 'Einen neuen Titel für dieses Album eingeben:',
+ 'rename' => 'Umbenennen',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Zusammenführen von %s nach:',
+ 'merge_to_multiple' => 'Zusammenführen von %d Alben nach:',
+ 'no_albums' => 'Keine Alben zum Zusammenführen.',
+ 'confirm' => 'Sicher, dass das Album „%1$s“ mit dem Album „%2$s“ zusammengeführt werden soll?',
+ 'confirm_multiple' => 'Sicher, dass alle ausgewählten Alben in das Album „%s“ zusammengeführt werden sollen?',
+ 'merge' => 'Alben zusammenführen',
+ 'merged' => 'Album/Alben zu %s zusammengeführt!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'Dieses Album ist durch ein Passwort geschützt. Passwort unten eingeben, um die Fotos dieses Albums zu sehen:',
+ 'password' => 'Passwort',
+ 'unlock' => 'freischalten',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Tags für dieses Foto eingeben.',
+ 'question_multiple' => 'Tags für alle %d ausgewählten Fotos eingeben. Vorhandene Tags werden überschrieben.',
+ 'no_tags' => 'Keine Tags',
+ 'set_tags' => 'Tags angeben',
+ 'updated' => 'Tags aktualisiert!',
+ 'tags_override_info' => 'Wenn diese Option nicht aktiviert ist, werden die Tags zu den vorhandenen Tags des Fotos hinzugefügt.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Wählen Sie eine Lizenz für dieses Foto aus.',
+ 'question_multiple' => 'Wählen Sie eine Lizenz für alle %d ausgewählten Fotos aus.',
+ 'select_license' => 'Lizenz wählen',
+ 'set_license' => 'Lizenz festlegen',
+ 'updated' => 'Lizenz aktualisiert!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'Keine Alben zum Kopieren nach',
+ 'copy_to' => 'Kopieren Sie %s nach:',
+ 'copy_to_multiple' => 'Kopiere %d Fotos nach:',
+ 'confirm' => 'Kopieren Sie %s nach %s.',
+ 'confirm_multiple' => 'Kopiere %d Fotos nach %s.',
+ 'copy' => 'Kopieren',
+ 'copied' => 'Foto(s) kopiert!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Sicher, dass das Foto „%s“ gelöscht werden soll?',
+ 'confirm_multiple' => 'Sicher, dass alle %d ausgewählten Fotos gelöscht werden sollen?',
+ 'deleted' => 'Foto(s) gelöscht!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Verschiebe %s nach:',
+ 'move_multiple' => 'Verschiebe %d Fotos nach:',
+ 'confirm' => 'Verschieben Sie %s nach %s.',
+ 'confirm_multiple' => 'Verschiebe %d Fotos nach %s.',
+ 'moved' => 'Foto(s) nach %s verschoben!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Benutzer auswählen',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Album auswählen',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentifizierung erfolgreich!',
+ 'error' => 'Ups, da ist wohl etwas schief gelaufen. Bitte die Seite neu laden und es erneut versuchen!',
+ ],
+ 'se' => [
+ 'available' => 'Erhältlich in der Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Sitzung abgelaufen',
+ 'message' => 'Die Sitzung ist abgelaufen.
Bitte die Seite neu laden.',
+ 'reload' => 'Neu laden',
+ 'go_to_gallery' => 'Zur Galerie gehen',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'Die Namen der ausgewählten Bilder wurden kopiert!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Umbenennungsregeln anwenden',
+ 'description' => 'Wählen Sie die anzuwendenden Umbenennungsregeln aus und konfigurieren Sie den Umfang.',
+ 'no_rules' => 'Keine Umbenennungsregeln gefunden.',
+ 'target' => 'Ziel',
+ 'scope' => 'Umfang',
+ 'photos' => 'Fotos',
+ 'albums' => 'Alben',
+ 'current' => 'Aktuelle',
+ 'descendants' => 'Unterelemente',
+ 'preview' => 'Vorschau',
+ 'preview_title' => 'Vorschau anzeigen',
+ 'no_changes' => 'Keine Änderungen erkannt.',
+ 'original' => 'Original',
+ 'new_title' => 'Neuer Titel',
+ 'count_changes' => ':count Element(e) werden umbenannt.',
+ 'back' => 'Zurück',
+ 'apply' => 'Anwenden',
+ 'success' => 'Umbenennungsregeln erfolgreich angewendet!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Wasserzeichen hinzufügen',
+ 'description' => 'Sind Sie sicher, dass Sie den Fotos in diesem Album ein Wasserzeichen hinzufügen möchten? Diese Aktion kann nicht rückgängig gemacht werden.',
+ 'confirm' => 'Wasserzeichen hinzufügen',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/de/duplicate-finder.php b/lang/de/duplicate-finder.php
index b89b431d6d8..32c72ca0cab 100644
--- a/lang/de/duplicate-finder.php
+++ b/lang/de/duplicate-finder.php
@@ -1,26 +1,26 @@
'Wartung',
- 'intro' => 'Auf dieser Seite finden Sie die doppelten Bilder, die in Ihrer Datenbank gefunden wurden.',
- 'found' => ' Duplikate gefunden!',
- 'invalid-search' => ' Mindestens die Prüfsumme oder die Titelbedingung muss geprüft werden.',
- 'checksum-must-match' => 'Die Prüfsumme muss übereinstimmen.',
- 'title-must-match' => 'Der Titel muss übereinstimmen.',
- 'must-be-in-same-album' => 'Müssen im selben Album sein.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Foto',
- 'checksum' => 'Prüfsumme',
- ],
- 'warning' => [
- 'no-original-left' => 'Kein Original übrig.',
- 'keep-one' => 'Sie haben alle Duplikate in dieser Gruppe ausgewählt. Bitte wählen Sie mindestens ein Duplikat, das Sie behalten möchten.',
- ],
- 'delete-selected' => 'Ausgewählte löschen',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Wartung',
+ 'intro' => 'Auf dieser Seite finden Sie die doppelten Bilder, die in Ihrer Datenbank gefunden wurden.',
+ 'found' => ' Duplikate gefunden!',
+ 'invalid-search' => ' Mindestens die Prüfsumme oder die Titelbedingung muss geprüft werden.',
+ 'checksum-must-match' => 'Die Prüfsumme muss übereinstimmen.',
+ 'title-must-match' => 'Der Titel muss übereinstimmen.',
+ 'must-be-in-same-album' => 'Müssen im selben Album sein.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Foto',
+ 'checksum' => 'Prüfsumme',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'Kein Original übrig.',
+ 'keep-one' => 'Sie haben alle Duplikate in dieser Gruppe ausgewählt. Bitte wählen Sie mindestens ein Duplikat, das Sie behalten möchten.',
+ ],
+ 'delete-selected' => 'Ausgewählte löschen',
];
diff --git a/lang/de/fix-tree.php b/lang/de/fix-tree.php
index e3a3905178f..a04016f7ade 100644
--- a/lang/de/fix-tree.php
+++ b/lang/de/fix-tree.php
@@ -1,46 +1,46 @@
'Wartung',
- 'intro' => 'Auf dieser Seite können Alben manuell neu angeordnet und korrigiert werden.
Bevor Änderungen vorgenommen werden, empfehlen wir dringend, sich über verschachtelte Baumstruktur zu informieren.',
- 'warning' => 'Die Lychee-Installation kann hier wirklich zerstört werden. Ändern der Werte auf eigene Gefahr.',
- 'help' => [
- 'header' => 'Hilfe',
- 'hover' => 'Bewegen Sie den Mauszeiger über Namen oder Titel, um verwandte Alben hervorzuheben.',
- 'left' => 'Links',
- 'right' => 'Rechts',
- 'convenience' => 'Die Schaltflächen und ermöglichen es, die Werte von %s und %s um +1 bzw. -1 zu ändern und weiterzugeben.',
- 'left-right-warn' => 'Das und zeigt an, dass der Wert von %s (bzw. %s) irgendwo doppelt vorhanden ist.',
- 'parent-marked' => 'Die Markierung Parent Id zeigt an, dass die %s und %s nicht den verschachtelten Baumstrukturen entsprechen. Die Parent Id oder die %s/%s Werte sollten bearbeitet werden.',
- 'slowness' => 'Diese Seite wird bei einer großen Anzahl von Alben sehr langsam sein.',
- ],
- 'buttons' => [
- 'reset' => 'Zurücksetzen',
- 'check' => 'Prüfen',
- 'apply' => 'Anwenden',
- ],
- 'no-changes' => 'Keine Änderungen anzuwenden.',
- 'table' => [
- 'title' => 'Titel',
- 'left' => 'Links',
- 'right' => 'Rechts',
- 'id' => 'ID',
- 'parent' => 'Übergeordnete ID',
- ],
- 'errors' => [
- 'invalid' => 'Ungültiger Baum!',
- 'invalid_details' => 'Wir wenden dies nicht an, da es sich garantiert um einen defekten Zustand handelt.',
- 'invalid_left' => 'Album %s hat einen ungültigen linken Wert.',
- 'invalid_right' => 'Album %s hat einen ungültigen Wert.',
- 'invalid_left_right' => 'Album %s hat einen ungültigen Links/Rechts-Wert. Links sollte deutlich kleiner sein als rechts: %s < %s.',
- 'duplicate_left' => 'Album %s hat einen doppelten Wert %s.',
- 'duplicate_right' => 'Album %s hat einen doppelten berechneten Wert %s.',
- 'parent' => 'Album %s hat eine unerwartete übergeordnete ID %s.',
- 'unknown' => 'Album %s hat einen unbekannten Fehler.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Wartung',
+ 'intro' => 'Auf dieser Seite können Alben manuell neu angeordnet und korrigiert werden.
Bevor Änderungen vorgenommen werden, empfehlen wir dringend, sich über verschachtelte Baumstruktur zu informieren.',
+ 'warning' => 'Die Lychee-Installation kann hier wirklich zerstört werden. Ändern der Werte auf eigene Gefahr.',
+ 'help' => [
+ 'header' => 'Hilfe',
+ 'hover' => 'Bewegen Sie den Mauszeiger über Namen oder Titel, um verwandte Alben hervorzuheben.',
+ 'left' => 'Links',
+ 'right' => 'Rechts',
+ 'convenience' => 'Die Schaltflächen und ermöglichen es, die Werte von %s und %s um +1 bzw. -1 zu ändern und weiterzugeben.',
+ 'left-right-warn' => 'Das und zeigt an, dass der Wert von %s (bzw. %s) irgendwo doppelt vorhanden ist.',
+ 'parent-marked' => 'Die Markierung Parent Id zeigt an, dass die %s und %s nicht den verschachtelten Baumstrukturen entsprechen. Die Parent Id oder die %s/%s Werte sollten bearbeitet werden.',
+ 'slowness' => 'Diese Seite wird bei einer großen Anzahl von Alben sehr langsam sein.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Zurücksetzen',
+ 'check' => 'Prüfen',
+ 'apply' => 'Anwenden',
+ ],
+ 'no-changes' => 'Keine Änderungen anzuwenden.',
+ 'table' => [
+ 'title' => 'Titel',
+ 'left' => 'Links',
+ 'right' => 'Rechts',
+ 'id' => 'ID',
+ 'parent' => 'Übergeordnete ID',
+ ],
+ 'errors' => [
+ 'invalid' => 'Ungültiger Baum!',
+ 'invalid_details' => 'Wir wenden dies nicht an, da es sich garantiert um einen defekten Zustand handelt.',
+ 'invalid_left' => 'Album %s hat einen ungültigen linken Wert.',
+ 'invalid_right' => 'Album %s hat einen ungültigen Wert.',
+ 'invalid_left_right' => 'Album %s hat einen ungültigen Links/Rechts-Wert. Links sollte deutlich kleiner sein als rechts: %s < %s.',
+ 'duplicate_left' => 'Album %s hat einen doppelten Wert %s.',
+ 'duplicate_right' => 'Album %s hat einen doppelten berechneten Wert %s.',
+ 'parent' => 'Album %s hat eine unerwartete übergeordnete ID %s.',
+ 'unknown' => 'Album %s hat einen unbekannten Fehler.',
+ ],
];
diff --git a/lang/de/flow.php b/lang/de/flow.php
index 4023bad7476..039372fccb2 100644
--- a/lang/de/flow.php
+++ b/lang/de/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'von %s',
- 'open_album' => 'Album öffnen',
- 'show_more' => 'Mehr anzeigen',
- 'no_content' => 'Kein Inhalt.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'von %s',
+ 'open_album' => 'Album öffnen',
+ 'show_more' => 'Mehr anzeigen',
+ 'no_content' => 'Kein Inhalt.',
];
diff --git a/lang/de/gallery.php b/lang/de/gallery.php
index efc9b88a4d8..d4e8ca9c3cd 100644
--- a/lang/de/gallery.php
+++ b/lang/de/gallery.php
@@ -1,357 +1,357 @@
'Galerie',
- 'smart_albums' => 'Intelligente Alben',
- 'pinned_albums' => 'Hervorgehobene Alben',
- 'albums' => 'Alben',
- 'root' => 'Alben',
- 'set_focus' => 'Fokus setzen',
- 'set_header_focus' => 'Header-Fokus setzen',
- 'done' => 'Fertig',
- 'cancel' => 'Abbrechen',
- 'tabs' => [
- 'my_albums' => 'Meine Alben',
- 'shared_with_me' => 'Mit mir geteilt',
- ],
- 'favourites' => 'Favoriten',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Mittel',
- 'medium_hidpi' => 'Mittel HiDPI',
- 'small' => 'Miniatur',
- 'small_hidpi' => 'Miniatur HiDPI',
- 'thumb' => 'Miniatur Quadratisch',
- 'thumb_hidpi' => 'Miniatur Quadratisch HiDPI',
- 'placeholder' => 'Platzhalter für Bilder niedriger Qualität',
- 'thumbnail' => 'Foto-Miniaturansicht',
- 'live_video' => 'Videoteil des Live-Fotos',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Wählen Sie die Bildauflösung für das Album-ZIP-Archiv. Falls ein Foto die gewählte Variante nicht hat, wird das Original verwendet.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Datum Kamera',
- 'album_reserved' => 'Alle Rechte vorbehalten',
- 'map' => [
- 'error_gpx' => 'Fehler beim Laden einer GPX-Datei',
- 'osm_contributors' => 'OpenStreetMap-Mitarbeiter',
- ],
- 'search' => [
- 'title' => 'Suche',
- 'no_results' => 'Keine Übereinstimmung mit Ihrer Suchanfrage.',
- 'searchbox' => 'Suche…',
- 'minimum_chars' => 'Mindestens %s Zeichen erforderlich.',
- 'photos' => 'Fotos (%s)',
- 'albums' => 'Alben (%s)',
- 'advanced' => [
- 'title' => 'Erweiterte Suche',
- 'search_button' => 'Suchen',
- 'toggle_advanced' => 'Erweiterte Suche umschalten',
- 'clear' => 'Zurücksetzten',
- 'title_label' => 'Titel',
- 'description' => 'Beschreibung',
- 'location' => 'Ort',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'Sonnenuntergang, Strand',
- 'date_from' => 'Datum von',
- 'date_to' => 'Datum bis',
- 'type' => 'Typ',
- 'orientation' => 'Ausrichtung',
- 'rating_min' => 'Min. Bewertung (Ø)',
- 'rating_own' => 'Min. Bewertung (eigene)',
- 'type_image' => 'Bild',
- 'type_video' => 'Video',
- 'type_raw' => 'RAW',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Querformat',
- 'orientation_portrait' => 'Hochformat',
- 'orientation_square' => 'Quadratisch',
- 'exif' => 'EXIF',
- 'make' => 'Hersteller',
- 'model' => 'Modell',
- 'lens' => 'Objektiv',
- 'aperture' => 'Blende',
- 'shutter' => 'Verschlusszeit',
- 'focal' => 'Brennweite',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsortiert',
- 'highlighted' => 'Als Favorit markiert',
- 'recent' => 'Zuletzt hinzugefügt',
- 'public' => 'Öffentlich',
- 'on_this_day' => 'An diesem Tag',
- 'untagged' => 'Ohne Tags',
- 'unrated' => 'Unbewertet',
- 'one_star' => '1 Stern',
- 'two_stars' => '2 Sterne',
- 'three_stars' => '3+ Sterne',
- 'four_stars' => '4+ Sterne',
- 'five_stars' => '5 Sterne',
- 'best_pictures' => 'Beste Bilder',
- 'my_rated_pictures' => 'Meine bewerteten Bilder',
- 'my_best_pictures' => 'Meine besten Bilder',
- ],
- 'layout' => [
- 'squares' => 'Quadratische Miniaturansichten',
- 'justified' => 'Mit Seitenverhältnis, bündig',
- 'masonry' => 'Mit Seitenverhältnis, Masonry',
- 'grid' => 'Mit Seitenverhältnis, Raster',
- 'filmstrip' => 'Filmstreifen',
- 'list' => 'Listenansicht',
- ],
- 'filter' => [
- 'by_rating' => 'Nach Sternen filtern',
- 'n_stars_or_higher' => 'Nach :n oder mehr Sternen filtern',
- ],
- 'overlay' => [
- 'none' => 'Keine',
- 'exif' => 'EXIF-Daten',
- 'description' => 'Beschreibung',
- 'date' => 'Aufnahmedatum',
- ],
- 'timeline' => [
- 'title' => 'Zeitstrahl',
- 'load_previous' => 'Vorheriges laden',
- 'default' => 'Standard',
- 'disabled' => 'deaktiviert',
- 'year' => 'Jahr',
- 'month' => 'Monat',
- 'day' => 'Tag',
- 'hour' => 'Stunde',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Unendliches Scrollen',
- 'load_more_button' => '„Mehr laden“-Schaltfläche',
- 'page_navigation' => 'Seitennavigation',
- 'loading' => 'Lade …',
- 'load_more' => 'Mehr laden',
- 'load_more_photos' => 'Mehr laden (%s Fotos verbleibend)',
- 'load_more_albums' => 'Mehr laden (%s Alben verbleibend)',
- ],
- 'album' => [
- 'header_albums' => 'Alben',
- 'header_photos' => 'Fotos',
- 'show_highlighted' => 'Favoriten filtern',
- 'copy_highlighted_names' => 'Namen der Favoriten in die Zwischenablage kopieren',
- 'no_results' => 'Hier gibt es nichts zu sehen',
- 'upload' => 'Fotos hochladen',
- 'tabs' => [
- 'about' => 'Über das Album',
- 'share' => 'Album teilen',
- 'embed' => 'Album einbetten',
- 'move' => 'Album verschieben',
- 'shop' => 'Shop-Verwaltung',
- 'danger' => 'GEFAHRENZONE',
- ],
- 'hero' => [
- 'created' => 'Erstellt',
- 'copyright' => 'Urheberrecht',
- 'subalbums' => 'Unteralben',
- 'images' => 'Fotos',
- 'download' => 'Album herunterladen',
- 'share' => 'Album teilen',
- 'embed' => 'Album einbetten',
- 'stats_only_se' => 'In der Supporter-Edition verfügbare Statistiken',
- 'edit' => 'Bearbeiten',
- 'save' => 'Speichern',
- 'open_gallery' => 'Galerie öffnen',
- 'apply_renamer' => 'Umbenennungsregeln',
- 'watermark' => 'Wasserzeichen',
- ],
- 'stats' => [
- 'number_of_visits' => 'Anzahl der Besuche',
- 'number_of_downloads' => 'Anzahl der Downloads',
- 'number_of_shares' => 'Wie oft geteilt',
- 'lens' => 'Objektiv',
- 'shutter' => 'Verschlusszeit',
- 'iso' => 'ISO',
- 'model' => 'Modell',
- 'aperture' => 'Blende',
- 'no_data' => 'Keine Daten',
- ],
- 'properties' => [
- 'title' => 'Titel',
- 'slug' => 'Slug (lesbare URL)',
- 'generate_slug' => 'Slug aus Titel generieren',
- 'copy_slug_url' => 'URL in die Zwischenablage kopieren',
- 'description' => 'Beschreibung',
- 'photo_ordering' => 'Fotos anordnen nach',
- 'children_ordering' => 'Alben anordnen nach',
- 'asc/desc' => 'Aufsteigend/Absteigend',
- 'header' => 'Album-Header festlegen',
- 'compact_header' => 'Kompakten Header verwenden',
- 'license' => 'Lizenz festlegen',
- 'copyright' => 'Urheberrecht festlegen',
- 'aspect_ratio' => 'Seitenverhältnis der Album-Miniatur festlegen',
- 'album_timeline' => 'Zeitstrahl-Modus des Albums festlegen',
- 'photo_timeline' => 'Zeitstrahl-Modus der Fotos festlegen',
- 'layout' => 'Fotolayout festlegen',
- 'show_tags' => 'Anzuzeigende Tags festlegen',
- 'tags_required' => 'Tags sind erforderlich.',
- 'all_tags_must_match' => 'Alle Tags müssen übereinstimmen.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Mit Stern bewerten',
- 'unhighlight' => 'Stern entfernen',
- 'set_album_header' => 'Als Album-Header festlegen',
- 'move' => 'Verschieben',
- 'delete' => 'Löschen',
- 'header_set' => 'Header festgelegt',
- ],
- 'details' => [
- 'exif_data' => 'EXIF-Daten',
- 'about' => 'Über',
- 'basics' => 'Grundeinstellungen',
- 'title' => 'Titel',
- 'uploaded' => 'Hochgeladen',
- 'description' => 'Beschreibung',
- 'license' => 'Lizenz',
- 'reuse' => 'Wiederverwenden',
- 'latitude' => 'Breitengrad',
- 'longitude' => 'Längengrad',
- 'altitude' => 'Höhenlage',
- 'location' => 'Standort',
- 'image' => 'Bild',
- 'video' => 'Video',
- 'size' => 'Größe',
- 'format' => 'Format',
- 'resolution' => 'Auflösung',
- 'duration' => 'Dauer',
- 'fps' => 'Bildfrequenz',
- 'tags' => 'Tags',
- 'camera' => 'Kamera',
- 'captured' => 'Aufgenommen',
- 'make' => 'Marke',
- 'type' => 'Typ/Modell',
- 'lens' => 'Objektiv',
- 'shutter' => 'Verschlusszeit',
- 'aperture' => 'Blende',
- 'focal' => 'Brennweite',
- 'iso' => 'ISO %s',
- 'albums' => 'Alben',
- 'albums_loading' => 'Lade …',
- 'no_albums' => 'Dieses Foto befindet sich in keinem Album.',
- 'albums_loading_error' => 'Alben konnten nicht geladen werden.',
- 'stats' => [
- 'header' => 'Statistiken',
- 'number_of_visits' => 'Anzahl der Besuche',
- 'number_of_downloads' => 'Anzahl der Downloads',
- 'number_of_shares' => 'Wie oft geteilt',
- 'number_of_favourites' => 'Anzahl der Favoriten',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Kopieren',
- 'copy_success' => 'Link in die Zwischenablage kopiert.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Titel festlegen',
- 'set_description' => 'Beschreibung festlegen',
- 'set_license' => 'Lizenz festlegen',
- 'no_tags' => 'Keine Tags',
- 'set_tags' => 'Tags festlegen',
- 'set_created_at' => 'Upload-Datum festlegen',
- 'set_taken_at' => 'Aufnahmedatum festlegen',
- 'set_taken_at_info' => 'Wenn diese Option aktiviert ist, wird ein Sternchen %s angezeigt, um darauf hinzuweisen, dass es sich bei diesem Datum nicht um das ursprüngliche EXIF-Datum handelt.
Deaktivieren des Kontrollkästchens und speichern stellt das ursprüngliche Datum wieder her.',
- ],
- 'rating' => [
- 'header' => 'Bewertung',
- 'rating' => 'Bewertung',
- 'ratings' => 'Bewertungen',
- 'your_rating' => 'Ihre Bewertung',
- 'saving' => 'Bewertung wird gespeichert …',
- 'removed' => 'Bewertung entfernt',
- 'saved' => 'Bewertung gespeichert',
- 'error' => 'Fehler beim Speichern der Bewertung',
- 'error_unauthorized' => 'Sie müssen angemeldet sein, um Fotos zu bewerten',
- 'error_forbidden' => 'Sie haben keine Berechtigung, dieses Foto zu bewerten',
- 'error_not_found' => 'Foto nicht gefunden',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensibler Inhalt',
- 'description' => 'Dieses Album enthält sensible Inhalte, die manche Menschen als beleidigend oder verstörend empfinden könnten.',
- 'consent' => 'Tippen zum Einverständnis.',
- ],
- 'menus' => [
- 'highlight' => 'Favorit hinzufügen',
- 'unhighlight' => 'Favorit entfernen',
- 'highlight_all' => 'Auswahl als Favoriten markieren',
- 'unhighlight_all' => 'Auswahl als Favoriten entfernen',
- 'tag' => 'Tag',
- 'tag_all' => 'Auswahl taggen',
- 'tag_filter_label' => 'Nach Tags filtern:',
- 'tag_filter_logic_or' => 'Beliebiger Tag (ODER)',
- 'tag_filter_logic_and' => 'Alle Tags (UND)',
- 'tag_filter_apply' => 'Filter anwenden',
- 'tag_filter_clear' => 'Filter zurücksetzen',
- 'tag_filter_no_results' => 'Keine Fotos entsprechen Ihrem Tag-Filter.',
- 'tag_filter_active_summary' => 'Gefiltert nach :count Tag(s) mit :logic-Logik',
- 'license' => 'Lizenz',
- 'license_all' => 'Auswahl lizensieren',
- 'set_cover' => 'Album-Cover festlegen',
- 'remove_header' => 'Album-Header entfernen',
- 'set_header' => 'Album-Header festlegen',
- 'copy_to' => 'Kopieren nach …',
- 'copy_all_to' => 'Auswahl kopieren nach …',
- 'rename' => 'Umbenennen',
- 'move' => 'Verschieben',
- 'move_all' => 'Auswahl verschieben',
- 'pin' => 'Anheften',
- 'unpin' => 'Loslösen',
- 'delete' => 'Löschen',
- 'delete_all' => 'Auswahl löschen',
- 'download' => 'Herunterladen',
- 'download_all' => 'Auswahl herunterladen',
- 'merge' => 'Zusammenführen',
- 'merge_all' => 'Auswahl zusammenführen',
- 'apply_renamer' => 'Umbenennungsregeln auf Auswahl anwenden',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Foto hochladen',
- 'take_photo' => 'Foto aufnehmen',
- 'import_link' => 'Von Link importieren',
- 'import_server' => 'Vom Server importieren',
- 'import_dropbox' => 'Importieren aus der Dropbox',
- 'new_album' => 'Neues Album',
- 'new_tag_album' => 'Neues Tag-Album',
- 'upload_track' => 'GPS-Track hochladen',
- 'delete_track' => 'GPS-Track löschen',
- ],
- 'sort' => [
- 'photo_select_1' => 'Zeit des Hochladens',
- 'photo_select_2' => 'Aufnahmedatum',
- 'photo_select_3' => 'Titel (Natürlich)',
- 'photo_select_4' => 'Beschreibung (Natürlich)',
- 'photo_select_3_strict' => 'Titel (Lexikographisch)',
- 'photo_select_4_strict' => 'Beschreibung (Lexikographisch)',
- 'photo_select_6' => 'Favorit',
- 'photo_select_7' => 'Fotoformat',
- 'ascending' => 'Aufsteigend',
- 'descending' => 'Absteigend',
- 'album_select_1' => 'Zeitpunkt der Erstellung',
- 'album_select_2' => 'Titel (Natürlich)',
- 'album_select_3' => 'Beschreibung (Natürlich)',
- 'album_select_2_strict' => 'Titel (Lexikographisch)',
- 'album_select_3_strict' => 'Beschreibung (Lexikographisch)',
- 'album_select_5' => 'Letztes Aufnahmedatum',
- 'album_select_6' => 'Ältestes Aufnahmedatum',
- ],
- 'albums_protection' => [
- 'private' => 'Privat',
- 'public' => 'Öffentlich',
- 'inherit_from_parent' => 'vom Übergeordneten erben',
- 'public_but_hidden' => 'öffentlich aber versteckt',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Galerie',
+ 'smart_albums' => 'Intelligente Alben',
+ 'pinned_albums' => 'Hervorgehobene Alben',
+ 'albums' => 'Alben',
+ 'root' => 'Alben',
+ 'set_focus' => 'Fokus setzen',
+ 'set_header_focus' => 'Header-Fokus setzen',
+ 'done' => 'Fertig',
+ 'cancel' => 'Abbrechen',
+ 'tabs' => [
+ 'my_albums' => 'Meine Alben',
+ 'shared_with_me' => 'Mit mir geteilt',
+ ],
+ 'favourites' => 'Favoriten',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Mittel',
+ 'medium_hidpi' => 'Mittel HiDPI',
+ 'small' => 'Miniatur',
+ 'small_hidpi' => 'Miniatur HiDPI',
+ 'thumb' => 'Miniatur Quadratisch',
+ 'thumb_hidpi' => 'Miniatur Quadratisch HiDPI',
+ 'placeholder' => 'Platzhalter für Bilder niedriger Qualität',
+ 'thumbnail' => 'Foto-Miniaturansicht',
+ 'live_video' => 'Videoteil des Live-Fotos',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Wählen Sie die Bildauflösung für das Album-ZIP-Archiv. Falls ein Foto die gewählte Variante nicht hat, wird das Original verwendet.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Datum Kamera',
+ 'album_reserved' => 'Alle Rechte vorbehalten',
+ 'map' => [
+ 'error_gpx' => 'Fehler beim Laden einer GPX-Datei',
+ 'osm_contributors' => 'OpenStreetMap-Mitarbeiter',
+ ],
+ 'search' => [
+ 'title' => 'Suche',
+ 'no_results' => 'Keine Übereinstimmung mit Ihrer Suchanfrage.',
+ 'searchbox' => 'Suche…',
+ 'minimum_chars' => 'Mindestens %s Zeichen erforderlich.',
+ 'photos' => 'Fotos (%s)',
+ 'albums' => 'Alben (%s)',
+ 'advanced' => [
+ 'title' => 'Erweiterte Suche',
+ 'search_button' => 'Suchen',
+ 'toggle_advanced' => 'Erweiterte Suche umschalten',
+ 'clear' => 'Zurücksetzten',
+ 'title_label' => 'Titel',
+ 'description' => 'Beschreibung',
+ 'location' => 'Ort',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'Sonnenuntergang, Strand',
+ 'date_from' => 'Datum von',
+ 'date_to' => 'Datum bis',
+ 'type' => 'Typ',
+ 'orientation' => 'Ausrichtung',
+ 'rating_min' => 'Min. Bewertung (Ø)',
+ 'rating_own' => 'Min. Bewertung (eigene)',
+ 'type_image' => 'Bild',
+ 'type_video' => 'Video',
+ 'type_raw' => 'RAW',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Querformat',
+ 'orientation_portrait' => 'Hochformat',
+ 'orientation_square' => 'Quadratisch',
+ 'exif' => 'EXIF',
+ 'make' => 'Hersteller',
+ 'model' => 'Modell',
+ 'lens' => 'Objektiv',
+ 'aperture' => 'Blende',
+ 'shutter' => 'Verschlusszeit',
+ 'focal' => 'Brennweite',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsortiert',
+ 'highlighted' => 'Als Favorit markiert',
+ 'recent' => 'Zuletzt hinzugefügt',
+ 'public' => 'Öffentlich',
+ 'on_this_day' => 'An diesem Tag',
+ 'untagged' => 'Ohne Tags',
+ 'unrated' => 'Unbewertet',
+ 'one_star' => '1 Stern',
+ 'two_stars' => '2 Sterne',
+ 'three_stars' => '3+ Sterne',
+ 'four_stars' => '4+ Sterne',
+ 'five_stars' => '5 Sterne',
+ 'best_pictures' => 'Beste Bilder',
+ 'my_rated_pictures' => 'Meine bewerteten Bilder',
+ 'my_best_pictures' => 'Meine besten Bilder',
+ ],
+ 'layout' => [
+ 'squares' => 'Quadratische Miniaturansichten',
+ 'justified' => 'Mit Seitenverhältnis, bündig',
+ 'masonry' => 'Mit Seitenverhältnis, Masonry',
+ 'grid' => 'Mit Seitenverhältnis, Raster',
+ 'filmstrip' => 'Filmstreifen',
+ 'list' => 'Listenansicht',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Nach Sternen filtern',
+ 'n_stars_or_higher' => 'Nach :n oder mehr Sternen filtern',
+ ],
+ 'overlay' => [
+ 'none' => 'Keine',
+ 'exif' => 'EXIF-Daten',
+ 'description' => 'Beschreibung',
+ 'date' => 'Aufnahmedatum',
+ ],
+ 'timeline' => [
+ 'title' => 'Zeitstrahl',
+ 'load_previous' => 'Vorheriges laden',
+ 'default' => 'Standard',
+ 'disabled' => 'deaktiviert',
+ 'year' => 'Jahr',
+ 'month' => 'Monat',
+ 'day' => 'Tag',
+ 'hour' => 'Stunde',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Unendliches Scrollen',
+ 'load_more_button' => '„Mehr laden“-Schaltfläche',
+ 'page_navigation' => 'Seitennavigation',
+ 'loading' => 'Lade …',
+ 'load_more' => 'Mehr laden',
+ 'load_more_photos' => 'Mehr laden (%s Fotos verbleibend)',
+ 'load_more_albums' => 'Mehr laden (%s Alben verbleibend)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Alben',
+ 'header_photos' => 'Fotos',
+ 'show_highlighted' => 'Favoriten filtern',
+ 'copy_highlighted_names' => 'Namen der Favoriten in die Zwischenablage kopieren',
+ 'no_results' => 'Hier gibt es nichts zu sehen',
+ 'upload' => 'Fotos hochladen',
+ 'tabs' => [
+ 'about' => 'Über das Album',
+ 'share' => 'Album teilen',
+ 'embed' => 'Album einbetten',
+ 'move' => 'Album verschieben',
+ 'shop' => 'Shop-Verwaltung',
+ 'danger' => 'GEFAHRENZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Erstellt',
+ 'copyright' => 'Urheberrecht',
+ 'subalbums' => 'Unteralben',
+ 'images' => 'Fotos',
+ 'download' => 'Album herunterladen',
+ 'share' => 'Album teilen',
+ 'embed' => 'Album einbetten',
+ 'stats_only_se' => 'In der Supporter-Edition verfügbare Statistiken',
+ 'edit' => 'Bearbeiten',
+ 'save' => 'Speichern',
+ 'open_gallery' => 'Galerie öffnen',
+ 'apply_renamer' => 'Umbenennungsregeln',
+ 'watermark' => 'Wasserzeichen',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Anzahl der Besuche',
+ 'number_of_downloads' => 'Anzahl der Downloads',
+ 'number_of_shares' => 'Wie oft geteilt',
+ 'lens' => 'Objektiv',
+ 'shutter' => 'Verschlusszeit',
+ 'iso' => 'ISO',
+ 'model' => 'Modell',
+ 'aperture' => 'Blende',
+ 'no_data' => 'Keine Daten',
+ ],
+ 'properties' => [
+ 'title' => 'Titel',
+ 'slug' => 'Slug (lesbare URL)',
+ 'generate_slug' => 'Slug aus Titel generieren',
+ 'copy_slug_url' => 'URL in die Zwischenablage kopieren',
+ 'description' => 'Beschreibung',
+ 'photo_ordering' => 'Fotos anordnen nach',
+ 'children_ordering' => 'Alben anordnen nach',
+ 'asc/desc' => 'Aufsteigend/Absteigend',
+ 'header' => 'Album-Header festlegen',
+ 'compact_header' => 'Kompakten Header verwenden',
+ 'license' => 'Lizenz festlegen',
+ 'copyright' => 'Urheberrecht festlegen',
+ 'aspect_ratio' => 'Seitenverhältnis der Album-Miniatur festlegen',
+ 'album_timeline' => 'Zeitstrahl-Modus des Albums festlegen',
+ 'photo_timeline' => 'Zeitstrahl-Modus der Fotos festlegen',
+ 'layout' => 'Fotolayout festlegen',
+ 'show_tags' => 'Anzuzeigende Tags festlegen',
+ 'tags_required' => 'Tags sind erforderlich.',
+ 'all_tags_must_match' => 'Alle Tags müssen übereinstimmen.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Mit Stern bewerten',
+ 'unhighlight' => 'Stern entfernen',
+ 'set_album_header' => 'Als Album-Header festlegen',
+ 'move' => 'Verschieben',
+ 'delete' => 'Löschen',
+ 'header_set' => 'Header festgelegt',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF-Daten',
+ 'about' => 'Über',
+ 'basics' => 'Grundeinstellungen',
+ 'title' => 'Titel',
+ 'uploaded' => 'Hochgeladen',
+ 'description' => 'Beschreibung',
+ 'license' => 'Lizenz',
+ 'reuse' => 'Wiederverwenden',
+ 'latitude' => 'Breitengrad',
+ 'longitude' => 'Längengrad',
+ 'altitude' => 'Höhenlage',
+ 'location' => 'Standort',
+ 'image' => 'Bild',
+ 'video' => 'Video',
+ 'size' => 'Größe',
+ 'format' => 'Format',
+ 'resolution' => 'Auflösung',
+ 'duration' => 'Dauer',
+ 'fps' => 'Bildfrequenz',
+ 'tags' => 'Tags',
+ 'camera' => 'Kamera',
+ 'captured' => 'Aufgenommen',
+ 'make' => 'Marke',
+ 'type' => 'Typ/Modell',
+ 'lens' => 'Objektiv',
+ 'shutter' => 'Verschlusszeit',
+ 'aperture' => 'Blende',
+ 'focal' => 'Brennweite',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Alben',
+ 'albums_loading' => 'Lade …',
+ 'no_albums' => 'Dieses Foto befindet sich in keinem Album.',
+ 'albums_loading_error' => 'Alben konnten nicht geladen werden.',
+ 'stats' => [
+ 'header' => 'Statistiken',
+ 'number_of_visits' => 'Anzahl der Besuche',
+ 'number_of_downloads' => 'Anzahl der Downloads',
+ 'number_of_shares' => 'Wie oft geteilt',
+ 'number_of_favourites' => 'Anzahl der Favoriten',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Kopieren',
+ 'copy_success' => 'Link in die Zwischenablage kopiert.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Titel festlegen',
+ 'set_description' => 'Beschreibung festlegen',
+ 'set_license' => 'Lizenz festlegen',
+ 'no_tags' => 'Keine Tags',
+ 'set_tags' => 'Tags festlegen',
+ 'set_created_at' => 'Upload-Datum festlegen',
+ 'set_taken_at' => 'Aufnahmedatum festlegen',
+ 'set_taken_at_info' => 'Wenn diese Option aktiviert ist, wird ein Sternchen %s angezeigt, um darauf hinzuweisen, dass es sich bei diesem Datum nicht um das ursprüngliche EXIF-Datum handelt.
Deaktivieren des Kontrollkästchens und speichern stellt das ursprüngliche Datum wieder her.',
+ ],
+ 'rating' => [
+ 'header' => 'Bewertung',
+ 'rating' => 'Bewertung',
+ 'ratings' => 'Bewertungen',
+ 'your_rating' => 'Ihre Bewertung',
+ 'saving' => 'Bewertung wird gespeichert …',
+ 'removed' => 'Bewertung entfernt',
+ 'saved' => 'Bewertung gespeichert',
+ 'error' => 'Fehler beim Speichern der Bewertung',
+ 'error_unauthorized' => 'Sie müssen angemeldet sein, um Fotos zu bewerten',
+ 'error_forbidden' => 'Sie haben keine Berechtigung, dieses Foto zu bewerten',
+ 'error_not_found' => 'Foto nicht gefunden',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensibler Inhalt',
+ 'description' => 'Dieses Album enthält sensible Inhalte, die manche Menschen als beleidigend oder verstörend empfinden könnten.',
+ 'consent' => 'Tippen zum Einverständnis.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Favorit hinzufügen',
+ 'unhighlight' => 'Favorit entfernen',
+ 'highlight_all' => 'Auswahl als Favoriten markieren',
+ 'unhighlight_all' => 'Auswahl als Favoriten entfernen',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Auswahl taggen',
+ 'tag_filter_label' => 'Nach Tags filtern:',
+ 'tag_filter_logic_or' => 'Beliebiger Tag (ODER)',
+ 'tag_filter_logic_and' => 'Alle Tags (UND)',
+ 'tag_filter_apply' => 'Filter anwenden',
+ 'tag_filter_clear' => 'Filter zurücksetzen',
+ 'tag_filter_no_results' => 'Keine Fotos entsprechen Ihrem Tag-Filter.',
+ 'tag_filter_active_summary' => 'Gefiltert nach :count Tag(s) mit :logic-Logik',
+ 'license' => 'Lizenz',
+ 'license_all' => 'Auswahl lizensieren',
+ 'set_cover' => 'Album-Cover festlegen',
+ 'remove_header' => 'Album-Header entfernen',
+ 'set_header' => 'Album-Header festlegen',
+ 'copy_to' => 'Kopieren nach …',
+ 'copy_all_to' => 'Auswahl kopieren nach …',
+ 'rename' => 'Umbenennen',
+ 'move' => 'Verschieben',
+ 'move_all' => 'Auswahl verschieben',
+ 'pin' => 'Anheften',
+ 'unpin' => 'Loslösen',
+ 'delete' => 'Löschen',
+ 'delete_all' => 'Auswahl löschen',
+ 'download' => 'Herunterladen',
+ 'download_all' => 'Auswahl herunterladen',
+ 'merge' => 'Zusammenführen',
+ 'merge_all' => 'Auswahl zusammenführen',
+ 'apply_renamer' => 'Umbenennungsregeln auf Auswahl anwenden',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Foto hochladen',
+ 'take_photo' => 'Foto aufnehmen',
+ 'import_link' => 'Von Link importieren',
+ 'import_server' => 'Vom Server importieren',
+ 'import_dropbox' => 'Importieren aus der Dropbox',
+ 'new_album' => 'Neues Album',
+ 'new_tag_album' => 'Neues Tag-Album',
+ 'upload_track' => 'GPS-Track hochladen',
+ 'delete_track' => 'GPS-Track löschen',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Zeit des Hochladens',
+ 'photo_select_2' => 'Aufnahmedatum',
+ 'photo_select_3' => 'Titel (Natürlich)',
+ 'photo_select_4' => 'Beschreibung (Natürlich)',
+ 'photo_select_3_strict' => 'Titel (Lexikographisch)',
+ 'photo_select_4_strict' => 'Beschreibung (Lexikographisch)',
+ 'photo_select_6' => 'Favorit',
+ 'photo_select_7' => 'Fotoformat',
+ 'ascending' => 'Aufsteigend',
+ 'descending' => 'Absteigend',
+ 'album_select_1' => 'Zeitpunkt der Erstellung',
+ 'album_select_2' => 'Titel (Natürlich)',
+ 'album_select_3' => 'Beschreibung (Natürlich)',
+ 'album_select_2_strict' => 'Titel (Lexikographisch)',
+ 'album_select_3_strict' => 'Beschreibung (Lexikographisch)',
+ 'album_select_5' => 'Letztes Aufnahmedatum',
+ 'album_select_6' => 'Ältestes Aufnahmedatum',
+ ],
+ 'albums_protection' => [
+ 'private' => 'Privat',
+ 'public' => 'Öffentlich',
+ 'inherit_from_parent' => 'vom Übergeordneten erben',
+ 'public_but_hidden' => 'öffentlich aber versteckt',
+ ],
];
diff --git a/lang/de/import_from_server.php b/lang/de/import_from_server.php
index ca438778d8d..4c830c9e175 100644
--- a/lang/de/import_from_server.php
+++ b/lang/de/import_from_server.php
@@ -1,22 +1,22 @@
'Server-Dateien synchronisieren',
- 'description' => 'Synchronisieren Sie Ihre Server-Dateien mit Lychee. Dies importiert Fotos aus einem Verzeichnis und allen Unterverzeichnissen. Dieser Vorgang ist sehr langsam; wir empfehlen die Nutzung von Workern und Queues (Warteschlangen), um Zeitüberschreitungen (Timeouts) zu vermeiden.',
- 'sync' => 'Synchronisieren',
- 'loading' => 'Lade …',
- 'selected_directory' => 'Aktuell ausgewähltes Verzeichnis:',
- 'resync_metadata' => 'Metadaten bestehender Dateien erneut synchronisieren.',
- 'delete_imported' => 'Originaldateien nach dem Import löschen.',
- 'import_via_symlink' => 'Fotos via Symlink importieren (statt die Dateien zu kopieren).',
- 'skip_duplicates' => 'Fotos und Alben überspringen, wenn sie bereits in der Galerie existieren.',
- 'delete_missing_photos' => 'Fotos im Album löschen, die im synchronisierten Verzeichnis nicht vorhanden sind.',
- 'delete_missing_albums' => 'Alben im übergeordneten Album löschen, die im synchronisierten Verzeichnis nicht vorhanden sind.',
- 'importing_please_be_patient' => 'Import läuft, bitte haben Sie etwas Geduld …',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Server-Dateien synchronisieren',
+ 'description' => 'Synchronisieren Sie Ihre Server-Dateien mit Lychee. Dies importiert Fotos aus einem Verzeichnis und allen Unterverzeichnissen. Dieser Vorgang ist sehr langsam; wir empfehlen die Nutzung von Workern und Queues (Warteschlangen), um Zeitüberschreitungen (Timeouts) zu vermeiden.',
+ 'sync' => 'Synchronisieren',
+ 'loading' => 'Lade …',
+ 'selected_directory' => 'Aktuell ausgewähltes Verzeichnis:',
+ 'resync_metadata' => 'Metadaten bestehender Dateien erneut synchronisieren.',
+ 'delete_imported' => 'Originaldateien nach dem Import löschen.',
+ 'import_via_symlink' => 'Fotos via Symlink importieren (statt die Dateien zu kopieren).',
+ 'skip_duplicates' => 'Fotos und Alben überspringen, wenn sie bereits in der Galerie existieren.',
+ 'delete_missing_photos' => 'Fotos im Album löschen, die im synchronisierten Verzeichnis nicht vorhanden sind.',
+ 'delete_missing_albums' => 'Alben im übergeordneten Album löschen, die im synchronisierten Verzeichnis nicht vorhanden sind.',
+ 'importing_please_be_patient' => 'Import läuft, bitte haben Sie etwas Geduld …',
];
diff --git a/lang/de/jobs.php b/lang/de/jobs.php
index 0cea6de36be..64f6d281627 100644
--- a/lang/de/jobs.php
+++ b/lang/de/jobs.php
@@ -1,15 +1,15 @@
'Aufträge',
- 'no_data' => 'Es wurden noch keine Aufträge ausgeführt.',
- 'ready' => 'Fertig',
- 'success' => 'Erfolgreich',
- 'failure' => 'Fehlgeschlagen',
- 'started' => 'Gestartet',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Aufträge',
+ 'no_data' => 'Es wurden noch keine Aufträge ausgeführt.',
+ 'ready' => 'Fertig',
+ 'success' => 'Erfolgreich',
+ 'failure' => 'Fehlgeschlagen',
+ 'started' => 'Gestartet',
];
diff --git a/lang/de/landing.php b/lang/de/landing.php
index 5b7811c81eb..b458dbc802d 100644
--- a/lang/de/landing.php
+++ b/lang/de/landing.php
@@ -1,13 +1,13 @@
'Galerie',
- 'access_gallery' => 'Zugang zur Galerie',
- 'Powered_by_Lychee' => 'Unterstützt von Lychee',
- 'copyright' => 'Alle Bilder auf dieser Website unterliegen dem Copyright von %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Galerie',
+ 'access_gallery' => 'Zugang zur Galerie',
+ 'Powered_by_Lychee' => 'Unterstützt von Lychee',
+ 'copyright' => 'Alle Bilder auf dieser Website unterliegen dem Copyright von %1$s © %2$s',
];
diff --git a/lang/de/left-menu.php b/lang/de/left-menu.php
index e7e47954497..cc9df460805 100644
--- a/lang/de/left-menu.php
+++ b/lang/de/left-menu.php
@@ -1,28 +1,28 @@
'Zurück zur Galerie',
- 'login' => 'Anmelden',
- 'frame' => 'Bilderrahmen',
- 'map' => 'Karte',
- 'embed_stream' => 'Fotostream einbetten',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Logs anzeigen',
- 'jobs' => 'Auftragsverlauf anzeigen',
- 'user' => 'Benutzer',
- 'sign_out' => 'Abmelden',
- 'about' => 'Über',
- 'changelog' => 'Änderungsprotokoll',
- 'api' => 'API-Dokumentation',
- 'source_code' => 'Quellcode',
- 'support' => 'Support',
- 'contact' => 'Kontakt',
- 'messages' => 'Nachrichten',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Zurück zur Galerie',
+ 'login' => 'Anmelden',
+ 'frame' => 'Bilderrahmen',
+ 'map' => 'Karte',
+ 'embed_stream' => 'Fotostream einbetten',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Logs anzeigen',
+ 'jobs' => 'Auftragsverlauf anzeigen',
+ 'user' => 'Benutzer',
+ 'sign_out' => 'Abmelden',
+ 'about' => 'Über',
+ 'changelog' => 'Änderungsprotokoll',
+ 'api' => 'API-Dokumentation',
+ 'source_code' => 'Quellcode',
+ 'support' => 'Support',
+ 'contact' => 'Kontakt',
+ 'messages' => 'Nachrichten',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/de/maintenance.php b/lang/de/maintenance.php
index 0f69d50876e..72a24dfdfe9 100644
--- a/lang/de/maintenance.php
+++ b/lang/de/maintenance.php
@@ -1,103 +1,103 @@
'Wartung',
- 'description' => 'Auf dieser Seite finden Sie alle notwendigen Funktionen für den reibungslosen Betrieb Ihrer Lychee Installation.',
- 'cleaning' => [
- 'title' => 'Säubern %s',
- 'result' => '%s gelöscht.',
- 'description' => 'Lösche den gesamten Inhalt aus %s',
- 'button' => 'Bereinigen',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplikate',
- 'description' => 'Dieses Modul zählt potenzielle Duplikate von Bildern.',
- 'duplicates-all' => 'Duplikate über alle Alben',
- 'duplicates-title' => 'Titel-Duplikate pro Album',
- 'duplicates-per-album' => 'Duplikate pro Album',
- 'show' => 'Duplikate anzeigen',
- 'load' => 'Anzahl laden',
- ],
- 'fix-jobs' => [
- 'title' => 'Korrigieren des Auftragsverlaufs',
- 'description' => 'Markiere Jobs mit dem Status %s oder %s als %s.',
- 'button' => 'Repariere Job Historie',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Fehlende %s',
- 'description' => 'Es wurden %d %s gefunden, welche noch angelegt werden können.',
- 'button' => 'Anlegen!',
- 'success' => 'Erfolgreich angelegt. %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'Fehlende Dateigrößen',
- 'description' => 'Es wurden %d kleine Varianten ohne Dateigröße gefunden.',
- 'button' => 'Daten sammeln!',
- 'success' => 'Die Daten für %d kleine Varianten wurden erfolgreich verarbeitet.',
- ],
- 'fix-tree' => [
- 'title' => 'Baumstruktur Statistik',
- 'Oddness' => 'Ungewöhnlich',
- 'Duplicates' => 'Duplikate',
- 'Wrong parents' => 'Falsche Oberkategorie',
- 'Missing parents' => 'Fehlende Oberkategorie',
- 'button' => 'Baumstruktur reparieren',
- ],
- 'optimize' => [
- 'title' => 'Datenbank optimieren',
- 'description' => 'Wenn die Performance Ihrer Installation nachlässt, könnte dies an fehlenden Datenbankindizes liegen.',
- 'button' => 'Datenbank optimieren',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Auf Updates prüfen',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'Keine Updates verfügbar.',
- ],
- 'missing-palettes' => [
- 'title' => 'Fehlende Paletten',
- 'description' => '%d fehlende Paletten gefunden.',
- 'button' => 'Fehlendes erstellen',
- ],
- 'statistics-check' => [
- 'title' => 'Integritätsprüfung der Statistik',
- 'missing_photos' => '%d Fotostatistiken fehlen.',
- 'missing_albums' => '%d Albumstatistiken fehlen.',
- 'button' => 'Fehlendes erstellen',
- ],
- 'flush-cache' => [
- 'title' => 'Cache leeren',
- 'description' => 'Leeren Sie den Cache jedes Benutzers, um Ungültigkeitsprobleme zu lösen.',
- 'button' => 'Leeren',
- ],
- 'old-orders' => [
- 'title' => 'Alte Bestellungen',
- 'description' => 'Es wurden %d alte Bestellungen gefunden.
Als „alt“ gelten Bestellungen, die älter als 14 Tage sind, keinem Benutzer zugeordnet wurden und entweder noch auf die Zahlung warten oder keine Artikel enthalten.',
- 'button' => 'Alte Bestellungen löschen',
- ],
- 'fulfill-orders' => [
- 'title' => 'Offene Bestellungen',
- 'description' => 'Es wurden %d Bestellungen gefunden, deren Inhalte noch nicht bereitgestellt wurden.
Klicken Sie auf die Schaltfläche, um Inhalte zuzuweisen, sofern möglich.',
- 'button' => 'Bestellungen abwickeln',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Vorberechnete Album-Felder',
- 'description' => 'Es wurden %d Alben mit fehlenden vorberechneten Feldern gefunden.
Entspricht dem Befehl: php artisan lychee:recompute-album-fields',
- 'button' => 'Felder berechnen',
- ],
- 'flush-queue' => [
- 'title' => 'Warteschlange leeren',
- 'description' => 'Es befinden sich %d ausstehende Aufträge in der Warteschlange.
VORSICHT: Das Leeren der Warteschlange löscht alle ausstehenden Aufträge dauerhaft. Dies kann nicht rückgängig gemacht werden.',
- 'button' => 'Warteschlange leeren',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album-Größenstatistik',
- 'description' => 'Es wurden %d Alben ohne Größenstatistik gefunden.
Entspricht dem Befehl: php artisan lychee:recompute-album-sizes',
- 'button' => 'Größen berechnen',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Wartung',
+ 'description' => 'Auf dieser Seite finden Sie alle notwendigen Funktionen für den reibungslosen Betrieb Ihrer Lychee Installation.',
+ 'cleaning' => [
+ 'title' => 'Säubern %s',
+ 'result' => '%s gelöscht.',
+ 'description' => 'Lösche den gesamten Inhalt aus %s',
+ 'button' => 'Bereinigen',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplikate',
+ 'description' => 'Dieses Modul zählt potenzielle Duplikate von Bildern.',
+ 'duplicates-all' => 'Duplikate über alle Alben',
+ 'duplicates-title' => 'Titel-Duplikate pro Album',
+ 'duplicates-per-album' => 'Duplikate pro Album',
+ 'show' => 'Duplikate anzeigen',
+ 'load' => 'Anzahl laden',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Korrigieren des Auftragsverlaufs',
+ 'description' => 'Markiere Jobs mit dem Status %s oder %s als %s.',
+ 'button' => 'Repariere Job Historie',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Fehlende %s',
+ 'description' => 'Es wurden %d %s gefunden, welche noch angelegt werden können.',
+ 'button' => 'Anlegen!',
+ 'success' => 'Erfolgreich angelegt. %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'Fehlende Dateigrößen',
+ 'description' => 'Es wurden %d kleine Varianten ohne Dateigröße gefunden.',
+ 'button' => 'Daten sammeln!',
+ 'success' => 'Die Daten für %d kleine Varianten wurden erfolgreich verarbeitet.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Baumstruktur Statistik',
+ 'Oddness' => 'Ungewöhnlich',
+ 'Duplicates' => 'Duplikate',
+ 'Wrong parents' => 'Falsche Oberkategorie',
+ 'Missing parents' => 'Fehlende Oberkategorie',
+ 'button' => 'Baumstruktur reparieren',
+ ],
+ 'optimize' => [
+ 'title' => 'Datenbank optimieren',
+ 'description' => 'Wenn die Performance Ihrer Installation nachlässt, könnte dies an fehlenden Datenbankindizes liegen.',
+ 'button' => 'Datenbank optimieren',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Auf Updates prüfen',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'Keine Updates verfügbar.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Fehlende Paletten',
+ 'description' => '%d fehlende Paletten gefunden.',
+ 'button' => 'Fehlendes erstellen',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Integritätsprüfung der Statistik',
+ 'missing_photos' => '%d Fotostatistiken fehlen.',
+ 'missing_albums' => '%d Albumstatistiken fehlen.',
+ 'button' => 'Fehlendes erstellen',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Cache leeren',
+ 'description' => 'Leeren Sie den Cache jedes Benutzers, um Ungültigkeitsprobleme zu lösen.',
+ 'button' => 'Leeren',
+ ],
+ 'old-orders' => [
+ 'title' => 'Alte Bestellungen',
+ 'description' => 'Es wurden %d alte Bestellungen gefunden.
Als „alt“ gelten Bestellungen, die älter als 14 Tage sind, keinem Benutzer zugeordnet wurden und entweder noch auf die Zahlung warten oder keine Artikel enthalten.',
+ 'button' => 'Alte Bestellungen löschen',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Offene Bestellungen',
+ 'description' => 'Es wurden %d Bestellungen gefunden, deren Inhalte noch nicht bereitgestellt wurden.
Klicken Sie auf die Schaltfläche, um Inhalte zuzuweisen, sofern möglich.',
+ 'button' => 'Bestellungen abwickeln',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Vorberechnete Album-Felder',
+ 'description' => 'Es wurden %d Alben mit fehlenden vorberechneten Feldern gefunden.
Entspricht dem Befehl: php artisan lychee:recompute-album-fields',
+ 'button' => 'Felder berechnen',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Warteschlange leeren',
+ 'description' => 'Es befinden sich %d ausstehende Aufträge in der Warteschlange.
VORSICHT: Das Leeren der Warteschlange löscht alle ausstehenden Aufträge dauerhaft. Dies kann nicht rückgängig gemacht werden.',
+ 'button' => 'Warteschlange leeren',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album-Größenstatistik',
+ 'description' => 'Es wurden %d Alben ohne Größenstatistik gefunden.
Entspricht dem Befehl: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Größen berechnen',
+ ],
];
diff --git a/lang/de/moderation.php b/lang/de/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/de/moderation.php
+++ b/lang/de/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/de/profile.php b/lang/de/profile.php
index 7bdfd7c464d..b345474740d 100644
--- a/lang/de/profile.php
+++ b/lang/de/profile.php
@@ -1,80 +1,80 @@
'Profil',
- 'login' => [
- 'header' => 'Profil',
- 'enter_current_password' => 'Geben Sie Ihr aktuelles Passwort ein:',
- 'current_password' => 'Aktuelles Passwort',
- 'credentials_update' => 'Ihre Anmeldedaten werden wie folgt geändert:',
- 'username' => 'Benutzername',
- 'new_password' => 'Neues Passwort',
- 'confirm_new_password' => 'Neues Passwort bestätigen',
- 'email_instruction' => 'Fügen Sie unten Ihre E-Mail-Adresse ein, um E-Mail-Benachrichtigungen zu erhalten. Wenn Sie keine E-Mails mehr erhalten möchten, entfernen Sie Ihre E-Mail-Adresse einfach unten.',
- 'email' => 'E-Mail',
- 'change' => 'Anmeldung ändern',
- 'api_token' => 'API Token …',
- 'missing_fields' => 'Fehlende Felder',
- 'ldap_managed' => 'Benutzer-Anmeldeinformationen werden über LDAP verwaltet.',
- ],
- 'register' => [
- 'username_exists' => 'Benutzername existiert bereits.',
- 'password_mismatch' => 'Die Passwörter stimmen nicht überein.',
- 'signup' => 'Registrieren',
- 'error' => 'Bei der Registrierung Ihres Kontos ist ein Fehler aufgetreten.',
- 'success' => 'Ihr Konto wurde erfolgreich erstellt.',
- ],
- 'token' => [
- 'unavailable' => 'Sie haben diesen Token bereits gesehen.',
- 'no_data' => 'Es wurde kein API-Token erzeugt.',
- 'disable' => 'Deaktiviere',
- 'disabled' => 'Token deaktiviert',
- 'warning' => 'Dieses Token wird nicht nochmal angezeigt. Kopieren Sie ihn und bewahren Sie ihn an einem sicheren Ort auf.',
- 'reset' => 'Token zurücksetzen',
- 'create' => 'Einen neuen Sicherheitsschlüssel erstellen',
- ],
- 'oauth' => [
- 'header' => 'Authentifizierung',
- 'header_not_available' => 'OAuth ist nicht verfügbar',
- 'setup_env' => 'Richten Sie die Anmeldedaten in Ihrer .env ein',
- 'token_registered' => '%s Token registriert.',
- 'setup' => '%s einrichten',
- 'reset' => 'Zurücksetzen',
- 'credential_deleted' => 'Anmeldedaten gelöscht!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'Dies ermöglicht lediglich die Verwendung von WebAuthn zur Authentifizierung anstelle von Benutzername und Passwort.',
- 'empty' => 'Die Liste der Anmeldedaten ist leer!',
- 'not_secure' => 'Die Umgebung ist nicht gesichert. U2F nicht verfügbar.',
- 'new' => 'Neues Gerät registrieren.',
- 'credential_deleted' => 'Anmeldedaten gelöscht!',
- 'credential_updated' => 'Anmeldedaten aktualisiert!',
- 'credential_registred' => 'Anmeldung erfolgreich!',
- '5_chars' => 'Mindestens 5 Zeichen.',
- ],
- 'preferences' => [
- 'header' => 'Einstellungen',
- 'save' => 'Einstellung speichern',
- 'reset' => 'Zurücksetzen',
- 'change_saved' => 'Einstellung gespeichert!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Wählen Sie aus, wie geteilte Alben (Alben anderer Benutzer) in Ihrer Galerie erscheinen sollen:',
- 'mode_default' => 'Server-Standard verwenden',
- 'mode_default_desc' => 'Den Standard-Sichtbarkeitsmodus des Servers übernehmen.',
- 'mode_show' => 'Zusammen anzeigen',
- 'mode_show_desc' => 'Geteilte Alben werden unter Ihren eigenen Alben angezeigt.',
- 'mode_separate' => 'Getrennte Tabs',
- 'mode_separate_desc' => 'Anzeige in den Tabs „Meine Alben“ und „Mit mir geteilt“.',
- 'mode_separate_shared_only' => 'Nur Geteilte',
- 'mode_separate_shared_only_desc' => 'Getrennte Tabs, die nur direkt geteilte Alben zeigen (schließt öffentliche Alben aus).',
- 'mode_hide' => 'Ausblenden',
- 'mode_hide_desc' => 'Keine geteilten Alben anzeigen.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profil',
+ 'login' => [
+ 'header' => 'Profil',
+ 'enter_current_password' => 'Geben Sie Ihr aktuelles Passwort ein:',
+ 'current_password' => 'Aktuelles Passwort',
+ 'credentials_update' => 'Ihre Anmeldedaten werden wie folgt geändert:',
+ 'username' => 'Benutzername',
+ 'new_password' => 'Neues Passwort',
+ 'confirm_new_password' => 'Neues Passwort bestätigen',
+ 'email_instruction' => 'Fügen Sie unten Ihre E-Mail-Adresse ein, um E-Mail-Benachrichtigungen zu erhalten. Wenn Sie keine E-Mails mehr erhalten möchten, entfernen Sie Ihre E-Mail-Adresse einfach unten.',
+ 'email' => 'E-Mail',
+ 'change' => 'Anmeldung ändern',
+ 'api_token' => 'API Token …',
+ 'missing_fields' => 'Fehlende Felder',
+ 'ldap_managed' => 'Benutzer-Anmeldeinformationen werden über LDAP verwaltet.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Benutzername existiert bereits.',
+ 'password_mismatch' => 'Die Passwörter stimmen nicht überein.',
+ 'signup' => 'Registrieren',
+ 'error' => 'Bei der Registrierung Ihres Kontos ist ein Fehler aufgetreten.',
+ 'success' => 'Ihr Konto wurde erfolgreich erstellt.',
+ ],
+ 'token' => [
+ 'unavailable' => 'Sie haben diesen Token bereits gesehen.',
+ 'no_data' => 'Es wurde kein API-Token erzeugt.',
+ 'disable' => 'Deaktiviere',
+ 'disabled' => 'Token deaktiviert',
+ 'warning' => 'Dieses Token wird nicht nochmal angezeigt. Kopieren Sie ihn und bewahren Sie ihn an einem sicheren Ort auf.',
+ 'reset' => 'Token zurücksetzen',
+ 'create' => 'Einen neuen Sicherheitsschlüssel erstellen',
+ ],
+ 'oauth' => [
+ 'header' => 'Authentifizierung',
+ 'header_not_available' => 'OAuth ist nicht verfügbar',
+ 'setup_env' => 'Richten Sie die Anmeldedaten in Ihrer .env ein',
+ 'token_registered' => '%s Token registriert.',
+ 'setup' => '%s einrichten',
+ 'reset' => 'Zurücksetzen',
+ 'credential_deleted' => 'Anmeldedaten gelöscht!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'Dies ermöglicht lediglich die Verwendung von WebAuthn zur Authentifizierung anstelle von Benutzername und Passwort.',
+ 'empty' => 'Die Liste der Anmeldedaten ist leer!',
+ 'not_secure' => 'Die Umgebung ist nicht gesichert. U2F nicht verfügbar.',
+ 'new' => 'Neues Gerät registrieren.',
+ 'credential_deleted' => 'Anmeldedaten gelöscht!',
+ 'credential_updated' => 'Anmeldedaten aktualisiert!',
+ 'credential_registred' => 'Anmeldung erfolgreich!',
+ '5_chars' => 'Mindestens 5 Zeichen.',
+ ],
+ 'preferences' => [
+ 'header' => 'Einstellungen',
+ 'save' => 'Einstellung speichern',
+ 'reset' => 'Zurücksetzen',
+ 'change_saved' => 'Einstellung gespeichert!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Wählen Sie aus, wie geteilte Alben (Alben anderer Benutzer) in Ihrer Galerie erscheinen sollen:',
+ 'mode_default' => 'Server-Standard verwenden',
+ 'mode_default_desc' => 'Den Standard-Sichtbarkeitsmodus des Servers übernehmen.',
+ 'mode_show' => 'Zusammen anzeigen',
+ 'mode_show_desc' => 'Geteilte Alben werden unter Ihren eigenen Alben angezeigt.',
+ 'mode_separate' => 'Getrennte Tabs',
+ 'mode_separate_desc' => 'Anzeige in den Tabs „Meine Alben“ und „Mit mir geteilt“.',
+ 'mode_separate_shared_only' => 'Nur Geteilte',
+ 'mode_separate_shared_only_desc' => 'Getrennte Tabs, die nur direkt geteilte Alben zeigen (schließt öffentliche Alben aus).',
+ 'mode_hide' => 'Ausblenden',
+ 'mode_hide_desc' => 'Keine geteilten Alben anzeigen.',
+ ],
];
diff --git a/lang/de/renamer.php b/lang/de/renamer.php
index a2332b460f3..2b1c93cfe49 100644
--- a/lang/de/renamer.php
+++ b/lang/de/renamer.php
@@ -1,109 +1,109 @@
'Umbenennungsregeln',
-
- // Modal titles
- 'create_rule' => 'Umbenennungsregel erstellen',
- 'edit_rule' => 'Umbenennungsregel bearbeiten',
-
- // Form fields
- 'rule_name' => 'Regelname',
- 'description' => 'Beschreibung',
- 'pattern' => 'Muster',
- 'replacement' => 'Ersetzen durch',
- 'mode' => 'Modus',
- 'order' => 'Reihenfolge',
- 'enabled' => 'Aktiviert',
- 'photo_rule' => 'Regel auf Fotos anwenden',
- 'album_rule' => 'Regel auf Alben anwenden',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optionale Beschreibung der Regelfunktion',
- 'pattern_help' => 'Zu findendes Muster (z. B. IMG_, DSC_)',
- 'replacement_help' => 'Ersetzungstext (z. B. Foto_, Kamera_)',
- 'order_help' => 'Niedrigere Zahlen werden zuerst verarbeitet (1 = höchste Priorität)',
- 'enabled_help' => '(Nur aktivierte Regeln werden beim Umbenennen angewendet)',
-
- // Mode options
- 'mode_first' => 'Erstes Vorkommen',
- 'mode_all' => 'Alle Vorkommen',
- 'mode_regex' => 'Regulärer Ausdruck (Regex)',
- 'mode_trim' => 'Leerzeichen entfernen',
- 'mode_strtolower' => 'Kleinschreibung',
- 'mode_strtoupper' => 'GROSSSCHREIBUNG',
- 'mode_ucwords' => 'Jedes Wort großschreiben',
- 'mode_ucfirst' => 'Ersten Buchstaben großschreiben',
-
- 'mode_first_description' => 'Nur das erste Vorkommen ersetzen',
- 'mode_all_description' => 'Alle Vorkommen ersetzen',
- 'mode_regex_description' => 'Mustersuche per regulärem Ausdruck verwenden',
- 'mode_trim_description' => 'Leerzeichen am Anfang und Ende entfernen',
- 'mode_strtolower_description' => 'Text in Kleinschreibung umwandeln',
- 'mode_strtoupper_description' => 'Text in Großschreibung umwandeln',
- 'mode_ucwords_description' => 'Anfangsbuchstaben jedes Wortes großschreiben',
- 'mode_ucfirst_description' => 'Nur den ersten Buchstaben großschreiben',
-
- 'regex_help' => 'Verwenden Sie reguläre Ausdrücke für die Mustersuche. Um beispielsweise IMG_1234.jpeg durch 1234_JPG.jpeg zu ersetzen, können Sie /IMG_(\d+)/ als Suchmuster und $1_JPG als Ersetzungstext nutzen. Weitere Erklärungen finden Sie unter den folgenden Links.',
-
- // Buttons
- 'cancel' => 'Abbrechen',
- 'create' => 'Erstellen',
- 'update' => 'Aktualisieren',
- 'create_first_rule' => 'Erste Regel erstellen',
-
- // Validation messages
- 'rule_name_required' => 'Ein Regelname ist erforderlich',
- 'pattern_required' => 'Ein Muster ist erforderlich',
- 'replacement_required' => 'Ein Ersetzungstext ist erforderlich',
- 'mode_required' => 'Ein Modus ist erforderlich',
- 'order_positive' => 'Die Reihenfolge muss eine positive Zahl sein',
-
- // Success messages
- 'rule_created' => 'Umbenennungsregel erfolgreich erstellt',
- 'rule_updated' => 'Umbenennungsregel erfolgreich aktualisiert',
- 'rule_deleted' => 'Umbenennungsregel erfolgreich gelöscht',
-
- // Error messages
- 'failed_to_create' => 'Umbenennungsregel konnte nicht erstellt werden',
- 'failed_to_update' => 'Umbenennungsregel konnte nicht aktualisiert werden',
- 'failed_to_delete' => 'Umbenennungsregel konnte nicht gelöscht werden',
- 'failed_to_load' => 'Umbenennungsregeln konnten nicht geladen werden',
-
- // List view
- 'rules_count' => ':count Regeln',
- 'no_rules' => 'Keine Umbenennungsregeln gefunden',
- 'loading' => 'Umbenennungsregeln werden geladen …',
- 'pattern_label' => 'Muster',
- 'replace_with_label' => 'Ersetzen durch',
- 'photo' => 'Foto',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Löschen bestätigen',
- 'confirm_delete_message' => 'Sind Sie sicher, dass Sie die Regel „:rule“ löschen möchten?',
- 'delete' => 'Löschen',
-
- // Status messages
- 'success' => 'Erfolg',
- 'error' => 'Fehler',
-
- // Placeholders
- 'select_mode' => 'Wählen Sie einen Umbenennungsmodus',
- 'execution_order' => 'Ausführungsreihenfolge',
-
- // Test functionality
- 'test_input_placeholder' => 'Geben Sie einen Dateinamen ein, um die Regeln zu testen (z. B. IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Ergebnis',
- 'test_failed' => 'Test der Umbenennungsregeln fehlgeschlagen',
- 'apply_photo_rules' => 'Fotoregeln anwenden',
- 'apply_album_rules' => 'Albenregeln anwenden',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Umbenennungsregeln',
+
+ // Modal titles
+ 'create_rule' => 'Umbenennungsregel erstellen',
+ 'edit_rule' => 'Umbenennungsregel bearbeiten',
+
+ // Form fields
+ 'rule_name' => 'Regelname',
+ 'description' => 'Beschreibung',
+ 'pattern' => 'Muster',
+ 'replacement' => 'Ersetzen durch',
+ 'mode' => 'Modus',
+ 'order' => 'Reihenfolge',
+ 'enabled' => 'Aktiviert',
+ 'photo_rule' => 'Regel auf Fotos anwenden',
+ 'album_rule' => 'Regel auf Alben anwenden',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optionale Beschreibung der Regelfunktion',
+ 'pattern_help' => 'Zu findendes Muster (z. B. IMG_, DSC_)',
+ 'replacement_help' => 'Ersetzungstext (z. B. Foto_, Kamera_)',
+ 'order_help' => 'Niedrigere Zahlen werden zuerst verarbeitet (1 = höchste Priorität)',
+ 'enabled_help' => '(Nur aktivierte Regeln werden beim Umbenennen angewendet)',
+
+ // Mode options
+ 'mode_first' => 'Erstes Vorkommen',
+ 'mode_all' => 'Alle Vorkommen',
+ 'mode_regex' => 'Regulärer Ausdruck (Regex)',
+ 'mode_trim' => 'Leerzeichen entfernen',
+ 'mode_strtolower' => 'Kleinschreibung',
+ 'mode_strtoupper' => 'GROSSSCHREIBUNG',
+ 'mode_ucwords' => 'Jedes Wort großschreiben',
+ 'mode_ucfirst' => 'Ersten Buchstaben großschreiben',
+
+ 'mode_first_description' => 'Nur das erste Vorkommen ersetzen',
+ 'mode_all_description' => 'Alle Vorkommen ersetzen',
+ 'mode_regex_description' => 'Mustersuche per regulärem Ausdruck verwenden',
+ 'mode_trim_description' => 'Leerzeichen am Anfang und Ende entfernen',
+ 'mode_strtolower_description' => 'Text in Kleinschreibung umwandeln',
+ 'mode_strtoupper_description' => 'Text in Großschreibung umwandeln',
+ 'mode_ucwords_description' => 'Anfangsbuchstaben jedes Wortes großschreiben',
+ 'mode_ucfirst_description' => 'Nur den ersten Buchstaben großschreiben',
+
+ 'regex_help' => 'Verwenden Sie reguläre Ausdrücke für die Mustersuche. Um beispielsweise IMG_1234.jpeg durch 1234_JPG.jpeg zu ersetzen, können Sie /IMG_(\d+)/ als Suchmuster und $1_JPG als Ersetzungstext nutzen. Weitere Erklärungen finden Sie unter den folgenden Links.',
+
+ // Buttons
+ 'cancel' => 'Abbrechen',
+ 'create' => 'Erstellen',
+ 'update' => 'Aktualisieren',
+ 'create_first_rule' => 'Erste Regel erstellen',
+
+ // Validation messages
+ 'rule_name_required' => 'Ein Regelname ist erforderlich',
+ 'pattern_required' => 'Ein Muster ist erforderlich',
+ 'replacement_required' => 'Ein Ersetzungstext ist erforderlich',
+ 'mode_required' => 'Ein Modus ist erforderlich',
+ 'order_positive' => 'Die Reihenfolge muss eine positive Zahl sein',
+
+ // Success messages
+ 'rule_created' => 'Umbenennungsregel erfolgreich erstellt',
+ 'rule_updated' => 'Umbenennungsregel erfolgreich aktualisiert',
+ 'rule_deleted' => 'Umbenennungsregel erfolgreich gelöscht',
+
+ // Error messages
+ 'failed_to_create' => 'Umbenennungsregel konnte nicht erstellt werden',
+ 'failed_to_update' => 'Umbenennungsregel konnte nicht aktualisiert werden',
+ 'failed_to_delete' => 'Umbenennungsregel konnte nicht gelöscht werden',
+ 'failed_to_load' => 'Umbenennungsregeln konnten nicht geladen werden',
+
+ // List view
+ 'rules_count' => ':count Regeln',
+ 'no_rules' => 'Keine Umbenennungsregeln gefunden',
+ 'loading' => 'Umbenennungsregeln werden geladen …',
+ 'pattern_label' => 'Muster',
+ 'replace_with_label' => 'Ersetzen durch',
+ 'photo' => 'Foto',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Löschen bestätigen',
+ 'confirm_delete_message' => 'Sind Sie sicher, dass Sie die Regel „:rule“ löschen möchten?',
+ 'delete' => 'Löschen',
+
+ // Status messages
+ 'success' => 'Erfolg',
+ 'error' => 'Fehler',
+
+ // Placeholders
+ 'select_mode' => 'Wählen Sie einen Umbenennungsmodus',
+ 'execution_order' => 'Ausführungsreihenfolge',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Geben Sie einen Dateinamen ein, um die Regeln zu testen (z. B. IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Ergebnis',
+ 'test_failed' => 'Test der Umbenennungsregeln fehlgeschlagen',
+ 'apply_photo_rules' => 'Fotoregeln anwenden',
+ 'apply_album_rules' => 'Albenregeln anwenden',
];
diff --git a/lang/de/settings.php b/lang/de/settings.php
index 4de9b9e562a..a0eaf54f850 100644
--- a/lang/de/settings.php
+++ b/lang/de/settings.php
@@ -1,103 +1,103 @@
'Einstellungen',
- 'small_screen' => 'Für eine bessere Benutzererfahrung auf der Einstellungsseite,
empfehlen wir Ihnen, einen größeren Bildschirm zu verwenden.',
- 'tabs' => [
- 'basic' => 'Grundeinstellungen',
- 'all_settings' => 'Alle Einstellungen',
- ],
- 'toasts' => [
- 'change_saved' => 'Änderung gespeichert!',
- 'details' => 'Die Einstellungen wurden wie gewünscht geändert',
- 'error' => 'Fehler!',
- 'error_load_css' => 'dist/user.css konnte nicht geladen werden',
- 'error_load_js' => 'dist/custom.js konnte nicht geladen werden',
- 'error_save_css' => 'CSS konnte nicht gespeichert werden',
- 'error_save_js' => 'JS konnte nicht gespeichert werden',
- 'thank_you' => 'Vielen Dank für die Unterstützung.',
- 'reload' => 'Laden Sie Ihre Seite neu für vollständige Funktionalität.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Dunklen Modus für Lychee verwenden',
- 'language' => 'Von Lychee verwendete Sprache',
- 'nsfw_album_visibility' => 'Sensible Alben standardmäßig sichtbar machen.',
- 'nsfw_album_explanation' => 'Wenn das Album öffentlich ist, ist es immer noch zugänglich, es ist nur nicht sichtbar undkann durch Drücken von H angezeigt werden.',
- 'cache_enabled' => 'Zwischenspeicherung von Antworten aktivieren.',
- 'cache_enabled_details' => 'Beschleunigt die Antwortzeit von Lychee erheblich.
Wenn Sie passwortgeschützte Alben verwenden, sollten Sie diese Funktion nicht aktivieren.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Erhalten Sie exklusive Funktionen und unterstützen Sie die Entwicklung von Lychee. Schalten Sie die Supporter Edition frei.',
- 'preview' => 'Vorschau der Lychee SE-Funktionen einschalten',
- 'hide_call4action' => 'Lychee SE-Anmeldeformular ausblenden. Ich bin mit Lychee so zufrieden, wie es ist. :)',
- 'hide_warning' => 'Wenn diese Option aktiviert ist, können Sie Ihren Lizenzschlüssel nur über die obige Registerkarte „Mehr“ registrieren. Die Änderungen werden beim Neuladen der Seite übernommen.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'Um Fotos aus deinem Dropbox-Konto zu importieren, benötigst du einen gültigen „Drop-ins App Key“ von der Dropbox-Website.',
- 'api_key' => 'Dropbox API Schlüssel',
- 'set_key' => 'Dropbox-Schlüssel festlegen',
- ],
- 'gallery' => [
- 'header' => 'Galerie',
- 'photo_order_column' => 'Standardspalte verwendet für die Sortierung von Fotos',
- 'photo_order_direction' => 'Standardreihenfolge für die Sortierung von Fotos',
- 'album_order_column' => 'Standardspalte verwendet für die Sortierung von Alben',
- 'album_order_direction' => 'Standardreihenfolge für die Sortierung von Alben',
- 'aspect_ratio' => 'Standard-Seitenverhältnis für Album-Thumbnails',
- 'photo_layout' => 'Layout für Bilder',
- 'album_decoration' => 'Hinweise auf dem Albumcover anzeigen (Anzahl der Unteralben und/oder Fotos)',
- 'album_decoration_direction' => 'Album-Hinweise horizontal oder vertikal ausrichten',
- 'photo_overlay' => 'Standard-Bildüberlagerungsinformationen',
- 'license_default' => 'Standardlizenz für Alben',
- 'license_help' => 'Brauchen Sie Hilfe bei der Auswahl?',
- ],
- 'geolocation' => [
- 'header' => 'Geografischer Standort',
- 'map_display' => 'Anzeige der Karte mit GPS-Koordinaten',
- 'map_display_public' => 'Anonymen Benutzern den Zugriff auf die Karte ermöglichen',
- 'map_provider' => 'Kartenanbieter festlegen',
- 'map_include_subalbums' => 'Bilder der Unteralben auf der Karte anzeigen',
- 'location_decoding' => 'GPS-Standortdecodierung verwenden',
- 'location_show' => 'Aus GPS-Koordinaten extrahierten Standort anzeigen',
- 'location_show_public' => 'Anonyme Nutzer können auf den aus den GPS-Koordinaten extrahierten Standort zugreifen',
- 'gps_coordinate_display' => 'GPS-Koordinaten anzeigen',
- 'gps_coordinate_display_public' => 'GPS-Koordinaten für anonyme Benutzer freigeben',
- ],
- 'cssjs' => [
- 'header' => 'Benutzerdefinierte CSS & JS',
- 'change_css' => 'CSS ändern',
- 'change_js' => 'JS ändern',
- ],
- 'all' => [
- 'old_setting_style' => 'Stil der „Alten Einstellungen“',
- 'expert_settings' => 'Experten Modus',
- 'change_detected' => 'Einige Einstellungen wurden geändert.',
- 'save' => 'Speichern',
- 'back_to_settings' => 'Zurück zu den gruppierten Einstellungen',
- ],
- 'tool_option' => [
- 'disabled' => 'deaktiviert',
- 'enabled' => 'aktiviert',
- 'discover' => 'entdecken',
- ],
- 'groups' => [
- 'general' => 'Allgemein',
- 'system' => 'System',
- 'modules' => 'Module',
- 'advanced' => 'Fortgeschrittene',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Einstellungen',
+ 'small_screen' => 'Für eine bessere Benutzererfahrung auf der Einstellungsseite,
empfehlen wir Ihnen, einen größeren Bildschirm zu verwenden.',
+ 'tabs' => [
+ 'basic' => 'Grundeinstellungen',
+ 'all_settings' => 'Alle Einstellungen',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Änderung gespeichert!',
+ 'details' => 'Die Einstellungen wurden wie gewünscht geändert',
+ 'error' => 'Fehler!',
+ 'error_load_css' => 'dist/user.css konnte nicht geladen werden',
+ 'error_load_js' => 'dist/custom.js konnte nicht geladen werden',
+ 'error_save_css' => 'CSS konnte nicht gespeichert werden',
+ 'error_save_js' => 'JS konnte nicht gespeichert werden',
+ 'thank_you' => 'Vielen Dank für die Unterstützung.',
+ 'reload' => 'Laden Sie Ihre Seite neu für vollständige Funktionalität.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Dunklen Modus für Lychee verwenden',
+ 'language' => 'Von Lychee verwendete Sprache',
+ 'nsfw_album_visibility' => 'Sensible Alben standardmäßig sichtbar machen.',
+ 'nsfw_album_explanation' => 'Wenn das Album öffentlich ist, ist es immer noch zugänglich, es ist nur nicht sichtbar undkann durch Drücken von H angezeigt werden.',
+ 'cache_enabled' => 'Zwischenspeicherung von Antworten aktivieren.',
+ 'cache_enabled_details' => 'Beschleunigt die Antwortzeit von Lychee erheblich.
Wenn Sie passwortgeschützte Alben verwenden, sollten Sie diese Funktion nicht aktivieren.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Erhalten Sie exklusive Funktionen und unterstützen Sie die Entwicklung von Lychee. Schalten Sie die Supporter Edition frei.',
+ 'preview' => 'Vorschau der Lychee SE-Funktionen einschalten',
+ 'hide_call4action' => 'Lychee SE-Anmeldeformular ausblenden. Ich bin mit Lychee so zufrieden, wie es ist. :)',
+ 'hide_warning' => 'Wenn diese Option aktiviert ist, können Sie Ihren Lizenzschlüssel nur über die obige Registerkarte „Mehr“ registrieren. Die Änderungen werden beim Neuladen der Seite übernommen.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'Um Fotos aus deinem Dropbox-Konto zu importieren, benötigst du einen gültigen „Drop-ins App Key“ von der Dropbox-Website.',
+ 'api_key' => 'Dropbox API Schlüssel',
+ 'set_key' => 'Dropbox-Schlüssel festlegen',
+ ],
+ 'gallery' => [
+ 'header' => 'Galerie',
+ 'photo_order_column' => 'Standardspalte verwendet für die Sortierung von Fotos',
+ 'photo_order_direction' => 'Standardreihenfolge für die Sortierung von Fotos',
+ 'album_order_column' => 'Standardspalte verwendet für die Sortierung von Alben',
+ 'album_order_direction' => 'Standardreihenfolge für die Sortierung von Alben',
+ 'aspect_ratio' => 'Standard-Seitenverhältnis für Album-Thumbnails',
+ 'photo_layout' => 'Layout für Bilder',
+ 'album_decoration' => 'Hinweise auf dem Albumcover anzeigen (Anzahl der Unteralben und/oder Fotos)',
+ 'album_decoration_direction' => 'Album-Hinweise horizontal oder vertikal ausrichten',
+ 'photo_overlay' => 'Standard-Bildüberlagerungsinformationen',
+ 'license_default' => 'Standardlizenz für Alben',
+ 'license_help' => 'Brauchen Sie Hilfe bei der Auswahl?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geografischer Standort',
+ 'map_display' => 'Anzeige der Karte mit GPS-Koordinaten',
+ 'map_display_public' => 'Anonymen Benutzern den Zugriff auf die Karte ermöglichen',
+ 'map_provider' => 'Kartenanbieter festlegen',
+ 'map_include_subalbums' => 'Bilder der Unteralben auf der Karte anzeigen',
+ 'location_decoding' => 'GPS-Standortdecodierung verwenden',
+ 'location_show' => 'Aus GPS-Koordinaten extrahierten Standort anzeigen',
+ 'location_show_public' => 'Anonyme Nutzer können auf den aus den GPS-Koordinaten extrahierten Standort zugreifen',
+ 'gps_coordinate_display' => 'GPS-Koordinaten anzeigen',
+ 'gps_coordinate_display_public' => 'GPS-Koordinaten für anonyme Benutzer freigeben',
+ ],
+ 'cssjs' => [
+ 'header' => 'Benutzerdefinierte CSS & JS',
+ 'change_css' => 'CSS ändern',
+ 'change_js' => 'JS ändern',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Stil der „Alten Einstellungen“',
+ 'expert_settings' => 'Experten Modus',
+ 'change_detected' => 'Einige Einstellungen wurden geändert.',
+ 'save' => 'Speichern',
+ 'back_to_settings' => 'Zurück zu den gruppierten Einstellungen',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'deaktiviert',
+ 'enabled' => 'aktiviert',
+ 'discover' => 'entdecken',
+ ],
+ 'groups' => [
+ 'general' => 'Allgemein',
+ 'system' => 'System',
+ 'modules' => 'Module',
+ 'advanced' => 'Fortgeschrittene',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/de/sharing.php b/lang/de/sharing.php
index 68c923996a8..101b3967597 100644
--- a/lang/de/sharing.php
+++ b/lang/de/sharing.php
@@ -1,39 +1,39 @@
'Teilen',
- 'info' => 'Diese Seite bietet einen Überblick über die mit den Alben verbundenen Freigabeberechtigungen und die Möglichkeit, diese zu bearbeiten.',
- 'album_title' => 'Albumtitel',
- 'username' => 'Benutzername',
- 'no_data' => 'Die Freigabeliste ist leer.',
- 'share' => 'Teilen',
- 'add_new_access_permission' => 'Eine neue Zugangsberechtigung hinzufügen',
- 'permission_deleted' => 'Berechtigung gelöscht!',
- 'permission_created' => 'Berechtigung erstellt!',
- 'propagate' => 'Vererbung',
- 'propagate_help' => 'Vererbt die aktuellen Zugriffsberechtigungen an alle untergeordneten Objekte
(Unteralben und deren jeweilige Unteralben usw.)',
- 'propagate_default' => 'Standardmäßig werden die vorhandenen Berechtigungen (Album-Benutzer)
aktualisiert und die fehlenden hinzugefügt.
Zusätzliche Berechtigungen, die nicht in dieser Liste enthalten sind, bleiben unberührt.',
- 'propagate_overwrite' => 'Überschreibt die vorhandenen Berechtigungen, anstatt sie zu aktualisieren.
Dadurch werden auch alle Berechtigungen entfernt, die nicht in dieser Liste enthalten sind.',
- 'propagate_warning' => 'Diese Aktion kann nicht rückgängig gemacht werden.',
- 'permission_overwritten' => 'Vererbung erfolgreich! Berechtigungen überschrieben!',
- 'permission_updated' => 'Vererbung erfolgreich! Berechtigungen aktualisiert!',
- 'bluk_share' => 'Sammelfreigabe',
- 'bulk_share_instr' => 'Wählen Sie mehrere Alben und Benutzer für die Freigabe aus.',
- 'albums' => 'Alben',
- 'users' => 'Benutzer',
- 'no_users' => 'Keine auswählbaren Benutzer.',
- 'no_albums' => 'Keine auswählbaren Alben.',
- 'grants' => [
- 'read' => 'Gewährt Lesezugriff',
- 'original' => 'Gewährt Zugriff auf das Originalfoto',
- 'download' => 'Herunterladen erlauben',
- 'upload' => 'Hochladen erlauben',
- 'edit' => 'Gewährt das Recht zur Bearbeitung',
- 'delete' => 'Gewährt das Recht zu löschen',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Teilen',
+ 'info' => 'Diese Seite bietet einen Überblick über die mit den Alben verbundenen Freigabeberechtigungen und die Möglichkeit, diese zu bearbeiten.',
+ 'album_title' => 'Albumtitel',
+ 'username' => 'Benutzername',
+ 'no_data' => 'Die Freigabeliste ist leer.',
+ 'share' => 'Teilen',
+ 'add_new_access_permission' => 'Eine neue Zugangsberechtigung hinzufügen',
+ 'permission_deleted' => 'Berechtigung gelöscht!',
+ 'permission_created' => 'Berechtigung erstellt!',
+ 'propagate' => 'Vererbung',
+ 'propagate_help' => 'Vererbt die aktuellen Zugriffsberechtigungen an alle untergeordneten Objekte
(Unteralben und deren jeweilige Unteralben usw.)',
+ 'propagate_default' => 'Standardmäßig werden die vorhandenen Berechtigungen (Album-Benutzer)
aktualisiert und die fehlenden hinzugefügt.
Zusätzliche Berechtigungen, die nicht in dieser Liste enthalten sind, bleiben unberührt.',
+ 'propagate_overwrite' => 'Überschreibt die vorhandenen Berechtigungen, anstatt sie zu aktualisieren.
Dadurch werden auch alle Berechtigungen entfernt, die nicht in dieser Liste enthalten sind.',
+ 'propagate_warning' => 'Diese Aktion kann nicht rückgängig gemacht werden.',
+ 'permission_overwritten' => 'Vererbung erfolgreich! Berechtigungen überschrieben!',
+ 'permission_updated' => 'Vererbung erfolgreich! Berechtigungen aktualisiert!',
+ 'bluk_share' => 'Sammelfreigabe',
+ 'bulk_share_instr' => 'Wählen Sie mehrere Alben und Benutzer für die Freigabe aus.',
+ 'albums' => 'Alben',
+ 'users' => 'Benutzer',
+ 'no_users' => 'Keine auswählbaren Benutzer.',
+ 'no_albums' => 'Keine auswählbaren Alben.',
+ 'grants' => [
+ 'read' => 'Gewährt Lesezugriff',
+ 'original' => 'Gewährt Zugriff auf das Originalfoto',
+ 'download' => 'Herunterladen erlauben',
+ 'upload' => 'Hochladen erlauben',
+ 'edit' => 'Gewährt das Recht zur Bearbeitung',
+ 'delete' => 'Gewährt das Recht zu löschen',
+ ],
];
diff --git a/lang/de/statistics.php b/lang/de/statistics.php
index 41a7aab715f..e9749be0eb8 100644
--- a/lang/de/statistics.php
+++ b/lang/de/statistics.php
@@ -1,63 +1,63 @@
'Statistiken',
- 'preview_text' => 'Dies ist eine Vorschau auf die Statistikseite in Lychee SE.
Die hier gezeigten Daten sind zufällig generiert und spiegeln nicht Ihren Server wider.',
- 'no_data' => 'Der Benutzer hat keine Daten auf dem Server.',
- 'collapse' => 'Album Größen ausklappen',
- 'total' => [
- 'total' => 'Insgesamt',
- 'albums' => 'Alben',
- 'photos' => 'Fotos',
- 'size' => 'Größe',
- ],
- 'table' => [
- 'username' => 'Besitzer',
- 'title' => 'Titel',
- 'photos' => 'Fotos',
- 'descendants' => 'Untergeordnete',
- 'size' => 'Größe',
- ],
- 'punch_card' => [
- 'title' => 'Aktivität',
- 'photo-taken' => '%d Fotos gemacht',
- 'photo-taken-in' => '%d Fotos aufgenommen in %d',
- 'photo-uploaded' => '%d Fotos hochgeladen',
- 'photo-uploaded-in' => '%d Fotos hochgeladen in %d',
- 'with-exif' => 'mit EXIF-Daten',
- 'less' => 'Weniger',
- 'more' => 'Mehr',
- 'tooltip' => '%d Fotos auf %s',
- 'created_at' => 'Datum des Hochladens',
- 'taken_at' => 'EXIF-Datum',
- 'caption' => 'Jede Spalte steht für eine Woche.',
- ],
- 'metrics' => [
- 'header' => 'Live-Metriken',
- 'preview_text' => 'Dies ist eine Vorschau auf die in Lychee SE verfügbaren Live-Metriken. Die hier gezeigten Daten sind zufällig generiert und spiegeln nicht Ihren Server wider.',
- 'a_visitor' => 'Ein Besucher',
- 'visitors' => '%d Besucher',
- 'visit_singular' => '%1$s angesehen %2$s',
- 'favourite_singular' => '%1$s favorisiert %2$s',
- 'download_singular' => '%1$s heruntergeladen %2$s',
- 'shared_singular' => '%1$s geteilt %2$s',
- 'visit_plural' => '%1$s angesehen %2$s',
- 'favourite_plural' => '%1$s favorisiert %2$s',
- 'download_plural' => '%1$s heruntergeladen %2$s',
- 'shared_plural' => '%1$s geteilt %2$s',
- 'ago' => [
- 'days' => 'vor %d Tagen',
- 'day' => 'vor einem Tag',
- 'hours' => 'vor %d Stunden',
- 'hour' => 'vor einer Stunde',
- 'minutes' => 'vor %d Minuten',
- 'few_minutes' => 'vor wenigen Minuten',
- 'seconds' => 'vor ein paar Sekunden',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistiken',
+ 'preview_text' => 'Dies ist eine Vorschau auf die Statistikseite in Lychee SE.
Die hier gezeigten Daten sind zufällig generiert und spiegeln nicht Ihren Server wider.',
+ 'no_data' => 'Der Benutzer hat keine Daten auf dem Server.',
+ 'collapse' => 'Album Größen ausklappen',
+ 'total' => [
+ 'total' => 'Insgesamt',
+ 'albums' => 'Alben',
+ 'photos' => 'Fotos',
+ 'size' => 'Größe',
+ ],
+ 'table' => [
+ 'username' => 'Besitzer',
+ 'title' => 'Titel',
+ 'photos' => 'Fotos',
+ 'descendants' => 'Untergeordnete',
+ 'size' => 'Größe',
+ ],
+ 'punch_card' => [
+ 'title' => 'Aktivität',
+ 'photo-taken' => '%d Fotos gemacht',
+ 'photo-taken-in' => '%d Fotos aufgenommen in %d',
+ 'photo-uploaded' => '%d Fotos hochgeladen',
+ 'photo-uploaded-in' => '%d Fotos hochgeladen in %d',
+ 'with-exif' => 'mit EXIF-Daten',
+ 'less' => 'Weniger',
+ 'more' => 'Mehr',
+ 'tooltip' => '%d Fotos auf %s',
+ 'created_at' => 'Datum des Hochladens',
+ 'taken_at' => 'EXIF-Datum',
+ 'caption' => 'Jede Spalte steht für eine Woche.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live-Metriken',
+ 'preview_text' => 'Dies ist eine Vorschau auf die in Lychee SE verfügbaren Live-Metriken. Die hier gezeigten Daten sind zufällig generiert und spiegeln nicht Ihren Server wider.',
+ 'a_visitor' => 'Ein Besucher',
+ 'visitors' => '%d Besucher',
+ 'visit_singular' => '%1$s angesehen %2$s',
+ 'favourite_singular' => '%1$s favorisiert %2$s',
+ 'download_singular' => '%1$s heruntergeladen %2$s',
+ 'shared_singular' => '%1$s geteilt %2$s',
+ 'visit_plural' => '%1$s angesehen %2$s',
+ 'favourite_plural' => '%1$s favorisiert %2$s',
+ 'download_plural' => '%1$s heruntergeladen %2$s',
+ 'shared_plural' => '%1$s geteilt %2$s',
+ 'ago' => [
+ 'days' => 'vor %d Tagen',
+ 'day' => 'vor einem Tag',
+ 'hours' => 'vor %d Stunden',
+ 'hour' => 'vor einer Stunde',
+ 'minutes' => 'vor %d Minuten',
+ 'few_minutes' => 'vor wenigen Minuten',
+ 'seconds' => 'vor ein paar Sekunden',
+ ],
+ ],
];
diff --git a/lang/de/tags.php b/lang/de/tags.php
index 3b76625aee6..5d65ee63df2 100644
--- a/lang/de/tags.php
+++ b/lang/de/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Hier können Sie Ihre Tags verwalten. Sie können Tags umbenennen, zusammenführen und löschen.
Die Zahl gibt an, wie viele Fotos mit dem jeweiligen Tag verknüpft sind.',
- 'no_tags' => 'Keine Tags gefunden.',
- 'loading' => 'Tags werden geladen …',
- 'rename' => 'Umbenennen',
- 'merge' => 'Zusammenführen',
- 'delete' => 'Löschen',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Hier können Sie Ihre Tags verwalten. Sie können Tags umbenennen, zusammenführen und löschen.
Die Zahl gibt an, wie viele Fotos mit dem jeweiligen Tag verknüpft sind.',
+ 'no_tags' => 'Keine Tags gefunden.',
+ 'loading' => 'Tags werden geladen …',
+ 'rename' => 'Umbenennen',
+ 'merge' => 'Zusammenführen',
+ 'delete' => 'Löschen',
- 'delete_confirm' => 'Sind Sie sicher, dass Sie den Tag „%s“ löschen möchten?',
- 'delete_warning' => 'Diese Aktion kann nicht rückgängig gemacht werden! Alle mit diesem Tag verknüpften Fotos werden diesen Tag verlieren.',
+ 'delete_confirm' => 'Sind Sie sicher, dass Sie den Tag „%s“ löschen möchten?',
+ 'delete_warning' => 'Diese Aktion kann nicht rückgängig gemacht werden! Alle mit diesem Tag verknüpften Fotos werden diesen Tag verlieren.',
- 'merge_confirm' => 'Sind Sie sicher, dass Sie den Tag „%1$s“ mit dem Tag „%2$s“ zusammenführen möchten?',
- 'merge_warning' => 'Diese Aktion kann nicht rückgängig gemacht werden! Alle Fotos des ursprünglichen Tags werden auf den Ziel-Tag übertragen.',
+ 'merge_confirm' => 'Sind Sie sicher, dass Sie den Tag „%1$s“ mit dem Tag „%2$s“ zusammenführen möchten?',
+ 'merge_warning' => 'Diese Aktion kann nicht rückgängig gemacht werden! Alle Fotos des ursprünglichen Tags werden auf den Ziel-Tag übertragen.',
- 'rename_tag' => 'Tag umbenennen',
+ 'rename_tag' => 'Tag umbenennen',
];
\ No newline at end of file
diff --git a/lang/de/toasts.php b/lang/de/toasts.php
index 6bb4cec18a2..1ce2e914010 100644
--- a/lang/de/toasts.php
+++ b/lang/de/toasts.php
@@ -1,13 +1,13 @@
'Fehler',
- 'success' => 'Erfolgreich',
- 'album_updated' => 'Album aktualisiert',
- 'update_failed' => 'Aktualisierung des Albums fehlgeschlagen',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Fehler',
+ 'success' => 'Erfolgreich',
+ 'album_updated' => 'Album aktualisiert',
+ 'update_failed' => 'Aktualisierung des Albums fehlgeschlagen',
];
diff --git a/lang/de/user-groups.php b/lang/de/user-groups.php
index 7e466bf3315..d7d82a1c418 100644
--- a/lang/de/user-groups.php
+++ b/lang/de/user-groups.php
@@ -1,39 +1,39 @@
'Benutzergruppen',
- 'explanation' => 'Benutzergruppen ermöglichen es Ihnen, Benutzer zu organisieren und Berechtigungen gemeinsam zu verwalten.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Benutzergruppen',
+ 'explanation' => 'Benutzergruppen ermöglichen es Ihnen, Benutzer zu organisieren und Berechtigungen gemeinsam zu verwalten.',
- 'create_group' => 'Gruppe erstellen',
- 'edit' => 'Bearbeiten',
- 'delete' => 'Löschen',
+ 'create_group' => 'Gruppe erstellen',
+ 'edit' => 'Bearbeiten',
+ 'delete' => 'Löschen',
- 'loading' => 'Gruppen werden geladen …',
- 'empty' => 'Keine Gruppen gefunden.',
+ 'loading' => 'Gruppen werden geladen …',
+ 'empty' => 'Keine Gruppen gefunden.',
- 'add_member' => 'Mitglied hinzufügen …',
- 'empty_group' => 'Diese Gruppe ist leer.',
- 'no_permission_members' => 'Sie haben keine Berechtigung, die Mitglieder dieser Gruppe einzusehen.',
- 'remove_success' => '„%s“ wurde aus „%s“ entfernt.',
+ 'add_member' => 'Mitglied hinzufügen …',
+ 'empty_group' => 'Diese Gruppe ist leer.',
+ 'no_permission_members' => 'Sie haben keine Berechtigung, die Mitglieder dieser Gruppe einzusehen.',
+ 'remove_success' => '„%s“ wurde aus „%s“ entfernt.',
- 'confirm_delete_header' => 'Gruppe löschen',
- 'confirm_delete_message' => 'Sind Sie sicher, dass Sie diese Gruppe löschen möchten?',
- 'cancel' => 'Abbrechen',
- 'confirm' => 'Löschen',
+ 'confirm_delete_header' => 'Gruppe löschen',
+ 'confirm_delete_message' => 'Sind Sie sicher, dass Sie diese Gruppe löschen möchten?',
+ 'cancel' => 'Abbrechen',
+ 'confirm' => 'Löschen',
- 'create' => [
- 'name' => 'Gruppenname',
- 'description' => 'Beschreibung',
- 'users' => 'Benutzer',
- 'cancel' => 'Abbrechen',
- 'create' => 'Erstellen',
- 'edit' => 'Bearbeiten',
+ 'create' => [
+ 'name' => 'Gruppenname',
+ 'description' => 'Beschreibung',
+ 'users' => 'Benutzer',
+ 'cancel' => 'Abbrechen',
+ 'create' => 'Erstellen',
+ 'edit' => 'Bearbeiten',
- 'error_name_required' => 'Ein Gruppenname ist erforderlich.',
- ],
+ 'error_name_required' => 'Ein Gruppenname ist erforderlich.',
+ ],
];
diff --git a/lang/de/users.php b/lang/de/users.php
index 0461fe96089..cc3f57d89d7 100644
--- a/lang/de/users.php
+++ b/lang/de/users.php
@@ -1,50 +1,50 @@
'Benutzer',
- 'description' => 'Hier können die Benutzer der Lychee-Installation verwaltet werden. Es können Benutzer angelegt, bearbeitet und gelöscht werden.',
- 'create' => 'Einen neuen Benutzer anlegen',
- 'username' => 'Benutzername',
- 'password' => 'Passwort',
- 'legend' => 'Legende',
- 'upload_rights' => 'Wenn diese Option ausgewählt ist, kann der Benutzer Inhalte hochladen.',
- 'edit_rights' => 'Wenn diese Option ausgewählt ist, kann der Benutzer sein Profil (Benutzername, Passwort) ändern.',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Benutzer',
+ 'description' => 'Hier können die Benutzer der Lychee-Installation verwaltet werden. Es können Benutzer angelegt, bearbeitet und gelöscht werden.',
+ 'create' => 'Einen neuen Benutzer anlegen',
+ 'username' => 'Benutzername',
+ 'password' => 'Passwort',
+ 'legend' => 'Legende',
+ 'upload_rights' => 'Wenn diese Option ausgewählt ist, kann der Benutzer Inhalte hochladen.',
+ 'edit_rights' => 'Wenn diese Option ausgewählt ist, kann der Benutzer sein Profil (Benutzername, Passwort) ändern.',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'Wenn diese Option gesetzt ist, verfügt der Benutzer über ein Platzkontingent für Bilder (in kB).',
- 'user_deleted' => 'Benutzer gelöscht',
- 'user_created' => 'Benutzer erstellt',
- 'user_updated' => 'Benutzer aktualisiert',
- 'change_saved' => 'Änderung gespeichert!',
- 'create_edit' => [
- 'upload_rights' => 'Benutzer können Inhalte hochladen.',
- 'edit_rights' => 'Der Benutzer kann sein Profil (Benutzername, Passwort) ändern.',
- 'admin_rights' => 'Der Benutzer hat Administratorrechte.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'Wenn diese Option gesetzt ist, verfügt der Benutzer über ein Platzkontingent für Bilder (in kB).',
+ 'user_deleted' => 'Benutzer gelöscht',
+ 'user_created' => 'Benutzer erstellt',
+ 'user_updated' => 'Benutzer aktualisiert',
+ 'change_saved' => 'Änderung gespeichert!',
+ 'create_edit' => [
+ 'upload_rights' => 'Benutzer können Inhalte hochladen.',
+ 'edit_rights' => 'Der Benutzer kann sein Profil (Benutzername, Passwort) ändern.',
+ 'admin_rights' => 'Der Benutzer hat Administratorrechte.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'Benutzer hat Kontingentgrenze.',
- 'quota_kb' => 'Kontingent in kB (0 für Standard)',
- 'note' => 'Verwaltungshinweis (nicht öffentlich sichtbar)',
- 'create' => 'Erstellen',
- 'edit' => 'Bearbeiten',
- ],
- 'invite' => [
- 'button' => 'Benutzer einladen',
- 'links_are_not_revokable' => 'Einladungslinks sind nicht widerrufbar.',
- 'link_is_valid_x_days' => 'Dieser Link ist für %d Tage gültig.',
- ],
- 'line' => [
- 'owner' => 'Besitzer',
- 'admin' => 'Administrator',
- 'edit' => 'Bearbeiten',
- 'delete' => 'Löschen',
- ],
+ 'quota' => 'Benutzer hat Kontingentgrenze.',
+ 'quota_kb' => 'Kontingent in kB (0 für Standard)',
+ 'note' => 'Verwaltungshinweis (nicht öffentlich sichtbar)',
+ 'create' => 'Erstellen',
+ 'edit' => 'Bearbeiten',
+ ],
+ 'invite' => [
+ 'button' => 'Benutzer einladen',
+ 'links_are_not_revokable' => 'Einladungslinks sind nicht widerrufbar.',
+ 'link_is_valid_x_days' => 'Dieser Link ist für %d Tage gültig.',
+ ],
+ 'line' => [
+ 'owner' => 'Besitzer',
+ 'admin' => 'Administrator',
+ 'edit' => 'Bearbeiten',
+ 'delete' => 'Löschen',
+ ],
];
diff --git a/lang/de/webhook.php b/lang/de/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/de/webhook.php
+++ b/lang/de/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/de/webshop.php b/lang/de/webshop.php
index a8e2cbeabbc..4e17aa7f2f3 100644
--- a/lang/de/webshop.php
+++ b/lang/de/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Karteninhaber',
- 'fullName' => 'Vollständiger Name',
- 'expires' => 'Gültig bis',
- 'MM' => 'MM',
- 'YY' => 'JJ',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Kartennummer',
- 'cardName' => 'Name auf der Karte',
- 'expirationDate' => 'Ablaufdatum',
- 'month' => 'Monat',
- 'year' => 'Jahr',
- 'CVV' => 'CVV',
- 'submit' => 'Absenden',
- 'invalidCardNumber' => 'Ungültige Kartennummer',
- ],
- 'basketList' => [
- 'basket' => 'Warenkorb',
- 'size' => 'Größe',
- 'license' => 'Lizenz',
- 'notes' => 'Notizen',
- 'removeItem' => 'Artikel entfernen',
- 'clearBasket' => 'Warenkorb leeren',
- 'total' => 'Gesamt:',
- 'proceedToCheckout' => 'Zur Kasse',
- 'emptyBasket' => 'Ihr Warenkorb ist leer.',
- ],
- 'checkout' => [
- 'checkout' => 'Kasse',
- 'yourInfo' => 'Ihre Informationen',
- 'payment' => 'Zahlung',
- 'confirmation' => 'Bestätigung',
- 'next' => 'Weiter',
- 'back' => 'Zurück',
- 'thankYou' => 'Vielen Dank für Ihren Einkauf!',
- 'orderNumber' => 'Ihre Bestellnummer lautet:',
- 'transactionId' => 'Ihre Transaktions-ID lautet:',
- 'noteWarning' => 'Bitte',
- 'noteTransactionId' => 'notieren Sie sich Ihre Transaktions-ID und',
- 'noteOrderNumber' => 'Ihre Bestellnummer,',
- 'noteReason' => 'da Sie diese benötigen, um auf Ihre Inhalte zuzugreifen.',
- 'enjoyPurchase' => 'Viel Freude mit Ihrem Kauf!',
- 'toMyDownloads' => 'Zu meinen Downloads',
- 'toTheGallery' => 'Zur Galerie',
- 'offlineThankYou' => 'Vielen Dank für Ihren Einkauf!',
- 'offlinePaymentMessage' => 'Wir werden uns in Kürze per E-Mail mit den Zahlungsanweisungen bei Ihnen melden.',
- 'offlineProcessingMessage' => 'Wir benachrichtigen Sie, sobald Ihre Fotos zum Download bereitstehen.',
- ],
- 'orderDownload' => [
- 'order' => 'Bestellung %d',
- 'orderAccessRequired' => 'Bestellzugriff erforderlich',
- 'provideTransactionId' => 'Bitte geben Sie die Transaktions-ID an, um auf Ihre Bestelldaten zuzugreifen.',
- 'enterTransactionId' => 'Transaktions-ID eingeben',
- 'loadOrder' => 'Bestellung laden',
- 'orderDetails' => 'Bestelldetails',
- 'transactionId' => 'Transaktions-ID:',
- 'orderSummary' => 'Bestellübersicht',
- 'for' => 'Für:',
- 'status' => 'Status:',
- 'total' => 'Gesamt:',
- 'paid' => 'Bezahlt:',
- 'notPaid' => 'nicht bezahlt',
- 'lastUpdate' => 'Letzte Aktualisierung:',
- 'items' => 'Artikel',
- 'deliver' => 'Ausliefern',
- 'edit' => 'Bearbeiten',
- 'view' => 'Ansehen',
- 'enterContentUrl' => 'Inhalts-URL hier eingeben.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download (noch) nicht verfügbar',
- 'copiedToClipboard' => 'In Zwischenablage kopiert',
- 'orderLinkCopied' => 'Bestell-Link in Zwischenablage kopiert',
- 'couldNotCopy' => 'Konnte nicht in Zwischenablage kopiert werden.',
- 'somethingWentWrong' => 'Etwas ist schiefgelaufen',
- 'couldNotMarkDelivered' => 'Artikel konnte nicht als ausgeliefert markiert werden.',
- ],
- 'status' => [
- 'pending' => 'Ausstehend',
- 'paid' => 'Bezahlt',
- 'offline' => 'Offline',
- 'completed' => 'Abgeschlossen',
- 'processing' => 'In Bearbeitung',
- 'failed' => 'Fehlgeschlagen',
- 'closed' => 'Geschlossen',
- ],
- 'orderList' => [
- 'orders' => 'Bestellungen',
- 'numStaleOrders' => 'Anzahl veralteter Bestellungen: %d',
- 'cleanStaleOrders' => 'Veraltete Bestellungen bereinigen',
- 'client' => 'Kunde',
- 'transactionId' => 'Transaktions-ID',
- 'status' => 'Status',
- 'amount' => 'Betrag',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Kaufbare Artikel',
- 'title' => 'Titel',
- 'description' => 'Beschreibung',
- 'notes' => 'Notizen',
- 'prices' => 'Preise',
- ],
- 'disclaimer' => [
- 'title' => 'Haftungsausschluss',
- 'message' => "Lychee wird unter der MIT-Lizenz entwickelt. Dies bedeutet, dass LycheeOrg nicht verantwortlich oder haftbar gemacht werden kann für Probleme oder Verluste, die aus der Nutzung des Webshop-Moduls und/oder der Zahlungsverarbeitungsfunktionen resultieren. Es ist zwingend erforderlich, dass Sie sicherstellen, dass Ihre Konfiguration korrekt und sicher funktioniert, bevor Sie diese in einer Produktionsumgebung einsetzen.",
- 'iUnderstand' => 'Ich verstehe',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Ihre Informationen',
- 'mustBeLoggedIn' => 'Sie müssen angemeldet sein, um mit der Bestellung fortzufahren.',
- 'goToLogin' => 'Zum Login',
- 'notLoggedInMessage' => 'Sie sind nicht angemeldet! Bitte geben Sie Ihre E-Mail-Adresse an, um fortzufahren.',
- 'loggedInWithEmail' => "Sie sind angemeldet als %s (%s). Sie können Ihre E-Mail-Adresse ändern, wenn Sie bestellrelevante Informationen an eine andere Adresse erhalten möchten.",
- 'loggedInWithoutEmail' => "Sie sind angemeldet als %s. Sie können eine E-Mail-Adresse hinterlegen, wenn Sie bestellrelevante Informationen erhalten möchten.",
- 'emailUsageNote' => 'Ihre E-Mail wird ausschließlich für die Kommunikation bezüglich Ihrer Bestellung verwendet.',
- 'consentAgreement' => "Ich stimme der Datenschutzerklärung und den Nutzungsbedingungen zu.",
- ],
- 'errors' => [
- 'emailRequired' => 'Für eine Gast-Bestellung ist eine E-Mail-Adresse erforderlich.',
- 'invalidEmail' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
- 'noData' => 'KEINE DATEN',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Benötigen Sie Hilfe?',
- 'legend' => 'Legende:',
- 'pendingDesc' => 'Die Bestellung wurde erstellt, aber noch nicht bezahlt.',
- 'processingDesc' => 'Die Zahlung wird verarbeitet.',
- 'offlineDesc' => 'Die Bestellung ist für eine manuelle Zahlung markiert.',
- 'completedDesc' => 'Die Bestellung wurde bezahlt.',
- 'closedDesc' => 'Die Bestellung wurde ausgeliefert.',
- 'cancelledDesc' => 'Die Zahlung wurde abgebrochen.',
- 'failedDesc' => 'Die Zahlung ist fehlgeschlagen.',
- 'flowsIntro' => 'Es gibt verschiedene mögliche Abläufe für die Bestellsteuerung, wie unten beschrieben:',
- 'offlineExplanation' => 'Eine Bestellung im Status %s bedeutet, dass die Zahlung manuell abgewickelt wird, z. B. per Banküberweisung oder Barzahlung bei Lieferung. Der Administrator des Webshops ist dafür verantwortlich, den Bestellstatus auf %s zu aktualisieren, sobald die Zahlung bestätigt wurde, indem er in den Bestelldetails auf die Schaltfläche „Als bezahlt markieren“ klickt.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'abgeschlossen',
- 'closedStatus' => 'geschlossen',
- 'offlineExplanationPart1' => 'Eine Bestellung im Status',
- 'offlineExplanationPart2' => 'bedeutet, dass die Zahlung manuell abgewickelt wird, z. B. per Banküberweisung oder Barzahlung bei Lieferung. Der Administrator des Webshops ist dafür verantwortlich, den Bestellstatus auf',
- 'offlineExplanationPart3' => 'zu aktualisieren, sobald die Zahlung bestätigt wurde, indem er in den Bestelldetails auf die Schaltfläche „Als bezahlt markieren“ klickt.',
- 'closedExplanationPart1' => 'Sobald eine Bestellung den Status',
- 'closedExplanationPart2' => 'erreicht, gilt sie als finalisiert und es können keine weiteren Aktionen mehr vorgenommen werden.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Als bezahlt markieren',
- 'requireAttention' => 'Prüfung erforderlich',
- 'markAsDelivered' => 'Als ausgeliefert markieren',
- 'viewDetails' => 'Details anzeigen',
- ],
- 'orderSummary' => [
- 'title' => 'Zusammenfassung Ihrer Bestellung',
- 'size' => 'Größe:',
- 'license' => 'Lizenz:',
- 'notes' => 'Notizen:',
- 'total' => 'Gesamt:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Wählen Sie Ihren Zahlungsanbieter',
- 'selectProviderPlaceholder' => 'Zahlungsanbieter auswählen',
- 'pciCompliant' => 'Diese Zahlung ist %s-konform.
Ihre Kartendaten werden sicher durch %s verarbeitet.',
- 'enterInfo' => 'Geben Sie Ihre Informationen für %s ein',
- ],
- 'paymentInProgress' => [
- 'message' => 'Zahlung wird verarbeitet …',
- 'cancel' => 'Abbrechen',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'In Zwischenablage kopiert',
- 'transactionIdCopied' => 'Transaktions-ID in Zwischenablage kopiert',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'Dieses Album ist (noch) nicht käuflich erwerbbar.',
- 'descriptionPlaceholder' => 'Beschreibung für Kunden',
- 'ownerNotePlaceholder' => 'Anmerkung des Besitzers',
- 'setPurchasable' => 'Zum Verkauf freigeben',
- 'setPurchasablePropagate' => 'Zum Verkauf freigeben und vererben',
- 'disable' => 'Deaktivieren',
- 'update' => 'Aktualisieren',
- 'setAtLeastOnePrice' => 'Legen Sie mindestens einen Preis fest.',
- 'success' => 'Erfolg',
- 'error' => 'Fehler',
- 'albumNowPurchasable' => 'Album ist nun zum Verkauf freigegeben',
- 'albumNoLongerPurchasable' => 'Album ist nicht mehr zum Verkauf freigegeben',
- ],
- 'pricesInput' => [
- 'licenseType' => 'Lizenztyp',
- 'variant' => 'Variante',
- 'duplicateError' => 'Es gibt doppelte Preise (gleicher Lizenztyp und gleiche Größenvariante).',
- 'addPrice' => 'Preis hinzufügen',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Test-Kartennummer in der Zwischenablage verfügbar',
- 'paymentSuccess' => 'Zahlung erfolgreich verarbeitet.',
- 'redirectError' => 'Weiterleitung angefordert, aber Ziel fehlt.',
- 'finalizationError' => 'Abschluss angefordert, aber Ziel fehlt.',
- 'orderFinalizedSuccess' => 'Bestellung erfolgreich abgeschlossen.',
- 'orderFinalizationFailed' => 'Abschluss der Bestellung fehlgeschlagen.',
- 'badRequest' => 'Ungültige Anfrage (Bad Request)',
- 'invalidInput' => 'Die Anfrage war ungültig. Bitte überprüfen Sie Ihre Eingabe.',
- 'success' => 'Erfolg',
- 'error' => 'Fehler',
- ],
- 'useMollie' => [
- 'error' => 'Fehler',
- 'profileNotConfigured' => 'Mollie-Profil-ID ist nicht konfiguriert.',
- 'somethingWentWrong' => 'Bei Mollie ist ein Fehler aufgetreten.',
- ],
- 'usePaypal' => [
- 'error' => 'Fehler',
- 'client_id_missing' => 'PayPal Client-ID ist nicht konfiguriert.',
- 'sdkLoadError' => 'PayPal JS SDK Ladefehler',
- 'sdkLoadErrorDetail' => 'Das PayPal JS SDK Skript konnte nicht geladen werden.',
- 'paymentError' => 'PayPal-Zahlungsfehler',
- 'paymentErrorDetail' => 'Während des PayPal-Zahlungsvorgangs ist ein Fehler aufgetreten.',
- ],
- 'buyMeActions' => [
- 'success' => 'Erfolg',
- 'addedToOrder' => 'Zur Bestellung hinzugefügt',
- 'photoAddedToOrder' => '„%s“ wurde für %s zu Ihrer Bestellung hinzugefügt',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Zahlung abgebrochen',
- 'paymentCancelledMessage' => 'Die Zahlung wurde abgebrochen.',
- 'paymentFailed' => 'Zahlung fehlgeschlagen',
- 'paymentFailedMessage' => 'Wir konnten Ihre Zahlung nicht bestätigen. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support, falls das Problem weiterhin besteht.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Karteninhaber',
+ 'fullName' => 'Vollständiger Name',
+ 'expires' => 'Gültig bis',
+ 'MM' => 'MM',
+ 'YY' => 'JJ',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Kartennummer',
+ 'cardName' => 'Name auf der Karte',
+ 'expirationDate' => 'Ablaufdatum',
+ 'month' => 'Monat',
+ 'year' => 'Jahr',
+ 'CVV' => 'CVV',
+ 'submit' => 'Absenden',
+ 'invalidCardNumber' => 'Ungültige Kartennummer',
+ ],
+ 'basketList' => [
+ 'basket' => 'Warenkorb',
+ 'size' => 'Größe',
+ 'license' => 'Lizenz',
+ 'notes' => 'Notizen',
+ 'removeItem' => 'Artikel entfernen',
+ 'clearBasket' => 'Warenkorb leeren',
+ 'total' => 'Gesamt:',
+ 'proceedToCheckout' => 'Zur Kasse',
+ 'emptyBasket' => 'Ihr Warenkorb ist leer.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Kasse',
+ 'yourInfo' => 'Ihre Informationen',
+ 'payment' => 'Zahlung',
+ 'confirmation' => 'Bestätigung',
+ 'next' => 'Weiter',
+ 'back' => 'Zurück',
+ 'thankYou' => 'Vielen Dank für Ihren Einkauf!',
+ 'orderNumber' => 'Ihre Bestellnummer lautet:',
+ 'transactionId' => 'Ihre Transaktions-ID lautet:',
+ 'noteWarning' => 'Bitte',
+ 'noteTransactionId' => 'notieren Sie sich Ihre Transaktions-ID und',
+ 'noteOrderNumber' => 'Ihre Bestellnummer,',
+ 'noteReason' => 'da Sie diese benötigen, um auf Ihre Inhalte zuzugreifen.',
+ 'enjoyPurchase' => 'Viel Freude mit Ihrem Kauf!',
+ 'toMyDownloads' => 'Zu meinen Downloads',
+ 'toTheGallery' => 'Zur Galerie',
+ 'offlineThankYou' => 'Vielen Dank für Ihren Einkauf!',
+ 'offlinePaymentMessage' => 'Wir werden uns in Kürze per E-Mail mit den Zahlungsanweisungen bei Ihnen melden.',
+ 'offlineProcessingMessage' => 'Wir benachrichtigen Sie, sobald Ihre Fotos zum Download bereitstehen.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Bestellung %d',
+ 'orderAccessRequired' => 'Bestellzugriff erforderlich',
+ 'provideTransactionId' => 'Bitte geben Sie die Transaktions-ID an, um auf Ihre Bestelldaten zuzugreifen.',
+ 'enterTransactionId' => 'Transaktions-ID eingeben',
+ 'loadOrder' => 'Bestellung laden',
+ 'orderDetails' => 'Bestelldetails',
+ 'transactionId' => 'Transaktions-ID:',
+ 'orderSummary' => 'Bestellübersicht',
+ 'for' => 'Für:',
+ 'status' => 'Status:',
+ 'total' => 'Gesamt:',
+ 'paid' => 'Bezahlt:',
+ 'notPaid' => 'nicht bezahlt',
+ 'lastUpdate' => 'Letzte Aktualisierung:',
+ 'items' => 'Artikel',
+ 'deliver' => 'Ausliefern',
+ 'edit' => 'Bearbeiten',
+ 'view' => 'Ansehen',
+ 'enterContentUrl' => 'Inhalts-URL hier eingeben.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download (noch) nicht verfügbar',
+ 'copiedToClipboard' => 'In Zwischenablage kopiert',
+ 'orderLinkCopied' => 'Bestell-Link in Zwischenablage kopiert',
+ 'couldNotCopy' => 'Konnte nicht in Zwischenablage kopiert werden.',
+ 'somethingWentWrong' => 'Etwas ist schiefgelaufen',
+ 'couldNotMarkDelivered' => 'Artikel konnte nicht als ausgeliefert markiert werden.',
+ ],
+ 'status' => [
+ 'pending' => 'Ausstehend',
+ 'paid' => 'Bezahlt',
+ 'offline' => 'Offline',
+ 'completed' => 'Abgeschlossen',
+ 'processing' => 'In Bearbeitung',
+ 'failed' => 'Fehlgeschlagen',
+ 'closed' => 'Geschlossen',
+ ],
+ 'orderList' => [
+ 'orders' => 'Bestellungen',
+ 'numStaleOrders' => 'Anzahl veralteter Bestellungen: %d',
+ 'cleanStaleOrders' => 'Veraltete Bestellungen bereinigen',
+ 'client' => 'Kunde',
+ 'transactionId' => 'Transaktions-ID',
+ 'status' => 'Status',
+ 'amount' => 'Betrag',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Kaufbare Artikel',
+ 'title' => 'Titel',
+ 'description' => 'Beschreibung',
+ 'notes' => 'Notizen',
+ 'prices' => 'Preise',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Haftungsausschluss',
+ 'message' => "Lychee wird unter der MIT-Lizenz entwickelt. Dies bedeutet, dass LycheeOrg nicht verantwortlich oder haftbar gemacht werden kann für Probleme oder Verluste, die aus der Nutzung des Webshop-Moduls und/oder der Zahlungsverarbeitungsfunktionen resultieren. Es ist zwingend erforderlich, dass Sie sicherstellen, dass Ihre Konfiguration korrekt und sicher funktioniert, bevor Sie diese in einer Produktionsumgebung einsetzen.",
+ 'iUnderstand' => 'Ich verstehe',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Ihre Informationen',
+ 'mustBeLoggedIn' => 'Sie müssen angemeldet sein, um mit der Bestellung fortzufahren.',
+ 'goToLogin' => 'Zum Login',
+ 'notLoggedInMessage' => 'Sie sind nicht angemeldet! Bitte geben Sie Ihre E-Mail-Adresse an, um fortzufahren.',
+ 'loggedInWithEmail' => "Sie sind angemeldet als %s (%s). Sie können Ihre E-Mail-Adresse ändern, wenn Sie bestellrelevante Informationen an eine andere Adresse erhalten möchten.",
+ 'loggedInWithoutEmail' => "Sie sind angemeldet als %s. Sie können eine E-Mail-Adresse hinterlegen, wenn Sie bestellrelevante Informationen erhalten möchten.",
+ 'emailUsageNote' => 'Ihre E-Mail wird ausschließlich für die Kommunikation bezüglich Ihrer Bestellung verwendet.',
+ 'consentAgreement' => "Ich stimme der Datenschutzerklärung und den Nutzungsbedingungen zu.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Für eine Gast-Bestellung ist eine E-Mail-Adresse erforderlich.',
+ 'invalidEmail' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',
+ 'noData' => 'KEINE DATEN',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Benötigen Sie Hilfe?',
+ 'legend' => 'Legende:',
+ 'pendingDesc' => 'Die Bestellung wurde erstellt, aber noch nicht bezahlt.',
+ 'processingDesc' => 'Die Zahlung wird verarbeitet.',
+ 'offlineDesc' => 'Die Bestellung ist für eine manuelle Zahlung markiert.',
+ 'completedDesc' => 'Die Bestellung wurde bezahlt.',
+ 'closedDesc' => 'Die Bestellung wurde ausgeliefert.',
+ 'cancelledDesc' => 'Die Zahlung wurde abgebrochen.',
+ 'failedDesc' => 'Die Zahlung ist fehlgeschlagen.',
+ 'flowsIntro' => 'Es gibt verschiedene mögliche Abläufe für die Bestellsteuerung, wie unten beschrieben:',
+ 'offlineExplanation' => 'Eine Bestellung im Status %s bedeutet, dass die Zahlung manuell abgewickelt wird, z. B. per Banküberweisung oder Barzahlung bei Lieferung. Der Administrator des Webshops ist dafür verantwortlich, den Bestellstatus auf %s zu aktualisieren, sobald die Zahlung bestätigt wurde, indem er in den Bestelldetails auf die Schaltfläche „Als bezahlt markieren“ klickt.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'abgeschlossen',
+ 'closedStatus' => 'geschlossen',
+ 'offlineExplanationPart1' => 'Eine Bestellung im Status',
+ 'offlineExplanationPart2' => 'bedeutet, dass die Zahlung manuell abgewickelt wird, z. B. per Banküberweisung oder Barzahlung bei Lieferung. Der Administrator des Webshops ist dafür verantwortlich, den Bestellstatus auf',
+ 'offlineExplanationPart3' => 'zu aktualisieren, sobald die Zahlung bestätigt wurde, indem er in den Bestelldetails auf die Schaltfläche „Als bezahlt markieren“ klickt.',
+ 'closedExplanationPart1' => 'Sobald eine Bestellung den Status',
+ 'closedExplanationPart2' => 'erreicht, gilt sie als finalisiert und es können keine weiteren Aktionen mehr vorgenommen werden.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Als bezahlt markieren',
+ 'requireAttention' => 'Prüfung erforderlich',
+ 'markAsDelivered' => 'Als ausgeliefert markieren',
+ 'viewDetails' => 'Details anzeigen',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Zusammenfassung Ihrer Bestellung',
+ 'size' => 'Größe:',
+ 'license' => 'Lizenz:',
+ 'notes' => 'Notizen:',
+ 'total' => 'Gesamt:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Wählen Sie Ihren Zahlungsanbieter',
+ 'selectProviderPlaceholder' => 'Zahlungsanbieter auswählen',
+ 'pciCompliant' => 'Diese Zahlung ist %s-konform.
Ihre Kartendaten werden sicher durch %s verarbeitet.',
+ 'enterInfo' => 'Geben Sie Ihre Informationen für %s ein',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Zahlung wird verarbeitet …',
+ 'cancel' => 'Abbrechen',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'In Zwischenablage kopiert',
+ 'transactionIdCopied' => 'Transaktions-ID in Zwischenablage kopiert',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'Dieses Album ist (noch) nicht käuflich erwerbbar.',
+ 'descriptionPlaceholder' => 'Beschreibung für Kunden',
+ 'ownerNotePlaceholder' => 'Anmerkung des Besitzers',
+ 'setPurchasable' => 'Zum Verkauf freigeben',
+ 'setPurchasablePropagate' => 'Zum Verkauf freigeben und vererben',
+ 'disable' => 'Deaktivieren',
+ 'update' => 'Aktualisieren',
+ 'setAtLeastOnePrice' => 'Legen Sie mindestens einen Preis fest.',
+ 'success' => 'Erfolg',
+ 'error' => 'Fehler',
+ 'albumNowPurchasable' => 'Album ist nun zum Verkauf freigegeben',
+ 'albumNoLongerPurchasable' => 'Album ist nicht mehr zum Verkauf freigegeben',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'Lizenztyp',
+ 'variant' => 'Variante',
+ 'duplicateError' => 'Es gibt doppelte Preise (gleicher Lizenztyp und gleiche Größenvariante).',
+ 'addPrice' => 'Preis hinzufügen',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Test-Kartennummer in der Zwischenablage verfügbar',
+ 'paymentSuccess' => 'Zahlung erfolgreich verarbeitet.',
+ 'redirectError' => 'Weiterleitung angefordert, aber Ziel fehlt.',
+ 'finalizationError' => 'Abschluss angefordert, aber Ziel fehlt.',
+ 'orderFinalizedSuccess' => 'Bestellung erfolgreich abgeschlossen.',
+ 'orderFinalizationFailed' => 'Abschluss der Bestellung fehlgeschlagen.',
+ 'badRequest' => 'Ungültige Anfrage (Bad Request)',
+ 'invalidInput' => 'Die Anfrage war ungültig. Bitte überprüfen Sie Ihre Eingabe.',
+ 'success' => 'Erfolg',
+ 'error' => 'Fehler',
+ ],
+ 'useMollie' => [
+ 'error' => 'Fehler',
+ 'profileNotConfigured' => 'Mollie-Profil-ID ist nicht konfiguriert.',
+ 'somethingWentWrong' => 'Bei Mollie ist ein Fehler aufgetreten.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Fehler',
+ 'client_id_missing' => 'PayPal Client-ID ist nicht konfiguriert.',
+ 'sdkLoadError' => 'PayPal JS SDK Ladefehler',
+ 'sdkLoadErrorDetail' => 'Das PayPal JS SDK Skript konnte nicht geladen werden.',
+ 'paymentError' => 'PayPal-Zahlungsfehler',
+ 'paymentErrorDetail' => 'Während des PayPal-Zahlungsvorgangs ist ein Fehler aufgetreten.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Erfolg',
+ 'addedToOrder' => 'Zur Bestellung hinzugefügt',
+ 'photoAddedToOrder' => '„%s“ wurde für %s zu Ihrer Bestellung hinzugefügt',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Zahlung abgebrochen',
+ 'paymentCancelledMessage' => 'Die Zahlung wurde abgebrochen.',
+ 'paymentFailed' => 'Zahlung fehlgeschlagen',
+ 'paymentFailedMessage' => 'Wir konnten Ihre Zahlung nicht bestätigen. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support, falls das Problem weiterhin besteht.',
+ ],
];
diff --git a/lang/el/admin-dashboard.php b/lang/el/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/el/admin-dashboard.php
+++ b/lang/el/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/el/all_settings.php b/lang/el/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/el/all_settings.php
+++ b/lang/el/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/el/aspect_ratio.php b/lang/el/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/el/aspect_ratio.php
+++ b/lang/el/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/el/bulk_album_edit.php b/lang/el/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/el/bulk_album_edit.php
+++ b/lang/el/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/el/contact.php b/lang/el/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/el/contact.php
+++ b/lang/el/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/el/diagnostics.php b/lang/el/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/el/diagnostics.php
+++ b/lang/el/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/el/dialogs.php b/lang/el/dialogs.php
index cd6ef30296e..f3b2709b2a4 100644
--- a/lang/el/dialogs.php
+++ b/lang/el/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Λειτουργία',
- 'mode_album_help' => 'Ενσωματώστε φωτογραφίες από αυτό το συγκεκριμένο άλμπουμ.',
- 'mode_stream_help' => 'Ενσωματώστε όλες τις δημόσιες φωτογραφίες σας ως χρονολογική ροή (πιο πρόσφατες πρώτα).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Λήψη φωτογραφίας',
- 'capture' => 'Λήψη',
- 'retake' => 'Επανάληψη',
- 'upload' => 'Μεταφόρτωση',
- 'secure_connection_required' => 'Η πρόσβαση στην κάμερα απαιτεί ασφαλή σύνδεση (HTTPS ή localhost).',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Λειτουργία',
+ 'mode_album_help' => 'Ενσωματώστε φωτογραφίες από αυτό το συγκεκριμένο άλμπουμ.',
+ 'mode_stream_help' => 'Ενσωματώστε όλες τις δημόσιες φωτογραφίες σας ως χρονολογική ροή (πιο πρόσφατες πρώτα).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Λήψη φωτογραφίας',
+ 'capture' => 'Λήψη',
+ 'retake' => 'Επανάληψη',
+ 'upload' => 'Μεταφόρτωση',
+ 'secure_connection_required' => 'Η πρόσβαση στην κάμερα απαιτεί ασφαλή σύνδεση (HTTPS ή localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/el/duplicate-finder.php b/lang/el/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/el/duplicate-finder.php
+++ b/lang/el/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/el/fix-tree.php b/lang/el/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/el/fix-tree.php
+++ b/lang/el/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/el/flow.php b/lang/el/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/el/flow.php
+++ b/lang/el/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/el/gallery.php b/lang/el/gallery.php
index ae4eb81c6ba..d6fd852a9f6 100644
--- a/lang/el/gallery.php
+++ b/lang/el/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Καρφιτσωμένα άλμπουμ',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Επιλέξτε την ανάλυση εικόνας για το αρχείο ZIP του άλμπουμ. Αν μια φωτογραφία δεν διαθέτει την επιλεγμένη παραλλαγή, θα χρησιμοποιηθεί η αρχική.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Προβολή λίστας',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Καρφίτσωμα',
- 'unpin' => 'Ξεκαρφίτσωμα',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Λήψη φωτογραφίας',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'δημόσιο αλλά κρυμμένο',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Καρφιτσωμένα άλμπουμ',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Επιλέξτε την ανάλυση εικόνας για το αρχείο ZIP του άλμπουμ. Αν μια φωτογραφία δεν διαθέτει την επιλεγμένη παραλλαγή, θα χρησιμοποιηθεί η αρχική.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Προβολή λίστας',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Καρφίτσωμα',
+ 'unpin' => 'Ξεκαρφίτσωμα',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Λήψη φωτογραφίας',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'δημόσιο αλλά κρυμμένο',
+ ],
];
diff --git a/lang/el/import_from_server.php b/lang/el/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/el/import_from_server.php
+++ b/lang/el/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/el/jobs.php b/lang/el/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/el/jobs.php
+++ b/lang/el/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/el/landing.php b/lang/el/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/el/landing.php
+++ b/lang/el/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/el/left-menu.php b/lang/el/left-menu.php
index 95ae32900ee..f35b798d7a5 100644
--- a/lang/el/left-menu.php
+++ b/lang/el/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Ενσωμάτωση Ροής Φωτογραφιών',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Ενσωμάτωση Ροής Φωτογραφιών',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/el/maintenance.php b/lang/el/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/el/maintenance.php
+++ b/lang/el/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/el/moderation.php b/lang/el/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/el/moderation.php
+++ b/lang/el/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/el/profile.php b/lang/el/profile.php
index 1045056b528..f2104a90461 100644
--- a/lang/el/profile.php
+++ b/lang/el/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'Οι πληροφορίες σύνδεσης χρήστη διαχειρίζονται από το LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'Οι πληροφορίες σύνδεσης χρήστη διαχειρίζονται από το LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/el/renamer.php b/lang/el/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/el/renamer.php
+++ b/lang/el/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/el/sharing.php b/lang/el/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/el/sharing.php
+++ b/lang/el/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/el/statistics.php b/lang/el/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/el/statistics.php
+++ b/lang/el/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/el/toasts.php b/lang/el/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/el/toasts.php
+++ b/lang/el/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/el/user-groups.php b/lang/el/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/el/user-groups.php
+++ b/lang/el/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/el/users.php b/lang/el/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/el/users.php
+++ b/lang/el/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/el/webhook.php b/lang/el/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/el/webhook.php
+++ b/lang/el/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/el/webshop.php b/lang/el/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/el/webshop.php
+++ b/lang/el/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/en/admin-dashboard.php b/lang/en/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/en/admin-dashboard.php
+++ b/lang/en/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/en/all_settings.php b/lang/en/all_settings.php
index 6c454fc63b5..67d2d44f661 100644
--- a/lang/en/all_settings.php
+++ b/lang/en/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'If disabled, Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'If disabled, Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/en/aspect_ratio.php b/lang/en/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/en/aspect_ratio.php
+++ b/lang/en/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/en/bulk_album_edit.php b/lang/en/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/en/bulk_album_edit.php
+++ b/lang/en/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/en/changelogs.php b/lang/en/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/en/changelogs.php
+++ b/lang/en/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/en/contact.php b/lang/en/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/en/contact.php
+++ b/lang/en/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/en/diagnostics.php b/lang/en/diagnostics.php
index cc30640d58e..36a2b4689c8 100644
--- a/lang/en/diagnostics.php
+++ b/lang/en/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading…',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading…',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/en/dialogs.php b/lang/en/dialogs.php
index 552df0329a8..2b7bb34a43e 100644
--- a/lang/en/dialogs.php
+++ b/lang/en/dialogs.php
@@ -1,306 +1,306 @@
[
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Mode',
- 'mode_album_help' => 'Embed photos from this specific album.',
- 'mode_stream_help' => 'Embed all your public photos as a chronological stream (most recent first).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Take a Photo',
- 'capture' => 'Capture',
- 'retake' => 'Retake',
- 'upload' => 'Upload',
- 'secure_connection_required' => 'Camera access requires a secure connection (HTTPS or localhost). Please access Lychee via https:// or http://localhost.',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album "%1$s" into the album "%2$s"?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album "%s"?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album "%s" and all of the photos it contains?',
- 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?',
- 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album "%s" and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album "%1$s" into the album "%2$s"?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album "%s"?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo "%s"?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'button' => [
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Mode',
+ 'mode_album_help' => 'Embed photos from this specific album.',
+ 'mode_stream_help' => 'Embed all your public photos as a chronological stream (most recent first).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Take a Photo',
+ 'capture' => 'Capture',
+ 'retake' => 'Retake',
+ 'upload' => 'Upload',
+ 'secure_connection_required' => 'Camera access requires a secure connection (HTTPS or localhost). Please access Lychee via https:// or http://localhost.',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album "%1$s" into the album "%2$s"?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album "%s"?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album "%s" and all of the photos it contains?',
+ 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?',
+ 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album "%s" and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album "%1$s" into the album "%2$s"?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album "%s"?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo "%s"?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/en/duplicate-finder.php b/lang/en/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/en/duplicate-finder.php
+++ b/lang/en/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/en/fix-tree.php b/lang/en/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/en/fix-tree.php
+++ b/lang/en/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/en/flow.php b/lang/en/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/en/flow.php
+++ b/lang/en/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/en/gallery.php b/lang/en/gallery.php
index 02d4135ceee..1324a3de326 100644
--- a/lang/en/gallery.php
+++ b/lang/en/gallery.php
@@ -1,356 +1,356 @@
'Gallery',
- 'smart_albums' => 'Smart Albums',
- 'pinned_albums' => 'Featured Albums',
- 'albums' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'root' => 'Albums',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Select the image resolution for the album ZIP archive. If a photo does not have the selected variant, the original will be used instead.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'List view',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Highlight',
- 'unhighlight' => 'Unhighlight',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Highlight',
- 'unhighlight' => 'Unhighlight',
- 'highlight_all' => 'Highlight Selected',
- 'unhighlight_all' => 'Unhighlight Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected', 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Pin',
- 'unpin' => 'Unpin',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Take Photo',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'public but hidden',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Gallery page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart Albums',
+ 'pinned_albums' => 'Featured Albums',
+ 'albums' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'root' => 'Albums',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Select the image resolution for the album ZIP archive. If a photo does not have the selected variant, the original will be used instead.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'List view',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Highlight',
+ 'unhighlight' => 'Unhighlight',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Highlight',
+ 'unhighlight' => 'Unhighlight',
+ 'highlight_all' => 'Highlight Selected',
+ 'unhighlight_all' => 'Unhighlight Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected', 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Pin',
+ 'unpin' => 'Unpin',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Take Photo',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'public but hidden',
+ ],
];
diff --git a/lang/en/import_from_server.php b/lang/en/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/en/import_from_server.php
+++ b/lang/en/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/en/jobs.php b/lang/en/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/en/jobs.php
+++ b/lang/en/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/en/landing.php b/lang/en/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/en/landing.php
+++ b/lang/en/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/en/left-menu.php b/lang/en/left-menu.php
index ee79442ffb0..dc78742aa75 100644
--- a/lang/en/left-menu.php
+++ b/lang/en/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Embed Photo Stream',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Embed Photo Stream',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/en/maintenance.php b/lang/en/maintenance.php
index fb15ea1e5f3..9bd9dee1f2c 100644
--- a/lang/en/maintenance.php
+++ b/lang/en/maintenance.php
@@ -1,103 +1,103 @@
'Maintenance',
- 'description' => 'On this page you will find, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates duplicate-finderper album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Maintenance Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'On this page you will find, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates duplicate-finderper album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not have all its needed index.',
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/en/moderation.php b/lang/en/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/en/moderation.php
+++ b/lang/en/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/en/profile.php b/lang/en/profile.php
index 65214de106d..3171c79445f 100644
--- a/lang/en/profile.php
+++ b/lang/en/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token …',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'User login information are LDAP managed.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token …',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'User login information are LDAP managed.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/en/renamer.php b/lang/en/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/en/renamer.php
+++ b/lang/en/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/en/settings.php b/lang/en/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/en/settings.php
+++ b/lang/en/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/en/sharing.php b/lang/en/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/en/sharing.php
+++ b/lang/en/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/en/statistics.php b/lang/en/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/en/statistics.php
+++ b/lang/en/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/en/tags.php b/lang/en/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/en/tags.php
+++ b/lang/en/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/en/toasts.php b/lang/en/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/en/toasts.php
+++ b/lang/en/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/en/user-groups.php b/lang/en/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/en/user-groups.php
+++ b/lang/en/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/en/users.php b/lang/en/users.php
index 2fbd22038cf..6d9c4a5fbba 100644
--- a/lang/en/users.php
+++ b/lang/en/users.php
@@ -1,48 +1,48 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revocable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revocable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/en/webhook.php b/lang/en/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/en/webhook.php
+++ b/lang/en/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/en/webshop.php b/lang/en/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/en/webshop.php
+++ b/lang/en/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/es/admin-dashboard.php b/lang/es/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/es/admin-dashboard.php
+++ b/lang/es/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/es/gallery.php b/lang/es/gallery.php
index 416a03058c6..9b8d698da9c 100644
--- a/lang/es/gallery.php
+++ b/lang/es/gallery.php
@@ -1,355 +1,355 @@
'Galería',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Álbumes fijados',
- 'albums' => 'Álbumes',
- 'root' => 'Álbumes',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favoritos',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medio',
- 'medium_hidpi' => 'Medio HiDPI',
- 'small' => 'Miniatura',
- 'small_hidpi' => 'Miniatura HiDPI',
- 'thumb' => 'Miniatura cuadrada',
- 'thumb_hidpi' => 'miniatura cuadradas HiDPI',
- 'placeholder' => 'Espacio para imagen de baja calidad',
- 'thumbnail' => 'Miniatura de la foto',
- 'live_video' => 'Vídeo parte de foto en directo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Seleccione la resolución de imagen para el archivo ZIP del álbum. Si una foto no tiene la variante seleccionada, se usará la original.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Fecha de la cámara',
- 'album_reserved' => 'Todos los derechos reservados',
- 'map' => [
- 'error_gpx' => 'Error al cargar el archivo GPX',
- 'osm_contributors' => 'Colaboradores de OpenStreetMap',
- ],
- 'search' => [
- 'title' => 'Buscar',
- 'no_results' => 'Nada coincide con tu consulta de búsqueda.',
- 'searchbox' => 'Buscar…',
- 'minimum_chars' => 'Se requieren un mínimo de %s caracteres.',
- 'photos' => 'Fotos (%s)',
- 'albums' => 'Álbumes (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Sin clasificar',
- 'highlighted' => 'Sembrado de estrellas',
- 'recent' => 'Reciente',
- 'public' => 'Público',
- 'on_this_day' => 'En este día',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Miniaturas cuadradas',
- 'justified' => 'Con aspecto, justificado',
- 'masonry' => 'Con aspecto, mampostería',
- 'grid' => 'Con aspecto, cuadrícula',
- 'filmstrip' => 'Tira de película',
- 'list' => 'Vista de lista',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'Ninguno',
- 'exif' => 'Datos EXIF',
- 'description' => 'Descripción',
- 'date' => 'Fecha de toma',
- ],
- 'timeline' => [
- 'title' => 'Tiempo límite',
- 'load_previous' => 'Cargar anterior',
- 'default' => 'por defecto',
- 'disabled' => 'desactivado',
- 'year' => 'Año',
- 'month' => 'Mes',
- 'day' => 'Día',
- 'hour' => 'Hora',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Álbumes',
- 'header_photos' => 'Fotos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'No hay nada que ver aquí',
- 'upload' => 'Subir fotos',
- 'tabs' => [
- 'about' => 'Acerca del álbum',
- 'share' => 'Compartir álbum',
- 'embed' => 'Embed Album',
- 'move' => 'Mover álbum',
- 'shop' => 'Shop Management',
- 'danger' => 'ZONA DE PELIGRO',
- ],
- 'hero' => [
- 'created' => 'Creado',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subálbumes',
- 'images' => 'Fotos',
- 'download' => 'Descargar Álbum',
- 'share' => 'Compartir álbum',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Estadísticas disponibles en la Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Número de visitas',
- 'number_of_downloads' => 'Número de descargas',
- 'number_of_shares' => 'Número de acciones',
- 'lens' => 'Lente',
- 'shutter' => 'Velocidad de obturación',
- 'iso' => 'ISO',
- 'model' => 'Modelo',
- 'aperture' => 'Abertura',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Título',
- 'slug' => 'Slug (URL amigable)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Descripción',
- 'photo_ordering' => 'Ordenar fotos por',
- 'children_ordering' => 'Ordenar álbumes por',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Establecer el encabezado del álbum',
- 'compact_header' => 'Utilice un encabezado compacto',
- 'license' => 'Establecer licencia',
- 'copyright' => 'Establecer derechos de autor',
- 'aspect_ratio' => 'Establecer la relación de aspecto de las miniaturas del álbum',
- 'album_timeline' => 'Establecer el modo de línea de tiempo del álbum',
- 'photo_timeline' => 'Establecer el modo de línea de tiempo de fotos',
- 'layout' => 'Establecer el diseño de la foto',
- 'show_tags' => 'Establecer etiquetas para mostrar',
- 'tags_required' => 'Se requieren etiquetas.',
- 'all_tags_must_match' => 'Todas las etiquetas deben coincidir.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Marcar',
- 'unhighlight' => 'Desmarcar',
- 'set_album_header' => 'Establecer como encabezado de álbum',
- 'move' => 'Mover',
- 'delete' => 'Borrar',
- 'header_set' => 'Conjunto de encabezados',
- ],
- 'details' => [
- 'exif_data' => 'Datos EXIF',
- 'about' => 'Acerca de',
- 'basics' => 'Lo esencial',
- 'title' => 'Título',
- 'uploaded' => 'Subido',
- 'description' => 'Descripción',
- 'license' => 'Licencia',
- 'reuse' => 'Reutilizar',
- 'latitude' => 'Latitud',
- 'longitude' => 'Longitud',
- 'altitude' => 'Altitud',
- 'location' => 'Ubicación',
- 'image' => 'Imagen',
- 'video' => 'Video',
- 'size' => 'Tamaño',
- 'format' => 'Formato',
- 'resolution' => 'Resolución',
- 'duration' => 'Duración',
- 'fps' => 'Velocidad de fotogramas',
- 'tags' => 'Etiquetas',
- 'camera' => 'Cámara',
- 'captured' => 'Capturado',
- 'make' => 'Hacer',
- 'type' => 'Type/Model',
- 'lens' => 'Lente',
- 'shutter' => 'Velocidad de obturación',
- 'aperture' => 'Abertura',
- 'focal' => 'Longitud focal',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Estadísticas',
- 'number_of_visits' => 'Número de visitas',
- 'number_of_downloads' => 'Número de descargas',
- 'number_of_shares' => 'Número de acciones',
- 'number_of_favourites' => 'Numero de favoritos',
- ],
- 'links' => [
- 'header' => 'Enlaces',
- 'copy' => 'Copiar',
- 'copy_success' => 'Enlace copiado al portapapeles.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Título del conjunto',
- 'set_description' => 'Descripción del conjunto',
- 'set_license' => 'Establecer licencia',
- 'no_tags' => 'Sin etiquetas',
- 'set_tags' => 'Establecer etiquetas',
- 'set_created_at' => 'Establecer fecha de carga',
- 'set_taken_at' => 'Establecer fecha de toma',
- 'set_taken_at_info' => 'Cuando se configura, se mostrará un asterisco %s para indicar que esta fecha no es la fecha EXIF original.
Desmarque la casilla de verificación y guarde para restablecer la fecha original.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Contenido sensible',
- 'description' => 'Este álbum contiene contenido sensible que algunas personas pueden encontrar ofensivo o perturbador.',
- 'consent' => 'Toque para dar su consentimiento.',
- ],
- 'menus' => [
- 'highlight' => 'Marcar',
- 'unhighlight' => 'Desmarcar',
- 'highlight_all' => 'Marcar seleccionado',
- 'unhighlight_all' => 'Desmarcar seleccionado',
- 'tag' => 'Etiqueta',
- 'tag_all' => 'Etiqueta seleccionada', 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic', 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Establecer la portada del álbum',
- 'remove_header' => 'Eliminar encabezado del álbum',
- 'set_header' => 'Establecer encabezado de álbum',
- 'copy_to' => 'Copiar a…',
- 'copy_all_to' => 'Copiar seleccionado a…',
- 'rename' => 'Renombrar',
- 'move' => 'Mover',
- 'move_all' => 'Mover seleccionado',
- 'pin' => 'Fijar',
- 'unpin' => 'Desfijar',
- 'delete' => 'Borrar',
- 'delete_all' => 'Eliminar seleccionado',
- 'download' => 'Descargar',
- 'download_all' => 'Descargar seleccionado',
- 'merge' => 'Unir',
- 'merge_all' => 'Fusionar seleccionados',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Subir foto',
- 'take_photo' => 'Tomar foto',
- 'import_link' => 'Importar desde el enlace',
- 'import_server' => 'Importar desde el servidor',
- 'import_dropbox' => 'Importar desde Dropbox',
- 'new_album' => 'Nuevo álbum',
- 'new_tag_album' => 'Nuevo álbum de Tag',
- 'upload_track' => 'Subir pista',
- 'delete_track' => 'Eliminar pista',
- ],
- 'sort' => [
- 'photo_select_1' => 'Tiempo de carga',
- 'photo_select_2' => 'Tomar cita',
- 'photo_select_3' => 'Título (Nat)',
- 'photo_select_4' => 'Descripción (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Marcar',
- 'photo_select_7' => 'Formato de la foto',
- 'ascending' => 'Ascendente',
- 'descending' => 'Descendiendo',
- 'album_select_1' => 'Tiempo de creación',
- 'album_select_2' => 'Título (Nat)',
- 'album_select_3' => 'Descripción (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Última fecha de toma',
- 'album_select_6' => 'Fecha de toma más antigua',
- ],
- 'albums_protection' => [
- 'private' => 'privado',
- 'public' => 'público',
- 'inherit_from_parent' => 'Heredar del padre',
- 'public_but_hidden' => 'público pero oculto',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Galería',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Álbumes fijados',
+ 'albums' => 'Álbumes',
+ 'root' => 'Álbumes',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favoritos',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medio',
+ 'medium_hidpi' => 'Medio HiDPI',
+ 'small' => 'Miniatura',
+ 'small_hidpi' => 'Miniatura HiDPI',
+ 'thumb' => 'Miniatura cuadrada',
+ 'thumb_hidpi' => 'miniatura cuadradas HiDPI',
+ 'placeholder' => 'Espacio para imagen de baja calidad',
+ 'thumbnail' => 'Miniatura de la foto',
+ 'live_video' => 'Vídeo parte de foto en directo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Seleccione la resolución de imagen para el archivo ZIP del álbum. Si una foto no tiene la variante seleccionada, se usará la original.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Fecha de la cámara',
+ 'album_reserved' => 'Todos los derechos reservados',
+ 'map' => [
+ 'error_gpx' => 'Error al cargar el archivo GPX',
+ 'osm_contributors' => 'Colaboradores de OpenStreetMap',
+ ],
+ 'search' => [
+ 'title' => 'Buscar',
+ 'no_results' => 'Nada coincide con tu consulta de búsqueda.',
+ 'searchbox' => 'Buscar…',
+ 'minimum_chars' => 'Se requieren un mínimo de %s caracteres.',
+ 'photos' => 'Fotos (%s)',
+ 'albums' => 'Álbumes (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Sin clasificar',
+ 'highlighted' => 'Sembrado de estrellas',
+ 'recent' => 'Reciente',
+ 'public' => 'Público',
+ 'on_this_day' => 'En este día',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Miniaturas cuadradas',
+ 'justified' => 'Con aspecto, justificado',
+ 'masonry' => 'Con aspecto, mampostería',
+ 'grid' => 'Con aspecto, cuadrícula',
+ 'filmstrip' => 'Tira de película',
+ 'list' => 'Vista de lista',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'Ninguno',
+ 'exif' => 'Datos EXIF',
+ 'description' => 'Descripción',
+ 'date' => 'Fecha de toma',
+ ],
+ 'timeline' => [
+ 'title' => 'Tiempo límite',
+ 'load_previous' => 'Cargar anterior',
+ 'default' => 'por defecto',
+ 'disabled' => 'desactivado',
+ 'year' => 'Año',
+ 'month' => 'Mes',
+ 'day' => 'Día',
+ 'hour' => 'Hora',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Álbumes',
+ 'header_photos' => 'Fotos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'No hay nada que ver aquí',
+ 'upload' => 'Subir fotos',
+ 'tabs' => [
+ 'about' => 'Acerca del álbum',
+ 'share' => 'Compartir álbum',
+ 'embed' => 'Embed Album',
+ 'move' => 'Mover álbum',
+ 'shop' => 'Shop Management',
+ 'danger' => 'ZONA DE PELIGRO',
+ ],
+ 'hero' => [
+ 'created' => 'Creado',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subálbumes',
+ 'images' => 'Fotos',
+ 'download' => 'Descargar Álbum',
+ 'share' => 'Compartir álbum',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Estadísticas disponibles en la Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Número de visitas',
+ 'number_of_downloads' => 'Número de descargas',
+ 'number_of_shares' => 'Número de acciones',
+ 'lens' => 'Lente',
+ 'shutter' => 'Velocidad de obturación',
+ 'iso' => 'ISO',
+ 'model' => 'Modelo',
+ 'aperture' => 'Abertura',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Título',
+ 'slug' => 'Slug (URL amigable)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Descripción',
+ 'photo_ordering' => 'Ordenar fotos por',
+ 'children_ordering' => 'Ordenar álbumes por',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Establecer el encabezado del álbum',
+ 'compact_header' => 'Utilice un encabezado compacto',
+ 'license' => 'Establecer licencia',
+ 'copyright' => 'Establecer derechos de autor',
+ 'aspect_ratio' => 'Establecer la relación de aspecto de las miniaturas del álbum',
+ 'album_timeline' => 'Establecer el modo de línea de tiempo del álbum',
+ 'photo_timeline' => 'Establecer el modo de línea de tiempo de fotos',
+ 'layout' => 'Establecer el diseño de la foto',
+ 'show_tags' => 'Establecer etiquetas para mostrar',
+ 'tags_required' => 'Se requieren etiquetas.',
+ 'all_tags_must_match' => 'Todas las etiquetas deben coincidir.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Marcar',
+ 'unhighlight' => 'Desmarcar',
+ 'set_album_header' => 'Establecer como encabezado de álbum',
+ 'move' => 'Mover',
+ 'delete' => 'Borrar',
+ 'header_set' => 'Conjunto de encabezados',
+ ],
+ 'details' => [
+ 'exif_data' => 'Datos EXIF',
+ 'about' => 'Acerca de',
+ 'basics' => 'Lo esencial',
+ 'title' => 'Título',
+ 'uploaded' => 'Subido',
+ 'description' => 'Descripción',
+ 'license' => 'Licencia',
+ 'reuse' => 'Reutilizar',
+ 'latitude' => 'Latitud',
+ 'longitude' => 'Longitud',
+ 'altitude' => 'Altitud',
+ 'location' => 'Ubicación',
+ 'image' => 'Imagen',
+ 'video' => 'Video',
+ 'size' => 'Tamaño',
+ 'format' => 'Formato',
+ 'resolution' => 'Resolución',
+ 'duration' => 'Duración',
+ 'fps' => 'Velocidad de fotogramas',
+ 'tags' => 'Etiquetas',
+ 'camera' => 'Cámara',
+ 'captured' => 'Capturado',
+ 'make' => 'Hacer',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lente',
+ 'shutter' => 'Velocidad de obturación',
+ 'aperture' => 'Abertura',
+ 'focal' => 'Longitud focal',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Estadísticas',
+ 'number_of_visits' => 'Número de visitas',
+ 'number_of_downloads' => 'Número de descargas',
+ 'number_of_shares' => 'Número de acciones',
+ 'number_of_favourites' => 'Numero de favoritos',
+ ],
+ 'links' => [
+ 'header' => 'Enlaces',
+ 'copy' => 'Copiar',
+ 'copy_success' => 'Enlace copiado al portapapeles.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Título del conjunto',
+ 'set_description' => 'Descripción del conjunto',
+ 'set_license' => 'Establecer licencia',
+ 'no_tags' => 'Sin etiquetas',
+ 'set_tags' => 'Establecer etiquetas',
+ 'set_created_at' => 'Establecer fecha de carga',
+ 'set_taken_at' => 'Establecer fecha de toma',
+ 'set_taken_at_info' => 'Cuando se configura, se mostrará un asterisco %s para indicar que esta fecha no es la fecha EXIF original.
Desmarque la casilla de verificación y guarde para restablecer la fecha original.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Contenido sensible',
+ 'description' => 'Este álbum contiene contenido sensible que algunas personas pueden encontrar ofensivo o perturbador.',
+ 'consent' => 'Toque para dar su consentimiento.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Marcar',
+ 'unhighlight' => 'Desmarcar',
+ 'highlight_all' => 'Marcar seleccionado',
+ 'unhighlight_all' => 'Desmarcar seleccionado',
+ 'tag' => 'Etiqueta',
+ 'tag_all' => 'Etiqueta seleccionada', 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic', 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Establecer la portada del álbum',
+ 'remove_header' => 'Eliminar encabezado del álbum',
+ 'set_header' => 'Establecer encabezado de álbum',
+ 'copy_to' => 'Copiar a…',
+ 'copy_all_to' => 'Copiar seleccionado a…',
+ 'rename' => 'Renombrar',
+ 'move' => 'Mover',
+ 'move_all' => 'Mover seleccionado',
+ 'pin' => 'Fijar',
+ 'unpin' => 'Desfijar',
+ 'delete' => 'Borrar',
+ 'delete_all' => 'Eliminar seleccionado',
+ 'download' => 'Descargar',
+ 'download_all' => 'Descargar seleccionado',
+ 'merge' => 'Unir',
+ 'merge_all' => 'Fusionar seleccionados',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Subir foto',
+ 'take_photo' => 'Tomar foto',
+ 'import_link' => 'Importar desde el enlace',
+ 'import_server' => 'Importar desde el servidor',
+ 'import_dropbox' => 'Importar desde Dropbox',
+ 'new_album' => 'Nuevo álbum',
+ 'new_tag_album' => 'Nuevo álbum de Tag',
+ 'upload_track' => 'Subir pista',
+ 'delete_track' => 'Eliminar pista',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Tiempo de carga',
+ 'photo_select_2' => 'Tomar cita',
+ 'photo_select_3' => 'Título (Nat)',
+ 'photo_select_4' => 'Descripción (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Marcar',
+ 'photo_select_7' => 'Formato de la foto',
+ 'ascending' => 'Ascendente',
+ 'descending' => 'Descendiendo',
+ 'album_select_1' => 'Tiempo de creación',
+ 'album_select_2' => 'Título (Nat)',
+ 'album_select_3' => 'Descripción (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Última fecha de toma',
+ 'album_select_6' => 'Fecha de toma más antigua',
+ ],
+ 'albums_protection' => [
+ 'private' => 'privado',
+ 'public' => 'público',
+ 'inherit_from_parent' => 'Heredar del padre',
+ 'public_but_hidden' => 'público pero oculto',
+ ],
];
diff --git a/lang/es/users.php b/lang/es/users.php
index 79717939dee..2a9c3239a87 100644
--- a/lang/es/users.php
+++ b/lang/es/users.php
@@ -1,50 +1,50 @@
'Usuarios',
- 'description' => 'Aquí puedes gestionar los usuarios de tu instalación de Lychee. Puedes crear, editar y eliminar usuarios.',
- 'create' => 'Crear un nuevo usuario',
- 'username' => 'Nombre de usuario',
- 'password' => 'Contraseña',
- 'legend' => 'Leyenda',
- 'upload_rights' => 'Cuando se selecciona, el usuario puede subir contenido.',
- 'edit_rights' => 'Cuando se selecciona, el usuario puede modificar su perfil (nombre de usuario, contraseña).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Usuarios',
+ 'description' => 'Aquí puedes gestionar los usuarios de tu instalación de Lychee. Puedes crear, editar y eliminar usuarios.',
+ 'create' => 'Crear un nuevo usuario',
+ 'username' => 'Nombre de usuario',
+ 'password' => 'Contraseña',
+ 'legend' => 'Leyenda',
+ 'upload_rights' => 'Cuando se selecciona, el usuario puede subir contenido.',
+ 'edit_rights' => 'Cuando se selecciona, el usuario puede modificar su perfil (nombre de usuario, contraseña).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'Cuando se configura, el usuario dispone de una cuota de espacio para imágenes (en kB).',
- 'user_deleted' => 'Usuario eliminado',
- 'user_created' => 'Creado por el usuario',
- 'user_updated' => 'Usuario actualizado',
- 'change_saved' => '¡Cambio guardado!',
- 'create_edit' => [
- 'upload_rights' => 'El usuario puede subir contenido.',
- 'edit_rights' => 'El usuario puede modificar su perfil (nombre de usuario, contraseña).',
- 'admin_rights' => 'El usuario tiene derechos de administrador.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'Cuando se configura, el usuario dispone de una cuota de espacio para imágenes (en kB).',
+ 'user_deleted' => 'Usuario eliminado',
+ 'user_created' => 'Creado por el usuario',
+ 'user_updated' => 'Usuario actualizado',
+ 'change_saved' => '¡Cambio guardado!',
+ 'create_edit' => [
+ 'upload_rights' => 'El usuario puede subir contenido.',
+ 'edit_rights' => 'El usuario puede modificar su perfil (nombre de usuario, contraseña).',
+ 'admin_rights' => 'El usuario tiene derechos de administrador.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'El usuario tiene un límite de cuota.',
- 'quota_kb' => 'cuota en kB (0 por defecto)',
- 'note' => 'Nota de administrador (no visible públicamente)',
- 'create' => 'Crear',
- 'edit' => 'Editar',
- ],
- 'invite' => [
- 'button' => 'Invitar usuario',
- 'links_are_not_revokable' => 'Los enlaces de invitación no son revocables.',
- 'link_is_valid_x_days' => 'Este enlace es válido por %d días.',
- ],
- 'line' => [
- 'owner' => 'Propietario',
- 'admin' => 'Admin user',
- 'edit' => 'Editar',
- 'delete' => 'Borrar',
- ],
+ 'quota' => 'El usuario tiene un límite de cuota.',
+ 'quota_kb' => 'cuota en kB (0 por defecto)',
+ 'note' => 'Nota de administrador (no visible públicamente)',
+ 'create' => 'Crear',
+ 'edit' => 'Editar',
+ ],
+ 'invite' => [
+ 'button' => 'Invitar usuario',
+ 'links_are_not_revokable' => 'Los enlaces de invitación no son revocables.',
+ 'link_is_valid_x_days' => 'Este enlace es válido por %d días.',
+ ],
+ 'line' => [
+ 'owner' => 'Propietario',
+ 'admin' => 'Admin user',
+ 'edit' => 'Editar',
+ 'delete' => 'Borrar',
+ ],
];
diff --git a/lang/fa/admin-dashboard.php b/lang/fa/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/fa/admin-dashboard.php
+++ b/lang/fa/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/fa/all_settings.php b/lang/fa/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/fa/all_settings.php
+++ b/lang/fa/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/fa/aspect_ratio.php b/lang/fa/aspect_ratio.php
index 621f8805aba..970ecb4f101 100644
--- a/lang/fa/aspect_ratio.php
+++ b/lang/fa/aspect_ratio.php
@@ -1,15 +1,15 @@
'۵/۴ (افقی اینستاگرام)',
- '4by5' => '۴/۵ (عمودی اینستاگرام)',
- '2by3' => '۲/۳ (عمودی)',
- '3by2' => '۳/۲ (افقی)',
- '1by1' => 'مربع',
- '16by9' => '۱۶/۹ (افقی)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '۵/۴ (افقی اینستاگرام)',
+ '4by5' => '۴/۵ (عمودی اینستاگرام)',
+ '2by3' => '۲/۳ (عمودی)',
+ '3by2' => '۳/۲ (افقی)',
+ '1by1' => 'مربع',
+ '16by9' => '۱۶/۹ (افقی)',
];
diff --git a/lang/fa/bulk_album_edit.php b/lang/fa/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/fa/bulk_album_edit.php
+++ b/lang/fa/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/fa/changelogs.php b/lang/fa/changelogs.php
index ccdddb959f7..2baad9b92f4 100644
--- a/lang/fa/changelogs.php
+++ b/lang/fa/changelogs.php
@@ -1,11 +1,11 @@
'صفحه گزارش تغییرات',
- 'description' => 'این صفحه شامل گزارش تغییرات تا آخرین نسخه موجود از Lychee است. این محدود به تغییرات نسخه نصب شده شما نیست. با این کار، میخواهیم دید بهتری از آنچه پس از ارتقا انتظار دارید به شما بدهیم.',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه تغییرات
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'صفحه گزارش تغییرات',
+ 'description' => 'این صفحه شامل گزارش تغییرات تا آخرین نسخه موجود از Lychee است. این محدود به تغییرات نسخه نصب شده شما نیست. با این کار، میخواهیم دید بهتری از آنچه پس از ارتقا انتظار دارید به شما بدهیم.',
];
diff --git a/lang/fa/contact.php b/lang/fa/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/fa/contact.php
+++ b/lang/fa/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/fa/diagnostics.php b/lang/fa/diagnostics.php
index f2ba9c74077..cba3709f6c9 100644
--- a/lang/fa/diagnostics.php
+++ b/lang/fa/diagnostics.php
@@ -1,23 +1,23 @@
'عیب یابی',
- 'copy_to_clipboard' => 'کپی نتیجه عیب یابی در کلیپبورد',
- 'self-diagnosis' => 'خود عیب یابی',
- 'info' => 'اطلاعات',
- 'space' => 'فضا',
- 'load_space' => 'فصای مورد استفاده.',
- 'configuration' => 'پیکربندی',
- 'loading' => 'در حال بارگذاری…',
- 'identical_content' => 'محتوای یکسان',
- 'toast' => [
- 'info' => 'اطلاعات',
- 'copy' => 'نتیجه عیب یابی در کلیپبورد کپی شد!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه تشخیص
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'عیب یابی',
+ 'copy_to_clipboard' => 'کپی نتیجه عیب یابی در کلیپبورد',
+ 'self-diagnosis' => 'خود عیب یابی',
+ 'info' => 'اطلاعات',
+ 'space' => 'فضا',
+ 'load_space' => 'فصای مورد استفاده.',
+ 'configuration' => 'پیکربندی',
+ 'loading' => 'در حال بارگذاری…',
+ 'identical_content' => 'محتوای یکسان',
+ 'toast' => [
+ 'info' => 'اطلاعات',
+ 'copy' => 'نتیجه عیب یابی در کلیپبورد کپی شد!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/fa/dialogs.php b/lang/fa/dialogs.php
index 1b75690e58e..deb9de4acc1 100644
--- a/lang/fa/dialogs.php
+++ b/lang/fa/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'بستن',
- 'cancel' => 'انصراف',
- 'save' => 'ذخیره',
- 'delete' => 'حذف',
- 'move' => 'انتقال',
- ],
- 'about' => [
- 'subtitle' => 'مدیریت عکس خود-میزبان به درستی انجام شد',
- 'description' => 'لیچی یک ابزار رایگان مدیریت عکس است که روی سرور یا فضای وب شما اجرا میشود. نصب آن فقط چند ثانیه طول میکشد. عکسها را مانند یک برنامه بومی بارگذاری، مدیریت و به اشتراک بگذارید. لیچی هر آنچه نیاز دارید را دارد و همه عکسهای شما را به صورت امن ذخیره میکند.',
- 'update_available' => 'بهروزرسانی جدید موجود است!',
- 'thank_you' => 'از حمایت شما متشکریم!',
- 'get_supporter_or_register' => 'ویژگیهای اختصاصی دریافت کنید و از توسعه لیچی حمایت کنید.
نسخه حمایت کنندگان را فعال کنید یا کلید لایسنس خود را ثبت کنید',
- 'here' => 'اینجا',
- ],
- 'dropbox' => [
- 'not_configured' => 'تنظیمات مربوط به Dropbox انجام نشده است.',
- ],
- 'import_from_link' => [
- 'instructions' => 'لطفاً لینک مستقیم عکس را برای افزودن وارد کنید:',
- 'import' => 'وارد کردن',
- ],
- 'keybindings' => [
- 'header' => 'میانبرهای صفحهکلید',
- 'don_t_show_again' => 'این پنجره را دوباره نشان نده',
- 'hide_header_button' => 'راهنما را در هدر نشان نده',
- 'side_wide' => 'میانبرهای سراسری سایت',
- 'back_cancel' => 'بازگشت/انصراف',
- 'confirm' => 'تأیید',
- 'login' => 'ورود',
- 'toggle_full_screen' => 'تغییر حالت تمامصفحه',
- 'toggle_sensitive_albums' => 'تغییر نمایش آلبومهای حساس',
- 'albums' => 'میانبرهای آلبوم',
- 'new_album' => 'آلبوم جدید',
- 'upload_photos' => 'بارگذاری عکس',
- 'search' => 'جستجو',
- 'show_this_modal' => 'نمایش این پنجره',
- 'select_all' => 'انتخاب همه',
- 'move_selection' => 'انتقال انتخاب شدهها',
- 'delete_selection' => 'حذف انتخاب شدهها',
- 'album' => 'میانبرهای آلبوم',
- 'slideshow' => 'شروع/توقف نمایش اسلاید',
- 'toggle' => 'تغییر حالت پنل',
- 'photo' => 'میانبرهای عکس',
- 'previous' => 'عکس قبلی',
- 'next' => 'عکس بعدی',
- 'cycle' => 'تغییر حالت نمایش به چرخه همپوشانی',
- 'star' => 'ستاره دار کردن عکس',
- 'move' => 'انتقال عکس',
- 'delete' => 'حذف عکس',
- 'edit' => 'ویرایش اطلاعات',
- 'show_hide_meta' => 'نمایش اطلاعات',
- 'keep_hidden' => 'ما آن را مخفی نگه میداریم.',
- 'button_hidden' => 'ما دکمه را در هدر مخفی میکنیم.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'نام کاربری',
- 'password' => 'رمز عبور',
- 'unknown_invalid' => 'نام کاربری یا رمز عبور نامعتبر.',
- 'signin' => 'ورود',
- 'remember_me' => 'مرا به خاطر بسپار',
- ],
- 'register' => [
- 'enter_license' => 'کلید لایسنس خود را در زیر وارد کنید:',
- 'license_key' => 'کلید لایسنس',
- 'invalid_license' => 'کلید لایسنس نامعتبر.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'ثبتنام',
- ],
- 'share_album' => [
- 'url_copied' => 'آدرس URL به کلیپبورد کپی شد!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'حالت',
- 'mode_album_help' => 'جاسازی عکسها از این آلبوم خاص.',
- 'mode_stream_help' => 'جاسازی تمام عکسهای عمومی شما به عنوان یک جریان زمانی (جدیدترینها اول).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'تکمیل شد',
- 'uploaded' => 'بارگذاری شده:',
- 'release' => 'برای بارگذاری فایل را رها کنید!',
- 'select' => 'برای انتخاب فایلها برای بارگذاری اینجا کلیک کنید',
- 'drag' => '(یا فایلها را به صفحه بکشید)',
- 'loading' => 'در حال بارگذاری',
- 'resume' => 'ادامه',
- 'uploading' => 'در حال بارگذاری',
- 'finished' => 'پایان یافته',
- 'failed_error' => 'بارگذاری با بازگرداندن خطا از سمت سرور نا تمام ماند!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'گرفتن عکس',
- 'capture' => 'گرفتن',
- 'retake' => 'دوباره بگیر',
- 'upload' => 'بارگذاری',
- 'secure_connection_required' => 'دسترسی به دوربین نیاز به اتصال امن (HTTPS یا localhost) دارد.',
- ],
- 'visibility' => [
- 'public' => 'عمومی',
- 'public_expl' => 'کاربران ناشناس میتوانند به این آلبوم دسترسی پیدا کنند، مشروط به محدودیتهای زیر.',
- 'full' => 'اصلی',
- 'full_expl' => 'کاربران ناشناس میتوانند عکسها را با وضوح کامل مشاهده کنند.',
- 'hidden' => 'مخفی',
- 'hidden_expl' => 'کاربران ناشناس برای دسترسی به این آلبوم به یک لینک مستقیم نیاز دارند.',
- 'downloadable' => 'قابل دانلود',
- 'downloadable_expl' => 'کاربران ناشناس میتوانند این آلبوم را دانلود کنند.',
- 'upload' => 'اجازه بارگذاری',
- 'upload_expl' => ' کاربران ناشناس میتوانند عکس در این آلبوم بارگذاری کنند.',
- 'password' => 'رمز عبور',
- 'password_prot' => 'محافظت شده با رمز عبور',
- 'password_prot_expl' => 'کاربران ناشناس برای دسترسی به این آلبوم به یک رمز عبور مشترک نیاز دارند.',
- 'password_prop_not_compatible' => 'پاسخی که از حافظه موقت دریافت می شود این تنظیم در تضاد است.
به استفاده از حافظه موقت، باز کردن قفل این آلبومهمچنین محتوای آن را برای سایر کاربران ناشناس آشکار میکند.',
- 'nsfw' => 'حساس',
- 'nsfw_expl' => 'آلبوم حاوی محتوای حساس است.',
- 'visibility_updated' => 'حالت دید بهروزرسانی شد.',
- ],
- 'move_album' => [
- 'confirm_single' => 'آیا مطمئن هستید که میخواهید آلبوم “%1$s” را به داخل آلبوم “%2$s”منتقل کنید؟',
- 'confirm_multiple' => 'آیا مطمئن هستید که میخواهید همه آلبومهای انتخاب شده را به داخل آلبوم “%s” منتقل کنید؟',
- 'move_single' => 'انتقال آلبوم',
- 'move_to' => 'انتقال به',
- 'move_to_single' => 'انتقال %s به:',
- 'move_to_multiple' => 'انتقال %d آلبوم به:',
- 'no_album_target' => 'هیچ آلبومی برای انتقال وجود ندارد',
- 'moved_single' => 'آلبوم منتقل شد!',
- 'moved_single_details' => '%1$s به %2$s منتقل شد',
- 'moved_details' => 'آلبوم(ها) به %s منتقل شد',
- ],
- 'new_album' => [
- 'menu' => 'ایجاد آلبوم',
- 'info' => 'عنوانی برای آلبوم جدید وارد کنید:',
- 'title' => 'عنوان',
- 'create' => 'ایجاد آلبوم',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'ایجاد آلبوم برچسب',
- 'info' => 'عنوانی برای آلبوم برچسب جدید وارد کنید:',
- 'title' => 'عنوان',
- 'set_tags' => 'تنظیم برچسبها برای نمایش',
- 'create' => 'ایجاد آلبوم برچسب',
- ],
- 'delete_album' => [
- 'confirmation' => 'آیا مطمئن هستید که میخواهید آلبوم “%s” و تمام تصاویر موجود در آن را حذف کنید؟', 'confirmation_tag' => 'آیا مطمئن هستید که میخواهید آلبوم "%s" را حذف کنید؟', 'confirmation_multiple' => 'آیا مطمئن هستید که میخواهید همه %d آلبوم انتخاب شده و تمام تصاویر موجود در آنها را حذف کنید؟',
- 'warning' => 'این عمل قابل بازگشت نیست!',
- 'delete' => 'حذف آلبوم و عکسها',
- ],
- 'transfer' => [
- 'query' => 'انتقال مالکیت آلبوم به',
- 'confirmation' => 'آیا مطمئن هستید که میخواهید مالکیت آلبوم “%s” و تمام عکسهای موجود در آن را به “%s” منتقل کنید؟',
- 'lost_access_warning' => 'دسترسی شما به این آلبوم از دست خواهد رفت.',
- 'warning' => 'این عمل قابل بازگشت نیست!',
- 'transfer' => 'انتقال مالکیت آلبوم و عکسها',
- ],
- 'rename' => [
- 'photo' => 'عنوان جدیدی برای این عکس وارد کنید:',
- 'album' => 'عنوان جدیدی برای این آلبوم وارد کنید:',
- 'rename' => 'تغییر نام',
- ],
- 'merge' => [
- 'merge_to' => 'ادغام %s به:',
- 'merge_to_multiple' => 'ادغام %d آلبوم به:',
- 'no_albums' => 'هیچ آلبومی برای ادغام وجود ندارد.',
- 'confirm' => 'آیا مطمئن هستید که میخواهید آلبوم "%1$s" را به آلبوم "%2$s" ادغام کنید؟',
- 'confirm_multiple' => 'آیا مطمئن هستید که میخواهید همه آلبومهای انتخاب شده را به آلبوم “%s” ادغام کنید؟',
- 'merge' => 'ادغام آلبومها',
- 'merged' => 'آلبوم(ها) به %s ادغام شد!',
- ],
- 'unlock' => [
- 'password_required' => 'این آلبوم با یک رمز محافظت شده است. برای مشاهده عکسهای این آلبوم، رمز را در زیر وارد کنید:',
- 'password' => 'رمز',
- 'unlock' => 'باز کردن قفل',
- ],
- 'photo_tags' => [
- 'question' => 'برچسبهای خود را برای این عکس وارد کنید.',
- 'question_multiple' => 'برچسبهای خود را برای همه %d عکس انتخاب شده وارد کنید. برچسبهای موجود بازنویسی خواهند شد.',
- 'no_tags' => 'بدون برچسب',
- 'set_tags' => 'تنظیم برچسبها',
- 'updated' => 'برچسبها بهروزرسانی شد!',
- 'tags_override_info' => 'اگر این گزینه غیرفعال باشد، برچسبها به برچسبهای موجود عکس اضافه خواهند شد.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'هیچ آلبومی برای کپی کردن وجود ندارد',
- 'copy_to' => 'کپی %s به:',
- 'copy_to_multiple' => 'کپی %d عکس به:',
- 'confirm' => 'کپی %s به %s.',
- 'confirm_multiple' => 'کپی %d عکس به %s.',
- 'copy' => 'کپی',
- 'copied' => 'عکس(ها) کپی شد!',
- ],
- 'photo_delete' => [
- 'confirm' => 'آیا مطمئن هستید که میخواهید عکس “%s” را حذف کنید؟',
- 'confirm_multiple' => 'آیا مطمئن هستید که میخواهید همه %d عکس انتخاب شده را حذف کنید؟',
- 'deleted' => 'عکس(ها) حذف شد!',
- ],
- 'move_photo' => [
- 'move_single' => 'انتقال %s به:',
- 'move_multiple' => 'انتقال %d عکس به:',
- 'confirm' => 'انتقال %s به %s.',
- 'confirm_multiple' => 'انتقال %d عکس به %s.',
- 'moved' => 'عکس(ها) به %s منتقل شد!',
- ],
- 'target_user' => [
- 'placeholder' => 'کاربر را انتخاب کنید',
- ],
- 'target_album' => [
- 'placeholder' => 'آلبوم را انتخاب کنید',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'احراز هویت با موفقیت انجام شد!',
- 'error' => 'اوه، به نظر میرسد که مشکلی پیش آمده است. لطفاً سایت را دوباره بارگذاری کنید و دوباره تلاش کنید!',
- ],
- 'se' => [
- 'available' => 'در نسخه حامیان در دسترس است',
- ],
- 'session_expired' => [
- 'title' => 'جلسه منقضی شد',
- 'message' => 'جلسه شما منقضی شده است.
لطفاً صفحه را دوباره بارگذاری کنید.',
- 'reload' => 'بارگذاری دوباره',
- 'go_to_gallery' => 'برو به گالری',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'بستن',
+ 'cancel' => 'انصراف',
+ 'save' => 'ذخیره',
+ 'delete' => 'حذف',
+ 'move' => 'انتقال',
+ ],
+ 'about' => [
+ 'subtitle' => 'مدیریت عکس خود-میزبان به درستی انجام شد',
+ 'description' => 'لیچی یک ابزار رایگان مدیریت عکس است که روی سرور یا فضای وب شما اجرا میشود. نصب آن فقط چند ثانیه طول میکشد. عکسها را مانند یک برنامه بومی بارگذاری، مدیریت و به اشتراک بگذارید. لیچی هر آنچه نیاز دارید را دارد و همه عکسهای شما را به صورت امن ذخیره میکند.',
+ 'update_available' => 'بهروزرسانی جدید موجود است!',
+ 'thank_you' => 'از حمایت شما متشکریم!',
+ 'get_supporter_or_register' => 'ویژگیهای اختصاصی دریافت کنید و از توسعه لیچی حمایت کنید.
نسخه حمایت کنندگان را فعال کنید یا کلید لایسنس خود را ثبت کنید',
+ 'here' => 'اینجا',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'تنظیمات مربوط به Dropbox انجام نشده است.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'لطفاً لینک مستقیم عکس را برای افزودن وارد کنید:',
+ 'import' => 'وارد کردن',
+ ],
+ 'keybindings' => [
+ 'header' => 'میانبرهای صفحهکلید',
+ 'don_t_show_again' => 'این پنجره را دوباره نشان نده',
+ 'hide_header_button' => 'راهنما را در هدر نشان نده',
+ 'side_wide' => 'میانبرهای سراسری سایت',
+ 'back_cancel' => 'بازگشت/انصراف',
+ 'confirm' => 'تأیید',
+ 'login' => 'ورود',
+ 'toggle_full_screen' => 'تغییر حالت تمامصفحه',
+ 'toggle_sensitive_albums' => 'تغییر نمایش آلبومهای حساس',
+ 'albums' => 'میانبرهای آلبوم',
+ 'new_album' => 'آلبوم جدید',
+ 'upload_photos' => 'بارگذاری عکس',
+ 'search' => 'جستجو',
+ 'show_this_modal' => 'نمایش این پنجره',
+ 'select_all' => 'انتخاب همه',
+ 'move_selection' => 'انتقال انتخاب شدهها',
+ 'delete_selection' => 'حذف انتخاب شدهها',
+ 'album' => 'میانبرهای آلبوم',
+ 'slideshow' => 'شروع/توقف نمایش اسلاید',
+ 'toggle' => 'تغییر حالت پنل',
+ 'photo' => 'میانبرهای عکس',
+ 'previous' => 'عکس قبلی',
+ 'next' => 'عکس بعدی',
+ 'cycle' => 'تغییر حالت نمایش به چرخه همپوشانی',
+ 'star' => 'ستاره دار کردن عکس',
+ 'move' => 'انتقال عکس',
+ 'delete' => 'حذف عکس',
+ 'edit' => 'ویرایش اطلاعات',
+ 'show_hide_meta' => 'نمایش اطلاعات',
+ 'keep_hidden' => 'ما آن را مخفی نگه میداریم.',
+ 'button_hidden' => 'ما دکمه را در هدر مخفی میکنیم.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'نام کاربری',
+ 'password' => 'رمز عبور',
+ 'unknown_invalid' => 'نام کاربری یا رمز عبور نامعتبر.',
+ 'signin' => 'ورود',
+ 'remember_me' => 'مرا به خاطر بسپار',
+ ],
+ 'register' => [
+ 'enter_license' => 'کلید لایسنس خود را در زیر وارد کنید:',
+ 'license_key' => 'کلید لایسنس',
+ 'invalid_license' => 'کلید لایسنس نامعتبر.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'ثبتنام',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'آدرس URL به کلیپبورد کپی شد!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'حالت',
+ 'mode_album_help' => 'جاسازی عکسها از این آلبوم خاص.',
+ 'mode_stream_help' => 'جاسازی تمام عکسهای عمومی شما به عنوان یک جریان زمانی (جدیدترینها اول).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'تکمیل شد',
+ 'uploaded' => 'بارگذاری شده:',
+ 'release' => 'برای بارگذاری فایل را رها کنید!',
+ 'select' => 'برای انتخاب فایلها برای بارگذاری اینجا کلیک کنید',
+ 'drag' => '(یا فایلها را به صفحه بکشید)',
+ 'loading' => 'در حال بارگذاری',
+ 'resume' => 'ادامه',
+ 'uploading' => 'در حال بارگذاری',
+ 'finished' => 'پایان یافته',
+ 'failed_error' => 'بارگذاری با بازگرداندن خطا از سمت سرور نا تمام ماند!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'گرفتن عکس',
+ 'capture' => 'گرفتن',
+ 'retake' => 'دوباره بگیر',
+ 'upload' => 'بارگذاری',
+ 'secure_connection_required' => 'دسترسی به دوربین نیاز به اتصال امن (HTTPS یا localhost) دارد.',
+ ],
+ 'visibility' => [
+ 'public' => 'عمومی',
+ 'public_expl' => 'کاربران ناشناس میتوانند به این آلبوم دسترسی پیدا کنند، مشروط به محدودیتهای زیر.',
+ 'full' => 'اصلی',
+ 'full_expl' => 'کاربران ناشناس میتوانند عکسها را با وضوح کامل مشاهده کنند.',
+ 'hidden' => 'مخفی',
+ 'hidden_expl' => 'کاربران ناشناس برای دسترسی به این آلبوم به یک لینک مستقیم نیاز دارند.',
+ 'downloadable' => 'قابل دانلود',
+ 'downloadable_expl' => 'کاربران ناشناس میتوانند این آلبوم را دانلود کنند.',
+ 'upload' => 'اجازه بارگذاری',
+ 'upload_expl' => ' کاربران ناشناس میتوانند عکس در این آلبوم بارگذاری کنند.',
+ 'password' => 'رمز عبور',
+ 'password_prot' => 'محافظت شده با رمز عبور',
+ 'password_prot_expl' => 'کاربران ناشناس برای دسترسی به این آلبوم به یک رمز عبور مشترک نیاز دارند.',
+ 'password_prop_not_compatible' => 'پاسخی که از حافظه موقت دریافت می شود این تنظیم در تضاد است.
به استفاده از حافظه موقت، باز کردن قفل این آلبومهمچنین محتوای آن را برای سایر کاربران ناشناس آشکار میکند.',
+ 'nsfw' => 'حساس',
+ 'nsfw_expl' => 'آلبوم حاوی محتوای حساس است.',
+ 'visibility_updated' => 'حالت دید بهروزرسانی شد.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'آیا مطمئن هستید که میخواهید آلبوم “%1$s” را به داخل آلبوم “%2$s”منتقل کنید؟',
+ 'confirm_multiple' => 'آیا مطمئن هستید که میخواهید همه آلبومهای انتخاب شده را به داخل آلبوم “%s” منتقل کنید؟',
+ 'move_single' => 'انتقال آلبوم',
+ 'move_to' => 'انتقال به',
+ 'move_to_single' => 'انتقال %s به:',
+ 'move_to_multiple' => 'انتقال %d آلبوم به:',
+ 'no_album_target' => 'هیچ آلبومی برای انتقال وجود ندارد',
+ 'moved_single' => 'آلبوم منتقل شد!',
+ 'moved_single_details' => '%1$s به %2$s منتقل شد',
+ 'moved_details' => 'آلبوم(ها) به %s منتقل شد',
+ ],
+ 'new_album' => [
+ 'menu' => 'ایجاد آلبوم',
+ 'info' => 'عنوانی برای آلبوم جدید وارد کنید:',
+ 'title' => 'عنوان',
+ 'create' => 'ایجاد آلبوم',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'ایجاد آلبوم برچسب',
+ 'info' => 'عنوانی برای آلبوم برچسب جدید وارد کنید:',
+ 'title' => 'عنوان',
+ 'set_tags' => 'تنظیم برچسبها برای نمایش',
+ 'create' => 'ایجاد آلبوم برچسب',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'آیا مطمئن هستید که میخواهید آلبوم “%s” و تمام تصاویر موجود در آن را حذف کنید؟', 'confirmation_tag' => 'آیا مطمئن هستید که میخواهید آلبوم "%s" را حذف کنید؟', 'confirmation_multiple' => 'آیا مطمئن هستید که میخواهید همه %d آلبوم انتخاب شده و تمام تصاویر موجود در آنها را حذف کنید؟',
+ 'warning' => 'این عمل قابل بازگشت نیست!',
+ 'delete' => 'حذف آلبوم و عکسها',
+ ],
+ 'transfer' => [
+ 'query' => 'انتقال مالکیت آلبوم به',
+ 'confirmation' => 'آیا مطمئن هستید که میخواهید مالکیت آلبوم “%s” و تمام عکسهای موجود در آن را به “%s” منتقل کنید؟',
+ 'lost_access_warning' => 'دسترسی شما به این آلبوم از دست خواهد رفت.',
+ 'warning' => 'این عمل قابل بازگشت نیست!',
+ 'transfer' => 'انتقال مالکیت آلبوم و عکسها',
+ ],
+ 'rename' => [
+ 'photo' => 'عنوان جدیدی برای این عکس وارد کنید:',
+ 'album' => 'عنوان جدیدی برای این آلبوم وارد کنید:',
+ 'rename' => 'تغییر نام',
+ ],
+ 'merge' => [
+ 'merge_to' => 'ادغام %s به:',
+ 'merge_to_multiple' => 'ادغام %d آلبوم به:',
+ 'no_albums' => 'هیچ آلبومی برای ادغام وجود ندارد.',
+ 'confirm' => 'آیا مطمئن هستید که میخواهید آلبوم "%1$s" را به آلبوم "%2$s" ادغام کنید؟',
+ 'confirm_multiple' => 'آیا مطمئن هستید که میخواهید همه آلبومهای انتخاب شده را به آلبوم “%s” ادغام کنید؟',
+ 'merge' => 'ادغام آلبومها',
+ 'merged' => 'آلبوم(ها) به %s ادغام شد!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'این آلبوم با یک رمز محافظت شده است. برای مشاهده عکسهای این آلبوم، رمز را در زیر وارد کنید:',
+ 'password' => 'رمز',
+ 'unlock' => 'باز کردن قفل',
+ ],
+ 'photo_tags' => [
+ 'question' => 'برچسبهای خود را برای این عکس وارد کنید.',
+ 'question_multiple' => 'برچسبهای خود را برای همه %d عکس انتخاب شده وارد کنید. برچسبهای موجود بازنویسی خواهند شد.',
+ 'no_tags' => 'بدون برچسب',
+ 'set_tags' => 'تنظیم برچسبها',
+ 'updated' => 'برچسبها بهروزرسانی شد!',
+ 'tags_override_info' => 'اگر این گزینه غیرفعال باشد، برچسبها به برچسبهای موجود عکس اضافه خواهند شد.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'هیچ آلبومی برای کپی کردن وجود ندارد',
+ 'copy_to' => 'کپی %s به:',
+ 'copy_to_multiple' => 'کپی %d عکس به:',
+ 'confirm' => 'کپی %s به %s.',
+ 'confirm_multiple' => 'کپی %d عکس به %s.',
+ 'copy' => 'کپی',
+ 'copied' => 'عکس(ها) کپی شد!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'آیا مطمئن هستید که میخواهید عکس “%s” را حذف کنید؟',
+ 'confirm_multiple' => 'آیا مطمئن هستید که میخواهید همه %d عکس انتخاب شده را حذف کنید؟',
+ 'deleted' => 'عکس(ها) حذف شد!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'انتقال %s به:',
+ 'move_multiple' => 'انتقال %d عکس به:',
+ 'confirm' => 'انتقال %s به %s.',
+ 'confirm_multiple' => 'انتقال %d عکس به %s.',
+ 'moved' => 'عکس(ها) به %s منتقل شد!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'کاربر را انتخاب کنید',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'آلبوم را انتخاب کنید',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'احراز هویت با موفقیت انجام شد!',
+ 'error' => 'اوه، به نظر میرسد که مشکلی پیش آمده است. لطفاً سایت را دوباره بارگذاری کنید و دوباره تلاش کنید!',
+ ],
+ 'se' => [
+ 'available' => 'در نسخه حامیان در دسترس است',
+ ],
+ 'session_expired' => [
+ 'title' => 'جلسه منقضی شد',
+ 'message' => 'جلسه شما منقضی شده است.
لطفاً صفحه را دوباره بارگذاری کنید.',
+ 'reload' => 'بارگذاری دوباره',
+ 'go_to_gallery' => 'برو به گالری',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/fa/duplicate-finder.php b/lang/fa/duplicate-finder.php
index c3bd6e8a6a3..ff87dede69d 100644
--- a/lang/fa/duplicate-finder.php
+++ b/lang/fa/duplicate-finder.php
@@ -1,26 +1,26 @@
'نگهداری',
- 'intro' => 'در این صفحه تصاویر تکراری موجود در پایگاه داده خود را خواهید یافت.',
- 'found' => ' مورد تکراری پیدا شد!',
- 'invalid-search' => ' حداقل باید شرط چک لیست یا عنوان انتخاب شود.',
- 'checksum-must-match' => 'چک باید مطابقت داشته باشد.',
- 'title-must-match' => 'عنوان باید مطابقت داشته باشد.',
- 'must-be-in-same-album' => 'باید در یک آلبوم باشند.',
- 'columns' => [
- 'album' => 'آلبوم',
- 'photo' => 'عکس',
- 'checksum' => 'چک لیست',
- ],
- 'warning' => [
- 'no-original-left' => 'هیچ نسخه اصلی باقی نمانده است.',
- 'keep-one' => 'شما همه موارد تکراری این گروه را انتخاب کردهاید. لطفاً حداقل یک مورد تکراری را برای نگهداری انتخاب کنید.',
- ],
- 'delete-selected' => 'حذف موارد انتخاب شده',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه جستجوی موارد تکراری
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'نگهداری',
+ 'intro' => 'در این صفحه تصاویر تکراری موجود در پایگاه داده خود را خواهید یافت.',
+ 'found' => ' مورد تکراری پیدا شد!',
+ 'invalid-search' => ' حداقل باید شرط چک لیست یا عنوان انتخاب شود.',
+ 'checksum-must-match' => 'چک باید مطابقت داشته باشد.',
+ 'title-must-match' => 'عنوان باید مطابقت داشته باشد.',
+ 'must-be-in-same-album' => 'باید در یک آلبوم باشند.',
+ 'columns' => [
+ 'album' => 'آلبوم',
+ 'photo' => 'عکس',
+ 'checksum' => 'چک لیست',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'هیچ نسخه اصلی باقی نمانده است.',
+ 'keep-one' => 'شما همه موارد تکراری این گروه را انتخاب کردهاید. لطفاً حداقل یک مورد تکراری را برای نگهداری انتخاب کنید.',
+ ],
+ 'delete-selected' => 'حذف موارد انتخاب شده',
];
diff --git a/lang/fa/fix-tree.php b/lang/fa/fix-tree.php
index 01f6ee76304..5f400af8f38 100644
--- a/lang/fa/fix-tree.php
+++ b/lang/fa/fix-tree.php
@@ -1,46 +1,46 @@
'نگهداری',
- 'intro' => 'این صفحه به شما اجازه میدهد آلبومهای خود را به صورت دستی مرتب و اصلاح کنید.
قبل از هرگونه تغییر، اکیداً توصیه میکنیم درباره ساختار زیر گروه درختی مطالعه کنید.',
- 'warning' => 'در اینجا واقعاً میتوانید نصب لیچی خود را خراب کنید، مقادیر را با مسئولیت خود تغییر دهید.',
- 'help' => [
- 'header' => 'راهنما',
- 'hover' => 'برای نمایش آلبومهای مرتبط، روی شناسهها یا عناوین نگه دارید.',
- 'left' => 'چپ',
- 'right' => 'راست',
- 'convenience' => 'برای راحتی شما، دکمههای و به ترتیب مقدار %s و %s را با +1 و -1 تغییر میدهند و این تغییرات را اعمال میکنند.',
- 'left-right-warn' => 'آیکونهای و نشان میدهند که مقدار %s (و به ترتیب %s) در جایی تکراری است.',
- 'parent-marked' => 'علامت شناسه والد نشان میدهد که %s و %s با ساختار درختی Nest Set مطابقت ندارند. یا شناسه والد یا مقادیر %s/%s را ویرایش کنید.',
- 'slowness' => 'این صفحه با تعداد زیادی آلبوم کند خواهد بود.',
- ],
- 'buttons' => [
- 'reset' => 'بازگردانی به حالت اولیه',
- 'check' => 'بررسی',
- 'apply' => 'اعمال',
- ],
- 'no-changes' => 'هیچ تغییری برای اعمال وجود ندارد.',
- 'table' => [
- 'title' => 'عنوان',
- 'left' => 'چپ',
- 'right' => 'راست',
- 'id' => 'شناسه',
- 'parent' => 'شناسه والد',
- ],
- 'errors' => [
- 'invalid' => 'درخت نامعتبر!',
- 'invalid_details' => 'این تغییرات اعمال نمیشوند زیرا مطمئن هستیم این تغییرات به خطا منجر خواهند شد.',
- 'invalid_left' => 'آلبوم %s مقدار چپ نامعتبر دارد.',
- 'invalid_right' => 'آلبوم %s مقدار راست نامعتبر دارد.',
- 'invalid_left_right' => 'آلبوم %s مقادیر چپ یا راست نامعتبر دارد. مقدار چپ باید حتماً کمتر از راست باشد: %s < %s.',
- 'duplicate_left' => 'آلبوم %s مقدار چپ تکراری %s دارد.',
- 'duplicate_right' => 'آلبوم %s مقدار راست تکراری %s دارد.',
- 'parent' => 'آلبوم %s شناسه والد غیرمنتظره %s دارد.',
- 'unknown' => 'آلبوم %s خطای ناشناخته دارد.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه اصلاح درخت
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'نگهداری',
+ 'intro' => 'این صفحه به شما اجازه میدهد آلبومهای خود را به صورت دستی مرتب و اصلاح کنید.
قبل از هرگونه تغییر، اکیداً توصیه میکنیم درباره ساختار زیر گروه درختی مطالعه کنید.',
+ 'warning' => 'در اینجا واقعاً میتوانید نصب لیچی خود را خراب کنید، مقادیر را با مسئولیت خود تغییر دهید.',
+ 'help' => [
+ 'header' => 'راهنما',
+ 'hover' => 'برای نمایش آلبومهای مرتبط، روی شناسهها یا عناوین نگه دارید.',
+ 'left' => 'چپ',
+ 'right' => 'راست',
+ 'convenience' => 'برای راحتی شما، دکمههای و به ترتیب مقدار %s و %s را با +1 و -1 تغییر میدهند و این تغییرات را اعمال میکنند.',
+ 'left-right-warn' => 'آیکونهای و نشان میدهند که مقدار %s (و به ترتیب %s) در جایی تکراری است.',
+ 'parent-marked' => 'علامت شناسه والد نشان میدهد که %s و %s با ساختار درختی Nest Set مطابقت ندارند. یا شناسه والد یا مقادیر %s/%s را ویرایش کنید.',
+ 'slowness' => 'این صفحه با تعداد زیادی آلبوم کند خواهد بود.',
+ ],
+ 'buttons' => [
+ 'reset' => 'بازگردانی به حالت اولیه',
+ 'check' => 'بررسی',
+ 'apply' => 'اعمال',
+ ],
+ 'no-changes' => 'هیچ تغییری برای اعمال وجود ندارد.',
+ 'table' => [
+ 'title' => 'عنوان',
+ 'left' => 'چپ',
+ 'right' => 'راست',
+ 'id' => 'شناسه',
+ 'parent' => 'شناسه والد',
+ ],
+ 'errors' => [
+ 'invalid' => 'درخت نامعتبر!',
+ 'invalid_details' => 'این تغییرات اعمال نمیشوند زیرا مطمئن هستیم این تغییرات به خطا منجر خواهند شد.',
+ 'invalid_left' => 'آلبوم %s مقدار چپ نامعتبر دارد.',
+ 'invalid_right' => 'آلبوم %s مقدار راست نامعتبر دارد.',
+ 'invalid_left_right' => 'آلبوم %s مقادیر چپ یا راست نامعتبر دارد. مقدار چپ باید حتماً کمتر از راست باشد: %s < %s.',
+ 'duplicate_left' => 'آلبوم %s مقدار چپ تکراری %s دارد.',
+ 'duplicate_right' => 'آلبوم %s مقدار راست تکراری %s دارد.',
+ 'parent' => 'آلبوم %s شناسه والد غیرمنتظره %s دارد.',
+ 'unknown' => 'آلبوم %s خطای ناشناخته دارد.',
+ ],
];
diff --git a/lang/fa/flow.php b/lang/fa/flow.php
index 970a0c4bcf9..47bea5e5abc 100644
--- a/lang/fa/flow.php
+++ b/lang/fa/flow.php
@@ -1,14 +1,14 @@
'جریان',
- 'by_author' => 'توسط %s',
- 'open_album' => 'باز کردن آلبوم',
- 'show_more' => 'نمایش بیشتر',
- 'no_content' => 'محتوایی وجود ندارد.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'جریان',
+ 'by_author' => 'توسط %s',
+ 'open_album' => 'باز کردن آلبوم',
+ 'show_more' => 'نمایش بیشتر',
+ 'no_content' => 'محتوایی وجود ندارد.',
];
diff --git a/lang/fa/gallery.php b/lang/fa/gallery.php
index b3edf28ece6..d25142504a2 100644
--- a/lang/fa/gallery.php
+++ b/lang/fa/gallery.php
@@ -1,357 +1,357 @@
'گالری',
- 'smart_albums' => 'آلبومهای هوشمند',
- 'pinned_albums' => 'آلبومهای سنجاقشده',
- 'albums' => 'آلبومها',
- 'root' => 'آلبومها',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'علاقهمندیها',
- 'raw' => 'RAW',
- 'original' => 'اصلی',
- 'medium' => 'متوسط',
- 'medium_hidpi' => 'متوسط HiDPI',
- 'small' => 'تصویر کوچک',
- 'small_hidpi' => 'تصویر کوچک HiDPI',
- 'thumb' => 'تصویر کوچک مربعی',
- 'thumb_hidpi' => 'تصویر کوچک مربعی HiDPI',
- 'placeholder' => 'تصویر با کیفیت پایین',
- 'thumbnail' => 'تصویر کوچک',
- 'live_video' => 'بخش ویدئویی لایو-فوتو',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'رزولوشن تصویر را برای فایل ZIP آلبوم انتخاب کنید. اگر عکسی نوع انتخابشده را نداشته باشد، از نسخه اصلی استفاده میشود.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'تاریخ دوربین',
- 'album_reserved' => 'کلیه حقوق محفوظ است',
- 'map' => [
- 'error_gpx' => 'خطا در بارگذاری فایل GPX',
- 'osm_contributors' => 'مشارکت کنندگان OpenStreetMap',
- ],
- 'search' => [
- 'title' => 'جستجو',
- 'no_results' => 'هیچ موردی با جستجوی شما مطابقت ندارد.',
- 'searchbox' => 'جستجو…',
- 'minimum_chars' => 'حداقل %s کاراکتر مورد نیاز است.',
- 'photos' => 'عکسها (%s)',
- 'albums' => 'آلبومها (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'مرتب نشده',
- 'highlighted' => 'ستارهدار',
- 'recent' => 'اخیر',
- 'public' => 'عمومی',
- 'on_this_day' => 'در این روز',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'تصویر کوچک مربعی',
- 'justified' => 'با نسبت، تراز شده',
- 'masonry' => 'با نسبت، آجری',
- 'grid' => 'با نسبت، شبکهای',
- 'filmstrip' => 'نوار فیلم',
- 'list' => 'نمای فهرست',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'هیچکدام',
- 'exif' => 'دادههای EXIF',
- 'description' => 'توضیحات',
- 'date' => 'تاریخ ثبت',
- ],
- 'timeline' => [
- 'title' => 'خط زمانی',
- 'load_previous' => 'بارگذاری قبلی',
- 'default' => 'پیش فرض',
- 'disabled' => 'غیرفعال',
- 'year' => 'سال',
- 'month' => 'ماه',
- 'day' => 'روز',
- 'hour' => 'ساعت',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'آلبومها',
- 'header_photos' => 'عکسها',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'اینجا چیزی برای نمایش نیست',
- 'upload' => 'بارگذاری عکسها',
- 'tabs' => [
- 'about' => 'درباره آلبوم',
- 'share' => 'اشتراکگذاری آلبوم',
- 'embed' => 'Embed Album',
- 'move' => 'انتقال آلبوم',
- 'shop' => 'Shop Management',
- 'danger' => 'منطقه خطر',
- ],
- 'hero' => [
- 'created' => 'ایجاد شده',
- 'copyright' => 'کپیرایت',
- 'subalbums' => 'زیرآلبومها',
- 'images' => 'عکسها',
- 'download' => 'دانلود آلبوم',
- 'share' => 'اشتراکگذاری آلبوم',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'آمار فقط در نسخه حامیان در دسترس است',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'تعداد بازدیدها',
- 'number_of_downloads' => 'تعداد دانلودها',
- 'number_of_shares' => 'تعداد اشتراکگذاریها',
- 'lens' => 'لنز',
- 'shutter' => 'سرعت شاتر',
- 'iso' => 'ISO',
- 'model' => 'مدل',
- 'aperture' => 'دیافراگم',
- 'no_data' => 'بدون داده',
- ],
- 'properties' => [
- 'title' => 'عنوان',
- 'slug' => 'Slug (URL دوستانه)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'توضیحات',
- 'photo_ordering' => 'مرتب سازی عکسها بر اساس',
- 'children_ordering' => 'مرتب سازی آلبومها بر اساس',
- 'asc/desc' => 'صعودی/نزولی',
- 'header' => 'تنظیم هدر آلبوم',
- 'compact_header' => 'استفاده از هدر فشرده',
- 'license' => 'تنظیم مجوز',
- 'copyright' => 'تنظیم کپیرایت',
- 'aspect_ratio' => 'تنظیم نسبت تصویر تصویر کوچک آلبوم',
- 'album_timeline' => 'تنظیم حالت جدول زمانی آلبوم',
- 'photo_timeline' => 'تنظیم حالت جدول زمانی عکس',
- 'layout' => 'تنظیم چیدمان عکس',
- 'show_tags' => 'تنظیم برچسبهای قابل نمایش',
- 'tags_required' => 'برچسبها الزامی هستند.',
- 'all_tags_must_match' => 'همه برچسبها باید مطابقت داشته باشند.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'ستارهدار',
- 'unhighlight' => 'بدون ستاره',
- 'set_album_header' => 'تنظیم به عنوان هدر آلبوم',
- 'move' => 'انتقال',
- 'delete' => 'حذف',
- 'header_set' => 'هدر تنظیم شد',
- ],
- 'details' => [
- 'exif_data' => 'دادههای EXIF',
- 'about' => 'درباره',
- 'basics' => 'اطلاعات پایه',
- 'title' => 'عنوان',
- 'uploaded' => 'بارگذاری شده',
- 'description' => 'توضیحات',
- 'license' => 'مجوز',
- 'reuse' => 'استفاده مجدد',
- 'latitude' => 'عرض جغرافیایی',
- 'longitude' => 'طول جغرافیایی',
- 'altitude' => 'ارتفاع',
- 'location' => 'موقعیت',
- 'image' => 'تصویر',
- 'video' => 'ویدئو',
- 'size' => 'اندازه',
- 'format' => 'فرمت',
- 'resolution' => 'وضوح',
- 'duration' => 'مدت زمان',
- 'fps' => 'نرخ فریم',
- 'tags' => 'برچسبها',
- 'camera' => 'دوربین',
- 'captured' => 'ثبت شده',
- 'make' => 'سازنده',
- 'type' => 'نوع/مدل',
- 'lens' => 'لنز',
- 'shutter' => 'سرعت شاتر',
- 'aperture' => 'دیافراگم',
- 'focal' => 'فاصله کانونی',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'آمار',
- 'number_of_visits' => 'تعداد بازدیدها',
- 'number_of_downloads' => 'تعداد دانلودها',
- 'number_of_shares' => 'تعداد اشتراکگذاریها',
- 'number_of_favourites' => 'تعداد علاقهمندیها',
- ],
- 'links' => [
- 'header' => 'لینکها',
- 'copy' => 'کپی',
- 'copy_success' => 'لینک در کلیپبورد کپی شد.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'تنظیم عنوان',
- 'set_description' => 'تنظیم توضیحات',
- 'set_license' => 'تنظیم مجوز',
- 'no_tags' => 'بدون برچسب',
- 'set_tags' => 'تنظیم برچسبها',
- 'set_created_at' => 'تنظیم تاریخ بارگذاری',
- 'set_taken_at' => 'تنظیم تاریخ ثبت',
- 'set_taken_at_info' => 'در صورت تنظیم، یک ستاره %s نمایش داده میشود تا نشان دهد این تاریخ، تاریخ اصلی EXIF نیست.
برای بازنشانی به تاریخ اصلی، تیک را بردارید و ذخیره کنید.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'محتوای حساس',
- 'description' => 'این آلبوم حاوی محتوای حساسی است که ممکن است برای برخی افراد آزاردهنده یا ناراحتکننده باشد.',
- 'consent' => 'برای تأیید لمس کنید.',
- ],
- 'menus' => [
- 'highlight' => 'ستارهدار',
- 'unhighlight' => 'بدون ستاره',
- 'highlight_all' => 'ستارهدار کردن انتخاب شدهها',
- 'unhighlight_all' => 'حذف ستاره از انتخاب شدهها',
- 'tag' => 'برچسب',
- 'tag_all' => 'برچسبگذاری انتخاب شدهها',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'تنظیم جلد آلبوم',
- 'remove_header' => 'حذف هدر آلبوم',
- 'set_header' => 'تنظیم هدر آلبوم',
- 'copy_to' => 'کپی به …',
- 'copy_all_to' => 'کپی انتخاب شدهها به …',
- 'rename' => 'تغییر نام',
- 'move' => 'انتقال',
- 'move_all' => 'انتقال انتخاب شدهها',
- 'pin' => 'سنجاق کردن',
- 'unpin' => 'برداشتن سنجاق',
- 'delete' => 'حذف',
- 'delete_all' => 'حذف انتخاب شدهها',
- 'download' => 'دانلود',
- 'download_all' => 'دانلود انتخاب شدهها',
- 'merge' => 'ادغام',
- 'merge_all' => 'ادغام انتخاب شدهها',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'بارگذاری عکس',
- 'take_photo' => 'گرفتن عکس',
- 'import_link' => 'وارد کردن از لینک',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'وارد کردن از Dropbox',
- 'new_album' => 'آلبوم جدید',
- 'new_tag_album' => 'آلبوم برچسب جدید',
- 'upload_track' => 'بارگذاری ترک',
- 'delete_track' => 'حذف ترک',
- ],
- 'sort' => [
- 'photo_select_1' => 'زمان بارگذاری',
- 'photo_select_2' => 'تاریخ ثبت',
- 'photo_select_3' => 'عنوان',
- 'photo_select_4' => 'توضیحات',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'ستاره',
- 'photo_select_7' => 'فرمت عکس',
- 'ascending' => 'صعودی',
- 'descending' => 'نزولی',
- 'album_select_1' => 'زمان ایجاد',
- 'album_select_2' => 'عنوان',
- 'album_select_3' => 'توضیحات',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'جدیدترین تاریخ ثبت',
- 'album_select_6' => 'قدیمی ترین تاریخ ثبت',
- ],
- 'albums_protection' => [
- 'private' => 'خصوصی',
- 'public' => 'عمومی',
- 'inherit_from_parent' => 'ارث بری از والد',
- 'public_but_hidden' => 'عمومی اما مخفی',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه گالری
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'گالری',
+ 'smart_albums' => 'آلبومهای هوشمند',
+ 'pinned_albums' => 'آلبومهای سنجاقشده',
+ 'albums' => 'آلبومها',
+ 'root' => 'آلبومها',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'علاقهمندیها',
+ 'raw' => 'RAW',
+ 'original' => 'اصلی',
+ 'medium' => 'متوسط',
+ 'medium_hidpi' => 'متوسط HiDPI',
+ 'small' => 'تصویر کوچک',
+ 'small_hidpi' => 'تصویر کوچک HiDPI',
+ 'thumb' => 'تصویر کوچک مربعی',
+ 'thumb_hidpi' => 'تصویر کوچک مربعی HiDPI',
+ 'placeholder' => 'تصویر با کیفیت پایین',
+ 'thumbnail' => 'تصویر کوچک',
+ 'live_video' => 'بخش ویدئویی لایو-فوتو',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'رزولوشن تصویر را برای فایل ZIP آلبوم انتخاب کنید. اگر عکسی نوع انتخابشده را نداشته باشد، از نسخه اصلی استفاده میشود.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'تاریخ دوربین',
+ 'album_reserved' => 'کلیه حقوق محفوظ است',
+ 'map' => [
+ 'error_gpx' => 'خطا در بارگذاری فایل GPX',
+ 'osm_contributors' => 'مشارکت کنندگان OpenStreetMap',
+ ],
+ 'search' => [
+ 'title' => 'جستجو',
+ 'no_results' => 'هیچ موردی با جستجوی شما مطابقت ندارد.',
+ 'searchbox' => 'جستجو…',
+ 'minimum_chars' => 'حداقل %s کاراکتر مورد نیاز است.',
+ 'photos' => 'عکسها (%s)',
+ 'albums' => 'آلبومها (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'مرتب نشده',
+ 'highlighted' => 'ستارهدار',
+ 'recent' => 'اخیر',
+ 'public' => 'عمومی',
+ 'on_this_day' => 'در این روز',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'تصویر کوچک مربعی',
+ 'justified' => 'با نسبت، تراز شده',
+ 'masonry' => 'با نسبت، آجری',
+ 'grid' => 'با نسبت، شبکهای',
+ 'filmstrip' => 'نوار فیلم',
+ 'list' => 'نمای فهرست',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'هیچکدام',
+ 'exif' => 'دادههای EXIF',
+ 'description' => 'توضیحات',
+ 'date' => 'تاریخ ثبت',
+ ],
+ 'timeline' => [
+ 'title' => 'خط زمانی',
+ 'load_previous' => 'بارگذاری قبلی',
+ 'default' => 'پیش فرض',
+ 'disabled' => 'غیرفعال',
+ 'year' => 'سال',
+ 'month' => 'ماه',
+ 'day' => 'روز',
+ 'hour' => 'ساعت',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'آلبومها',
+ 'header_photos' => 'عکسها',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'اینجا چیزی برای نمایش نیست',
+ 'upload' => 'بارگذاری عکسها',
+ 'tabs' => [
+ 'about' => 'درباره آلبوم',
+ 'share' => 'اشتراکگذاری آلبوم',
+ 'embed' => 'Embed Album',
+ 'move' => 'انتقال آلبوم',
+ 'shop' => 'Shop Management',
+ 'danger' => 'منطقه خطر',
+ ],
+ 'hero' => [
+ 'created' => 'ایجاد شده',
+ 'copyright' => 'کپیرایت',
+ 'subalbums' => 'زیرآلبومها',
+ 'images' => 'عکسها',
+ 'download' => 'دانلود آلبوم',
+ 'share' => 'اشتراکگذاری آلبوم',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'آمار فقط در نسخه حامیان در دسترس است',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'تعداد بازدیدها',
+ 'number_of_downloads' => 'تعداد دانلودها',
+ 'number_of_shares' => 'تعداد اشتراکگذاریها',
+ 'lens' => 'لنز',
+ 'shutter' => 'سرعت شاتر',
+ 'iso' => 'ISO',
+ 'model' => 'مدل',
+ 'aperture' => 'دیافراگم',
+ 'no_data' => 'بدون داده',
+ ],
+ 'properties' => [
+ 'title' => 'عنوان',
+ 'slug' => 'Slug (URL دوستانه)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'توضیحات',
+ 'photo_ordering' => 'مرتب سازی عکسها بر اساس',
+ 'children_ordering' => 'مرتب سازی آلبومها بر اساس',
+ 'asc/desc' => 'صعودی/نزولی',
+ 'header' => 'تنظیم هدر آلبوم',
+ 'compact_header' => 'استفاده از هدر فشرده',
+ 'license' => 'تنظیم مجوز',
+ 'copyright' => 'تنظیم کپیرایت',
+ 'aspect_ratio' => 'تنظیم نسبت تصویر تصویر کوچک آلبوم',
+ 'album_timeline' => 'تنظیم حالت جدول زمانی آلبوم',
+ 'photo_timeline' => 'تنظیم حالت جدول زمانی عکس',
+ 'layout' => 'تنظیم چیدمان عکس',
+ 'show_tags' => 'تنظیم برچسبهای قابل نمایش',
+ 'tags_required' => 'برچسبها الزامی هستند.',
+ 'all_tags_must_match' => 'همه برچسبها باید مطابقت داشته باشند.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'ستارهدار',
+ 'unhighlight' => 'بدون ستاره',
+ 'set_album_header' => 'تنظیم به عنوان هدر آلبوم',
+ 'move' => 'انتقال',
+ 'delete' => 'حذف',
+ 'header_set' => 'هدر تنظیم شد',
+ ],
+ 'details' => [
+ 'exif_data' => 'دادههای EXIF',
+ 'about' => 'درباره',
+ 'basics' => 'اطلاعات پایه',
+ 'title' => 'عنوان',
+ 'uploaded' => 'بارگذاری شده',
+ 'description' => 'توضیحات',
+ 'license' => 'مجوز',
+ 'reuse' => 'استفاده مجدد',
+ 'latitude' => 'عرض جغرافیایی',
+ 'longitude' => 'طول جغرافیایی',
+ 'altitude' => 'ارتفاع',
+ 'location' => 'موقعیت',
+ 'image' => 'تصویر',
+ 'video' => 'ویدئو',
+ 'size' => 'اندازه',
+ 'format' => 'فرمت',
+ 'resolution' => 'وضوح',
+ 'duration' => 'مدت زمان',
+ 'fps' => 'نرخ فریم',
+ 'tags' => 'برچسبها',
+ 'camera' => 'دوربین',
+ 'captured' => 'ثبت شده',
+ 'make' => 'سازنده',
+ 'type' => 'نوع/مدل',
+ 'lens' => 'لنز',
+ 'shutter' => 'سرعت شاتر',
+ 'aperture' => 'دیافراگم',
+ 'focal' => 'فاصله کانونی',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'آمار',
+ 'number_of_visits' => 'تعداد بازدیدها',
+ 'number_of_downloads' => 'تعداد دانلودها',
+ 'number_of_shares' => 'تعداد اشتراکگذاریها',
+ 'number_of_favourites' => 'تعداد علاقهمندیها',
+ ],
+ 'links' => [
+ 'header' => 'لینکها',
+ 'copy' => 'کپی',
+ 'copy_success' => 'لینک در کلیپبورد کپی شد.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'تنظیم عنوان',
+ 'set_description' => 'تنظیم توضیحات',
+ 'set_license' => 'تنظیم مجوز',
+ 'no_tags' => 'بدون برچسب',
+ 'set_tags' => 'تنظیم برچسبها',
+ 'set_created_at' => 'تنظیم تاریخ بارگذاری',
+ 'set_taken_at' => 'تنظیم تاریخ ثبت',
+ 'set_taken_at_info' => 'در صورت تنظیم، یک ستاره %s نمایش داده میشود تا نشان دهد این تاریخ، تاریخ اصلی EXIF نیست.
برای بازنشانی به تاریخ اصلی، تیک را بردارید و ذخیره کنید.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'محتوای حساس',
+ 'description' => 'این آلبوم حاوی محتوای حساسی است که ممکن است برای برخی افراد آزاردهنده یا ناراحتکننده باشد.',
+ 'consent' => 'برای تأیید لمس کنید.',
+ ],
+ 'menus' => [
+ 'highlight' => 'ستارهدار',
+ 'unhighlight' => 'بدون ستاره',
+ 'highlight_all' => 'ستارهدار کردن انتخاب شدهها',
+ 'unhighlight_all' => 'حذف ستاره از انتخاب شدهها',
+ 'tag' => 'برچسب',
+ 'tag_all' => 'برچسبگذاری انتخاب شدهها',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'تنظیم جلد آلبوم',
+ 'remove_header' => 'حذف هدر آلبوم',
+ 'set_header' => 'تنظیم هدر آلبوم',
+ 'copy_to' => 'کپی به …',
+ 'copy_all_to' => 'کپی انتخاب شدهها به …',
+ 'rename' => 'تغییر نام',
+ 'move' => 'انتقال',
+ 'move_all' => 'انتقال انتخاب شدهها',
+ 'pin' => 'سنجاق کردن',
+ 'unpin' => 'برداشتن سنجاق',
+ 'delete' => 'حذف',
+ 'delete_all' => 'حذف انتخاب شدهها',
+ 'download' => 'دانلود',
+ 'download_all' => 'دانلود انتخاب شدهها',
+ 'merge' => 'ادغام',
+ 'merge_all' => 'ادغام انتخاب شدهها',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'بارگذاری عکس',
+ 'take_photo' => 'گرفتن عکس',
+ 'import_link' => 'وارد کردن از لینک',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'وارد کردن از Dropbox',
+ 'new_album' => 'آلبوم جدید',
+ 'new_tag_album' => 'آلبوم برچسب جدید',
+ 'upload_track' => 'بارگذاری ترک',
+ 'delete_track' => 'حذف ترک',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'زمان بارگذاری',
+ 'photo_select_2' => 'تاریخ ثبت',
+ 'photo_select_3' => 'عنوان',
+ 'photo_select_4' => 'توضیحات',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'ستاره',
+ 'photo_select_7' => 'فرمت عکس',
+ 'ascending' => 'صعودی',
+ 'descending' => 'نزولی',
+ 'album_select_1' => 'زمان ایجاد',
+ 'album_select_2' => 'عنوان',
+ 'album_select_3' => 'توضیحات',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'جدیدترین تاریخ ثبت',
+ 'album_select_6' => 'قدیمی ترین تاریخ ثبت',
+ ],
+ 'albums_protection' => [
+ 'private' => 'خصوصی',
+ 'public' => 'عمومی',
+ 'inherit_from_parent' => 'ارث بری از والد',
+ 'public_but_hidden' => 'عمومی اما مخفی',
+ ],
];
diff --git a/lang/fa/import_from_server.php b/lang/fa/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/fa/import_from_server.php
+++ b/lang/fa/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/fa/jobs.php b/lang/fa/jobs.php
index e0ee81d50bd..e95e73b91b9 100644
--- a/lang/fa/jobs.php
+++ b/lang/fa/jobs.php
@@ -1,15 +1,15 @@
'وظایف',
- 'no_data' => 'هنوز هیچ وظیفهای اجرا نشده است.',
- 'ready' => 'آماده',
- 'success' => 'موفق',
- 'failure' => 'ناموفق',
- 'started' => 'شروع شده',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه وظایف
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'وظایف',
+ 'no_data' => 'هنوز هیچ وظیفهای اجرا نشده است.',
+ 'ready' => 'آماده',
+ 'success' => 'موفق',
+ 'failure' => 'ناموفق',
+ 'started' => 'شروع شده',
];
diff --git a/lang/fa/landing.php b/lang/fa/landing.php
index c415137e5f4..cdbbed540a4 100644
--- a/lang/fa/landing.php
+++ b/lang/fa/landing.php
@@ -1,13 +1,13 @@
'گالری',
- 'access_gallery' => 'دسترسی به گالری',
- 'Powered_by_Lychee' => 'توسعه داده شده توسط Lychee',
- 'copyright' => 'تمام تصاویر این وب سایت ذیل قانون حقوق مولفین %1$s © %2$s هستند',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه اصلی
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'گالری',
+ 'access_gallery' => 'دسترسی به گالری',
+ 'Powered_by_Lychee' => 'توسعه داده شده توسط Lychee',
+ 'copyright' => 'تمام تصاویر این وب سایت ذیل قانون حقوق مولفین %1$s © %2$s هستند',
];
diff --git a/lang/fa/left-menu.php b/lang/fa/left-menu.php
index b58de7844f5..b7e8c24e417 100644
--- a/lang/fa/left-menu.php
+++ b/lang/fa/left-menu.php
@@ -1,28 +1,28 @@
'بازگشت به گالری',
- 'login' => 'ورود',
- 'frame' => 'قاب',
- 'map' => 'نقشه',
- 'embed_stream' => 'جاسازی جریان عکس',
- 'admin' => 'مدیر',
- 'clockwork' => 'برنامه Clockwork',
- 'logs' => 'نمایش گزارشها',
- 'jobs' => 'نمایش تاریخچه وظایف',
- 'user' => 'کاربر',
- 'sign_out' => 'خروج',
- 'about' => 'درباره',
- 'changelog' => 'گزارش تغییرات',
- 'api' => 'مستندات API',
- 'source_code' => 'کد منبع',
- 'support' => 'پشتیبانی',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | منوی سمت چپ
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'بازگشت به گالری',
+ 'login' => 'ورود',
+ 'frame' => 'قاب',
+ 'map' => 'نقشه',
+ 'embed_stream' => 'جاسازی جریان عکس',
+ 'admin' => 'مدیر',
+ 'clockwork' => 'برنامه Clockwork',
+ 'logs' => 'نمایش گزارشها',
+ 'jobs' => 'نمایش تاریخچه وظایف',
+ 'user' => 'کاربر',
+ 'sign_out' => 'خروج',
+ 'about' => 'درباره',
+ 'changelog' => 'گزارش تغییرات',
+ 'api' => 'مستندات API',
+ 'source_code' => 'کد منبع',
+ 'support' => 'پشتیبانی',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/fa/maintenance.php b/lang/fa/maintenance.php
index 03ad1e115c8..b70ac3f8de8 100644
--- a/lang/fa/maintenance.php
+++ b/lang/fa/maintenance.php
@@ -1,103 +1,103 @@
'نگهداری',
- 'description' => 'در این صفحه تمام اقدامات موذد نیاز برای حفظ عملکرد بی نقص و مناسب نسخه لیچی نصب شده خود را خواهید یافت.',
- 'cleaning' => [
- 'title' => 'پاکسازی %s',
- 'result' => '%s حذف شد.',
- 'description' => 'تمام محتویات %s را حذف کنید',
- 'button' => 'پاکسازی',
- ],
- 'duplicate-finder' => [
- 'title' => 'موارد تکراری',
- 'description' => 'این ماژول موارد تکراری احتمالی بین تصاویر را شمارش میکند.',
- 'duplicates-all' => 'موارد تکراری در تمام آلبومها',
- 'duplicates-title' => 'موارد تکراری عنوان در هر آلبوم',
- 'duplicates-per-album' => 'موارد تکراری در هر آلبوم',
- 'show' => 'نمایش موارد تکراری',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'اصلاح تاریخچه وظایف',
- 'description' => 'وظایف با وضعیت %s یا %s را به عنوان %s علامتگذاری کنید.',
- 'button' => 'اصلاح تاریخچه وظایف',
- ],
- 'gen-sizevariants' => [
- 'title' => '%s گمشده',
- 'description' => '%d %s یافت شد که میتواند تولید شود.',
- 'button' => 'تولید!',
- 'success' => '%d %s با موفقیت تولید شد.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'اندازه فایلها گمشده است',
- 'description' => '%d واریانت کوچک بدون اندازه فایل یافت شد.',
- 'button' => 'دریافت داده!',
- 'success' => 'اندازه %d واریانت کوچک با موفقیت محاسبه شد.',
- ],
- 'fix-tree' => [
- 'title' => 'آمار درخت',
- 'Oddness' => 'ناهنجاری',
- 'Duplicates' => 'موارد تکراری',
- 'Wrong parents' => 'والدین اشتباه',
- 'Missing parents' => 'والدین گمشده',
- 'button' => 'اصلاح درخت',
- ],
- 'optimize' => [
- 'title' => 'بهینه سازی پایگاه داده',
- 'description' => 'اگر کندی در نصب خود مشاهده میکنید، ممکن است پایگاه داده شما همه ایندکس های لازم را نداشته باشد.',
- 'button' => 'بهینه سازی پایگاه داده',
- ],
- 'update' => [
- 'title' => 'بهروزرسانیها',
- 'check-button' => 'بررسی بهروزرسانی',
- 'update-button' => 'بهروزرسانی',
- 'no-pending-updates' => 'بهروزرسانی معوقهای وجود ندارد.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'بررسی صحت آمار',
- 'missing_photos' => '%d آمار عکس گمشده است.',
- 'missing_albums' => '%d آمار آلبوم گمشده است.',
- 'button' => 'ایجاد موارد گمشده',
- ],
- 'flush-cache' => [
- 'title' => 'پاک سازی کش',
- 'description' => 'کش همه کاربران را برای حل مشکلات اعتبارسنجی پاک کنید.',
- 'button' => 'پاک سازی',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه نگهداری
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'نگهداری',
+ 'description' => 'در این صفحه تمام اقدامات موذد نیاز برای حفظ عملکرد بی نقص و مناسب نسخه لیچی نصب شده خود را خواهید یافت.',
+ 'cleaning' => [
+ 'title' => 'پاکسازی %s',
+ 'result' => '%s حذف شد.',
+ 'description' => 'تمام محتویات %s را حذف کنید',
+ 'button' => 'پاکسازی',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'موارد تکراری',
+ 'description' => 'این ماژول موارد تکراری احتمالی بین تصاویر را شمارش میکند.',
+ 'duplicates-all' => 'موارد تکراری در تمام آلبومها',
+ 'duplicates-title' => 'موارد تکراری عنوان در هر آلبوم',
+ 'duplicates-per-album' => 'موارد تکراری در هر آلبوم',
+ 'show' => 'نمایش موارد تکراری',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'اصلاح تاریخچه وظایف',
+ 'description' => 'وظایف با وضعیت %s یا %s را به عنوان %s علامتگذاری کنید.',
+ 'button' => 'اصلاح تاریخچه وظایف',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => '%s گمشده',
+ 'description' => '%d %s یافت شد که میتواند تولید شود.',
+ 'button' => 'تولید!',
+ 'success' => '%d %s با موفقیت تولید شد.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'اندازه فایلها گمشده است',
+ 'description' => '%d واریانت کوچک بدون اندازه فایل یافت شد.',
+ 'button' => 'دریافت داده!',
+ 'success' => 'اندازه %d واریانت کوچک با موفقیت محاسبه شد.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'آمار درخت',
+ 'Oddness' => 'ناهنجاری',
+ 'Duplicates' => 'موارد تکراری',
+ 'Wrong parents' => 'والدین اشتباه',
+ 'Missing parents' => 'والدین گمشده',
+ 'button' => 'اصلاح درخت',
+ ],
+ 'optimize' => [
+ 'title' => 'بهینه سازی پایگاه داده',
+ 'description' => 'اگر کندی در نصب خود مشاهده میکنید، ممکن است پایگاه داده شما همه ایندکس های لازم را نداشته باشد.',
+ 'button' => 'بهینه سازی پایگاه داده',
+ ],
+ 'update' => [
+ 'title' => 'بهروزرسانیها',
+ 'check-button' => 'بررسی بهروزرسانی',
+ 'update-button' => 'بهروزرسانی',
+ 'no-pending-updates' => 'بهروزرسانی معوقهای وجود ندارد.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'بررسی صحت آمار',
+ 'missing_photos' => '%d آمار عکس گمشده است.',
+ 'missing_albums' => '%d آمار آلبوم گمشده است.',
+ 'button' => 'ایجاد موارد گمشده',
+ ],
+ 'flush-cache' => [
+ 'title' => 'پاک سازی کش',
+ 'description' => 'کش همه کاربران را برای حل مشکلات اعتبارسنجی پاک کنید.',
+ 'button' => 'پاک سازی',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/fa/moderation.php b/lang/fa/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/fa/moderation.php
+++ b/lang/fa/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/fa/profile.php b/lang/fa/profile.php
index dc5f2f18a02..a170c6994a5 100644
--- a/lang/fa/profile.php
+++ b/lang/fa/profile.php
@@ -1,80 +1,80 @@
'پروفایل',
- 'login' => [
- 'header' => 'پروفایل',
- 'enter_current_password' => 'رمزعبور فعلی خود را وارد کنید:',
- 'current_password' => 'رمزعبور فعلی',
- 'credentials_update' => 'اطلاعات کاربری شما به موارد زیر تغییر خواهد کرد:',
- 'username' => 'نام کاربری',
- 'new_password' => 'رمزعبور جدید',
- 'confirm_new_password' => 'تأیید رمزعبور جدید',
- 'email_instruction' => 'برای فعال سازی دریافت اعلانهای ایمیلی، ایمیل خود را وارد کنید. برای توقف دریافت ایمیل، کافی است ایمیل خود را حذف کنید.',
- 'email' => 'ایمیل',
- 'change' => 'تأیید تغییرات',
- 'api_token' => 'توکن API …',
- 'missing_fields' => 'فیلدهای ناقص',
- 'ldap_managed' => 'اطلاعات ورود کاربر توسط LDAP مدیریت میشود.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'شما قبلاً این توکن را مشاهده کردهاید.',
- 'no_data' => 'هیچ توکن API ایجاد نشده است.',
- 'disable' => 'غیرفعال کردن',
- 'disabled' => 'توکن غیرفعال شد',
- 'warning' => 'این توکن دیگر نمایش داده نخواهد شد. آن را کپی کرده و در جای امنی نگهداری کنید.',
- 'reset' => 'بازنویسی توکن',
- 'create' => 'ایجاد توکن جدید',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth در دسترس نیست',
- 'setup_env' => 'اطلاعات کاربری را در .env تنظیم کنید',
- 'token_registered' => 'توکن %s ثبت شد.',
- 'setup' => 'راهاندازی %s',
- 'reset' => 'بازنویسی',
- 'credential_deleted' => 'اطلاعات کاربری حذف شد!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'این فقط امکان استفاده از WebAuthn برای احراز هویت به جای نام کاربری و رمز عبور را فراهم میکند.',
- 'empty' => 'لیست اطلاعات کاربری خالی است!',
- 'not_secure' => 'محیط ایمن نیست. U2F در دسترس نیست.',
- 'new' => 'ثبت دستگاه جدید.',
- 'credential_deleted' => 'اطلاعات کاربری حذف شد!',
- 'credential_updated' => 'اطلاعات کاربری بهروزرسانی شد!',
- 'credential_registred' => 'ثبتنام موفقیت آمیز بود!',
- '5_chars' => 'حداقل ۵ کاراکتر.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه پروفایل
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'پروفایل',
+ 'login' => [
+ 'header' => 'پروفایل',
+ 'enter_current_password' => 'رمزعبور فعلی خود را وارد کنید:',
+ 'current_password' => 'رمزعبور فعلی',
+ 'credentials_update' => 'اطلاعات کاربری شما به موارد زیر تغییر خواهد کرد:',
+ 'username' => 'نام کاربری',
+ 'new_password' => 'رمزعبور جدید',
+ 'confirm_new_password' => 'تأیید رمزعبور جدید',
+ 'email_instruction' => 'برای فعال سازی دریافت اعلانهای ایمیلی، ایمیل خود را وارد کنید. برای توقف دریافت ایمیل، کافی است ایمیل خود را حذف کنید.',
+ 'email' => 'ایمیل',
+ 'change' => 'تأیید تغییرات',
+ 'api_token' => 'توکن API …',
+ 'missing_fields' => 'فیلدهای ناقص',
+ 'ldap_managed' => 'اطلاعات ورود کاربر توسط LDAP مدیریت میشود.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'شما قبلاً این توکن را مشاهده کردهاید.',
+ 'no_data' => 'هیچ توکن API ایجاد نشده است.',
+ 'disable' => 'غیرفعال کردن',
+ 'disabled' => 'توکن غیرفعال شد',
+ 'warning' => 'این توکن دیگر نمایش داده نخواهد شد. آن را کپی کرده و در جای امنی نگهداری کنید.',
+ 'reset' => 'بازنویسی توکن',
+ 'create' => 'ایجاد توکن جدید',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth در دسترس نیست',
+ 'setup_env' => 'اطلاعات کاربری را در .env تنظیم کنید',
+ 'token_registered' => 'توکن %s ثبت شد.',
+ 'setup' => 'راهاندازی %s',
+ 'reset' => 'بازنویسی',
+ 'credential_deleted' => 'اطلاعات کاربری حذف شد!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'این فقط امکان استفاده از WebAuthn برای احراز هویت به جای نام کاربری و رمز عبور را فراهم میکند.',
+ 'empty' => 'لیست اطلاعات کاربری خالی است!',
+ 'not_secure' => 'محیط ایمن نیست. U2F در دسترس نیست.',
+ 'new' => 'ثبت دستگاه جدید.',
+ 'credential_deleted' => 'اطلاعات کاربری حذف شد!',
+ 'credential_updated' => 'اطلاعات کاربری بهروزرسانی شد!',
+ 'credential_registred' => 'ثبتنام موفقیت آمیز بود!',
+ '5_chars' => 'حداقل ۵ کاراکتر.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/fa/renamer.php b/lang/fa/renamer.php
index 51f4897f39c..ec3421885a5 100644
--- a/lang/fa/renamer.php
+++ b/lang/fa/renamer.php
@@ -1,109 +1,109 @@
'قوانین تغییر نام',
-
- // Modal titles
- 'create_rule' => 'ایجاد قانون تغییر نام',
- 'edit_rule' => 'ویرایش قانون تغییر نام',
-
- // Form fields
- 'rule_name' => 'نام قانون',
- 'description' => 'توضیحات',
- 'pattern' => 'الگو',
- 'replacement' => 'جایگزین',
- 'mode' => 'حالت',
- 'order' => 'ترتیب',
- 'enabled' => 'فعال',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'توضیحات اختیاری در مورد عملکرد این قانون',
- 'pattern_help' => 'الگو برای تطبیق (مثال، IMG_، DSC_)',
- 'replacement_help' => 'متن جایگزین (مثال، Photo_، Camera_)',
- 'order_help' => 'اعداد کمتر ابتدا پردازش میشوند (۱ = بالاترین اولویت)',
- 'enabled_help' => '(فقط قوانین فعال در زمان تغییر نام اعمال میشوند)',
-
- // Mode options
- 'mode_first' => 'اولین رخداد',
- 'mode_all' => 'تمام رخدادها',
- 'mode_regex' => 'عبارت منظم',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'فقط اولین تطبیق را جایگزین کن',
- 'mode_all_description' => 'همه تطبیقها را جایگزین کن',
- 'mode_regex_description' => 'از الگوی عبارت منظم استفاده کن',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'لغو',
- 'create' => 'ایجاد',
- 'update' => 'بهروزرسانی',
- 'create_first_rule' => 'اولین قانون خود را ایجاد کنید',
-
- // Validation messages
- 'rule_name_required' => 'نام قانون الزامی است',
- 'pattern_required' => 'الگو الزامی است',
- 'replacement_required' => 'جایگزین الزامی است',
- 'mode_required' => 'حالت الزامی است',
- 'order_positive' => 'ترتیب باید عدد مثبت باشد',
-
- // Success messages
- 'rule_created' => 'قانون تغییر نام با موفقیت ایجاد شد',
- 'rule_updated' => 'قانون تغییر نام با موفقیت بهروزرسانی شد',
- 'rule_deleted' => 'قانون تغییر نام با موفقیت حذف شد',
-
- // Error messages
- 'failed_to_create' => 'ایجاد قانون تغییر نام ناموفق بود',
- 'failed_to_update' => 'بهروزرسانی قانون تغییر نام ناموفق بود',
- 'failed_to_delete' => 'حذف قانون تغییر نام ناموفق بود',
- 'failed_to_load' => 'بارگیری قوانین تغییر نام ناموفق بود',
-
- // List view
- 'rules_count' => ':count قانون',
- 'no_rules' => 'هیچ قانون تغییر نامی یافت نشد',
- 'loading' => 'در حال بارگیری قوانین تغییر نام...',
- 'pattern_label' => 'الگو',
- 'replace_with_label' => 'جایگزین با',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'تایید حذف',
- 'confirm_delete_message' => 'آیا مطمئن هستید که میخواهید قانون ":rule" را حذف کنید؟',
- 'delete' => 'حذف',
-
- // Status messages
- 'success' => 'موفقیت',
- 'error' => 'خطا',
-
- // Placeholders
- 'select_mode' => 'انتخاب حالت تغییر نام',
- 'execution_order' => 'ترتیب اجرا',
-
- // Test functionality
- 'test_input_placeholder' => 'نام فایلی را برای آزمایش قوانین تغییر نام وارد کنید (مثلاً، IMG_1234.jpg)',
- 'test_original' => 'اصلی',
- 'test_result' => 'نتیجه',
- 'test_failed' => 'آزمایش قوانین تغییر نام ناموفق بود',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'قوانین تغییر نام',
+
+ // Modal titles
+ 'create_rule' => 'ایجاد قانون تغییر نام',
+ 'edit_rule' => 'ویرایش قانون تغییر نام',
+
+ // Form fields
+ 'rule_name' => 'نام قانون',
+ 'description' => 'توضیحات',
+ 'pattern' => 'الگو',
+ 'replacement' => 'جایگزین',
+ 'mode' => 'حالت',
+ 'order' => 'ترتیب',
+ 'enabled' => 'فعال',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'توضیحات اختیاری در مورد عملکرد این قانون',
+ 'pattern_help' => 'الگو برای تطبیق (مثال، IMG_، DSC_)',
+ 'replacement_help' => 'متن جایگزین (مثال، Photo_، Camera_)',
+ 'order_help' => 'اعداد کمتر ابتدا پردازش میشوند (۱ = بالاترین اولویت)',
+ 'enabled_help' => '(فقط قوانین فعال در زمان تغییر نام اعمال میشوند)',
+
+ // Mode options
+ 'mode_first' => 'اولین رخداد',
+ 'mode_all' => 'تمام رخدادها',
+ 'mode_regex' => 'عبارت منظم',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'فقط اولین تطبیق را جایگزین کن',
+ 'mode_all_description' => 'همه تطبیقها را جایگزین کن',
+ 'mode_regex_description' => 'از الگوی عبارت منظم استفاده کن',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'لغو',
+ 'create' => 'ایجاد',
+ 'update' => 'بهروزرسانی',
+ 'create_first_rule' => 'اولین قانون خود را ایجاد کنید',
+
+ // Validation messages
+ 'rule_name_required' => 'نام قانون الزامی است',
+ 'pattern_required' => 'الگو الزامی است',
+ 'replacement_required' => 'جایگزین الزامی است',
+ 'mode_required' => 'حالت الزامی است',
+ 'order_positive' => 'ترتیب باید عدد مثبت باشد',
+
+ // Success messages
+ 'rule_created' => 'قانون تغییر نام با موفقیت ایجاد شد',
+ 'rule_updated' => 'قانون تغییر نام با موفقیت بهروزرسانی شد',
+ 'rule_deleted' => 'قانون تغییر نام با موفقیت حذف شد',
+
+ // Error messages
+ 'failed_to_create' => 'ایجاد قانون تغییر نام ناموفق بود',
+ 'failed_to_update' => 'بهروزرسانی قانون تغییر نام ناموفق بود',
+ 'failed_to_delete' => 'حذف قانون تغییر نام ناموفق بود',
+ 'failed_to_load' => 'بارگیری قوانین تغییر نام ناموفق بود',
+
+ // List view
+ 'rules_count' => ':count قانون',
+ 'no_rules' => 'هیچ قانون تغییر نامی یافت نشد',
+ 'loading' => 'در حال بارگیری قوانین تغییر نام...',
+ 'pattern_label' => 'الگو',
+ 'replace_with_label' => 'جایگزین با',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'تایید حذف',
+ 'confirm_delete_message' => 'آیا مطمئن هستید که میخواهید قانون ":rule" را حذف کنید؟',
+ 'delete' => 'حذف',
+
+ // Status messages
+ 'success' => 'موفقیت',
+ 'error' => 'خطا',
+
+ // Placeholders
+ 'select_mode' => 'انتخاب حالت تغییر نام',
+ 'execution_order' => 'ترتیب اجرا',
+
+ // Test functionality
+ 'test_input_placeholder' => 'نام فایلی را برای آزمایش قوانین تغییر نام وارد کنید (مثلاً، IMG_1234.jpg)',
+ 'test_original' => 'اصلی',
+ 'test_result' => 'نتیجه',
+ 'test_failed' => 'آزمایش قوانین تغییر نام ناموفق بود',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/fa/settings.php b/lang/fa/settings.php
index afa7bf0ebeb..24def835ec9 100644
--- a/lang/fa/settings.php
+++ b/lang/fa/settings.php
@@ -1,101 +1,101 @@
'تنظیمات',
- 'small_screen' => 'برای تجربه بهتر در صفحه تنظیمات،
توصیه میکنیم از صفحه نمایش بزرگتری استفاده کنید.',
- 'tabs' => [
- 'basic' => 'پایه',
- 'all_settings' => 'همه تنظیمات',
- ],
- 'toasts' => [
- 'change_saved' => 'تغییر ذخیره شد!',
- 'details' => 'تنظیمات طبق درخواست تغییر یافت',
- 'error' => 'خطا!',
- 'error_load_css' => 'امکان بارگذاری dist/user.css وجود ندارد',
- 'error_load_js' => 'امکان بارگذاری dist/custom.js وجود ندارد',
- 'error_save_css' => 'امکان ذخیره CSS وجود ندارد',
- 'error_save_js' => 'امکان ذخیره JS وجود ندارد',
- 'thank_you' => 'از حمایت شما سپاسگزاریم.',
- 'reload' => 'برای عملکرد کامل، صفحه خود را مجدداً بارگذاری کنید.',
- ],
- 'system' => [
- 'header' => 'سیستم',
- 'use_dark_mode' => 'استفاده از حالت تاریک برای لیچی',
- 'language' => 'زبان مورد استفاده توسط لیچی',
- 'nsfw_album_visibility' => 'نمایش آلبومهای حساس به صورت پیش فرض.',
- 'nsfw_album_explanation' => 'اگر آلبوم عمومی باشد، همچنان قابل دسترسی است اما فقط از دید پنهان است و با فشردن H قابل نمایش است.',
- 'cache_enabled' => 'فعالسازی کش پاسخها.',
- 'cache_enabled_details' => 'این کار زمان پاسخ دهی لیچی را به طور قابل توجهی افزایش میدهد.
اگر از آلبومهای رمز گذاری شده استفاده میکنید، نباید این گزینه را فعال کنید.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'ویژگیهای انحصاری دریافت کنید و از توسعه Lychee حمایت کنید. نسخه SE را فعال کنید.',
- 'preview' => 'پیشنمایش ویژگیهای Lychee SE را فعال کنید',
- 'hide_call4action' => 'این فرم ثبت نام Lychee SE را مخفی کن. من از Lychee فعلی راضی هستم. :)',
- 'hide_warning' => 'در صورت فعالسازی، تنها راه ثبت کلید مجوز از طریق تب More در بالا خواهد بود. تغییرات با بارگذاری مجدد صفحه اعمال میشوند.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'برای وارد کردن عکسها از Dropbox، به کلید drop-ins معتبر از وبسایت آنها نیاز دارید.',
- 'api_key' => 'کلید API دراپ باکس',
- 'set_key' => 'تنظیم کلید Dropbox',
- ],
- 'gallery' => [
- 'header' => 'گالری',
- 'photo_order_column' => 'ستون پیش فرض برای مرتبسازی عکسها',
- 'photo_order_direction' => 'ترتیب پیش فرض برای مرتبسازی عکسها',
- 'album_order_column' => 'ستون پیش فرض برای مرتبسازی آلبومها',
- 'album_order_direction' => 'ترتیب پیش فرض برای مرتبسازی آلبومها',
- 'aspect_ratio' => 'نسبت تصویر پیش فرض برای بندانگشتی آلبوم',
- 'photo_layout' => 'چیدمان تصاویر',
- 'album_decoration' => 'نمایش تزئینات روی جلد آلبوم (تعداد زیرآلبوم و/یا عکس)',
- 'album_decoration_direction' => 'تراز افقی یا عمودی تزئینات آلبوم',
- 'photo_overlay' => 'اطلاعات پیش فرض پوشش تصویر',
- 'license_default' => 'مجوز پیش فرض برای آلبومها',
- 'license_help' => 'در انتخاب نیاز به راهنمایی دارید؟',
- ],
- 'geolocation' => [
- 'header' => 'مکانیابی جغرافیایی',
- 'map_display' => 'نمایش نقشه با توجه به مختصات GPS',
- 'map_display_public' => 'اجازه دسترسی کاربران ناشناس به نقشه',
- 'map_provider' => 'تعیین ارائه دهنده نقشه',
- 'map_include_subalbums' => 'نمایش تصاویر زیرآلبومها روی نقشه',
- 'location_decoding' => 'استفاده از رمزگشایی موقعیت GPS',
- 'location_show' => 'نمایش موقعیت استخراج شده از مختصات GPS',
- 'location_show_public' => 'کاربران ناشناس میتوانند به موقعیت استخراج شده از مختصات GPS دسترسی داشته باشند', 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates', ],
- 'cssjs' => [
- 'header' => 'CSS و JS سفارشی',
- 'change_css' => 'تغییر CSS',
- 'change_js' => 'تغییر JS',
- ],
- 'all' => [
- 'old_setting_style' => 'سبک قدیمی تنظیمات',
- 'expert_settings' => 'حالت حرفهای',
- 'change_detected' => 'برخی تنظیمات تغییر کردهاند.',
- 'save' => 'ذخیره',
- 'back_to_settings' => 'بازگشت به تنظیمات گروهبندیشده',
- ],
- 'tool_option' => [
- 'disabled' => 'غیرفعال',
- 'enabled' => 'فعال',
- 'discover' => 'کشف',
- ],
- 'groups' => [
- 'general' => 'عمومی',
- 'system' => 'سیستم',
- 'modules' => 'ماژولها',
- 'advanced' => 'پیشرفته',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه تنظیمات
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'تنظیمات',
+ 'small_screen' => 'برای تجربه بهتر در صفحه تنظیمات،
توصیه میکنیم از صفحه نمایش بزرگتری استفاده کنید.',
+ 'tabs' => [
+ 'basic' => 'پایه',
+ 'all_settings' => 'همه تنظیمات',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'تغییر ذخیره شد!',
+ 'details' => 'تنظیمات طبق درخواست تغییر یافت',
+ 'error' => 'خطا!',
+ 'error_load_css' => 'امکان بارگذاری dist/user.css وجود ندارد',
+ 'error_load_js' => 'امکان بارگذاری dist/custom.js وجود ندارد',
+ 'error_save_css' => 'امکان ذخیره CSS وجود ندارد',
+ 'error_save_js' => 'امکان ذخیره JS وجود ندارد',
+ 'thank_you' => 'از حمایت شما سپاسگزاریم.',
+ 'reload' => 'برای عملکرد کامل، صفحه خود را مجدداً بارگذاری کنید.',
+ ],
+ 'system' => [
+ 'header' => 'سیستم',
+ 'use_dark_mode' => 'استفاده از حالت تاریک برای لیچی',
+ 'language' => 'زبان مورد استفاده توسط لیچی',
+ 'nsfw_album_visibility' => 'نمایش آلبومهای حساس به صورت پیش فرض.',
+ 'nsfw_album_explanation' => 'اگر آلبوم عمومی باشد، همچنان قابل دسترسی است اما فقط از دید پنهان است و با فشردن H قابل نمایش است.',
+ 'cache_enabled' => 'فعالسازی کش پاسخها.',
+ 'cache_enabled_details' => 'این کار زمان پاسخ دهی لیچی را به طور قابل توجهی افزایش میدهد.
اگر از آلبومهای رمز گذاری شده استفاده میکنید، نباید این گزینه را فعال کنید.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'ویژگیهای انحصاری دریافت کنید و از توسعه Lychee حمایت کنید. نسخه SE را فعال کنید.',
+ 'preview' => 'پیشنمایش ویژگیهای Lychee SE را فعال کنید',
+ 'hide_call4action' => 'این فرم ثبت نام Lychee SE را مخفی کن. من از Lychee فعلی راضی هستم. :)',
+ 'hide_warning' => 'در صورت فعالسازی، تنها راه ثبت کلید مجوز از طریق تب More در بالا خواهد بود. تغییرات با بارگذاری مجدد صفحه اعمال میشوند.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'برای وارد کردن عکسها از Dropbox، به کلید drop-ins معتبر از وبسایت آنها نیاز دارید.',
+ 'api_key' => 'کلید API دراپ باکس',
+ 'set_key' => 'تنظیم کلید Dropbox',
+ ],
+ 'gallery' => [
+ 'header' => 'گالری',
+ 'photo_order_column' => 'ستون پیش فرض برای مرتبسازی عکسها',
+ 'photo_order_direction' => 'ترتیب پیش فرض برای مرتبسازی عکسها',
+ 'album_order_column' => 'ستون پیش فرض برای مرتبسازی آلبومها',
+ 'album_order_direction' => 'ترتیب پیش فرض برای مرتبسازی آلبومها',
+ 'aspect_ratio' => 'نسبت تصویر پیش فرض برای بندانگشتی آلبوم',
+ 'photo_layout' => 'چیدمان تصاویر',
+ 'album_decoration' => 'نمایش تزئینات روی جلد آلبوم (تعداد زیرآلبوم و/یا عکس)',
+ 'album_decoration_direction' => 'تراز افقی یا عمودی تزئینات آلبوم',
+ 'photo_overlay' => 'اطلاعات پیش فرض پوشش تصویر',
+ 'license_default' => 'مجوز پیش فرض برای آلبومها',
+ 'license_help' => 'در انتخاب نیاز به راهنمایی دارید؟',
+ ],
+ 'geolocation' => [
+ 'header' => 'مکانیابی جغرافیایی',
+ 'map_display' => 'نمایش نقشه با توجه به مختصات GPS',
+ 'map_display_public' => 'اجازه دسترسی کاربران ناشناس به نقشه',
+ 'map_provider' => 'تعیین ارائه دهنده نقشه',
+ 'map_include_subalbums' => 'نمایش تصاویر زیرآلبومها روی نقشه',
+ 'location_decoding' => 'استفاده از رمزگشایی موقعیت GPS',
+ 'location_show' => 'نمایش موقعیت استخراج شده از مختصات GPS',
+ 'location_show_public' => 'کاربران ناشناس میتوانند به موقعیت استخراج شده از مختصات GPS دسترسی داشته باشند', 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates', ],
+ 'cssjs' => [
+ 'header' => 'CSS و JS سفارشی',
+ 'change_css' => 'تغییر CSS',
+ 'change_js' => 'تغییر JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'سبک قدیمی تنظیمات',
+ 'expert_settings' => 'حالت حرفهای',
+ 'change_detected' => 'برخی تنظیمات تغییر کردهاند.',
+ 'save' => 'ذخیره',
+ 'back_to_settings' => 'بازگشت به تنظیمات گروهبندیشده',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'غیرفعال',
+ 'enabled' => 'فعال',
+ 'discover' => 'کشف',
+ ],
+ 'groups' => [
+ 'general' => 'عمومی',
+ 'system' => 'سیستم',
+ 'modules' => 'ماژولها',
+ 'advanced' => 'پیشرفته',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/fa/sharing.php b/lang/fa/sharing.php
index da6f772a482..5121211786f 100644
--- a/lang/fa/sharing.php
+++ b/lang/fa/sharing.php
@@ -1,39 +1,39 @@
'اشتراک گذاری',
- 'info' => 'این صفحه نمای کلی و امکان ویرایش دسترسی های اشتراک گذاری مرتبط با آلبومها را فراهم میکند.',
- 'album_title' => 'عنوان آلبوم',
- 'username' => 'نام کاربری',
- 'no_data' => 'لیست اشتراک گذاری خالی است.',
- 'share' => 'اشتراک گذاری',
- 'add_new_access_permission' => 'افزودن مجوز دسترسی جدید',
- 'permission_deleted' => 'مجوز حذف شد!',
- 'permission_created' => 'مجوز ایجاد شد!',
- 'propagate' => 'انتشار',
- 'propagate_help' => 'مجوزهای دسترسی فعلی را به همه زیرمجموعهها منتشر کنید.
(زیرآلبومها و زیرآلبومهای آنها و غیره)',
- 'propagate_default' => 'به طور پیش فرض، مجوزهای موجود (آلبوم-کاربر)
بهروزرسانی شده و موارد گمشده اضافه میشوند.
مجوزهای دیگر که در این لیست نیستند، بدون تغییر باقی میمانند.',
- 'propagate_overwrite' => 'مجوزهای موجود را به جای بهروزرسانی، بازنویسی کنید.
این کار همچنین همه مجوزهایی که در این لیست نیستند را حذف میکند.',
- 'propagate_warning' => 'این عمل قابل بازگشت نیست.',
- 'permission_overwritten' => 'انتشار موفقیتآمیز! مجوز بازنویسی شد!',
- 'permission_updated' => 'انتشار موفقیتآمیز! مجوز بهروزرسانی شد!',
- 'bluk_share' => 'اشتراک گذاری گروهی',
- 'bulk_share_instr' => 'چندین آلبوم و کاربر را برای اشتراک گذاری انتخاب کنید.',
- 'albums' => 'آلبومها',
- 'users' => 'کاربران',
- 'no_users' => 'کاربر قابل انتخاب وجود ندارد.',
- 'no_albums' => 'آلبوم قابل انتخاب وجود ندارد.',
- 'grants' => [
- 'read' => 'دسترسی خواندن را میدهد',
- 'original' => 'دسترسی به عکس اصلی را میدهد',
- 'download' => 'دسترسی دانلود را میدهد',
- 'upload' => 'دسترسی بارگذاری را میدهد',
- 'edit' => 'دسترسی ویرایش را میدهد',
- 'delete' => 'دسترسی حذف را میدهد',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه اشتراکگذاری
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'اشتراک گذاری',
+ 'info' => 'این صفحه نمای کلی و امکان ویرایش دسترسی های اشتراک گذاری مرتبط با آلبومها را فراهم میکند.',
+ 'album_title' => 'عنوان آلبوم',
+ 'username' => 'نام کاربری',
+ 'no_data' => 'لیست اشتراک گذاری خالی است.',
+ 'share' => 'اشتراک گذاری',
+ 'add_new_access_permission' => 'افزودن مجوز دسترسی جدید',
+ 'permission_deleted' => 'مجوز حذف شد!',
+ 'permission_created' => 'مجوز ایجاد شد!',
+ 'propagate' => 'انتشار',
+ 'propagate_help' => 'مجوزهای دسترسی فعلی را به همه زیرمجموعهها منتشر کنید.
(زیرآلبومها و زیرآلبومهای آنها و غیره)',
+ 'propagate_default' => 'به طور پیش فرض، مجوزهای موجود (آلبوم-کاربر)
بهروزرسانی شده و موارد گمشده اضافه میشوند.
مجوزهای دیگر که در این لیست نیستند، بدون تغییر باقی میمانند.',
+ 'propagate_overwrite' => 'مجوزهای موجود را به جای بهروزرسانی، بازنویسی کنید.
این کار همچنین همه مجوزهایی که در این لیست نیستند را حذف میکند.',
+ 'propagate_warning' => 'این عمل قابل بازگشت نیست.',
+ 'permission_overwritten' => 'انتشار موفقیتآمیز! مجوز بازنویسی شد!',
+ 'permission_updated' => 'انتشار موفقیتآمیز! مجوز بهروزرسانی شد!',
+ 'bluk_share' => 'اشتراک گذاری گروهی',
+ 'bulk_share_instr' => 'چندین آلبوم و کاربر را برای اشتراک گذاری انتخاب کنید.',
+ 'albums' => 'آلبومها',
+ 'users' => 'کاربران',
+ 'no_users' => 'کاربر قابل انتخاب وجود ندارد.',
+ 'no_albums' => 'آلبوم قابل انتخاب وجود ندارد.',
+ 'grants' => [
+ 'read' => 'دسترسی خواندن را میدهد',
+ 'original' => 'دسترسی به عکس اصلی را میدهد',
+ 'download' => 'دسترسی دانلود را میدهد',
+ 'upload' => 'دسترسی بارگذاری را میدهد',
+ 'edit' => 'دسترسی ویرایش را میدهد',
+ 'delete' => 'دسترسی حذف را میدهد',
+ ],
];
diff --git a/lang/fa/statistics.php b/lang/fa/statistics.php
index 13a9293532b..355b31b9eff 100644
--- a/lang/fa/statistics.php
+++ b/lang/fa/statistics.php
@@ -1,63 +1,63 @@
'آمار',
- 'preview_text' => 'این یک پیش نمایش از صفحه آمار موجود در Lychee SE است.
دادههای نمایش داده شده به صورت تصادفی تولید شدهاند و نشان دهنده ی داده های سرور شما نیستند.',
- 'no_data' => 'کاربر دادهای روی سرور ندارد.',
- 'collapse' => 'جمع کردن اندازه آلبومها',
- 'total' => [
- 'total' => 'مجموع',
- 'albums' => 'آلبومها',
- 'photos' => 'عکسها',
- 'size' => 'اندازه',
- ],
- 'table' => [
- 'username' => 'مالک',
- 'title' => 'عنوان',
- 'photos' => 'عکسها',
- 'descendants' => 'زیرمجموعهها',
- 'size' => 'اندازه',
- ],
- 'punch_card' => [
- 'title' => 'فعالیت',
- 'photo-taken' => '%d عکس گرفته شد',
- 'photo-taken-in' => '%d عکس در %d گرفته شد',
- 'photo-uploaded' => '%d عکس بارگذاری شد',
- 'photo-uploaded-in' => '%d عکس در %d بارگذاری شد',
- 'with-exif' => 'با داده exif',
- 'less' => 'کمتر',
- 'more' => 'بیشتر',
- 'tooltip' => '%d عکس در %s',
- 'created_at' => 'تاریخ بارگذاری',
- 'taken_at' => 'تاریخ exif',
- 'caption' => 'هر ستون نمایانگر یک هفته است.',
- ],
- 'metrics' => [
- 'header' => 'آمار زنده',
- 'preview_text' => 'این یک پیش نمایش از آمار زنده موجود در Lychee SE است. دادههای نمایش داده شده به صورت تصادفی تولید شدهاند و نشان دهنده ی داده های سرور شما نیستند.',
- 'a_visitor' => 'یک بازدیدکننده',
- 'visitors' => '%d بازدیدکننده',
- 'visit_singular' => '%1$s مشاهده کرد %2$s',
- 'favourite_singular' => '%1$s به علاقهمندی افزود %2$s',
- 'download_singular' => '%1$s دانلود کرد %2$s',
- 'shared_singular' => '%1$s به اشتراک گذاشت %2$s',
- 'visit_plural' => '%1$s مشاهده کردند %2$s',
- 'favourite_plural' => '%1$s به علاقهمندی افزودند %2$s',
- 'download_plural' => '%1$s دانلود کردند %2$s',
- 'shared_plural' => '%1$s به اشتراک گذاشتند %2$s',
- 'ago' => [
- 'days' => '%d روز پیش',
- 'day' => 'یک روز پیش',
- 'hours' => '%d ساعت پیش',
- 'hour' => 'یک ساعت پیش',
- 'minutes' => '%d دقیقه پیش',
- 'few_minutes' => 'چند دقیقه پیش',
- 'seconds' => 'چند ثانیه پیش',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه آمار
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'آمار',
+ 'preview_text' => 'این یک پیش نمایش از صفحه آمار موجود در Lychee SE است.
دادههای نمایش داده شده به صورت تصادفی تولید شدهاند و نشان دهنده ی داده های سرور شما نیستند.',
+ 'no_data' => 'کاربر دادهای روی سرور ندارد.',
+ 'collapse' => 'جمع کردن اندازه آلبومها',
+ 'total' => [
+ 'total' => 'مجموع',
+ 'albums' => 'آلبومها',
+ 'photos' => 'عکسها',
+ 'size' => 'اندازه',
+ ],
+ 'table' => [
+ 'username' => 'مالک',
+ 'title' => 'عنوان',
+ 'photos' => 'عکسها',
+ 'descendants' => 'زیرمجموعهها',
+ 'size' => 'اندازه',
+ ],
+ 'punch_card' => [
+ 'title' => 'فعالیت',
+ 'photo-taken' => '%d عکس گرفته شد',
+ 'photo-taken-in' => '%d عکس در %d گرفته شد',
+ 'photo-uploaded' => '%d عکس بارگذاری شد',
+ 'photo-uploaded-in' => '%d عکس در %d بارگذاری شد',
+ 'with-exif' => 'با داده exif',
+ 'less' => 'کمتر',
+ 'more' => 'بیشتر',
+ 'tooltip' => '%d عکس در %s',
+ 'created_at' => 'تاریخ بارگذاری',
+ 'taken_at' => 'تاریخ exif',
+ 'caption' => 'هر ستون نمایانگر یک هفته است.',
+ ],
+ 'metrics' => [
+ 'header' => 'آمار زنده',
+ 'preview_text' => 'این یک پیش نمایش از آمار زنده موجود در Lychee SE است. دادههای نمایش داده شده به صورت تصادفی تولید شدهاند و نشان دهنده ی داده های سرور شما نیستند.',
+ 'a_visitor' => 'یک بازدیدکننده',
+ 'visitors' => '%d بازدیدکننده',
+ 'visit_singular' => '%1$s مشاهده کرد %2$s',
+ 'favourite_singular' => '%1$s به علاقهمندی افزود %2$s',
+ 'download_singular' => '%1$s دانلود کرد %2$s',
+ 'shared_singular' => '%1$s به اشتراک گذاشت %2$s',
+ 'visit_plural' => '%1$s مشاهده کردند %2$s',
+ 'favourite_plural' => '%1$s به علاقهمندی افزودند %2$s',
+ 'download_plural' => '%1$s دانلود کردند %2$s',
+ 'shared_plural' => '%1$s به اشتراک گذاشتند %2$s',
+ 'ago' => [
+ 'days' => '%d روز پیش',
+ 'day' => 'یک روز پیش',
+ 'hours' => '%d ساعت پیش',
+ 'hour' => 'یک ساعت پیش',
+ 'minutes' => '%d دقیقه پیش',
+ 'few_minutes' => 'چند دقیقه پیش',
+ 'seconds' => 'چند ثانیه پیش',
+ ],
+ ],
];
diff --git a/lang/fa/tags.php b/lang/fa/tags.php
index b40a8483173..4980404861c 100644
--- a/lang/fa/tags.php
+++ b/lang/fa/tags.php
@@ -1,24 +1,24 @@
'برچسبها',
- 'description' => 'برچسبهای خود را در اینجا مدیریت کنید. شما میتوانید برچسبها را تغییر نام دهید، ادغام کنید و حذف کنید.
عدد نشاندهنده تعداد عکسهایی است که با آن برچسب مرتبط هستند.',
- 'no_tags' => 'هیچ برچسبی یافت نشد.',
- 'loading' => 'در حال بارگیری برچسبها...',
- 'rename' => 'تغییر نام',
- 'merge' => 'ادغام',
- 'delete' => 'حذف',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'برچسبها',
+ 'description' => 'برچسبهای خود را در اینجا مدیریت کنید. شما میتوانید برچسبها را تغییر نام دهید، ادغام کنید و حذف کنید.
عدد نشاندهنده تعداد عکسهایی است که با آن برچسب مرتبط هستند.',
+ 'no_tags' => 'هیچ برچسبی یافت نشد.',
+ 'loading' => 'در حال بارگیری برچسبها...',
+ 'rename' => 'تغییر نام',
+ 'merge' => 'ادغام',
+ 'delete' => 'حذف',
- 'delete_confirm' => 'آیا مطمئن هستید که میخواهید برچسب "%s" را حذف کنید؟',
- 'delete_warning' => 'این عمل قابل بازگشت نیست! تمام عکسهای مرتبط با این برچسب دیگر این برچسب را نخواهند داشت.',
+ 'delete_confirm' => 'آیا مطمئن هستید که میخواهید برچسب "%s" را حذف کنید؟',
+ 'delete_warning' => 'این عمل قابل بازگشت نیست! تمام عکسهای مرتبط با این برچسب دیگر این برچسب را نخواهند داشت.',
- 'merge_confirm' => 'آیا مطمئن هستید که میخواهید برچسب "%1\$s" را در برچسب "%2\$s" ادغام کنید؟',
- 'merge_warning' => 'این عمل قابل بازگشت نیست! تمام عکسهای مرتبط با برچسب مبدأ به برچسب مقصد منتقل خواهند شد.',
+ 'merge_confirm' => 'آیا مطمئن هستید که میخواهید برچسب "%1\$s" را در برچسب "%2\$s" ادغام کنید؟',
+ 'merge_warning' => 'این عمل قابل بازگشت نیست! تمام عکسهای مرتبط با برچسب مبدأ به برچسب مقصد منتقل خواهند شد.',
- 'rename_tag' => 'تغییر نام برچسب',
+ 'rename_tag' => 'تغییر نام برچسب',
];
diff --git a/lang/fa/toasts.php b/lang/fa/toasts.php
index b5f0fcbe797..c598e4cd86b 100644
--- a/lang/fa/toasts.php
+++ b/lang/fa/toasts.php
@@ -1,13 +1,13 @@
'خطا',
- 'success' => 'موفق',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | پیامهای Toast
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'خطا',
+ 'success' => 'موفق',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/fa/user-groups.php b/lang/fa/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/fa/user-groups.php
+++ b/lang/fa/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/fa/users.php b/lang/fa/users.php
index d68c918b826..ef474eaf4b6 100644
--- a/lang/fa/users.php
+++ b/lang/fa/users.php
@@ -1,50 +1,50 @@
'کاربران',
- 'description' => 'در اینجا میتوانید کاربران نسخه نصب شده Lychee خود را مدیریت کنید. میتوانید کاربران را ایجاد، ویرایش و حذف کنید.',
- 'create' => 'ایجاد کاربر جدید',
- 'username' => 'نام کاربری',
- 'password' => 'رمزعبور',
- 'legend' => 'راهنما',
- 'upload_rights' => 'در صورت انتخاب، کاربر میتواند محتوا بارگذاری کند.',
- 'edit_rights' => 'در صورت انتخاب، کاربر میتواند پروفایل خود (نام کاربری، رمزعبور) را ویرایش کند.',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | صفحه کاربران
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'کاربران',
+ 'description' => 'در اینجا میتوانید کاربران نسخه نصب شده Lychee خود را مدیریت کنید. میتوانید کاربران را ایجاد، ویرایش و حذف کنید.',
+ 'create' => 'ایجاد کاربر جدید',
+ 'username' => 'نام کاربری',
+ 'password' => 'رمزعبور',
+ 'legend' => 'راهنما',
+ 'upload_rights' => 'در صورت انتخاب، کاربر میتواند محتوا بارگذاری کند.',
+ 'edit_rights' => 'در صورت انتخاب، کاربر میتواند پروفایل خود (نام کاربری، رمزعبور) را ویرایش کند.',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'در صورت تنظیم، کاربر دارای سهمیه فضا برای تصاویر (بر حسب کیلوبایت) است.',
- 'user_deleted' => 'کاربر حذف شد',
- 'user_created' => 'کاربر ایجاد شد',
- 'user_updated' => 'کاربر بهروزرسانی شد',
- 'change_saved' => 'تغییر ذخیره شد!',
- 'create_edit' => [
- 'upload_rights' => 'کاربر میتواند محتوا بارگذاری کند.',
- 'edit_rights' => 'کاربر میتواند پروفایل خود (نام کاربری، رمزعبور) را ویرایش کند.',
- 'admin_rights' => 'كاربر داراي حقوق ادمين است',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'در صورت تنظیم، کاربر دارای سهمیه فضا برای تصاویر (بر حسب کیلوبایت) است.',
+ 'user_deleted' => 'کاربر حذف شد',
+ 'user_created' => 'کاربر ایجاد شد',
+ 'user_updated' => 'کاربر بهروزرسانی شد',
+ 'change_saved' => 'تغییر ذخیره شد!',
+ 'create_edit' => [
+ 'upload_rights' => 'کاربر میتواند محتوا بارگذاری کند.',
+ 'edit_rights' => 'کاربر میتواند پروفایل خود (نام کاربری، رمزعبور) را ویرایش کند.',
+ 'admin_rights' => 'كاربر داراي حقوق ادمين است',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'کاربر دارای محدودیت سهمیه است.',
- 'quota_kb' => 'سهمیه بر حسب کیلو بایت(سهمیه پیش فرض 0 است)',
- 'note' => 'یادداشت مدیر (قابل مشاهده برای عموم نیست)',
- 'create' => 'ایجاد',
- 'edit' => 'ویرایش',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'مالك',
- 'admin' => 'کاربر مدیر',
- 'edit' => 'ویرایش',
- 'delete' => 'حذف',
- ],
+ 'quota' => 'کاربر دارای محدودیت سهمیه است.',
+ 'quota_kb' => 'سهمیه بر حسب کیلو بایت(سهمیه پیش فرض 0 است)',
+ 'note' => 'یادداشت مدیر (قابل مشاهده برای عموم نیست)',
+ 'create' => 'ایجاد',
+ 'edit' => 'ویرایش',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'مالك',
+ 'admin' => 'کاربر مدیر',
+ 'edit' => 'ویرایش',
+ 'delete' => 'حذف',
+ ],
];
diff --git a/lang/fa/webhook.php b/lang/fa/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/fa/webhook.php
+++ b/lang/fa/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/fa/webshop.php b/lang/fa/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/fa/webshop.php
+++ b/lang/fa/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/fr/admin-dashboard.php b/lang/fr/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/fr/admin-dashboard.php
+++ b/lang/fr/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/fr/renamer.php b/lang/fr/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/fr/renamer.php
+++ b/lang/fr/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/fr/toasts.php b/lang/fr/toasts.php
index 03a039dae6b..4032f2387f1 100644
--- a/lang/fr/toasts.php
+++ b/lang/fr/toasts.php
@@ -1,13 +1,13 @@
'Erreur',
- 'success' => 'Réussi',
- 'album_updated' => 'Album mis à jour',
- 'update_failed' => 'Échec de la mise à jour de l\'album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Erreur',
+ 'success' => 'Réussi',
+ 'album_updated' => 'Album mis à jour',
+ 'update_failed' => 'Échec de la mise à jour de l\'album',
];
diff --git a/lang/hu/admin-dashboard.php b/lang/hu/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/hu/admin-dashboard.php
+++ b/lang/hu/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/hu/gallery.php b/lang/hu/gallery.php
index 6475b639ea7..5208cee3d7f 100644
--- a/lang/hu/gallery.php
+++ b/lang/hu/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Rögzített albumok',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Válassza ki a képfelbontást az album ZIP archívumához. Ha egy fotónak nincs meg a kiválasztott változata, az eredeti lesz használva.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Lista nézet',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Rögzítés',
- 'unpin' => 'Rögzítés eltávolítása',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Fénykép készítése',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'nyilvános de rejtett',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Rögzített albumok',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Válassza ki a képfelbontást az album ZIP archívumához. Ha egy fotónak nincs meg a kiválasztott változata, az eredeti lesz használva.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Lista nézet',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Rögzítés',
+ 'unpin' => 'Rögzítés eltávolítása',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Fénykép készítése',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'nyilvános de rejtett',
+ ],
];
diff --git a/lang/hu/landing.php b/lang/hu/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/hu/landing.php
+++ b/lang/hu/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/hu/maintenance.php b/lang/hu/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/hu/maintenance.php
+++ b/lang/hu/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/hu/user-groups.php b/lang/hu/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/hu/user-groups.php
+++ b/lang/hu/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/it/admin-dashboard.php b/lang/it/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/it/admin-dashboard.php
+++ b/lang/it/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/it/all_settings.php b/lang/it/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/it/all_settings.php
+++ b/lang/it/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/it/aspect_ratio.php b/lang/it/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/it/aspect_ratio.php
+++ b/lang/it/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/it/bulk_album_edit.php b/lang/it/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/it/bulk_album_edit.php
+++ b/lang/it/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/it/changelogs.php b/lang/it/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/it/changelogs.php
+++ b/lang/it/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/it/contact.php b/lang/it/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/it/contact.php
+++ b/lang/it/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/it/diagnostics.php b/lang/it/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/it/diagnostics.php
+++ b/lang/it/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/it/dialogs.php b/lang/it/dialogs.php
index 3a97a8fbfd7..36704aae7f3 100644
--- a/lang/it/dialogs.php
+++ b/lang/it/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Modalità',
- 'mode_album_help' => 'Incorpora foto da questo album specifico.',
- 'mode_stream_help' => 'Incorpora tutte le tue foto pubbliche come flusso cronologico (più recenti per prime).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Scatta una foto',
- 'capture' => 'Cattura',
- 'retake' => 'Riprendi',
- 'upload' => 'Carica',
- 'secure_connection_required' => 'L\'accesso alla fotocamera richiede una connessione sicura (HTTPS o localhost).',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Modalità',
+ 'mode_album_help' => 'Incorpora foto da questo album specifico.',
+ 'mode_stream_help' => 'Incorpora tutte le tue foto pubbliche come flusso cronologico (più recenti per prime).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Scatta una foto',
+ 'capture' => 'Cattura',
+ 'retake' => 'Riprendi',
+ 'upload' => 'Carica',
+ 'secure_connection_required' => 'L\'accesso alla fotocamera richiede una connessione sicura (HTTPS o localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/it/duplicate-finder.php b/lang/it/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/it/duplicate-finder.php
+++ b/lang/it/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/it/fix-tree.php b/lang/it/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/it/fix-tree.php
+++ b/lang/it/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/it/flow.php b/lang/it/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/it/flow.php
+++ b/lang/it/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/it/gallery.php b/lang/it/gallery.php
index ce3f756481c..1f7865be7dc 100644
--- a/lang/it/gallery.php
+++ b/lang/it/gallery.php
@@ -1,355 +1,355 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Album fissati',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Seleziona la risoluzione dell\'immagine per l\'archivio ZIP dell\'album. Se una foto non ha la variante selezionata, verrà utilizzato l\'originale.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Vista elenco',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected', 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic', 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Fissa',
- 'unpin' => 'Rimuovi fissaggio',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Scatta una foto',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'pubblico ma nascosto',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Album fissati',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Seleziona la risoluzione dell\'immagine per l\'archivio ZIP dell\'album. Se una foto non ha la variante selezionata, verrà utilizzato l\'originale.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Vista elenco',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected', 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic', 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Fissa',
+ 'unpin' => 'Rimuovi fissaggio',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Scatta una foto',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'pubblico ma nascosto',
+ ],
];
diff --git a/lang/it/import_from_server.php b/lang/it/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/it/import_from_server.php
+++ b/lang/it/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/it/jobs.php b/lang/it/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/it/jobs.php
+++ b/lang/it/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/it/landing.php b/lang/it/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/it/landing.php
+++ b/lang/it/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/it/left-menu.php b/lang/it/left-menu.php
index 81bab94fb3f..f5c7399fdee 100644
--- a/lang/it/left-menu.php
+++ b/lang/it/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Incorpora Flusso Foto',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Incorpora Flusso Foto',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/it/maintenance.php b/lang/it/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/it/maintenance.php
+++ b/lang/it/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/it/moderation.php b/lang/it/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/it/moderation.php
+++ b/lang/it/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/it/profile.php b/lang/it/profile.php
index f55b744b71a..78aca499bb5 100644
--- a/lang/it/profile.php
+++ b/lang/it/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'Le informazioni di accesso dell\'utente sono gestite da LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'Le informazioni di accesso dell\'utente sono gestite da LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/it/renamer.php b/lang/it/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/it/renamer.php
+++ b/lang/it/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/it/settings.php b/lang/it/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/it/settings.php
+++ b/lang/it/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/it/sharing.php b/lang/it/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/it/sharing.php
+++ b/lang/it/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/it/statistics.php b/lang/it/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/it/statistics.php
+++ b/lang/it/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/it/tags.php b/lang/it/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/it/tags.php
+++ b/lang/it/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/it/toasts.php b/lang/it/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/it/toasts.php
+++ b/lang/it/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/it/user-groups.php b/lang/it/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/it/user-groups.php
+++ b/lang/it/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/it/users.php b/lang/it/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/it/users.php
+++ b/lang/it/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/it/webhook.php b/lang/it/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/it/webhook.php
+++ b/lang/it/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/it/webshop.php b/lang/it/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/it/webshop.php
+++ b/lang/it/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/ja/admin-dashboard.php b/lang/ja/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/ja/admin-dashboard.php
+++ b/lang/ja/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/ja/all_settings.php b/lang/ja/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/ja/all_settings.php
+++ b/lang/ja/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/ja/aspect_ratio.php b/lang/ja/aspect_ratio.php
index b6a21c90b04..5e2a35ecea1 100644
--- a/lang/ja/aspect_ratio.php
+++ b/lang/ja/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (Instagram 横向き)',
- '4by5' => '4/5 (Instagram 縦向き)',
- '2by3' => '2/3 (縦向き)',
- '3by2' => '3/2 (横向き)',
- '1by1' => 'スクエア',
- '16by9' => '16/9 (横向き)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (Instagram 横向き)',
+ '4by5' => '4/5 (Instagram 縦向き)',
+ '2by3' => '2/3 (縦向き)',
+ '3by2' => '3/2 (横向き)',
+ '1by1' => 'スクエア',
+ '16by9' => '16/9 (横向き)',
];
diff --git a/lang/ja/bulk_album_edit.php b/lang/ja/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/ja/bulk_album_edit.php
+++ b/lang/ja/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/ja/changelogs.php b/lang/ja/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/ja/changelogs.php
+++ b/lang/ja/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/ja/contact.php b/lang/ja/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/ja/contact.php
+++ b/lang/ja/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/ja/diagnostics.php b/lang/ja/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/ja/diagnostics.php
+++ b/lang/ja/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/ja/dialogs.php b/lang/ja/dialogs.php
index 181a0ec947d..09f1afb22ba 100644
--- a/lang/ja/dialogs.php
+++ b/lang/ja/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'モード',
- 'mode_album_help' => 'この特定のアルバムから写真を埋め込みます。',
- 'mode_stream_help' => 'すべての公開写真を時系列で埋め込みます(最新のものから)。',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => '写真を撮る',
- 'capture' => '撮影',
- 'retake' => '撮り直し',
- 'upload' => 'アップロード',
- 'secure_connection_required' => 'カメラへのアクセスには安全な接続(HTTPSまたはlocalhost)が必要です。',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'モード',
+ 'mode_album_help' => 'この特定のアルバムから写真を埋め込みます。',
+ 'mode_stream_help' => 'すべての公開写真を時系列で埋め込みます(最新のものから)。',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => '写真を撮る',
+ 'capture' => '撮影',
+ 'retake' => '撮り直し',
+ 'upload' => 'アップロード',
+ 'secure_connection_required' => 'カメラへのアクセスには安全な接続(HTTPSまたはlocalhost)が必要です。',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/ja/duplicate-finder.php b/lang/ja/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/ja/duplicate-finder.php
+++ b/lang/ja/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/ja/fix-tree.php b/lang/ja/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/ja/fix-tree.php
+++ b/lang/ja/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/ja/flow.php b/lang/ja/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/ja/flow.php
+++ b/lang/ja/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/ja/gallery.php b/lang/ja/gallery.php
index 1bd5c4838ce..7a2476c349f 100644
--- a/lang/ja/gallery.php
+++ b/lang/ja/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'ピン留めアルバム',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'アルバムZIPアーカイブの画像解像度を選択してください。選択した種類がない写真にはオリジナルが使用されます。',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'リスト表示',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'ピン留め',
- 'unpin' => 'ピン留め解除',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => '写真を撮る',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => '公開だが非表示',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'ピン留めアルバム',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'アルバムZIPアーカイブの画像解像度を選択してください。選択した種類がない写真にはオリジナルが使用されます。',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'リスト表示',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'ピン留め',
+ 'unpin' => 'ピン留め解除',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => '写真を撮る',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => '公開だが非表示',
+ ],
];
diff --git a/lang/ja/import_from_server.php b/lang/ja/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/ja/import_from_server.php
+++ b/lang/ja/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/ja/jobs.php b/lang/ja/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/ja/jobs.php
+++ b/lang/ja/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/ja/landing.php b/lang/ja/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/ja/landing.php
+++ b/lang/ja/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/ja/left-menu.php b/lang/ja/left-menu.php
index d5fb8e7b921..949fa8f98ee 100644
--- a/lang/ja/left-menu.php
+++ b/lang/ja/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => '写真ストリームを埋め込む',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => '写真ストリームを埋め込む',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/ja/maintenance.php b/lang/ja/maintenance.php
index d211b79889d..5fd635a7ad9 100644
--- a/lang/ja/maintenance.php
+++ b/lang/ja/maintenance.php
@@ -1,103 +1,103 @@
'メンテナンス',
- 'description' => 'このページには、Lychee のインストールをスムーズかつ適切に実行するために必要なすべてのアクションが記載されています。',
- 'cleaning' => [
- 'title' => '%s を削除',
- 'result' => '%s が削除されました。',
- 'description' => '%s からすべてのコンテンツを削除します',
- 'button' => '削除',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'ジョブ履歴の修正',
- 'description' => 'ステータスが %s または %s のジョブを %s としてマークします。',
- 'button' => 'ジョブ履歴を修正',
- ],
- 'gen-sizevariants' => [
- 'title' => '存在しない %s',
- 'description' => '生成可能な %d 個の %s が見つかりました。',
- 'button' => '生成',
- 'success' => '%d 個の %s が正常に生成されました。',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'ファイルサイズが見つかりません',
- 'description' => 'ファイルサイズのない小さなバリアントが %d 個見つかりました。',
- 'button' => 'データを取得',
- 'success' => '%d 個の小さなバリアントのサイズを正常に計算しました。',
- ],
- 'fix-tree' => [
- 'title' => 'ツリー統計',
- 'Oddness' => 'Oddness',
- 'Duplicates' => '重複',
- 'Wrong parents' => '間違った親要素',
- 'Missing parents' => '存在しない親要素',
- 'button' => 'ツリーを修正',
- ],
- 'optimize' => [
- 'title' => 'データベースを最適化',
- 'description' => 'インストールの速度低下に気付いた場合、データベースに必要なインデックスがすべて揃っていないことが原因の可能性があります。',
- 'button' => 'データベースを最適化',
- ],
- 'update' => [
- 'title' => '更新',
- 'check-button' => '更新を確認',
- 'update-button' => '更新',
- 'no-pending-updates' => '保留中の更新はありません',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'メンテナンス',
+ 'description' => 'このページには、Lychee のインストールをスムーズかつ適切に実行するために必要なすべてのアクションが記載されています。',
+ 'cleaning' => [
+ 'title' => '%s を削除',
+ 'result' => '%s が削除されました。',
+ 'description' => '%s からすべてのコンテンツを削除します',
+ 'button' => '削除',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'ジョブ履歴の修正',
+ 'description' => 'ステータスが %s または %s のジョブを %s としてマークします。',
+ 'button' => 'ジョブ履歴を修正',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => '存在しない %s',
+ 'description' => '生成可能な %d 個の %s が見つかりました。',
+ 'button' => '生成',
+ 'success' => '%d 個の %s が正常に生成されました。',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'ファイルサイズが見つかりません',
+ 'description' => 'ファイルサイズのない小さなバリアントが %d 個見つかりました。',
+ 'button' => 'データを取得',
+ 'success' => '%d 個の小さなバリアントのサイズを正常に計算しました。',
+ ],
+ 'fix-tree' => [
+ 'title' => 'ツリー統計',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => '重複',
+ 'Wrong parents' => '間違った親要素',
+ 'Missing parents' => '存在しない親要素',
+ 'button' => 'ツリーを修正',
+ ],
+ 'optimize' => [
+ 'title' => 'データベースを最適化',
+ 'description' => 'インストールの速度低下に気付いた場合、データベースに必要なインデックスがすべて揃っていないことが原因の可能性があります。',
+ 'button' => 'データベースを最適化',
+ ],
+ 'update' => [
+ 'title' => '更新',
+ 'check-button' => '更新を確認',
+ 'update-button' => '更新',
+ 'no-pending-updates' => '保留中の更新はありません',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/ja/moderation.php b/lang/ja/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/ja/moderation.php
+++ b/lang/ja/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/ja/profile.php b/lang/ja/profile.php
index aaf5658e878..6f049e003d5 100644
--- a/lang/ja/profile.php
+++ b/lang/ja/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'ユーザーのログイン情報はLDAPで管理されています。',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'ユーザーのログイン情報はLDAPで管理されています。',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/ja/renamer.php b/lang/ja/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/ja/renamer.php
+++ b/lang/ja/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/ja/settings.php b/lang/ja/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/ja/settings.php
+++ b/lang/ja/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/ja/sharing.php b/lang/ja/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/ja/sharing.php
+++ b/lang/ja/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/ja/statistics.php b/lang/ja/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/ja/statistics.php
+++ b/lang/ja/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/ja/tags.php b/lang/ja/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/ja/tags.php
+++ b/lang/ja/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/ja/toasts.php b/lang/ja/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/ja/toasts.php
+++ b/lang/ja/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/ja/user-groups.php b/lang/ja/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/ja/user-groups.php
+++ b/lang/ja/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/ja/users.php b/lang/ja/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/ja/users.php
+++ b/lang/ja/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/ja/webhook.php b/lang/ja/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/ja/webhook.php
+++ b/lang/ja/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/ja/webshop.php b/lang/ja/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/ja/webshop.php
+++ b/lang/ja/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/nl/admin-dashboard.php b/lang/nl/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/nl/admin-dashboard.php
+++ b/lang/nl/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/nl/all_settings.php b/lang/nl/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/nl/all_settings.php
+++ b/lang/nl/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/nl/aspect_ratio.php b/lang/nl/aspect_ratio.php
index 5cc683ecef4..810ed77d168 100644
--- a/lang/nl/aspect_ratio.php
+++ b/lang/nl/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landschap)',
- '4by5' => '4/5 (instagram portret)',
- '2by3' => '2/3 (portret)',
- '3by2' => '3/2 (landschap)',
- '1by1' => 'vierkant',
- '16by9' => '16/9 (landschap)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landschap)',
+ '4by5' => '4/5 (instagram portret)',
+ '2by3' => '2/3 (portret)',
+ '3by2' => '3/2 (landschap)',
+ '1by1' => 'vierkant',
+ '16by9' => '16/9 (landschap)',
];
diff --git a/lang/nl/bulk_album_edit.php b/lang/nl/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/nl/bulk_album_edit.php
+++ b/lang/nl/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/nl/contact.php b/lang/nl/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/nl/contact.php
+++ b/lang/nl/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/nl/diagnostics.php b/lang/nl/diagnostics.php
index 856b45e357d..f2823c80412 100644
--- a/lang/nl/diagnostics.php
+++ b/lang/nl/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostiek',
- 'copy_to_clipboard' => 'Kopieer diagnostieken naar klembord',
- 'self-diagnosis' => 'Zelfdiagnose',
- 'info' => 'Informatie',
- 'space' => 'Ruimte',
- 'load_space' => 'Laad ruimtegebruik.',
- 'configuration' => 'Configuratie',
- 'loading' => 'Laden…',
- 'identical_content' => 'Identieke inhoud',
- 'toast' => [
- 'info' => 'Informatie',
- 'copy' => 'Diagnostieken gekopieerd naar klembord!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostiek',
+ 'copy_to_clipboard' => 'Kopieer diagnostieken naar klembord',
+ 'self-diagnosis' => 'Zelfdiagnose',
+ 'info' => 'Informatie',
+ 'space' => 'Ruimte',
+ 'load_space' => 'Laad ruimtegebruik.',
+ 'configuration' => 'Configuratie',
+ 'loading' => 'Laden…',
+ 'identical_content' => 'Identieke inhoud',
+ 'toast' => [
+ 'info' => 'Informatie',
+ 'copy' => 'Diagnostieken gekopieerd naar klembord!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/nl/dialogs.php b/lang/nl/dialogs.php
index bdde4bad421..95679d3a738 100644
--- a/lang/nl/dialogs.php
+++ b/lang/nl/dialogs.php
@@ -1,303 +1,303 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Sluiten',
- 'cancel' => 'Annuleren',
- 'save' => 'Opslaan',
- 'delete' => 'Verwijderen',
- 'move' => 'Verplaatsen',
- ],
- 'about' => [
- 'subtitle' => 'Zelf-gehoste foto-beheer op de juiste manier',
- 'description' => 'Lychee is een gratis foto-beheer tool, die draait op uw server of webruimte. Installeren duurt slechts enkele seconden. Upload, beheer en deel foto’s alsof het een native applicatie is. Lychee wordt geleverd met alles wat u nodig heeft en al uw foto’s worden veilig opgeslagen.',
- 'update_available' => 'Update beschikbaar!',
- 'thank_you' => 'Bedankt voor uw steun!',
- 'get_supporter_or_register' => 'Krijg exclusieve functies en ondersteun de ontwikkeling van Lychee.
Ontgrendel de Supporter Edition of registreer uw licentiesleutel',
- 'here' => 'hier',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is niet geconfigureerd.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Voer de directe link naar een foto in om deze te importeren:',
- 'import' => 'Importeren',
- ],
- 'keybindings' => [
- 'header' => 'Toetsenbord sneltoetsen',
- 'don_t_show_again' => 'Toon deze dialoog niet opnieuw',
- 'hide_header_button' => 'Toon geen hulp in de koptekst',
- 'side_wide' => 'Site-brede sneltoetsen',
- 'back_cancel' => 'Terug/Annuleren',
- 'confirm' => 'Bevestigen',
- 'login' => 'Inloggen',
- 'toggle_full_screen' => 'Volledig scherm in-/uitschakelen',
- 'toggle_sensitive_albums' => 'Gevoelige albums in-/uitschakelen',
- 'albums' => 'Albums sneltoetsen',
- 'new_album' => 'Nieuw album',
- 'upload_photos' => 'Foto’s uploaden',
- 'search' => 'Zoeken',
- 'show_this_modal' => 'Toon deze modal',
- 'select_all' => 'Alles selecteren',
- 'move_selection' => 'Selectie verplaatsen',
- 'delete_selection' => 'Selectie verwijderen',
- 'album' => 'Album sneltoetsen',
- 'slideshow' => 'Diavoorstelling starten/stoppen',
- 'toggle' => 'Paneel in-/uitschakelen',
- 'photo' => 'Foto sneltoetsen',
- 'previous' => 'Vorige foto',
- 'next' => 'Volgende foto',
- 'cycle' => 'Overlay modus doorlopen',
- 'star' => 'Foto markeren',
- 'move' => 'Foto verplaatsen',
- 'delete' => 'Foto verwijderen',
- 'edit' => 'Informatie bewerken',
- 'show_hide_meta' => 'Informatie tonen',
- 'keep_hidden' => 'We houden het verborgen.',
- 'button_hidden' => 'We verbergen de knop in de koptekst.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticeren met %s',
- 'username' => 'Gebruikersnaam',
- 'password' => 'Wachtwoord',
- 'unknown_invalid' => 'Onbekende gebruiker of ongeldig wachtwoord.',
- 'signin' => 'Aanmelden',
- 'remember_me' => 'Onthoud mij',
- ],
- 'register' => [
- 'enter_license' => 'Voer uw licentiesleutel hieronder in:',
- 'license_key' => 'Licentiesleutel',
- 'invalid_license' => 'Ongeldige licentiesleutel.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Registreren',
- ],
- 'share_album' => [
- 'url_copied' => 'URL naar klembord gekopieerd!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Modus',
- 'mode_album_help' => 'Foto\'s van dit specifieke album insluiten.',
- 'mode_stream_help' => 'Al je openbare foto\'s als chronologische stroom insluiten (nieuwste eerst).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Voltooid',
- 'uploaded' => 'Geüpload:',
- 'release' => 'Laat bestand los om te uploaden!',
- 'select' => 'Klik hier om bestanden te selecteren om te uploaden',
- 'drag' => '(Of sleep bestanden naar de pagina)',
- 'loading' => 'Laden',
- 'resume' => 'Hervatten',
- 'uploading' => 'Uploaden',
- 'finished' => 'Klaar',
- 'failed_error' => 'Upload mislukt. De server gaf een foutmelding terug!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Foto nemen',
- 'capture' => 'Vastleggen',
- 'retake' => 'Opnieuw nemen',
- 'upload' => 'Uploaden',
- 'secure_connection_required' => 'Cameratoegang vereist een beveiligde verbinding (HTTPS of localhost).',
- ],
- 'visibility' => [
- 'public' => 'Publiek',
- 'public_expl' => 'Anonieme gebruikers kunnen toegang krijgen tot dit album, onderhevig aan de onderstaande beperkingen.',
- 'full' => 'Origineel',
- 'full_expl' => 'Anonieme gebruikers kunnen foto’s in volledige resolutie bekijken.',
- 'hidden' => 'Verborgen',
- 'hidden_expl' => 'Anonieme gebruikers hebben een directe link nodig om toegang te krijgen tot dit album.',
- 'downloadable' => 'Downloadbaar',
- 'downloadable_expl' => 'Anonieme gebruikers kunnen dit album downloaden.',
- 'upload' => 'Uploads toestaan',
- 'upload_expl' => ' Anonieme gebruikers kunnen foto’s uploaden naar dit album.',
- 'password' => 'Wachtwoord',
- 'password_prot' => 'Wachtwoord beschermd',
- 'password_prot_expl' => 'Anonieme gebruikers hebben een gedeeld wachtwoord nodig om toegang te krijgen tot dit album.',
- 'password_prop_not_compatible' => 'Reactie-cache conflicteert met deze instelling.
Vanwege reactie-caching, het ontgrendelen van dit album zal
ook de inhoud ervan onthullen aan andere anonieme gebruikers.',
- 'nsfw' => 'Gevoelig',
- 'nsfw_expl' => 'Album bevat gevoelige inhoud.',
- 'visibility_updated' => 'Zichtbaarheid bijgewerkt.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Weet u zeker dat u het album “%1$s” naar het album “%2$s” wilt verplaatsen?',
- 'confirm_multiple' => 'Weet u zeker dat u alle geselecteerde albums naar het album “%s” wilt verplaatsen?',
- 'move_single' => 'Album verplaatsen',
- 'move_to' => 'Verplaatsen naar',
- 'move_to_single' => 'Verplaats %s naar:',
- 'move_to_multiple' => 'Verplaats %d albums naar:',
- 'no_album_target' => 'Geen album om naar te verplaatsen',
- 'moved_single' => 'Album verplaatst!',
- 'moved_single_details' => '%1$s verplaatst naar %2$s',
- 'moved_details' => 'Album(s) verplaatst naar %s',
- ],
- 'new_album' => [
- 'menu' => 'Album Aanmaken',
- 'info' => 'Voer een titel in voor het nieuwe album:',
- 'title' => 'titel',
- 'create' => 'Album Aanmaken',
- 'visibility_private' => 'Dit album is privé (alleen zichtbaar voor jou)',
- 'visibility_public' => 'Dit album is openbaar (zichtbaar voor iedereen)',
- 'visibility_public_hidden' => 'Dit album is openbaar maar verborgen in lijsten',
- 'visibility_inherit' => 'Dit album erft de zichtbaarheid van het hoofdalbum',
- 'visibility_inherit_no_parent' => 'Dit album is privé (geen hoofdalbum)', ],
- 'new_tag_album' => [
- 'menu' => 'Tag Album Aanmaken',
- 'info' => 'Voer een titel in voor het nieuwe tag album:',
- 'title' => 'titel',
- 'set_tags' => 'Stel tags in om weer te geven',
- 'create' => 'Tag Album Aanmaken',
- ],
- 'delete_album' => [
- 'confirmation' => 'Weet u zeker dat u het album “%s” en al de foto’s die het bevat wilt verwijderen?', 'confirmation_tag' => 'Weet u zeker dat u het album "%s" wilt verwijderen?', 'confirmation_multiple' => 'Weet u zeker dat u alle %d geselecteerde albums en al de foto’s die ze bevatten wilt verwijderen?',
- 'warning' => 'Deze actie kan niet ongedaan worden gemaakt!',
- 'delete' => 'Album en Foto’s Verwijderen',
- ],
- 'transfer' => [
- 'query' => 'Eigendom van album overdragen aan',
- 'confirmation' => 'Weet u zeker dat u het eigendom van album “%s” en al de foto’s die het bevat wilt overdragen aan "%s"?',
- 'lost_access_warning' => 'Uw toegang tot dit album gaat verloren.',
- 'warning' => 'Deze actie kan niet ongedaan worden gemaakt!',
- 'transfer' => 'Eigendom van album en foto’s overdragen',
- ],
- 'rename' => [
- 'photo' => 'Voer een nieuwe titel in voor deze foto:',
- 'album' => 'Voer een nieuwe titel in voor dit album:',
- 'rename' => 'Hernoemen',
- ],
- 'merge' => [
- 'merge_to' => 'Samenvoegen %s naar:',
- 'merge_to_multiple' => 'Samenvoegen %d albums naar:',
- 'no_albums' => 'Geen albums om naar samen te voegen.',
- 'confirm' => 'Weet u zeker dat u het album “%1$s” in het album “%2$s” wilt samenvoegen?',
- 'confirm_multiple' => 'Weet u zeker dat u alle geselecteerde albums in het album “%s” wilt samenvoegen?',
- 'merge' => 'Albums Samenvoegen',
- 'merged' => 'Album(s) samengevoegd naar %s!',
- ],
- 'unlock' => [
- 'password_required' => 'Dit album is beschermd met een wachtwoord. Voer het wachtwoord hieronder in om de foto’s van dit album te bekijken:',
- 'password' => 'Wachtwoord',
- 'unlock' => 'Ontgrendelen',
- ],
- 'photo_tags' => [
- 'question' => 'Voer uw tags voor deze foto in.',
- 'question_multiple' => 'Voer uw tags voor alle %d geselecteerde foto’s in. Bestaande tags worden overschreven.',
- 'no_tags' => 'Geen Tags',
- 'set_tags' => 'Tags Instellen',
- 'updated' => 'Tags bijgewerkt!',
- 'tags_override_info' => 'Als dit niet is aangevinkt, worden de tags toegevoegd aan de bestaande tags van de foto.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'Geen albums om naar te kopiëren',
- 'copy_to' => 'Kopieer %s naar:',
- 'copy_to_multiple' => 'Kopieer %d foto’s naar:',
- 'confirm' => 'Kopieer %s naar %s.',
- 'confirm_multiple' => 'Kopieer %d foto’s naar %s.',
- 'copy' => 'Kopiëren',
- 'copied' => 'Foto(‘s) gekopieerd!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Weet u zeker dat u de foto “%s” wilt verwijderen?',
- 'confirm_multiple' => 'Weet u zeker dat u alle %d geselecteerde foto’s wilt verwijderen?',
- 'deleted' => 'Foto(‘s) verwijderd!',
- ],
- 'move_photo' => [
- 'move_single' => 'Verplaats %s naar:',
- 'move_multiple' => 'Verplaats %d foto’s naar:',
- 'confirm' => 'Verplaats %s naar %s.',
- 'confirm_multiple' => 'Verplaats %d foto’s naar %s.',
- 'moved' => 'Foto(‘s) verplaatst naar %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Selecteer gebruiker',
- ],
- 'target_album' => [
- 'placeholder' => 'Selecteer album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authenticatie succesvol!',
- 'error' => 'Oeps, het lijkt erop dat er iets mis is gegaan. Herlaad de site en probeer het opnieuw!',
- ],
- 'se' => [
- 'available' => 'Beschikbaar in de Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Sessie verlopen',
- 'message' => 'Uw sessie is verlopen.
Herlaad de pagina.',
- 'reload' => 'Herlaad',
- 'go_to_gallery' => 'Ga naar de Galerij',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Sluiten',
+ 'cancel' => 'Annuleren',
+ 'save' => 'Opslaan',
+ 'delete' => 'Verwijderen',
+ 'move' => 'Verplaatsen',
+ ],
+ 'about' => [
+ 'subtitle' => 'Zelf-gehoste foto-beheer op de juiste manier',
+ 'description' => 'Lychee is een gratis foto-beheer tool, die draait op uw server of webruimte. Installeren duurt slechts enkele seconden. Upload, beheer en deel foto’s alsof het een native applicatie is. Lychee wordt geleverd met alles wat u nodig heeft en al uw foto’s worden veilig opgeslagen.',
+ 'update_available' => 'Update beschikbaar!',
+ 'thank_you' => 'Bedankt voor uw steun!',
+ 'get_supporter_or_register' => 'Krijg exclusieve functies en ondersteun de ontwikkeling van Lychee.
Ontgrendel de Supporter Edition of registreer uw licentiesleutel',
+ 'here' => 'hier',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is niet geconfigureerd.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Voer de directe link naar een foto in om deze te importeren:',
+ 'import' => 'Importeren',
+ ],
+ 'keybindings' => [
+ 'header' => 'Toetsenbord sneltoetsen',
+ 'don_t_show_again' => 'Toon deze dialoog niet opnieuw',
+ 'hide_header_button' => 'Toon geen hulp in de koptekst',
+ 'side_wide' => 'Site-brede sneltoetsen',
+ 'back_cancel' => 'Terug/Annuleren',
+ 'confirm' => 'Bevestigen',
+ 'login' => 'Inloggen',
+ 'toggle_full_screen' => 'Volledig scherm in-/uitschakelen',
+ 'toggle_sensitive_albums' => 'Gevoelige albums in-/uitschakelen',
+ 'albums' => 'Albums sneltoetsen',
+ 'new_album' => 'Nieuw album',
+ 'upload_photos' => 'Foto’s uploaden',
+ 'search' => 'Zoeken',
+ 'show_this_modal' => 'Toon deze modal',
+ 'select_all' => 'Alles selecteren',
+ 'move_selection' => 'Selectie verplaatsen',
+ 'delete_selection' => 'Selectie verwijderen',
+ 'album' => 'Album sneltoetsen',
+ 'slideshow' => 'Diavoorstelling starten/stoppen',
+ 'toggle' => 'Paneel in-/uitschakelen',
+ 'photo' => 'Foto sneltoetsen',
+ 'previous' => 'Vorige foto',
+ 'next' => 'Volgende foto',
+ 'cycle' => 'Overlay modus doorlopen',
+ 'star' => 'Foto markeren',
+ 'move' => 'Foto verplaatsen',
+ 'delete' => 'Foto verwijderen',
+ 'edit' => 'Informatie bewerken',
+ 'show_hide_meta' => 'Informatie tonen',
+ 'keep_hidden' => 'We houden het verborgen.',
+ 'button_hidden' => 'We verbergen de knop in de koptekst.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticeren met %s',
+ 'username' => 'Gebruikersnaam',
+ 'password' => 'Wachtwoord',
+ 'unknown_invalid' => 'Onbekende gebruiker of ongeldig wachtwoord.',
+ 'signin' => 'Aanmelden',
+ 'remember_me' => 'Onthoud mij',
+ ],
+ 'register' => [
+ 'enter_license' => 'Voer uw licentiesleutel hieronder in:',
+ 'license_key' => 'Licentiesleutel',
+ 'invalid_license' => 'Ongeldige licentiesleutel.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Registreren',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'URL naar klembord gekopieerd!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Modus',
+ 'mode_album_help' => 'Foto\'s van dit specifieke album insluiten.',
+ 'mode_stream_help' => 'Al je openbare foto\'s als chronologische stroom insluiten (nieuwste eerst).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Voltooid',
+ 'uploaded' => 'Geüpload:',
+ 'release' => 'Laat bestand los om te uploaden!',
+ 'select' => 'Klik hier om bestanden te selecteren om te uploaden',
+ 'drag' => '(Of sleep bestanden naar de pagina)',
+ 'loading' => 'Laden',
+ 'resume' => 'Hervatten',
+ 'uploading' => 'Uploaden',
+ 'finished' => 'Klaar',
+ 'failed_error' => 'Upload mislukt. De server gaf een foutmelding terug!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Foto nemen',
+ 'capture' => 'Vastleggen',
+ 'retake' => 'Opnieuw nemen',
+ 'upload' => 'Uploaden',
+ 'secure_connection_required' => 'Cameratoegang vereist een beveiligde verbinding (HTTPS of localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Publiek',
+ 'public_expl' => 'Anonieme gebruikers kunnen toegang krijgen tot dit album, onderhevig aan de onderstaande beperkingen.',
+ 'full' => 'Origineel',
+ 'full_expl' => 'Anonieme gebruikers kunnen foto’s in volledige resolutie bekijken.',
+ 'hidden' => 'Verborgen',
+ 'hidden_expl' => 'Anonieme gebruikers hebben een directe link nodig om toegang te krijgen tot dit album.',
+ 'downloadable' => 'Downloadbaar',
+ 'downloadable_expl' => 'Anonieme gebruikers kunnen dit album downloaden.',
+ 'upload' => 'Uploads toestaan',
+ 'upload_expl' => ' Anonieme gebruikers kunnen foto’s uploaden naar dit album.',
+ 'password' => 'Wachtwoord',
+ 'password_prot' => 'Wachtwoord beschermd',
+ 'password_prot_expl' => 'Anonieme gebruikers hebben een gedeeld wachtwoord nodig om toegang te krijgen tot dit album.',
+ 'password_prop_not_compatible' => 'Reactie-cache conflicteert met deze instelling.
Vanwege reactie-caching, het ontgrendelen van dit album zal
ook de inhoud ervan onthullen aan andere anonieme gebruikers.',
+ 'nsfw' => 'Gevoelig',
+ 'nsfw_expl' => 'Album bevat gevoelige inhoud.',
+ 'visibility_updated' => 'Zichtbaarheid bijgewerkt.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Weet u zeker dat u het album “%1$s” naar het album “%2$s” wilt verplaatsen?',
+ 'confirm_multiple' => 'Weet u zeker dat u alle geselecteerde albums naar het album “%s” wilt verplaatsen?',
+ 'move_single' => 'Album verplaatsen',
+ 'move_to' => 'Verplaatsen naar',
+ 'move_to_single' => 'Verplaats %s naar:',
+ 'move_to_multiple' => 'Verplaats %d albums naar:',
+ 'no_album_target' => 'Geen album om naar te verplaatsen',
+ 'moved_single' => 'Album verplaatst!',
+ 'moved_single_details' => '%1$s verplaatst naar %2$s',
+ 'moved_details' => 'Album(s) verplaatst naar %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Album Aanmaken',
+ 'info' => 'Voer een titel in voor het nieuwe album:',
+ 'title' => 'titel',
+ 'create' => 'Album Aanmaken',
+ 'visibility_private' => 'Dit album is privé (alleen zichtbaar voor jou)',
+ 'visibility_public' => 'Dit album is openbaar (zichtbaar voor iedereen)',
+ 'visibility_public_hidden' => 'Dit album is openbaar maar verborgen in lijsten',
+ 'visibility_inherit' => 'Dit album erft de zichtbaarheid van het hoofdalbum',
+ 'visibility_inherit_no_parent' => 'Dit album is privé (geen hoofdalbum)', ],
+ 'new_tag_album' => [
+ 'menu' => 'Tag Album Aanmaken',
+ 'info' => 'Voer een titel in voor het nieuwe tag album:',
+ 'title' => 'titel',
+ 'set_tags' => 'Stel tags in om weer te geven',
+ 'create' => 'Tag Album Aanmaken',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Weet u zeker dat u het album “%s” en al de foto’s die het bevat wilt verwijderen?', 'confirmation_tag' => 'Weet u zeker dat u het album "%s" wilt verwijderen?', 'confirmation_multiple' => 'Weet u zeker dat u alle %d geselecteerde albums en al de foto’s die ze bevatten wilt verwijderen?',
+ 'warning' => 'Deze actie kan niet ongedaan worden gemaakt!',
+ 'delete' => 'Album en Foto’s Verwijderen',
+ ],
+ 'transfer' => [
+ 'query' => 'Eigendom van album overdragen aan',
+ 'confirmation' => 'Weet u zeker dat u het eigendom van album “%s” en al de foto’s die het bevat wilt overdragen aan "%s"?',
+ 'lost_access_warning' => 'Uw toegang tot dit album gaat verloren.',
+ 'warning' => 'Deze actie kan niet ongedaan worden gemaakt!',
+ 'transfer' => 'Eigendom van album en foto’s overdragen',
+ ],
+ 'rename' => [
+ 'photo' => 'Voer een nieuwe titel in voor deze foto:',
+ 'album' => 'Voer een nieuwe titel in voor dit album:',
+ 'rename' => 'Hernoemen',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Samenvoegen %s naar:',
+ 'merge_to_multiple' => 'Samenvoegen %d albums naar:',
+ 'no_albums' => 'Geen albums om naar samen te voegen.',
+ 'confirm' => 'Weet u zeker dat u het album “%1$s” in het album “%2$s” wilt samenvoegen?',
+ 'confirm_multiple' => 'Weet u zeker dat u alle geselecteerde albums in het album “%s” wilt samenvoegen?',
+ 'merge' => 'Albums Samenvoegen',
+ 'merged' => 'Album(s) samengevoegd naar %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'Dit album is beschermd met een wachtwoord. Voer het wachtwoord hieronder in om de foto’s van dit album te bekijken:',
+ 'password' => 'Wachtwoord',
+ 'unlock' => 'Ontgrendelen',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Voer uw tags voor deze foto in.',
+ 'question_multiple' => 'Voer uw tags voor alle %d geselecteerde foto’s in. Bestaande tags worden overschreven.',
+ 'no_tags' => 'Geen Tags',
+ 'set_tags' => 'Tags Instellen',
+ 'updated' => 'Tags bijgewerkt!',
+ 'tags_override_info' => 'Als dit niet is aangevinkt, worden de tags toegevoegd aan de bestaande tags van de foto.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'Geen albums om naar te kopiëren',
+ 'copy_to' => 'Kopieer %s naar:',
+ 'copy_to_multiple' => 'Kopieer %d foto’s naar:',
+ 'confirm' => 'Kopieer %s naar %s.',
+ 'confirm_multiple' => 'Kopieer %d foto’s naar %s.',
+ 'copy' => 'Kopiëren',
+ 'copied' => 'Foto(‘s) gekopieerd!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Weet u zeker dat u de foto “%s” wilt verwijderen?',
+ 'confirm_multiple' => 'Weet u zeker dat u alle %d geselecteerde foto’s wilt verwijderen?',
+ 'deleted' => 'Foto(‘s) verwijderd!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Verplaats %s naar:',
+ 'move_multiple' => 'Verplaats %d foto’s naar:',
+ 'confirm' => 'Verplaats %s naar %s.',
+ 'confirm_multiple' => 'Verplaats %d foto’s naar %s.',
+ 'moved' => 'Foto(‘s) verplaatst naar %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Selecteer gebruiker',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Selecteer album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authenticatie succesvol!',
+ 'error' => 'Oeps, het lijkt erop dat er iets mis is gegaan. Herlaad de site en probeer het opnieuw!',
+ ],
+ 'se' => [
+ 'available' => 'Beschikbaar in de Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Sessie verlopen',
+ 'message' => 'Uw sessie is verlopen.
Herlaad de pagina.',
+ 'reload' => 'Herlaad',
+ 'go_to_gallery' => 'Ga naar de Galerij',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/nl/duplicate-finder.php b/lang/nl/duplicate-finder.php
index 17a082a3167..52cfb76c9ee 100644
--- a/lang/nl/duplicate-finder.php
+++ b/lang/nl/duplicate-finder.php
@@ -1,26 +1,26 @@
'Onderhoud',
- 'intro' => 'Op deze pagina vindt u de dubbele foto’s die in uw database zijn gevonden.',
- 'found' => ' duplicaten gevonden!',
- 'invalid-search' => ' Minstens de checksum- of titelvoorwaarde moet zijn aangevinkt.',
- 'checksum-must-match' => 'Checksum moet overeenkomen.',
- 'title-must-match' => 'Titel moet overeenkomen.',
- 'must-be-in-same-album' => 'Moet in hetzelfde album zijn.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Foto',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'Geen origineel meer over.',
- 'keep-one' => 'U heeft alle duplicaten in deze groep geselecteerd. Kies alstublieft minstens één duplicaat om te behouden.',
- ],
- 'delete-selected' => 'Geselecteerde verwijderen',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Onderhoud',
+ 'intro' => 'Op deze pagina vindt u de dubbele foto’s die in uw database zijn gevonden.',
+ 'found' => ' duplicaten gevonden!',
+ 'invalid-search' => ' Minstens de checksum- of titelvoorwaarde moet zijn aangevinkt.',
+ 'checksum-must-match' => 'Checksum moet overeenkomen.',
+ 'title-must-match' => 'Titel moet overeenkomen.',
+ 'must-be-in-same-album' => 'Moet in hetzelfde album zijn.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Foto',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'Geen origineel meer over.',
+ 'keep-one' => 'U heeft alle duplicaten in deze groep geselecteerd. Kies alstublieft minstens één duplicaat om te behouden.',
+ ],
+ 'delete-selected' => 'Geselecteerde verwijderen',
];
diff --git a/lang/nl/fix-tree.php b/lang/nl/fix-tree.php
index 56c8f79fa9c..3e1614f93de 100644
--- a/lang/nl/fix-tree.php
+++ b/lang/nl/fix-tree.php
@@ -1,46 +1,46 @@
'Onderhoud',
- 'intro' => 'Deze pagina stelt u in staat om uw albums handmatig opnieuw te ordenen en te corrigeren.
Voor u wijzigingen aanbrengt, raden we u sterk aan om te lezen over Nested Set boomstructuren.',
- 'warning' => 'U kunt hier echt uw Lychee-installatie kapot maken, wijzig waarden op eigen risico.',
- 'help' => [
- 'header' => 'Hulp',
- 'hover' => 'Beweeg met de muis over id’s of titels om gerelateerde albums te markeren.',
- 'left' => 'Links',
- 'right' => 'Rechts',
- 'convenience' => 'Voor uw gemak kunt u met de knoppen en de waarden van %s en %s respectievelijk met +1 en -1 wijzigen met propagatie.',
- 'left-right-warn' => 'De en geven aan dat de waarde van %s (en respectievelijk %s) ergens is gedupliceerd.',
- 'parent-marked' => 'Gemarkeerde Ouder Id geeft aan dat de %s en %s niet voldoen aan de Nested Set boomstructuren. Wijzig ofwel de Ouder Id of de %s/%s waarden.',
- 'slowness' => 'Deze pagina zal traag zijn met een groot aantal albums.',
- ],
- 'buttons' => [
- 'reset' => 'Resetten',
- 'check' => 'Controleren',
- 'apply' => 'Toepassen',
- ],
- 'no-changes' => 'Geen wijzigingen om toe te passen.',
- 'table' => [
- 'title' => 'Titel',
- 'left' => 'Links',
- 'right' => 'Rechts',
- 'id' => 'Id',
- 'parent' => 'Ouder Id',
- ],
- 'errors' => [
- 'invalid' => 'Ongeldige boom!',
- 'invalid_details' => 'We passen dit niet toe omdat het gegarandeerd een gebroken staat is.',
- 'invalid_left' => 'Album %s heeft een ongeldige linkerwaarde.',
- 'invalid_right' => 'Album %s heeft een ongeldige rechterwaarde.',
- 'invalid_left_right' => 'Album %s heeft ongeldige linker/rechterwaarden. Links moet strikt kleiner zijn dan rechts: %s < %s.',
- 'duplicate_left' => 'Album %s heeft een dubbele linkerwaarde %s.',
- 'duplicate_right' => 'Album %s heeft een dubbele rechterwaarde %s.',
- 'parent' => 'Album %s heeft een onverwachte ouder id %s.',
- 'unknown' => 'Album %s heeft een onbekende fout.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Onderhoud',
+ 'intro' => 'Deze pagina stelt u in staat om uw albums handmatig opnieuw te ordenen en te corrigeren.
Voor u wijzigingen aanbrengt, raden we u sterk aan om te lezen over Nested Set boomstructuren.',
+ 'warning' => 'U kunt hier echt uw Lychee-installatie kapot maken, wijzig waarden op eigen risico.',
+ 'help' => [
+ 'header' => 'Hulp',
+ 'hover' => 'Beweeg met de muis over id’s of titels om gerelateerde albums te markeren.',
+ 'left' => 'Links',
+ 'right' => 'Rechts',
+ 'convenience' => 'Voor uw gemak kunt u met de knoppen en de waarden van %s en %s respectievelijk met +1 en -1 wijzigen met propagatie.',
+ 'left-right-warn' => 'De en geven aan dat de waarde van %s (en respectievelijk %s) ergens is gedupliceerd.',
+ 'parent-marked' => 'Gemarkeerde Ouder Id geeft aan dat de %s en %s niet voldoen aan de Nested Set boomstructuren. Wijzig ofwel de Ouder Id of de %s/%s waarden.',
+ 'slowness' => 'Deze pagina zal traag zijn met een groot aantal albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Resetten',
+ 'check' => 'Controleren',
+ 'apply' => 'Toepassen',
+ ],
+ 'no-changes' => 'Geen wijzigingen om toe te passen.',
+ 'table' => [
+ 'title' => 'Titel',
+ 'left' => 'Links',
+ 'right' => 'Rechts',
+ 'id' => 'Id',
+ 'parent' => 'Ouder Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Ongeldige boom!',
+ 'invalid_details' => 'We passen dit niet toe omdat het gegarandeerd een gebroken staat is.',
+ 'invalid_left' => 'Album %s heeft een ongeldige linkerwaarde.',
+ 'invalid_right' => 'Album %s heeft een ongeldige rechterwaarde.',
+ 'invalid_left_right' => 'Album %s heeft ongeldige linker/rechterwaarden. Links moet strikt kleiner zijn dan rechts: %s < %s.',
+ 'duplicate_left' => 'Album %s heeft een dubbele linkerwaarde %s.',
+ 'duplicate_right' => 'Album %s heeft een dubbele rechterwaarde %s.',
+ 'parent' => 'Album %s heeft een onverwachte ouder id %s.',
+ 'unknown' => 'Album %s heeft een onbekende fout.',
+ ],
];
diff --git a/lang/nl/flow.php b/lang/nl/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/nl/flow.php
+++ b/lang/nl/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/nl/gallery.php b/lang/nl/gallery.php
index c428dccb0d2..7f7860750df 100644
--- a/lang/nl/gallery.php
+++ b/lang/nl/gallery.php
@@ -1,357 +1,357 @@
'Galerij',
- 'smart_albums' => 'Slimme albums',
- 'pinned_albums' => 'Vastgepinde albums',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favorieten',
- 'raw' => 'RAW',
- 'original' => 'Origineel',
- 'medium' => 'Middelgroot',
- 'medium_hidpi' => 'Middelgroot HiDPI',
- 'small' => 'Miniatuur',
- 'small_hidpi' => 'Miniatuur HiDPI',
- 'thumb' => 'Vierkante miniatuur',
- 'thumb_hidpi' => 'Vierkante miniatuur HiDPI',
- 'placeholder' => 'Laagkwaliteitsafbeelding Placeholder',
- 'thumbnail' => 'Foto miniatuur',
- 'live_video' => 'Videodeel van live-foto',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Selecteer de beeldresolutie voor het album-ZIP-archief. Als een foto de geselecteerde variant niet heeft, wordt het origineel gebruikt.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Cameradatum',
- 'album_reserved' => 'Alle rechten voorbehouden',
- 'map' => [
- 'error_gpx' => 'Fout bij het laden van GPX-bestand',
- 'osm_contributors' => 'OpenStreetMap-bijdragers',
- ],
- 'search' => [
- 'title' => 'Zoeken',
- 'no_results' => 'Niets komt overeen met uw zoekopdracht.',
- 'searchbox' => 'Zoeken…',
- 'minimum_chars' => 'Minimaal %s tekens vereist.',
- 'photos' => 'Foto’s (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Ongesorteerd',
- 'highlighted' => 'Gemarkeerd',
- 'recent' => 'Recent',
- 'public' => 'Openbaar',
- 'on_this_day' => 'Op deze dag',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Vierkante miniaturen',
- 'justified' => 'Met aspect, uitgelijnd',
- 'masonry' => 'Met aspect, metselwerk',
- 'grid' => 'Met aspect, raster',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Lijstweergave',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'Geen',
- 'exif' => 'EXIF-gegevens',
- 'description' => 'Beschrijving',
- 'date' => 'Datum genomen',
- ],
- 'timeline' => [
- 'title' => 'Tijdlijn',
- 'load_previous' => 'Vorige laden',
- 'default' => 'standaard',
- 'disabled' => 'uitgeschakeld',
- 'year' => 'Jaar',
- 'month' => 'Maand',
- 'day' => 'Dag',
- 'hour' => 'Uur',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Foto’s',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Niets te zien hier',
- 'upload' => 'Foto’s uploaden',
- 'tabs' => [
- 'about' => 'Over Album',
- 'share' => 'Deel Album',
- 'embed' => 'Embed Album',
- 'move' => 'Verplaats Album',
- 'shop' => 'Shop Management',
- 'danger' => 'GEVAARZONE',
- ],
- 'hero' => [
- 'created' => 'Gemaakt',
- 'copyright' => 'Auteursrecht',
- 'subalbums' => 'Subalbums',
- 'images' => 'Foto’s',
- 'download' => 'Download Album',
- 'share' => 'Deel Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistieken beschikbaar in de Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Aantal bezoeken',
- 'number_of_downloads' => 'Aantal downloads',
- 'number_of_shares' => 'Aantal gedeeld',
- 'lens' => 'Lens',
- 'shutter' => 'Sluitertijd',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Diafragma',
- 'no_data' => 'Geen gegevens',
- ],
- 'properties' => [
- 'title' => 'Titel',
- 'slug' => 'Slug (vriendelijke URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Beschrijving',
- 'photo_ordering' => 'Foto’s sorteren op',
- 'children_ordering' => 'Albums sorteren op',
- 'asc/desc' => 'oplopend/aflopend',
- 'header' => 'Stel albumkop in',
- 'compact_header' => 'Gebruik compacte kop',
- 'license' => 'Stel licentie in',
- 'copyright' => 'Stel auteursrecht in',
- 'aspect_ratio' => 'Stel album miniatuurverhouding in',
- 'album_timeline' => 'Stel album tijdlijnmodus in',
- 'photo_timeline' => 'Stel foto tijdlijnmodus in',
- 'layout' => 'Stel foto-indeling in',
- 'show_tags' => 'Stel tags in om te tonen',
- 'tags_required' => 'Tags zijn vereist.',
- 'all_tags_must_match' => 'Alle tags moeten overeenkomen.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Ster',
- 'unhighlight' => 'Ster verwijderen',
- 'set_album_header' => 'Instellen als albumkop',
- 'move' => 'Verplaatsen',
- 'delete' => 'Verwijderen',
- 'header_set' => 'Kop ingesteld',
- ],
- 'details' => [
- 'exif_data' => 'EXIF-gegevens',
- 'about' => 'Over',
- 'basics' => 'Basisgegevens',
- 'title' => 'Titel',
- 'uploaded' => 'Geüpload',
- 'description' => 'Beschrijving',
- 'license' => 'Licentie',
- 'reuse' => 'Hergebruik',
- 'latitude' => 'Breedtegraad',
- 'longitude' => 'Lengtegraad',
- 'altitude' => 'Hoogte',
- 'location' => 'Locatie',
- 'image' => 'Afbeelding',
- 'video' => 'Video',
- 'size' => 'Grootte',
- 'format' => 'Formaat',
- 'resolution' => 'Resolutie',
- 'duration' => 'Duur',
- 'fps' => 'Frames per seconde',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Vastgelegd',
- 'make' => 'Merk',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Sluitertijd',
- 'aperture' => 'Diafragma',
- 'focal' => 'Brandpuntsafstand',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistieken',
- 'number_of_visits' => 'Aantal bezoeken',
- 'number_of_downloads' => 'Aantal downloads',
- 'number_of_shares' => 'Aantal gedeeld',
- 'number_of_favourites' => 'Aantal favorieten',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Titel instellen',
- 'set_description' => 'Beschrijving instellen',
- 'set_license' => 'Licentie instellen',
- 'no_tags' => 'Geen tags',
- 'set_tags' => 'Tags instellen',
- 'set_created_at' => 'Uploaddatum instellen',
- 'set_taken_at' => 'Opnamedatum instellen',
- 'set_taken_at_info' => 'Wanneer ingesteld, wordt een ster %s weergegeven om aan te geven dat deze datum niet de originele EXIF-datum is.
Vink het selectievakje uit en sla op om terug te keren naar de originele datum.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Gevoelige inhoud',
- 'description' => 'Dit album bevat gevoelige inhoud die sommige mensen aanstootgevend of verontrustend kunnen vinden.',
- 'consent' => 'Tik om toestemming te geven.',
- ],
- 'menus' => [
- 'highlight' => 'Ster',
- 'unhighlight' => 'Ster verwijderen',
- 'highlight_all' => 'Alles sterren',
- 'unhighlight_all' => 'Sterren verwijderen',
- 'tag' => 'Tag',
- 'tag_all' => 'Alle tags',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Stel albumhoes in',
- 'remove_header' => 'Verwijder albumkop',
- 'set_header' => 'Stel albumkop in',
- 'copy_to' => 'Kopiëren naar …',
- 'copy_all_to' => 'Alles kopiëren naar …',
- 'rename' => 'Hernoemen',
- 'move' => 'Verplaatsen',
- 'move_all' => 'Alles verplaatsen',
- 'pin' => 'Vastpinnen',
- 'unpin' => 'Losmaken',
- 'delete' => 'Verwijderen',
- 'delete_all' => 'Alles verwijderen',
- 'download' => 'Downloaden',
- 'download_all' => 'Alles downloaden',
- 'merge' => 'Samenvoegen',
- 'merge_all' => 'Alles samenvoegen',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Foto uploaden',
- 'take_photo' => 'Foto nemen',
- 'import_link' => 'Importeer van link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Importeer van Dropbox',
- 'new_album' => 'Nieuw album',
- 'new_tag_album' => 'Nieuw tag-album',
- 'upload_track' => 'Track uploaden',
- 'delete_track' => 'Track verwijderen',
- ],
- 'sort' => [
- 'photo_select_1' => 'Uploadtijd',
- 'photo_select_2' => 'Opnamedatum',
- 'photo_select_3' => 'Titel (Nat)',
- 'photo_select_4' => 'Beschrijving (Nat)',
- 'photo_select_3_strict' => 'Titel (Lexico)',
- 'photo_select_4_strict' => 'Beschrijving (Lexico)',
- 'photo_select_6' => 'Markering',
- 'photo_select_7' => 'Fotoformaat',
- 'ascending' => 'Oplopend',
- 'descending' => 'Aflopend',
- 'album_select_1' => 'Aanmaaktijd',
- 'album_select_2' => 'Titel (Nat)',
- 'album_select_3' => 'Beschrijving (Nat)',
- 'album_select_2_strict' => 'Titel (Lexico)',
- 'album_select_3_strict' => 'Beschrijving (Lexico)',
- 'album_select_5' => 'Nieuwste opnamedatum',
- 'album_select_6' => 'Oudste opnamedatum',
- ],
- 'albums_protection' => [
- 'private' => 'Privé',
- 'public' => 'Openbaar',
- 'inherit_from_parent' => 'Overnemen van ouder',
- 'public_but_hidden' => 'openbaar maar verborgen',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Galerij',
+ 'smart_albums' => 'Slimme albums',
+ 'pinned_albums' => 'Vastgepinde albums',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favorieten',
+ 'raw' => 'RAW',
+ 'original' => 'Origineel',
+ 'medium' => 'Middelgroot',
+ 'medium_hidpi' => 'Middelgroot HiDPI',
+ 'small' => 'Miniatuur',
+ 'small_hidpi' => 'Miniatuur HiDPI',
+ 'thumb' => 'Vierkante miniatuur',
+ 'thumb_hidpi' => 'Vierkante miniatuur HiDPI',
+ 'placeholder' => 'Laagkwaliteitsafbeelding Placeholder',
+ 'thumbnail' => 'Foto miniatuur',
+ 'live_video' => 'Videodeel van live-foto',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Selecteer de beeldresolutie voor het album-ZIP-archief. Als een foto de geselecteerde variant niet heeft, wordt het origineel gebruikt.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Cameradatum',
+ 'album_reserved' => 'Alle rechten voorbehouden',
+ 'map' => [
+ 'error_gpx' => 'Fout bij het laden van GPX-bestand',
+ 'osm_contributors' => 'OpenStreetMap-bijdragers',
+ ],
+ 'search' => [
+ 'title' => 'Zoeken',
+ 'no_results' => 'Niets komt overeen met uw zoekopdracht.',
+ 'searchbox' => 'Zoeken…',
+ 'minimum_chars' => 'Minimaal %s tekens vereist.',
+ 'photos' => 'Foto’s (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Ongesorteerd',
+ 'highlighted' => 'Gemarkeerd',
+ 'recent' => 'Recent',
+ 'public' => 'Openbaar',
+ 'on_this_day' => 'Op deze dag',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Vierkante miniaturen',
+ 'justified' => 'Met aspect, uitgelijnd',
+ 'masonry' => 'Met aspect, metselwerk',
+ 'grid' => 'Met aspect, raster',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Lijstweergave',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'Geen',
+ 'exif' => 'EXIF-gegevens',
+ 'description' => 'Beschrijving',
+ 'date' => 'Datum genomen',
+ ],
+ 'timeline' => [
+ 'title' => 'Tijdlijn',
+ 'load_previous' => 'Vorige laden',
+ 'default' => 'standaard',
+ 'disabled' => 'uitgeschakeld',
+ 'year' => 'Jaar',
+ 'month' => 'Maand',
+ 'day' => 'Dag',
+ 'hour' => 'Uur',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Foto’s',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Niets te zien hier',
+ 'upload' => 'Foto’s uploaden',
+ 'tabs' => [
+ 'about' => 'Over Album',
+ 'share' => 'Deel Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Verplaats Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'GEVAARZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Gemaakt',
+ 'copyright' => 'Auteursrecht',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Foto’s',
+ 'download' => 'Download Album',
+ 'share' => 'Deel Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistieken beschikbaar in de Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Aantal bezoeken',
+ 'number_of_downloads' => 'Aantal downloads',
+ 'number_of_shares' => 'Aantal gedeeld',
+ 'lens' => 'Lens',
+ 'shutter' => 'Sluitertijd',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Diafragma',
+ 'no_data' => 'Geen gegevens',
+ ],
+ 'properties' => [
+ 'title' => 'Titel',
+ 'slug' => 'Slug (vriendelijke URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Beschrijving',
+ 'photo_ordering' => 'Foto’s sorteren op',
+ 'children_ordering' => 'Albums sorteren op',
+ 'asc/desc' => 'oplopend/aflopend',
+ 'header' => 'Stel albumkop in',
+ 'compact_header' => 'Gebruik compacte kop',
+ 'license' => 'Stel licentie in',
+ 'copyright' => 'Stel auteursrecht in',
+ 'aspect_ratio' => 'Stel album miniatuurverhouding in',
+ 'album_timeline' => 'Stel album tijdlijnmodus in',
+ 'photo_timeline' => 'Stel foto tijdlijnmodus in',
+ 'layout' => 'Stel foto-indeling in',
+ 'show_tags' => 'Stel tags in om te tonen',
+ 'tags_required' => 'Tags zijn vereist.',
+ 'all_tags_must_match' => 'Alle tags moeten overeenkomen.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Ster',
+ 'unhighlight' => 'Ster verwijderen',
+ 'set_album_header' => 'Instellen als albumkop',
+ 'move' => 'Verplaatsen',
+ 'delete' => 'Verwijderen',
+ 'header_set' => 'Kop ingesteld',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF-gegevens',
+ 'about' => 'Over',
+ 'basics' => 'Basisgegevens',
+ 'title' => 'Titel',
+ 'uploaded' => 'Geüpload',
+ 'description' => 'Beschrijving',
+ 'license' => 'Licentie',
+ 'reuse' => 'Hergebruik',
+ 'latitude' => 'Breedtegraad',
+ 'longitude' => 'Lengtegraad',
+ 'altitude' => 'Hoogte',
+ 'location' => 'Locatie',
+ 'image' => 'Afbeelding',
+ 'video' => 'Video',
+ 'size' => 'Grootte',
+ 'format' => 'Formaat',
+ 'resolution' => 'Resolutie',
+ 'duration' => 'Duur',
+ 'fps' => 'Frames per seconde',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Vastgelegd',
+ 'make' => 'Merk',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Sluitertijd',
+ 'aperture' => 'Diafragma',
+ 'focal' => 'Brandpuntsafstand',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistieken',
+ 'number_of_visits' => 'Aantal bezoeken',
+ 'number_of_downloads' => 'Aantal downloads',
+ 'number_of_shares' => 'Aantal gedeeld',
+ 'number_of_favourites' => 'Aantal favorieten',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Titel instellen',
+ 'set_description' => 'Beschrijving instellen',
+ 'set_license' => 'Licentie instellen',
+ 'no_tags' => 'Geen tags',
+ 'set_tags' => 'Tags instellen',
+ 'set_created_at' => 'Uploaddatum instellen',
+ 'set_taken_at' => 'Opnamedatum instellen',
+ 'set_taken_at_info' => 'Wanneer ingesteld, wordt een ster %s weergegeven om aan te geven dat deze datum niet de originele EXIF-datum is.
Vink het selectievakje uit en sla op om terug te keren naar de originele datum.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Gevoelige inhoud',
+ 'description' => 'Dit album bevat gevoelige inhoud die sommige mensen aanstootgevend of verontrustend kunnen vinden.',
+ 'consent' => 'Tik om toestemming te geven.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Ster',
+ 'unhighlight' => 'Ster verwijderen',
+ 'highlight_all' => 'Alles sterren',
+ 'unhighlight_all' => 'Sterren verwijderen',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Alle tags',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Stel albumhoes in',
+ 'remove_header' => 'Verwijder albumkop',
+ 'set_header' => 'Stel albumkop in',
+ 'copy_to' => 'Kopiëren naar …',
+ 'copy_all_to' => 'Alles kopiëren naar …',
+ 'rename' => 'Hernoemen',
+ 'move' => 'Verplaatsen',
+ 'move_all' => 'Alles verplaatsen',
+ 'pin' => 'Vastpinnen',
+ 'unpin' => 'Losmaken',
+ 'delete' => 'Verwijderen',
+ 'delete_all' => 'Alles verwijderen',
+ 'download' => 'Downloaden',
+ 'download_all' => 'Alles downloaden',
+ 'merge' => 'Samenvoegen',
+ 'merge_all' => 'Alles samenvoegen',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Foto uploaden',
+ 'take_photo' => 'Foto nemen',
+ 'import_link' => 'Importeer van link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Importeer van Dropbox',
+ 'new_album' => 'Nieuw album',
+ 'new_tag_album' => 'Nieuw tag-album',
+ 'upload_track' => 'Track uploaden',
+ 'delete_track' => 'Track verwijderen',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Uploadtijd',
+ 'photo_select_2' => 'Opnamedatum',
+ 'photo_select_3' => 'Titel (Nat)',
+ 'photo_select_4' => 'Beschrijving (Nat)',
+ 'photo_select_3_strict' => 'Titel (Lexico)',
+ 'photo_select_4_strict' => 'Beschrijving (Lexico)',
+ 'photo_select_6' => 'Markering',
+ 'photo_select_7' => 'Fotoformaat',
+ 'ascending' => 'Oplopend',
+ 'descending' => 'Aflopend',
+ 'album_select_1' => 'Aanmaaktijd',
+ 'album_select_2' => 'Titel (Nat)',
+ 'album_select_3' => 'Beschrijving (Nat)',
+ 'album_select_2_strict' => 'Titel (Lexico)',
+ 'album_select_3_strict' => 'Beschrijving (Lexico)',
+ 'album_select_5' => 'Nieuwste opnamedatum',
+ 'album_select_6' => 'Oudste opnamedatum',
+ ],
+ 'albums_protection' => [
+ 'private' => 'Privé',
+ 'public' => 'Openbaar',
+ 'inherit_from_parent' => 'Overnemen van ouder',
+ 'public_but_hidden' => 'openbaar maar verborgen',
+ ],
];
diff --git a/lang/nl/import_from_server.php b/lang/nl/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/nl/import_from_server.php
+++ b/lang/nl/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/nl/jobs.php b/lang/nl/jobs.php
index 6ff225766c0..1502e8a9e60 100644
--- a/lang/nl/jobs.php
+++ b/lang/nl/jobs.php
@@ -1,15 +1,15 @@
'Taken',
- 'no_data' => 'Er zijn nog geen taken uitgevoerd.',
- 'ready' => 'Klaar',
- 'success' => 'Succes',
- 'failure' => 'Mislukt',
- 'started' => 'Gestart',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Taken',
+ 'no_data' => 'Er zijn nog geen taken uitgevoerd.',
+ 'ready' => 'Klaar',
+ 'success' => 'Succes',
+ 'failure' => 'Mislukt',
+ 'started' => 'Gestart',
];
diff --git a/lang/nl/landing.php b/lang/nl/landing.php
index a73baf292ad..54b3cacc71b 100644
--- a/lang/nl/landing.php
+++ b/lang/nl/landing.php
@@ -1,13 +1,13 @@
'Galerij',
- 'access_gallery' => 'Naar de galerij',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'Alle afbeeldingen op deze website zijn auteursrechtelijk beschermd door %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Galerij',
+ 'access_gallery' => 'Naar de galerij',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'Alle afbeeldingen op deze website zijn auteursrechtelijk beschermd door %1$s © %2$s',
];
diff --git a/lang/nl/left-menu.php b/lang/nl/left-menu.php
index 013743f359f..95286fc9d79 100644
--- a/lang/nl/left-menu.php
+++ b/lang/nl/left-menu.php
@@ -1,28 +1,28 @@
'Terug naar galerij',
- 'login' => 'Inloggen',
- 'frame' => 'Frame',
- 'map' => 'Kaart',
- 'embed_stream' => 'Fotostroom Insluiten',
- 'admin' => 'Beheer',
- 'clockwork' => 'Clockwork-app',
- 'logs' => 'Toon logs',
- 'jobs' => 'Toon taakgeschiedenis',
- 'user' => 'Gebruiker',
- 'sign_out' => 'Uitloggen',
- 'about' => 'Over',
- 'changelog' => 'Wijzigingslogboek',
- 'api' => 'API-documentatie',
- 'source_code' => 'Broncode',
- 'support' => 'Ondersteuning',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Terug naar galerij',
+ 'login' => 'Inloggen',
+ 'frame' => 'Frame',
+ 'map' => 'Kaart',
+ 'embed_stream' => 'Fotostroom Insluiten',
+ 'admin' => 'Beheer',
+ 'clockwork' => 'Clockwork-app',
+ 'logs' => 'Toon logs',
+ 'jobs' => 'Toon taakgeschiedenis',
+ 'user' => 'Gebruiker',
+ 'sign_out' => 'Uitloggen',
+ 'about' => 'Over',
+ 'changelog' => 'Wijzigingslogboek',
+ 'api' => 'API-documentatie',
+ 'source_code' => 'Broncode',
+ 'support' => 'Ondersteuning',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/nl/maintenance.php b/lang/nl/maintenance.php
index 745ce18b4a8..6907b8c7feb 100644
--- a/lang/nl/maintenance.php
+++ b/lang/nl/maintenance.php
@@ -1,103 +1,103 @@
'Onderhoud',
- 'description' => 'Op deze pagina vindt u alle benodigde acties om uw Lychee-installatie soepel en netjes te laten werken.',
- 'cleaning' => [
- 'title' => 'Opschonen %s',
- 'result' => '%s verwijderd.',
- 'description' => 'Verwijder alle inhoud van %s',
- 'button' => 'Opschonen',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicaten',
- 'description' => 'Deze module telt mogelijke duplicaten tussen foto’s.',
- 'duplicates-all' => 'Duplicaten over alle albums',
- 'duplicates-title' => 'Titelduplicaten per album',
- 'duplicates-per-album' => 'Duplicaten per album',
- 'show' => 'Toon duplicaten',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Taakgeschiedenis herstellen',
- 'description' => 'Markeer taken met status %s of %s als %s.',
- 'button' => 'Herstel taakgeschiedenis',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Ontbrekende %s',
- 'description' => '%d %s gevonden die gegenereerd kunnen worden.',
- 'button' => 'Genereer!',
- 'success' => 'Succesvol %d %s gegenereerd.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'Bestandsgroottes ontbreken',
- 'description' => '%d kleine varianten zonder bestandsgrootte gevonden.',
- 'button' => 'Gegevens ophalen!',
- 'success' => 'Succesvol de groottes van %d kleine varianten berekend.',
- ],
- 'fix-tree' => [
- 'title' => 'Boomstatistieken',
- 'Oddness' => 'Onregelmatigheden',
- 'Duplicates' => 'Duplicaten',
- 'Wrong parents' => 'Verkeerde ouders',
- 'Missing parents' => 'Ontbrekende ouders',
- 'button' => 'Herstel boom',
- ],
- 'optimize' => [
- 'title' => 'Database optimaliseren',
- 'description' => 'Als u vertragingen in uw installatie opmerkt, kan dit komen doordat uw database niet alle benodigde indexen heeft.',
- 'button' => 'Optimaliseer database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Controleer op updates',
- 'update-button' => 'Bijwerken',
- 'no-pending-updates' => 'Geen updates in behandeling.',
- ],
- 'missing-palettes' => [
- 'title' => 'Ontbrekende paletten',
- 'description' => '%d ontbrekende paletten gevonden.',
- 'button' => 'Ontbrekende aanmaken',
- ],
- 'statistics-check' => [
- 'title' => 'Controle op statistische integriteit',
- 'missing_photos' => '%d fotostatistieken ontbreken.',
- 'missing_albums' => '%d albumstatistieken ontbreken.',
- 'button' => 'Maak ontbrekende aan',
- ],
- 'flush-cache' => [
- 'title' => 'Cache legen',
- 'description' => 'Leeg de cache van elke gebruiker om invalidatieproblemen op te lossen.',
- 'button' => 'Leeg cache',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Onderhoud',
+ 'description' => 'Op deze pagina vindt u alle benodigde acties om uw Lychee-installatie soepel en netjes te laten werken.',
+ 'cleaning' => [
+ 'title' => 'Opschonen %s',
+ 'result' => '%s verwijderd.',
+ 'description' => 'Verwijder alle inhoud van %s',
+ 'button' => 'Opschonen',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicaten',
+ 'description' => 'Deze module telt mogelijke duplicaten tussen foto’s.',
+ 'duplicates-all' => 'Duplicaten over alle albums',
+ 'duplicates-title' => 'Titelduplicaten per album',
+ 'duplicates-per-album' => 'Duplicaten per album',
+ 'show' => 'Toon duplicaten',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Taakgeschiedenis herstellen',
+ 'description' => 'Markeer taken met status %s of %s als %s.',
+ 'button' => 'Herstel taakgeschiedenis',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Ontbrekende %s',
+ 'description' => '%d %s gevonden die gegenereerd kunnen worden.',
+ 'button' => 'Genereer!',
+ 'success' => 'Succesvol %d %s gegenereerd.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'Bestandsgroottes ontbreken',
+ 'description' => '%d kleine varianten zonder bestandsgrootte gevonden.',
+ 'button' => 'Gegevens ophalen!',
+ 'success' => 'Succesvol de groottes van %d kleine varianten berekend.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Boomstatistieken',
+ 'Oddness' => 'Onregelmatigheden',
+ 'Duplicates' => 'Duplicaten',
+ 'Wrong parents' => 'Verkeerde ouders',
+ 'Missing parents' => 'Ontbrekende ouders',
+ 'button' => 'Herstel boom',
+ ],
+ 'optimize' => [
+ 'title' => 'Database optimaliseren',
+ 'description' => 'Als u vertragingen in uw installatie opmerkt, kan dit komen doordat uw database niet alle benodigde indexen heeft.',
+ 'button' => 'Optimaliseer database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Controleer op updates',
+ 'update-button' => 'Bijwerken',
+ 'no-pending-updates' => 'Geen updates in behandeling.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Ontbrekende paletten',
+ 'description' => '%d ontbrekende paletten gevonden.',
+ 'button' => 'Ontbrekende aanmaken',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Controle op statistische integriteit',
+ 'missing_photos' => '%d fotostatistieken ontbreken.',
+ 'missing_albums' => '%d albumstatistieken ontbreken.',
+ 'button' => 'Maak ontbrekende aan',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Cache legen',
+ 'description' => 'Leeg de cache van elke gebruiker om invalidatieproblemen op te lossen.',
+ 'button' => 'Leeg cache',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/nl/moderation.php b/lang/nl/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/nl/moderation.php
+++ b/lang/nl/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/nl/profile.php b/lang/nl/profile.php
index c67ca06233a..96432b933b1 100644
--- a/lang/nl/profile.php
+++ b/lang/nl/profile.php
@@ -1,80 +1,80 @@
'Profiel',
- 'login' => [
- 'header' => 'Profiel',
- 'enter_current_password' => 'Voer uw huidige wachtwoord in:',
- 'current_password' => 'Huidig wachtwoord',
- 'credentials_update' => 'Uw inloggegevens worden gewijzigd in het volgende:',
- 'username' => 'Gebruikersnaam',
- 'new_password' => 'Nieuw wachtwoord',
- 'confirm_new_password' => 'Bevestig nieuw wachtwoord',
- 'email_instruction' => 'Voeg hieronder uw e-mailadres toe om e-mailmeldingen te ontvangen. Om geen e-mails meer te ontvangen, verwijdert u eenvoudig uw e-mailadres hieronder.',
- 'email' => 'E-mail',
- 'change' => 'Inloggegevens wijzigen',
- 'api_token' => 'API-token …',
- 'missing_fields' => 'Ontbrekende velden',
- 'ldap_managed' => 'Gebruikerslogingegevens worden beheerd door LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Gebruikersnaam bestaat al.',
- 'password_mismatch' => 'De wachtwoorden komen niet overeen.',
- 'signup' => 'Aanmelden',
- 'error' => 'Er is een fout opgetreden bij het registreren van uw account.',
- 'success' => 'Uw account is succesvol aangemaakt.',
- ],
- 'token' => [
- 'unavailable' => 'U heeft dit token al bekeken.',
- 'no_data' => 'Er zijn geen API-tokens gegenereerd.',
- 'disable' => 'Uitschakelen',
- 'disabled' => 'Token uitgeschakeld',
- 'warning' => 'Dit token wordt niet opnieuw weergegeven. Kopieer het en bewaar het op een veilige plaats.',
- 'reset' => 'Token opnieuw instellen',
- 'create' => 'Nieuw token aanmaken',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is niet beschikbaar',
- 'setup_env' => 'Stel de referenties in uw .env in',
- 'token_registered' => '%s token geregistreerd.',
- 'setup' => 'Stel %s in',
- 'reset' => 'resetten',
- 'credential_deleted' => 'Referentie verwijderd!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'Dit biedt alleen de mogelijkheid om WebAuthn te gebruiken om te authenticeren in plaats van gebruikersnaam en wachtwoord.',
- 'empty' => 'Referentielijst is leeg!',
- 'not_secure' => 'Omgeving niet beveiligd. U2F niet beschikbaar.',
- 'new' => 'Nieuw apparaat registreren.',
- 'credential_deleted' => 'Referentie verwijderd!',
- 'credential_updated' => 'Referentie bijgewerkt!',
- 'credential_registred' => 'Registratie succesvol!',
- '5_chars' => 'Minimaal 5 tekens.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profiel',
+ 'login' => [
+ 'header' => 'Profiel',
+ 'enter_current_password' => 'Voer uw huidige wachtwoord in:',
+ 'current_password' => 'Huidig wachtwoord',
+ 'credentials_update' => 'Uw inloggegevens worden gewijzigd in het volgende:',
+ 'username' => 'Gebruikersnaam',
+ 'new_password' => 'Nieuw wachtwoord',
+ 'confirm_new_password' => 'Bevestig nieuw wachtwoord',
+ 'email_instruction' => 'Voeg hieronder uw e-mailadres toe om e-mailmeldingen te ontvangen. Om geen e-mails meer te ontvangen, verwijdert u eenvoudig uw e-mailadres hieronder.',
+ 'email' => 'E-mail',
+ 'change' => 'Inloggegevens wijzigen',
+ 'api_token' => 'API-token …',
+ 'missing_fields' => 'Ontbrekende velden',
+ 'ldap_managed' => 'Gebruikerslogingegevens worden beheerd door LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Gebruikersnaam bestaat al.',
+ 'password_mismatch' => 'De wachtwoorden komen niet overeen.',
+ 'signup' => 'Aanmelden',
+ 'error' => 'Er is een fout opgetreden bij het registreren van uw account.',
+ 'success' => 'Uw account is succesvol aangemaakt.',
+ ],
+ 'token' => [
+ 'unavailable' => 'U heeft dit token al bekeken.',
+ 'no_data' => 'Er zijn geen API-tokens gegenereerd.',
+ 'disable' => 'Uitschakelen',
+ 'disabled' => 'Token uitgeschakeld',
+ 'warning' => 'Dit token wordt niet opnieuw weergegeven. Kopieer het en bewaar het op een veilige plaats.',
+ 'reset' => 'Token opnieuw instellen',
+ 'create' => 'Nieuw token aanmaken',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is niet beschikbaar',
+ 'setup_env' => 'Stel de referenties in uw .env in',
+ 'token_registered' => '%s token geregistreerd.',
+ 'setup' => 'Stel %s in',
+ 'reset' => 'resetten',
+ 'credential_deleted' => 'Referentie verwijderd!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'Dit biedt alleen de mogelijkheid om WebAuthn te gebruiken om te authenticeren in plaats van gebruikersnaam en wachtwoord.',
+ 'empty' => 'Referentielijst is leeg!',
+ 'not_secure' => 'Omgeving niet beveiligd. U2F niet beschikbaar.',
+ 'new' => 'Nieuw apparaat registreren.',
+ 'credential_deleted' => 'Referentie verwijderd!',
+ 'credential_updated' => 'Referentie bijgewerkt!',
+ 'credential_registred' => 'Registratie succesvol!',
+ '5_chars' => 'Minimaal 5 tekens.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/nl/renamer.php b/lang/nl/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/nl/renamer.php
+++ b/lang/nl/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/nl/sharing.php b/lang/nl/sharing.php
index fbdcaa94948..7600a9b5d1c 100644
--- a/lang/nl/sharing.php
+++ b/lang/nl/sharing.php
@@ -1,39 +1,39 @@
'Delen',
- 'info' => 'Deze pagina geeft een overzicht van en de mogelijkheid om de delingsrechten die aan albums zijn gekoppeld te bewerken.',
- 'album_title' => 'Albumtitel',
- 'username' => 'Gebruikersnaam',
- 'no_data' => 'De delingslijst is leeg.',
- 'share' => 'Delen',
- 'add_new_access_permission' => 'Voeg een nieuwe toegangsrechten toe',
- 'permission_deleted' => 'Toestemming verwijderd!',
- 'permission_created' => 'Toestemming aangemaakt!',
- 'propagate' => 'Propageren',
- 'propagate_help' => 'Propageren van de huidige toegangsrechten naar alle afstammelingen
(subalbums en hun respectieve subalbums, enz.)',
- 'propagate_default' => 'Standaard worden bestaande rechten (album-gebruiker)
bijgewerkt en de ontbrekende toegevoegd.
Aanvullende rechten die niet in deze lijst staan, blijven onaangeroerd.',
- 'propagate_overwrite' => 'Overschrijf de bestaande rechten in plaats van bij te werken.
Dit verwijdert ook alle rechten die niet in deze lijst staan.',
- 'propagate_warning' => 'Deze actie kan niet ongedaan worden gemaakt.',
- 'permission_overwritten' => 'Propageren succesvol! Toestemming overschreven!',
- 'permission_updated' => 'Propageren succesvol! Toestemming bijgewerkt!',
- 'bluk_share' => 'Bulk delen',
- 'bulk_share_instr' => 'Selecteer meerdere albums en gebruikers om mee te delen.',
- 'albums' => 'Albums',
- 'users' => 'Gebruikers',
- 'no_users' => 'Geen selecteerbare gebruikers.',
- 'no_albums' => 'Geen selecteerbare albums.',
- 'grants' => [
- 'read' => 'Geeft leesrechten',
- 'original' => 'Geeft toegang tot originele foto',
- 'download' => 'Geeft downloadrechten',
- 'upload' => 'Geeft uploadrechten',
- 'edit' => 'Geeft bewerkingsrechten',
- 'delete' => 'Geeft verwijderrechten',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Delen',
+ 'info' => 'Deze pagina geeft een overzicht van en de mogelijkheid om de delingsrechten die aan albums zijn gekoppeld te bewerken.',
+ 'album_title' => 'Albumtitel',
+ 'username' => 'Gebruikersnaam',
+ 'no_data' => 'De delingslijst is leeg.',
+ 'share' => 'Delen',
+ 'add_new_access_permission' => 'Voeg een nieuwe toegangsrechten toe',
+ 'permission_deleted' => 'Toestemming verwijderd!',
+ 'permission_created' => 'Toestemming aangemaakt!',
+ 'propagate' => 'Propageren',
+ 'propagate_help' => 'Propageren van de huidige toegangsrechten naar alle afstammelingen
(subalbums en hun respectieve subalbums, enz.)',
+ 'propagate_default' => 'Standaard worden bestaande rechten (album-gebruiker)
bijgewerkt en de ontbrekende toegevoegd.
Aanvullende rechten die niet in deze lijst staan, blijven onaangeroerd.',
+ 'propagate_overwrite' => 'Overschrijf de bestaande rechten in plaats van bij te werken.
Dit verwijdert ook alle rechten die niet in deze lijst staan.',
+ 'propagate_warning' => 'Deze actie kan niet ongedaan worden gemaakt.',
+ 'permission_overwritten' => 'Propageren succesvol! Toestemming overschreven!',
+ 'permission_updated' => 'Propageren succesvol! Toestemming bijgewerkt!',
+ 'bluk_share' => 'Bulk delen',
+ 'bulk_share_instr' => 'Selecteer meerdere albums en gebruikers om mee te delen.',
+ 'albums' => 'Albums',
+ 'users' => 'Gebruikers',
+ 'no_users' => 'Geen selecteerbare gebruikers.',
+ 'no_albums' => 'Geen selecteerbare albums.',
+ 'grants' => [
+ 'read' => 'Geeft leesrechten',
+ 'original' => 'Geeft toegang tot originele foto',
+ 'download' => 'Geeft downloadrechten',
+ 'upload' => 'Geeft uploadrechten',
+ 'edit' => 'Geeft bewerkingsrechten',
+ 'delete' => 'Geeft verwijderrechten',
+ ],
];
diff --git a/lang/nl/statistics.php b/lang/nl/statistics.php
index 380d712df49..7ac45456aaa 100644
--- a/lang/nl/statistics.php
+++ b/lang/nl/statistics.php
@@ -1,63 +1,63 @@
'Statistieken',
- 'preview_text' => 'Dit is een voorbeeld van de statistiekenpagina beschikbaar in Lychee SE.
De hier getoonde gegevens zijn willekeurig gegenereerd en weerspiegelen niet uw server.',
- 'no_data' => 'Gebruiker heeft geen gegevens op de server.',
- 'collapse' => 'Vouw albumgroottes samen',
- 'total' => [
- 'total' => 'Totaal',
- 'albums' => 'Albums',
- 'photos' => 'Foto’s',
- 'size' => 'Grootte',
- ],
- 'table' => [
- 'username' => 'Eigenaar',
- 'title' => 'Titel',
- 'photos' => 'Foto’s',
- 'descendants' => 'Kinderen',
- 'size' => 'Grootte',
- ],
- 'punch_card' => [
- 'title' => 'Activiteit',
- 'photo-taken' => '%d foto’s gemaakt',
- 'photo-taken-in' => '%d foto’s gemaakt in %d',
- 'photo-uploaded' => '%d foto’s geüpload',
- 'photo-uploaded-in' => '%d foto’s geüpload in %d',
- 'with-exif' => 'met exif-gegevens',
- 'less' => 'Minder',
- 'more' => 'Meer',
- 'tooltip' => '%d foto’s op %s',
- 'created_at' => 'Uploaddatum',
- 'taken_at' => 'Exif-datum',
- 'caption' => 'Elke kolom vertegenwoordigt een week.',
- ],
- 'metrics' => [
- 'header' => 'Live statistieken',
- 'preview_text' => 'Dit is een voorbeeld van de live statistieken beschikbaar in Lychee SE. De hier getoonde gegevens zijn willekeurig gegenereerd en weerspiegelen niet uw server.',
- 'a_visitor' => 'Een bezoeker',
- 'visitors' => '%d bezoekers',
- 'visit_singular' => '%1$s heeft %2$s bekeken',
- 'favourite_singular' => '%1$s heeft %2$s als favoriet gemarkeerd',
- 'download_singular' => '%1$s heeft %2$s gedownload',
- 'shared_singular' => '%1$s heeft %2$s gedeeld',
- 'visit_plural' => '%1$s hebben %2$s bekeken',
- 'favourite_plural' => '%1$s hebben %2$s als favoriet gemarkeerd',
- 'download_plural' => '%1$s hebben %2$s gedownload',
- 'shared_plural' => '%1$s hebben %2$s gedeeld',
- 'ago' => [
- 'days' => '%d dagen geleden',
- 'day' => 'een dag geleden',
- 'hours' => '%d uur geleden',
- 'hour' => 'een uur geleden',
- 'minutes' => '%d minuten geleden',
- 'few_minutes' => 'een paar minuten geleden',
- 'seconds' => 'een paar seconden geleden',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistieken',
+ 'preview_text' => 'Dit is een voorbeeld van de statistiekenpagina beschikbaar in Lychee SE.
De hier getoonde gegevens zijn willekeurig gegenereerd en weerspiegelen niet uw server.',
+ 'no_data' => 'Gebruiker heeft geen gegevens op de server.',
+ 'collapse' => 'Vouw albumgroottes samen',
+ 'total' => [
+ 'total' => 'Totaal',
+ 'albums' => 'Albums',
+ 'photos' => 'Foto’s',
+ 'size' => 'Grootte',
+ ],
+ 'table' => [
+ 'username' => 'Eigenaar',
+ 'title' => 'Titel',
+ 'photos' => 'Foto’s',
+ 'descendants' => 'Kinderen',
+ 'size' => 'Grootte',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activiteit',
+ 'photo-taken' => '%d foto’s gemaakt',
+ 'photo-taken-in' => '%d foto’s gemaakt in %d',
+ 'photo-uploaded' => '%d foto’s geüpload',
+ 'photo-uploaded-in' => '%d foto’s geüpload in %d',
+ 'with-exif' => 'met exif-gegevens',
+ 'less' => 'Minder',
+ 'more' => 'Meer',
+ 'tooltip' => '%d foto’s op %s',
+ 'created_at' => 'Uploaddatum',
+ 'taken_at' => 'Exif-datum',
+ 'caption' => 'Elke kolom vertegenwoordigt een week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live statistieken',
+ 'preview_text' => 'Dit is een voorbeeld van de live statistieken beschikbaar in Lychee SE. De hier getoonde gegevens zijn willekeurig gegenereerd en weerspiegelen niet uw server.',
+ 'a_visitor' => 'Een bezoeker',
+ 'visitors' => '%d bezoekers',
+ 'visit_singular' => '%1$s heeft %2$s bekeken',
+ 'favourite_singular' => '%1$s heeft %2$s als favoriet gemarkeerd',
+ 'download_singular' => '%1$s heeft %2$s gedownload',
+ 'shared_singular' => '%1$s heeft %2$s gedeeld',
+ 'visit_plural' => '%1$s hebben %2$s bekeken',
+ 'favourite_plural' => '%1$s hebben %2$s als favoriet gemarkeerd',
+ 'download_plural' => '%1$s hebben %2$s gedownload',
+ 'shared_plural' => '%1$s hebben %2$s gedeeld',
+ 'ago' => [
+ 'days' => '%d dagen geleden',
+ 'day' => 'een dag geleden',
+ 'hours' => '%d uur geleden',
+ 'hour' => 'een uur geleden',
+ 'minutes' => '%d minuten geleden',
+ 'few_minutes' => 'een paar minuten geleden',
+ 'seconds' => 'een paar seconden geleden',
+ ],
+ ],
];
diff --git a/lang/nl/toasts.php b/lang/nl/toasts.php
index 68e49bb82c2..517c2ec0b34 100644
--- a/lang/nl/toasts.php
+++ b/lang/nl/toasts.php
@@ -1,13 +1,13 @@
'Fout',
- 'success' => 'Succes',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Fout',
+ 'success' => 'Succes',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/nl/user-groups.php b/lang/nl/user-groups.php
index 7aaa9ae3bc6..aef9d6aedee 100644
--- a/lang/nl/user-groups.php
+++ b/lang/nl/user-groups.php
@@ -1,39 +1,39 @@
'Gebruikersgroepen',
- 'explanation' => 'Gebruikersgroepen stellen je in staat om gebruikers te organiseren en machtigingen gezamenlijk te beheren.',
+ /*
+ |--------------------------------------------------------------------------
+ | Pagina gebruikersgroepen
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gebruikersgroepen',
+ 'explanation' => 'Gebruikersgroepen stellen je in staat om gebruikers te organiseren en machtigingen gezamenlijk te beheren.',
- 'create_group' => 'Groep aanmaken',
- 'edit' => 'Bewerken',
- 'delete' => 'Verwijderen',
+ 'create_group' => 'Groep aanmaken',
+ 'edit' => 'Bewerken',
+ 'delete' => 'Verwijderen',
- 'loading' => 'Groepen laden...',
- 'empty' => 'Geen groepen gevonden.',
+ 'loading' => 'Groepen laden...',
+ 'empty' => 'Geen groepen gevonden.',
- 'add_member' => 'Lid toevoegen...',
- 'empty_group' => 'Deze groep is leeg.',
- 'no_permission_members' => 'Je hebt geen toestemming om de leden van deze groep te zien.',
- 'remove_success' => '%s is verwijderd uit %s.',
+ 'add_member' => 'Lid toevoegen...',
+ 'empty_group' => 'Deze groep is leeg.',
+ 'no_permission_members' => 'Je hebt geen toestemming om de leden van deze groep te zien.',
+ 'remove_success' => '%s is verwijderd uit %s.',
- 'confirm_delete_header' => 'Groep verwijderen',
- 'confirm_delete_message' => 'Weet je zeker dat je deze groep wilt verwijderen?',
- 'cancel' => 'Annuleren',
- 'confirm' => 'Verwijderen',
+ 'confirm_delete_header' => 'Groep verwijderen',
+ 'confirm_delete_message' => 'Weet je zeker dat je deze groep wilt verwijderen?',
+ 'cancel' => 'Annuleren',
+ 'confirm' => 'Verwijderen',
- 'create' => [
- 'name' => 'Groepsnaam',
- 'description' => 'Beschrijving',
- 'users' => 'Gebruikers',
- 'cancel' => 'Annuleren',
- 'create' => 'Aanmaken',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Groepsnaam',
+ 'description' => 'Beschrijving',
+ 'users' => 'Gebruikers',
+ 'cancel' => 'Annuleren',
+ 'create' => 'Aanmaken',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Groepsnaam is verplicht.',
- ],
+ 'error_name_required' => 'Groepsnaam is verplicht.',
+ ],
];
diff --git a/lang/nl/users.php b/lang/nl/users.php
index ab7f8ebef0e..8f7aef75dd1 100644
--- a/lang/nl/users.php
+++ b/lang/nl/users.php
@@ -1,50 +1,50 @@
'Gebruikers',
- 'description' => 'Hier kunt u de gebruikers van uw Lychee-installatie beheren. U kunt gebruikers aanmaken, bewerken en verwijderen.',
- 'create' => 'Maak een nieuwe gebruiker aan',
- 'username' => 'Gebruikersnaam',
- 'password' => 'Wachtwoord',
- 'legend' => 'Legenda',
- 'upload_rights' => 'Wanneer geselecteerd, kan de gebruiker inhoud uploaden.',
- 'edit_rights' => 'Wanneer geselecteerd, kan de gebruiker zijn profiel wijzigen (gebruikersnaam, wachtwoord).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gebruikers',
+ 'description' => 'Hier kunt u de gebruikers van uw Lychee-installatie beheren. U kunt gebruikers aanmaken, bewerken en verwijderen.',
+ 'create' => 'Maak een nieuwe gebruiker aan',
+ 'username' => 'Gebruikersnaam',
+ 'password' => 'Wachtwoord',
+ 'legend' => 'Legenda',
+ 'upload_rights' => 'Wanneer geselecteerd, kan de gebruiker inhoud uploaden.',
+ 'edit_rights' => 'Wanneer geselecteerd, kan de gebruiker zijn profiel wijzigen (gebruikersnaam, wachtwoord).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'Wanneer ingesteld, heeft de gebruiker een ruimtequotum voor foto’s (in kB).',
- 'user_deleted' => 'Gebruiker verwijderd',
- 'user_created' => 'Gebruiker aangemaakt',
- 'user_updated' => 'Gebruiker bijgewerkt',
- 'change_saved' => 'Wijziging opgeslagen!',
- 'create_edit' => [
- 'upload_rights' => 'Gebruiker kan inhoud uploaden.',
- 'edit_rights' => 'Gebruiker kan zijn profiel wijzigen (gebruikersnaam, wachtwoord).',
- 'admin_rights' => 'Gebruiker heeft beheerdersrechten.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'Wanneer ingesteld, heeft de gebruiker een ruimtequotum voor foto’s (in kB).',
+ 'user_deleted' => 'Gebruiker verwijderd',
+ 'user_created' => 'Gebruiker aangemaakt',
+ 'user_updated' => 'Gebruiker bijgewerkt',
+ 'change_saved' => 'Wijziging opgeslagen!',
+ 'create_edit' => [
+ 'upload_rights' => 'Gebruiker kan inhoud uploaden.',
+ 'edit_rights' => 'Gebruiker kan zijn profiel wijzigen (gebruikersnaam, wachtwoord).',
+ 'admin_rights' => 'Gebruiker heeft beheerdersrechten.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'Gebruiker heeft een quotumlimiet.',
- 'quota_kb' => 'quotum in kB (0 voor standaard)',
- 'note' => 'Beheerdersnotitie (niet openbaar zichtbaar)',
- 'create' => 'Aanmaken',
- 'edit' => 'Bewerken',
- ],
- 'invite' => [
- 'button' => 'Nodig een gebruiker uit',
- 'links_are_not_revokable' => 'Uitnodigingslinks zijn niet herroepbaar.',
- 'link_is_valid_x_days' => 'Deze link is %d dagen geldig.',
- ],
- 'line' => [
- 'owner' => 'Eigenaar',
- 'admin' => 'Beheerder',
- 'edit' => 'Bewerken',
- 'delete' => 'Verwijderen',
- ],
+ 'quota' => 'Gebruiker heeft een quotumlimiet.',
+ 'quota_kb' => 'quotum in kB (0 voor standaard)',
+ 'note' => 'Beheerdersnotitie (niet openbaar zichtbaar)',
+ 'create' => 'Aanmaken',
+ 'edit' => 'Bewerken',
+ ],
+ 'invite' => [
+ 'button' => 'Nodig een gebruiker uit',
+ 'links_are_not_revokable' => 'Uitnodigingslinks zijn niet herroepbaar.',
+ 'link_is_valid_x_days' => 'Deze link is %d dagen geldig.',
+ ],
+ 'line' => [
+ 'owner' => 'Eigenaar',
+ 'admin' => 'Beheerder',
+ 'edit' => 'Bewerken',
+ 'delete' => 'Verwijderen',
+ ],
];
diff --git a/lang/nl/webhook.php b/lang/nl/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/nl/webhook.php
+++ b/lang/nl/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/nl/webshop.php b/lang/nl/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/nl/webshop.php
+++ b/lang/nl/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/no/admin-dashboard.php b/lang/no/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/no/admin-dashboard.php
+++ b/lang/no/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/no/aspect_ratio.php b/lang/no/aspect_ratio.php
index e119707287c..54cda627ec3 100644
--- a/lang/no/aspect_ratio.php
+++ b/lang/no/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram horisontal)',
- '4by5' => '4/5 (instagram vertikal)',
- '2by3' => '2/3 (vertikal)',
- '3by2' => '3/2 (horisontal)',
- '1by1' => 'kvadrat',
- '16by9' => '16/9 (horisontal)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram horisontal)',
+ '4by5' => '4/5 (instagram vertikal)',
+ '2by3' => '2/3 (vertikal)',
+ '3by2' => '3/2 (horisontal)',
+ '1by1' => 'kvadrat',
+ '16by9' => '16/9 (horisontal)',
];
diff --git a/lang/no/bulk_album_edit.php b/lang/no/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/no/bulk_album_edit.php
+++ b/lang/no/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/no/contact.php b/lang/no/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/no/contact.php
+++ b/lang/no/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/no/diagnostics.php b/lang/no/diagnostics.php
index 0b3dc09364c..fc544ad88e2 100644
--- a/lang/no/diagnostics.php
+++ b/lang/no/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostikk',
- 'copy_to_clipboard' => 'Kopier diagnostikk til utklippstavlen',
- 'self-diagnosis' => 'Selvdiagnose',
- 'info' => 'Informasjon',
- 'space' => 'Plass',
- 'load_space' => 'Last lagringsplassbruk.',
- 'configuration' => 'Konfigurasjon',
- 'loading' => 'Laster…',
- 'identical_content' => 'Identisk innhold',
- 'toast' => [
- 'info' => 'Informasjon',
- 'copy' => 'Diagnostikk kopiert til utklippstavlen!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostikk',
+ 'copy_to_clipboard' => 'Kopier diagnostikk til utklippstavlen',
+ 'self-diagnosis' => 'Selvdiagnose',
+ 'info' => 'Informasjon',
+ 'space' => 'Plass',
+ 'load_space' => 'Last lagringsplassbruk.',
+ 'configuration' => 'Konfigurasjon',
+ 'loading' => 'Laster…',
+ 'identical_content' => 'Identisk innhold',
+ 'toast' => [
+ 'info' => 'Informasjon',
+ 'copy' => 'Diagnostikk kopiert til utklippstavlen!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/no/duplicate-finder.php b/lang/no/duplicate-finder.php
index 6db164efdc9..18aedd8ae87 100644
--- a/lang/no/duplicate-finder.php
+++ b/lang/no/duplicate-finder.php
@@ -1,26 +1,26 @@
'Vedlikehold',
- 'intro' => 'På denne siden finner du duplikatbildene som er funnet i databasen din.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Vedlikehold',
+ 'intro' => 'På denne siden finner du duplikatbildene som er funnet i databasen din.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/no/fix-tree.php b/lang/no/fix-tree.php
index af221755572..c48f1df3204 100644
--- a/lang/no/fix-tree.php
+++ b/lang/no/fix-tree.php
@@ -1,46 +1,46 @@
'Vedlikehold',
- 'intro' => 'Denne siden lar deg endre rekkefølgen og fikse albumene dine manuelt.
Før du foretar endringer, anbefaler vi på det sterkeste at du leser om trestrukturer for nestede sett.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Tittel',
- 'left' => 'Venstre',
- 'right' => 'Høyre',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Vedlikehold',
+ 'intro' => 'Denne siden lar deg endre rekkefølgen og fikse albumene dine manuelt.
Før du foretar endringer, anbefaler vi på det sterkeste at du leser om trestrukturer for nestede sett.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Tittel',
+ 'left' => 'Venstre',
+ 'right' => 'Høyre',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/no/flow.php b/lang/no/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/no/flow.php
+++ b/lang/no/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/no/import_from_server.php b/lang/no/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/no/import_from_server.php
+++ b/lang/no/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/no/jobs.php b/lang/no/jobs.php
index 42c2abcd03e..69af123f5c5 100644
--- a/lang/no/jobs.php
+++ b/lang/no/jobs.php
@@ -1,15 +1,15 @@
'Jobber',
- 'no_data' => 'Ingen jobber er utført ennå.',
- 'ready' => 'Klar',
- 'success' => 'Suksess',
- 'failure' => 'Feil',
- 'started' => 'Startet',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobber',
+ 'no_data' => 'Ingen jobber er utført ennå.',
+ 'ready' => 'Klar',
+ 'success' => 'Suksess',
+ 'failure' => 'Feil',
+ 'started' => 'Startet',
];
diff --git a/lang/no/landing.php b/lang/no/landing.php
index 6c9103c6d8a..606079ff849 100644
--- a/lang/no/landing.php
+++ b/lang/no/landing.php
@@ -1,13 +1,13 @@
'Galleri',
- 'access_gallery' => 'Få tilgang til galleriet',
- 'Powered_by_Lychee' => 'Drevet av Lychee',
- 'copyright' => 'Alle bilder på denne nettsiden er opphavsrettslig beskyttet av %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Galleri',
+ 'access_gallery' => 'Få tilgang til galleriet',
+ 'Powered_by_Lychee' => 'Drevet av Lychee',
+ 'copyright' => 'Alle bilder på denne nettsiden er opphavsrettslig beskyttet av %1$s © %2$s',
];
diff --git a/lang/no/left-menu.php b/lang/no/left-menu.php
index 21eeeda4fdc..cdbef6ad894 100644
--- a/lang/no/left-menu.php
+++ b/lang/no/left-menu.php
@@ -1,28 +1,28 @@
'Tilbake til galleriet',
- 'login' => 'Logg inn',
- 'frame' => 'Ramme',
- 'map' => 'Kart',
- 'embed_stream' => 'Bygg Inn Bildestrøm',
- 'admin' => 'Administrator',
- 'clockwork' => 'Clockwork-appen',
- 'logs' => 'Vis logger',
- 'jobs' => 'Vis jobbhistorikk',
- 'user' => 'Bruker',
- 'sign_out' => 'Logg ut',
- 'about' => 'Om',
- 'changelog' => 'Endringslogg',
- 'api' => 'API-dokumentasjon',
- 'source_code' => 'Kildekode',
- 'support' => 'Brukerstøtte',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Tilbake til galleriet',
+ 'login' => 'Logg inn',
+ 'frame' => 'Ramme',
+ 'map' => 'Kart',
+ 'embed_stream' => 'Bygg Inn Bildestrøm',
+ 'admin' => 'Administrator',
+ 'clockwork' => 'Clockwork-appen',
+ 'logs' => 'Vis logger',
+ 'jobs' => 'Vis jobbhistorikk',
+ 'user' => 'Bruker',
+ 'sign_out' => 'Logg ut',
+ 'about' => 'Om',
+ 'changelog' => 'Endringslogg',
+ 'api' => 'API-dokumentasjon',
+ 'source_code' => 'Kildekode',
+ 'support' => 'Brukerstøtte',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/no/maintenance.php b/lang/no/maintenance.php
index aebcce2feb6..a36f8b7ed36 100644
--- a/lang/no/maintenance.php
+++ b/lang/no/maintenance.php
@@ -1,103 +1,103 @@
'Vedlikehold',
- 'description' => 'På denne siden finner du alle nødvendige handlinger for å holde Lychee-installasjonen din i gang knirkefritt.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s ble slettet.',
- 'description' => 'Fjern alt innhold fra %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplikater',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Vis duplikater',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generere!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Hent data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplikater',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimaliser databasen',
- 'description' => 'Hvis du merker at installasjonen er treg, kan det skyldes at databasen din ikke har all den nødvendige indeksen.',
- 'button' => 'Optimaliser databasen',
- ],
- 'update' => [
- 'title' => 'Oppdateringer',
- 'check-button' => 'Se etter oppdateringer',
- 'update-button' => 'Oppdater',
- 'no-pending-updates' => 'Ingen ventende oppdateringer.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistikk integritetskontroll',
- 'missing_photos' => '%d fotostatistikk mangler.',
- 'missing_albums' => '%d albumstatistikk mangler.',
- 'button' => 'Opprett manglende',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Tøm hurtigbufferen til alle brukere for å løse ugyldighetsproblemer.',
- 'button' => 'Tøm',
- ],
- 'old-orders' => [
- 'title' => 'Gamle Ordre',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Vedlikehold',
+ 'description' => 'På denne siden finner du alle nødvendige handlinger for å holde Lychee-installasjonen din i gang knirkefritt.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s ble slettet.',
+ 'description' => 'Fjern alt innhold fra %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplikater',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Vis duplikater',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generere!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Hent data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplikater',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimaliser databasen',
+ 'description' => 'Hvis du merker at installasjonen er treg, kan det skyldes at databasen din ikke har all den nødvendige indeksen.',
+ 'button' => 'Optimaliser databasen',
+ ],
+ 'update' => [
+ 'title' => 'Oppdateringer',
+ 'check-button' => 'Se etter oppdateringer',
+ 'update-button' => 'Oppdater',
+ 'no-pending-updates' => 'Ingen ventende oppdateringer.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistikk integritetskontroll',
+ 'missing_photos' => '%d fotostatistikk mangler.',
+ 'missing_albums' => '%d albumstatistikk mangler.',
+ 'button' => 'Opprett manglende',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Tøm hurtigbufferen til alle brukere for å løse ugyldighetsproblemer.',
+ 'button' => 'Tøm',
+ ],
+ 'old-orders' => [
+ 'title' => 'Gamle Ordre',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/no/moderation.php b/lang/no/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/no/moderation.php
+++ b/lang/no/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/no/profile.php b/lang/no/profile.php
index 98bd6422974..e17a136f8b0 100644
--- a/lang/no/profile.php
+++ b/lang/no/profile.php
@@ -1,80 +1,80 @@
'Profil',
- 'login' => [
- 'header' => 'Profil',
- 'enter_current_password' => 'Skriv inn ditt nåværende passord:',
- 'current_password' => 'Nåværende passord',
- 'credentials_update' => 'Dine innloggingsdetalier din vil bli endret til følgende:',
- 'username' => 'Brukernavn',
- 'new_password' => 'Nytt passord',
- 'confirm_new_password' => 'Bekreft nytt passord',
- 'email_instruction' => 'Legg til e-postadressen din nedenfor for å aktivere mottak av e-postvarsler. For å slutte å motta e-poster, fjern ganske enkelt e-postadressen din nedenfor.',
- 'email' => 'Epostadresse',
- 'change' => 'Endre pålogging',
- 'api_token' => 'API-token …',
- 'missing_fields' => 'Manglende felt',
- 'ldap_managed' => 'Brukerens påloggingsinformasjon administreres av LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Brukernavnet finnes allerede.',
- 'password_mismatch' => 'Passordene stemmer ikke overens.',
- 'signup' => 'Registrer deg',
- 'error' => 'Det oppsto en feil under registrering av kontoen din.',
- 'success' => 'Kontoen din er opprettet.',
- ],
- 'token' => [
- 'unavailable' => 'Du har allerede sett denne tokenen.',
- 'no_data' => 'Ingen token-API er generert.',
- 'disable' => 'Deaktiver',
- 'disabled' => 'Token deaktivert',
- 'warning' => 'Denne tokenen vil ikke vises igjen. Kopier den og oppbevar den på et trygt sted.',
- 'reset' => 'Tilbakestill tokenet',
- 'create' => 'Opprett et nytt token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth er ikke tilgjengelig',
- 'setup_env' => 'Konfigurer legitimasjonen i .env-filen din',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profil',
+ 'login' => [
+ 'header' => 'Profil',
+ 'enter_current_password' => 'Skriv inn ditt nåværende passord:',
+ 'current_password' => 'Nåværende passord',
+ 'credentials_update' => 'Dine innloggingsdetalier din vil bli endret til følgende:',
+ 'username' => 'Brukernavn',
+ 'new_password' => 'Nytt passord',
+ 'confirm_new_password' => 'Bekreft nytt passord',
+ 'email_instruction' => 'Legg til e-postadressen din nedenfor for å aktivere mottak av e-postvarsler. For å slutte å motta e-poster, fjern ganske enkelt e-postadressen din nedenfor.',
+ 'email' => 'Epostadresse',
+ 'change' => 'Endre pålogging',
+ 'api_token' => 'API-token …',
+ 'missing_fields' => 'Manglende felt',
+ 'ldap_managed' => 'Brukerens påloggingsinformasjon administreres av LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Brukernavnet finnes allerede.',
+ 'password_mismatch' => 'Passordene stemmer ikke overens.',
+ 'signup' => 'Registrer deg',
+ 'error' => 'Det oppsto en feil under registrering av kontoen din.',
+ 'success' => 'Kontoen din er opprettet.',
+ ],
+ 'token' => [
+ 'unavailable' => 'Du har allerede sett denne tokenen.',
+ 'no_data' => 'Ingen token-API er generert.',
+ 'disable' => 'Deaktiver',
+ 'disabled' => 'Token deaktivert',
+ 'warning' => 'Denne tokenen vil ikke vises igjen. Kopier den og oppbevar den på et trygt sted.',
+ 'reset' => 'Tilbakestill tokenet',
+ 'create' => 'Opprett et nytt token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth er ikke tilgjengelig',
+ 'setup_env' => 'Konfigurer legitimasjonen i .env-filen din',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/no/renamer.php b/lang/no/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/no/renamer.php
+++ b/lang/no/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/no/sharing.php b/lang/no/sharing.php
index b1829576bc9..cfabf521904 100644
--- a/lang/no/sharing.php
+++ b/lang/no/sharing.php
@@ -1,39 +1,39 @@
'Deling',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Brukernavn',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Album',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Deling',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Brukernavn',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Album',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/no/statistics.php b/lang/no/statistics.php
index 7ebefe2c370..1e620aad71d 100644
--- a/lang/no/statistics.php
+++ b/lang/no/statistics.php
@@ -1,63 +1,63 @@
'Statistikk',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Tittel',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'Dette er en forhåndsvisning av live-målingene som er tilgjengelige i Lychee SE. Dataene som vises her er tilfeldig generert og gjenspeiler ikke serveren din.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistikk',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Tittel',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'Dette er en forhåndsvisning av live-målingene som er tilgjengelige i Lychee SE. Dataene som vises her er tilfeldig generert og gjenspeiler ikke serveren din.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/no/user-groups.php b/lang/no/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/no/user-groups.php
+++ b/lang/no/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/no/webhook.php b/lang/no/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/no/webhook.php
+++ b/lang/no/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/no/webshop.php b/lang/no/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/no/webshop.php
+++ b/lang/no/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/pl/admin-dashboard.php b/lang/pl/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/pl/admin-dashboard.php
+++ b/lang/pl/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/pl/all_settings.php b/lang/pl/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/pl/all_settings.php
+++ b/lang/pl/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/pl/aspect_ratio.php b/lang/pl/aspect_ratio.php
index f945f4aa68b..6a5ce90b8b4 100644
--- a/lang/pl/aspect_ratio.php
+++ b/lang/pl/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram pejzaż)',
- '4by5' => '4/5 (instagram portret)',
- '2by3' => '2/3 (portret)',
- '3by2' => '3/2 (pejzaż)',
- '1by1' => 'kwadrat',
- '16by9' => '16/9 (pejzaż)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram pejzaż)',
+ '4by5' => '4/5 (instagram portret)',
+ '2by3' => '2/3 (portret)',
+ '3by2' => '3/2 (pejzaż)',
+ '1by1' => 'kwadrat',
+ '16by9' => '16/9 (pejzaż)',
];
diff --git a/lang/pl/bulk_album_edit.php b/lang/pl/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/pl/bulk_album_edit.php
+++ b/lang/pl/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/pl/changelogs.php b/lang/pl/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/pl/changelogs.php
+++ b/lang/pl/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/pl/contact.php b/lang/pl/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/pl/contact.php
+++ b/lang/pl/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/pl/diagnostics.php b/lang/pl/diagnostics.php
index c3d5e7dfa61..9ab51bd2af4 100644
--- a/lang/pl/diagnostics.php
+++ b/lang/pl/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostyka',
- 'copy_to_clipboard' => 'Kopiuj diagnostykę do schowka',
- 'self-diagnosis' => 'Auto-diagnoza',
- 'info' => 'Info',
- 'space' => 'Przestrzeń',
- 'load_space' => 'Wykorzystanie przestrzeni.',
- 'configuration' => 'Konfiguracja',
- 'loading' => 'Ładowanie...',
- 'identical_content' => 'Identyczna zawartość',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostyka skopiowana do schowka !',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostyka',
+ 'copy_to_clipboard' => 'Kopiuj diagnostykę do schowka',
+ 'self-diagnosis' => 'Auto-diagnoza',
+ 'info' => 'Info',
+ 'space' => 'Przestrzeń',
+ 'load_space' => 'Wykorzystanie przestrzeni.',
+ 'configuration' => 'Konfiguracja',
+ 'loading' => 'Ładowanie...',
+ 'identical_content' => 'Identyczna zawartość',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostyka skopiowana do schowka !',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/pl/dialogs.php b/lang/pl/dialogs.php
index 7273e029f47..ba31504e8c8 100644
--- a/lang/pl/dialogs.php
+++ b/lang/pl/dialogs.php
@@ -1,305 +1,305 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Zamknij',
- 'cancel' => 'Anuluj',
- 'save' => 'Zapisz',
- 'delete' => 'Usuń',
- 'move' => 'Przenieś',
- ],
- 'about' => [
- 'subtitle' => 'Hostowane samodzielnie zarządzanie zdjęciami w dobrym stylu',
- 'description' => 'Lychee to darmowe narzędzie do zarządzania zdjęciami, które działa na serwerze lub w przestrzeni internetowej. Instalacja to kwestia kilku sekund. Przesyłaj, zarządzaj i udostępniaj zdjęcia jak z natywnej aplikacji. Lychee zawiera wszystko, czego potrzebujesz, a wszystkie zdjęcia są bezpiecznie przechowywane.',
- 'update_available' => 'Aktualizacja dostępna !',
- 'thank_you' => 'Dziękujemy za wsparcie !',
- 'get_supporter_or_register' => 'Uzyskaj ekskluzywne funkcje i wspieraj rozwój Lychee.
Odblokuj Supporter Edition lub zarejestruj swój klucz licencyjny',
- 'here' => 'tutaj',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox nie jest skonfigurowany.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Wprowadź bezpośredni link do zdjęcia, aby je zaimportować:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Nie pokazuj ponownie',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Skróty dla całej witryny',
- 'back_cancel' => 'Wstecz/Anuluj',
- 'confirm' => 'Potwierdź',
- 'login' => 'Logowanie',
- 'toggle_full_screen' => 'Przełącz na pełny ekran',
- 'toggle_sensitive_albums' => 'Przełączanie wrażliwych albumów',
- 'albums' => 'Skróty do albumów',
- 'new_album' => 'Nowy album',
- 'upload_photos' => 'Przesyłanie zdjęć',
- 'search' => 'Wyszukiwanie',
- 'show_this_modal' => 'Pokaż ten modal',
- 'select_all' => 'Wybierz wszystko',
- 'move_selection' => 'Przenieś wybrane',
- 'delete_selection' => 'Usuń zaznaczone',
- 'album' => 'Skróty do albumów',
- 'slideshow' => 'Uruchamianie/zatrzymywanie pokazu slajdów',
- 'toggle' => 'Przełącz panel',
- 'photo' => 'Skróty do zdjęć',
- 'previous' => 'Poprzednie zdjęcie',
- 'next' => 'Następne zdjęcie',
- 'cycle' => 'Tryb nakładania',
- 'star' => 'Oznacz zdjęcie gwiazdką',
- 'move' => 'Przenieś zdjęcie',
- 'delete' => 'Usuń zdjęcie',
- 'edit' => 'Edytuj informacje',
- 'show_hide_meta' => 'Pokaż informacje',
- 'keep_hidden' => 'Będziemy to ukrywać.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Nazwa użytkownika',
- 'password' => 'Hasło',
- 'unknown_invalid' => 'Nieznany użytkownik lub nieprawidłowe hasło.',
- 'signin' => 'Logowanie',
- 'remember_me' => 'Zapamiętaj mnie',
- ],
- 'register' => [
- 'enter_license' => 'Wprowadź swój klucz licencyjny poniżej:',
- 'license_key' => 'Klucz licencyjny',
- 'invalid_license' => 'Nieprawidłowy klucz licencyjny.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Zarejestruj się',
- ],
- 'share_album' => [
- 'url_copied' => 'Skopiowano adres URL do schowka!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Tryb',
- 'mode_album_help' => 'Osadź zdjęcia z tego konkretnego albumu.',
- 'mode_stream_help' => 'Osadź wszystkie swoje publiczne zdjęcia jako chronologiczny strumień (najnowsze na początku).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Zakończono',
- 'uploaded' => 'Przesłano:',
- 'release' => 'Zwolnij plik do przesłania !',
- 'select' => 'Kliknij tutaj, aby wybrać pliki do przesłania',
- 'drag' => '(Lub przeciągnij pliki na stronę)',
- 'loading' => 'Ładowanie',
- 'resume' => 'Wznowienie',
- 'uploading' => 'Przesyłanie',
- 'finished' => 'Zakończono',
- 'failed_error' => 'Przesyłanie nie powiodło się. Serwer zwrócił błąd!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Zrób zdjęcie',
- 'capture' => 'Sfotografuj',
- 'retake' => 'Zrób ponownie',
- 'upload' => 'Prześlij',
- 'secure_connection_required' => 'Dostęp do kamery wymaga bezpiecznego połączenia (HTTPS lub localhost).',
- ],
- 'visibility' => [
- 'public' => 'Publiczny',
- 'public_expl' => 'Anonimowi użytkownicy mogą uzyskać dostęp do tego albumu, z zastrzeżeniem poniższych ograniczeń.',
- 'full' => 'Oryginał',
- 'full_expl' => 'Anonimowi użytkownicy mogą przeglądać zdjęcia w pełnej rozdzielczości.',
- 'hidden' => 'Ukryty',
- 'hidden_expl' => 'Anonimowi użytkownicy potrzebują bezpośredniego linku, aby uzyskać dostęp do tego albumu.',
- 'downloadable' => 'Do pobrania',
- 'downloadable_expl' => 'Anonimowi użytkownicy mogą pobrać ten album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Hasło',
- 'password_prot' => 'Chronione hasłem',
- 'password_prot_expl' => 'Anonimowi użytkownicy potrzebują udostępnionego hasła, aby uzyskać dostęp do tego albumu.',
- 'password_prop_not_compatible' => 'Buforowanie odpowiedzi jest sprzeczne z tym ustawieniem.
Z powodu buforowania odpowiedzi, odblokowanie tego albumu
ujawni również jego zawartość innym anonimowym użytkownikom.',
- 'nsfw' => 'Wrażliwy',
- 'nsfw_expl' => 'Album zawiera wrażliwe treści.',
- 'visibility_updated' => 'Zaktualizowano widoczność.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Czy na pewno chcesz przenieść album "%1$s" do albumu "%2$s"?',
- 'confirm_multiple' => 'Czy na pewno chcesz przenieść wszystkie wybrane albumy do albumu "%s"?',
- 'move_single' => 'Przenieś album',
- 'move_to' => 'Przenieś do',
- 'move_to_single' => 'Przenieś %s do:',
- 'move_to_multiple' => 'Przenieś %d albumy do:',
- 'no_album_target' => 'Brak albumu do przeniesienia',
- 'moved_single' => 'Album przeniesiony!',
- 'moved_single_details' => '%1$s przeniesiony do %2$s',
- 'moved_details' => 'Albumy przeniesione do %s',
- ],
- 'new_album' => [
- 'menu' => 'Utwórz album',
- 'info' => 'Wprowadź tytuł nowego albumu:',
- 'title' => 'tytuł',
- 'create' => 'Utwórz album',
- 'visibility_private' => 'Ten album będzie prywatny (widoczny tylko dla Ciebie)',
- 'visibility_public' => 'Ten album będzie publiczny (widoczny dla wszystkich)',
- 'visibility_public_hidden' => 'Ten album będzie publiczny, ale ukryty z list',
- 'visibility_inherit' => 'Ten album odziedziczy widoczność od albumu nadrzednego',
- 'visibility_inherit_no_parent' => 'Ten album będzie prywatny (brak albumu nadrzednego)', ],
- 'new_tag_album' => [
- 'menu' => 'Utwórz album ze znacznikami',
- 'info' => 'Wprowadź tytuł nowego tagu albumu:',
- 'title' => 'tytuł',
- 'set_tags' => 'Ustawianie wyświetlania tagów',
- 'create' => 'Utwórz album ze znacznikami',
- ],
- 'delete_album' => [
- 'confirmation' => 'Czy na pewno chcesz usunąć album "%s" i wszystkie znajdujące się w nim zdjęcia?',
- 'confirmation_tag' => 'Czy na pewno chcesz usunąć album "%s"?',
- 'confirmation_multiple' => 'Czy na pewno chcesz usunąć wszystkie %d wybrane albumy i wszystkie zawarte w nich zdjęcia?',
- 'warning' => 'Tego działania nie można cofnąć!',
- 'delete' => 'Usuwanie albumu i zdjęć',
- ],
- 'transfer' => [
- 'query' => 'Przeniesienie własności albumu na',
- 'confirmation' => 'Czy na pewno chcesz przenieść własność albumu "%s" i wszystkich zawartych w nim zdjęć do "%s"?',
- 'lost_access_warning' => 'Dostęp do tego albumu zostanie utracony.',
- 'warning' => 'Tego działania nie można cofnąć!',
- 'transfer' => 'Przeniesienie własności albumu i zdjęć',
- ],
- 'rename' => [
- 'photo' => 'Wprowadź nowy tytuł dla tego zdjęcia:',
- 'album' => 'Wprowadź nowy tytuł dla tego albumu:',
- 'rename' => 'Zmiana nazwy',
- ],
- 'merge' => [
- 'merge_to' => 'Scal %s do:',
- 'merge_to_multiple' => 'Scal %d albumów do:',
- 'no_albums' => 'Brak albumów do połączenia.',
- 'confirm' => 'Czy na pewno chcesz połączyć album "%1$s" z albumem "%2$s"?',
- 'confirm_multiple' => 'Czy na pewno chcesz połączyć wszystkie wybrane albumy w album "%s"?',
- 'merge' => 'Połącz albumy',
- 'merged' => 'Albumy zostały połączone do %s!',
- ],
- 'unlock' => [
- 'password_required' => 'Ten album jest chroniony hasłem. Wprowadź hasło poniżej, aby wyświetlić zdjęcia z tego albumu:',
- 'password' => 'Hasło',
- 'unlock' => 'Odblokowanie',
- ],
- 'photo_tags' => [
- 'question' => 'Wprowadź tagi dla tego zdjęcia.',
- 'question_multiple' => 'Wprowadź tagi dla wszystkich %d wybranych zdjęć. Istniejące tagi zostaną nadpisane.',
- 'no_tags' => 'Brak tagów',
- 'set_tags' => 'Ustaw tagi',
- 'updated' => 'Tagi zaktualizowane!',
- 'tags_override_info' => 'Jeśli opcja ta nie jest zaznaczona, tagi zostaną dodane do istniejących tagów zdjęcia.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'Brak albumów do skopiowania',
- 'copy_to' => 'Kopiuj %s do:',
- 'copy_to_multiple' => 'Kopiuj %d zdjęć do:',
- 'confirm' => 'Kopiuj %s do %s.',
- 'confirm_multiple' => 'Skopiuj %d zdjęć do %s.',
- 'copy' => 'Kopiuj',
- 'copied' => 'Zdjęcia skopiowane!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Czy na pewno chcesz usunąć zdjęcie "%s"?',
- 'confirm_multiple' => 'Czy na pewno chcesz usunąć wszystkie %d wybrane zdjęcia?',
- 'deleted' => 'Zdjęcia usunięte!',
- ],
- 'move_photo' => [
- 'move_single' => 'Przenieś %s do:',
- 'move_multiple' => 'Przenieś %d zdjęć do:',
- 'confirm' => 'Przenieś %s do %s.',
- 'confirm_multiple' => 'Przenieś %d zdjęć do %s.',
- 'moved' => 'Zdjęcie(a) przeniesione do %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Wybierz użytkownika',
- ],
- 'target_album' => [
- 'placeholder' => 'Wybierz album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Uwierzytelnianie powiodło się!',
- 'error' => 'Ups, wygląda na to, że coś poszło nie tak. Przeładuj stronę i spróbuj ponownie!',
- ],
- 'se' => [
- 'available' => 'Dostępne w Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Sesja wygasła',
- 'message' => 'Twoja sesja wygasła.
Przeładuj stronę.',
- 'reload' => 'Przeładuj',
- 'go_to_gallery' => 'Przejdź do galerii',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Zamknij',
+ 'cancel' => 'Anuluj',
+ 'save' => 'Zapisz',
+ 'delete' => 'Usuń',
+ 'move' => 'Przenieś',
+ ],
+ 'about' => [
+ 'subtitle' => 'Hostowane samodzielnie zarządzanie zdjęciami w dobrym stylu',
+ 'description' => 'Lychee to darmowe narzędzie do zarządzania zdjęciami, które działa na serwerze lub w przestrzeni internetowej. Instalacja to kwestia kilku sekund. Przesyłaj, zarządzaj i udostępniaj zdjęcia jak z natywnej aplikacji. Lychee zawiera wszystko, czego potrzebujesz, a wszystkie zdjęcia są bezpiecznie przechowywane.',
+ 'update_available' => 'Aktualizacja dostępna !',
+ 'thank_you' => 'Dziękujemy za wsparcie !',
+ 'get_supporter_or_register' => 'Uzyskaj ekskluzywne funkcje i wspieraj rozwój Lychee.
Odblokuj Supporter Edition lub zarejestruj swój klucz licencyjny',
+ 'here' => 'tutaj',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox nie jest skonfigurowany.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Wprowadź bezpośredni link do zdjęcia, aby je zaimportować:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Nie pokazuj ponownie',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Skróty dla całej witryny',
+ 'back_cancel' => 'Wstecz/Anuluj',
+ 'confirm' => 'Potwierdź',
+ 'login' => 'Logowanie',
+ 'toggle_full_screen' => 'Przełącz na pełny ekran',
+ 'toggle_sensitive_albums' => 'Przełączanie wrażliwych albumów',
+ 'albums' => 'Skróty do albumów',
+ 'new_album' => 'Nowy album',
+ 'upload_photos' => 'Przesyłanie zdjęć',
+ 'search' => 'Wyszukiwanie',
+ 'show_this_modal' => 'Pokaż ten modal',
+ 'select_all' => 'Wybierz wszystko',
+ 'move_selection' => 'Przenieś wybrane',
+ 'delete_selection' => 'Usuń zaznaczone',
+ 'album' => 'Skróty do albumów',
+ 'slideshow' => 'Uruchamianie/zatrzymywanie pokazu slajdów',
+ 'toggle' => 'Przełącz panel',
+ 'photo' => 'Skróty do zdjęć',
+ 'previous' => 'Poprzednie zdjęcie',
+ 'next' => 'Następne zdjęcie',
+ 'cycle' => 'Tryb nakładania',
+ 'star' => 'Oznacz zdjęcie gwiazdką',
+ 'move' => 'Przenieś zdjęcie',
+ 'delete' => 'Usuń zdjęcie',
+ 'edit' => 'Edytuj informacje',
+ 'show_hide_meta' => 'Pokaż informacje',
+ 'keep_hidden' => 'Będziemy to ukrywać.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Nazwa użytkownika',
+ 'password' => 'Hasło',
+ 'unknown_invalid' => 'Nieznany użytkownik lub nieprawidłowe hasło.',
+ 'signin' => 'Logowanie',
+ 'remember_me' => 'Zapamiętaj mnie',
+ ],
+ 'register' => [
+ 'enter_license' => 'Wprowadź swój klucz licencyjny poniżej:',
+ 'license_key' => 'Klucz licencyjny',
+ 'invalid_license' => 'Nieprawidłowy klucz licencyjny.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Zarejestruj się',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Skopiowano adres URL do schowka!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Tryb',
+ 'mode_album_help' => 'Osadź zdjęcia z tego konkretnego albumu.',
+ 'mode_stream_help' => 'Osadź wszystkie swoje publiczne zdjęcia jako chronologiczny strumień (najnowsze na początku).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Zakończono',
+ 'uploaded' => 'Przesłano:',
+ 'release' => 'Zwolnij plik do przesłania !',
+ 'select' => 'Kliknij tutaj, aby wybrać pliki do przesłania',
+ 'drag' => '(Lub przeciągnij pliki na stronę)',
+ 'loading' => 'Ładowanie',
+ 'resume' => 'Wznowienie',
+ 'uploading' => 'Przesyłanie',
+ 'finished' => 'Zakończono',
+ 'failed_error' => 'Przesyłanie nie powiodło się. Serwer zwrócił błąd!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Zrób zdjęcie',
+ 'capture' => 'Sfotografuj',
+ 'retake' => 'Zrób ponownie',
+ 'upload' => 'Prześlij',
+ 'secure_connection_required' => 'Dostęp do kamery wymaga bezpiecznego połączenia (HTTPS lub localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Publiczny',
+ 'public_expl' => 'Anonimowi użytkownicy mogą uzyskać dostęp do tego albumu, z zastrzeżeniem poniższych ograniczeń.',
+ 'full' => 'Oryginał',
+ 'full_expl' => 'Anonimowi użytkownicy mogą przeglądać zdjęcia w pełnej rozdzielczości.',
+ 'hidden' => 'Ukryty',
+ 'hidden_expl' => 'Anonimowi użytkownicy potrzebują bezpośredniego linku, aby uzyskać dostęp do tego albumu.',
+ 'downloadable' => 'Do pobrania',
+ 'downloadable_expl' => 'Anonimowi użytkownicy mogą pobrać ten album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Hasło',
+ 'password_prot' => 'Chronione hasłem',
+ 'password_prot_expl' => 'Anonimowi użytkownicy potrzebują udostępnionego hasła, aby uzyskać dostęp do tego albumu.',
+ 'password_prop_not_compatible' => 'Buforowanie odpowiedzi jest sprzeczne z tym ustawieniem.
Z powodu buforowania odpowiedzi, odblokowanie tego albumu
ujawni również jego zawartość innym anonimowym użytkownikom.',
+ 'nsfw' => 'Wrażliwy',
+ 'nsfw_expl' => 'Album zawiera wrażliwe treści.',
+ 'visibility_updated' => 'Zaktualizowano widoczność.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Czy na pewno chcesz przenieść album "%1$s" do albumu "%2$s"?',
+ 'confirm_multiple' => 'Czy na pewno chcesz przenieść wszystkie wybrane albumy do albumu "%s"?',
+ 'move_single' => 'Przenieś album',
+ 'move_to' => 'Przenieś do',
+ 'move_to_single' => 'Przenieś %s do:',
+ 'move_to_multiple' => 'Przenieś %d albumy do:',
+ 'no_album_target' => 'Brak albumu do przeniesienia',
+ 'moved_single' => 'Album przeniesiony!',
+ 'moved_single_details' => '%1$s przeniesiony do %2$s',
+ 'moved_details' => 'Albumy przeniesione do %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Utwórz album',
+ 'info' => 'Wprowadź tytuł nowego albumu:',
+ 'title' => 'tytuł',
+ 'create' => 'Utwórz album',
+ 'visibility_private' => 'Ten album będzie prywatny (widoczny tylko dla Ciebie)',
+ 'visibility_public' => 'Ten album będzie publiczny (widoczny dla wszystkich)',
+ 'visibility_public_hidden' => 'Ten album będzie publiczny, ale ukryty z list',
+ 'visibility_inherit' => 'Ten album odziedziczy widoczność od albumu nadrzednego',
+ 'visibility_inherit_no_parent' => 'Ten album będzie prywatny (brak albumu nadrzednego)', ],
+ 'new_tag_album' => [
+ 'menu' => 'Utwórz album ze znacznikami',
+ 'info' => 'Wprowadź tytuł nowego tagu albumu:',
+ 'title' => 'tytuł',
+ 'set_tags' => 'Ustawianie wyświetlania tagów',
+ 'create' => 'Utwórz album ze znacznikami',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Czy na pewno chcesz usunąć album "%s" i wszystkie znajdujące się w nim zdjęcia?',
+ 'confirmation_tag' => 'Czy na pewno chcesz usunąć album "%s"?',
+ 'confirmation_multiple' => 'Czy na pewno chcesz usunąć wszystkie %d wybrane albumy i wszystkie zawarte w nich zdjęcia?',
+ 'warning' => 'Tego działania nie można cofnąć!',
+ 'delete' => 'Usuwanie albumu i zdjęć',
+ ],
+ 'transfer' => [
+ 'query' => 'Przeniesienie własności albumu na',
+ 'confirmation' => 'Czy na pewno chcesz przenieść własność albumu "%s" i wszystkich zawartych w nim zdjęć do "%s"?',
+ 'lost_access_warning' => 'Dostęp do tego albumu zostanie utracony.',
+ 'warning' => 'Tego działania nie można cofnąć!',
+ 'transfer' => 'Przeniesienie własności albumu i zdjęć',
+ ],
+ 'rename' => [
+ 'photo' => 'Wprowadź nowy tytuł dla tego zdjęcia:',
+ 'album' => 'Wprowadź nowy tytuł dla tego albumu:',
+ 'rename' => 'Zmiana nazwy',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Scal %s do:',
+ 'merge_to_multiple' => 'Scal %d albumów do:',
+ 'no_albums' => 'Brak albumów do połączenia.',
+ 'confirm' => 'Czy na pewno chcesz połączyć album "%1$s" z albumem "%2$s"?',
+ 'confirm_multiple' => 'Czy na pewno chcesz połączyć wszystkie wybrane albumy w album "%s"?',
+ 'merge' => 'Połącz albumy',
+ 'merged' => 'Albumy zostały połączone do %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'Ten album jest chroniony hasłem. Wprowadź hasło poniżej, aby wyświetlić zdjęcia z tego albumu:',
+ 'password' => 'Hasło',
+ 'unlock' => 'Odblokowanie',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Wprowadź tagi dla tego zdjęcia.',
+ 'question_multiple' => 'Wprowadź tagi dla wszystkich %d wybranych zdjęć. Istniejące tagi zostaną nadpisane.',
+ 'no_tags' => 'Brak tagów',
+ 'set_tags' => 'Ustaw tagi',
+ 'updated' => 'Tagi zaktualizowane!',
+ 'tags_override_info' => 'Jeśli opcja ta nie jest zaznaczona, tagi zostaną dodane do istniejących tagów zdjęcia.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'Brak albumów do skopiowania',
+ 'copy_to' => 'Kopiuj %s do:',
+ 'copy_to_multiple' => 'Kopiuj %d zdjęć do:',
+ 'confirm' => 'Kopiuj %s do %s.',
+ 'confirm_multiple' => 'Skopiuj %d zdjęć do %s.',
+ 'copy' => 'Kopiuj',
+ 'copied' => 'Zdjęcia skopiowane!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Czy na pewno chcesz usunąć zdjęcie "%s"?',
+ 'confirm_multiple' => 'Czy na pewno chcesz usunąć wszystkie %d wybrane zdjęcia?',
+ 'deleted' => 'Zdjęcia usunięte!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Przenieś %s do:',
+ 'move_multiple' => 'Przenieś %d zdjęć do:',
+ 'confirm' => 'Przenieś %s do %s.',
+ 'confirm_multiple' => 'Przenieś %d zdjęć do %s.',
+ 'moved' => 'Zdjęcie(a) przeniesione do %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Wybierz użytkownika',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Wybierz album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Uwierzytelnianie powiodło się!',
+ 'error' => 'Ups, wygląda na to, że coś poszło nie tak. Przeładuj stronę i spróbuj ponownie!',
+ ],
+ 'se' => [
+ 'available' => 'Dostępne w Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Sesja wygasła',
+ 'message' => 'Twoja sesja wygasła.
Przeładuj stronę.',
+ 'reload' => 'Przeładuj',
+ 'go_to_gallery' => 'Przejdź do galerii',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/pl/duplicate-finder.php b/lang/pl/duplicate-finder.php
index 6081dd162c2..df34ee00bdd 100644
--- a/lang/pl/duplicate-finder.php
+++ b/lang/pl/duplicate-finder.php
@@ -1,26 +1,26 @@
'Konserwacja',
- 'intro' => 'Na tej stronie znajdują się zduplikowane obrazy znalezione w bazie danych.',
- 'found' => ' Znaleziono duplikaty!',
- 'invalid-search' => ' Należy sprawdzić przynajmniej sumę kontrolną lub warunek tytułu.',
- 'checksum-must-match' => 'Suma kontrolna musi się zgadzać.',
- 'title-must-match' => 'Tytuł musi się zgadzać.',
- 'must-be-in-same-album' => 'Muszą być w tym samym albumie.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Zdjęcie',
- 'checksum' => 'Suma kontrolna',
- ],
- 'warning' => [
- 'no-original-left' => 'Nie pozostał żaden oryginał.',
- 'keep-one' => 'Wybrano wszystkie duplikaty w tej grupie. Wybierz co najmniej jeden duplikat do zachowania.',
- ],
- 'delete-selected' => 'Usuń zaznaczone',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Konserwacja',
+ 'intro' => 'Na tej stronie znajdują się zduplikowane obrazy znalezione w bazie danych.',
+ 'found' => ' Znaleziono duplikaty!',
+ 'invalid-search' => ' Należy sprawdzić przynajmniej sumę kontrolną lub warunek tytułu.',
+ 'checksum-must-match' => 'Suma kontrolna musi się zgadzać.',
+ 'title-must-match' => 'Tytuł musi się zgadzać.',
+ 'must-be-in-same-album' => 'Muszą być w tym samym albumie.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Zdjęcie',
+ 'checksum' => 'Suma kontrolna',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'Nie pozostał żaden oryginał.',
+ 'keep-one' => 'Wybrano wszystkie duplikaty w tej grupie. Wybierz co najmniej jeden duplikat do zachowania.',
+ ],
+ 'delete-selected' => 'Usuń zaznaczone',
];
diff --git a/lang/pl/fix-tree.php b/lang/pl/fix-tree.php
index b331f3c84d8..05b21e6ca8c 100644
--- a/lang/pl/fix-tree.php
+++ b/lang/pl/fix-tree.php
@@ -1,46 +1,46 @@
'Konserwacja',
- 'intro' => 'Ta strona umożliwia ręczną zmianę kolejności i poprawianie albumów.
Przed dokonaniem jakichkolwiek modyfikacji zdecydowanie zalecamy zapoznanie się ze strukturami drzew zagnieżdżonych zestawów.',
- 'warning' => 'Możesz naprawdę zepsuć swoją instalację Lychee, modyfikuj wartości na własne ryzyko.',
- 'help' => [
- 'header' => 'Pomoc',
- 'hover' => 'Najedź kursorem na identyfikatory lub tytuły, aby podświetlić powiązane albumy.',
- 'left' => 'Lewa',
- 'right' => 'W prawo.',
- 'convenience' => 'Dla wygody, przyciski i pozwalają na zmianę wartości %s i %s odpowiednio o +1 i -1 z propagacją.',
- 'left-right-warn' => ' i wskazuje, że wartość %s (i odpowiednio %s) jest gdzieś zduplikowana.',
- 'parent-marked' => 'Oznaczenie Parent Id wskazuje, że %s i %s nie spełniają struktury drzewa Nest Set. Należy edytować wartości Parent Id lub %s/%s.',
- 'slowness' => 'W przypadku dużej liczby albumów ta strona będzie działać wolno.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Sprawdź',
- 'apply' => 'Zastosuj',
- ],
- 'no-changes' => 'Brak zmian do zastosowania.',
- 'table' => [
- 'title' => 'Tytuł',
- 'left' => 'Lewa',
- 'right' => 'Prawo',
- 'id' => 'Id',
- 'parent' => 'Identyfikator rodzica',
- ],
- 'errors' => [
- 'invalid' => 'Nieprawidłowe drzewo!',
- 'invalid_details' => 'Nie stosujemy tego rozwiązania, ponieważ gwarantuje ono uszkodzenie stanu.',
- 'invalid_left' => 'Album %s ma nieprawidłową lewą wartość.',
- 'invalid_right' => 'Album %s ma nieprawidłową prawą wartość.',
- 'invalid_left_right' => 'Album %s ma nieprawidłowe wartości lewy/prawy. Lewa strona powinna być mniejsza niż prawa: %s < %s.',
- 'duplicate_left' => 'Album %s ma zduplikowaną lewą wartość %s.',
- 'duplicate_right' => 'Album %s ma zduplikowaną wartość prawą %s.',
- 'parent' => 'Album %s ma nieoczekiwany identyfikator nadrzędny %s.',
- 'unknown' => 'W albumie %s wystąpił nieznany błąd.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Konserwacja',
+ 'intro' => 'Ta strona umożliwia ręczną zmianę kolejności i poprawianie albumów.
Przed dokonaniem jakichkolwiek modyfikacji zdecydowanie zalecamy zapoznanie się ze strukturami drzew zagnieżdżonych zestawów.',
+ 'warning' => 'Możesz naprawdę zepsuć swoją instalację Lychee, modyfikuj wartości na własne ryzyko.',
+ 'help' => [
+ 'header' => 'Pomoc',
+ 'hover' => 'Najedź kursorem na identyfikatory lub tytuły, aby podświetlić powiązane albumy.',
+ 'left' => 'Lewa',
+ 'right' => 'W prawo.',
+ 'convenience' => 'Dla wygody, przyciski i pozwalają na zmianę wartości %s i %s odpowiednio o +1 i -1 z propagacją.',
+ 'left-right-warn' => ' i wskazuje, że wartość %s (i odpowiednio %s) jest gdzieś zduplikowana.',
+ 'parent-marked' => 'Oznaczenie Parent Id wskazuje, że %s i %s nie spełniają struktury drzewa Nest Set. Należy edytować wartości Parent Id lub %s/%s.',
+ 'slowness' => 'W przypadku dużej liczby albumów ta strona będzie działać wolno.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Sprawdź',
+ 'apply' => 'Zastosuj',
+ ],
+ 'no-changes' => 'Brak zmian do zastosowania.',
+ 'table' => [
+ 'title' => 'Tytuł',
+ 'left' => 'Lewa',
+ 'right' => 'Prawo',
+ 'id' => 'Id',
+ 'parent' => 'Identyfikator rodzica',
+ ],
+ 'errors' => [
+ 'invalid' => 'Nieprawidłowe drzewo!',
+ 'invalid_details' => 'Nie stosujemy tego rozwiązania, ponieważ gwarantuje ono uszkodzenie stanu.',
+ 'invalid_left' => 'Album %s ma nieprawidłową lewą wartość.',
+ 'invalid_right' => 'Album %s ma nieprawidłową prawą wartość.',
+ 'invalid_left_right' => 'Album %s ma nieprawidłowe wartości lewy/prawy. Lewa strona powinna być mniejsza niż prawa: %s < %s.',
+ 'duplicate_left' => 'Album %s ma zduplikowaną lewą wartość %s.',
+ 'duplicate_right' => 'Album %s ma zduplikowaną wartość prawą %s.',
+ 'parent' => 'Album %s ma nieoczekiwany identyfikator nadrzędny %s.',
+ 'unknown' => 'W albumie %s wystąpił nieznany błąd.',
+ ],
];
diff --git a/lang/pl/flow.php b/lang/pl/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/pl/flow.php
+++ b/lang/pl/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/pl/gallery.php b/lang/pl/gallery.php
index 797ea02d24a..aca2c6f26b4 100644
--- a/lang/pl/gallery.php
+++ b/lang/pl/gallery.php
@@ -1,357 +1,357 @@
'Galeria',
- 'smart_albums' => 'Inteligentne albumy',
- 'pinned_albums' => 'Przypięte albumy',
- 'albums' => 'Albumy',
- 'root' => 'Albumy',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Oryginał',
- 'medium' => 'Średni',
- 'medium_hidpi' => 'Średni HiDPI',
- 'small' => 'Miniatura',
- 'small_hidpi' => 'Miniaturka HiDPI',
- 'thumb' => 'Kwadratowa miniaturka',
- 'thumb_hidpi' => 'Kwadratowa miniaturka HiDPI',
- 'placeholder' => 'Obraz zastępczy o niskiej jakości',
- 'thumbnail' => 'Miniatura zdjęcia',
- 'live_video' => 'Część wideo zdjęcia na żywo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Wybierz rozdzielczość obrazów dla archiwum ZIP albumu. Jeśli zdjęcie nie ma wybranego wariantu, zostanie użyty oryginał.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Dane kamery',
- 'album_reserved' => 'Wszelkie prawa zastrzeżone',
- 'map' => [
- 'error_gpx' => 'Błąd ładowania pliku GPX',
- 'osm_contributors' => 'Współtwórcy OpenStreetMap',
- ],
- 'search' => [
- 'title' => 'Wyszukiwanie',
- 'no_results' => 'Nic nie pasuje do wyszukiwanego hasła.',
- 'searchbox' => 'Szukaj...',
- 'minimum_chars' => 'Wymagane minimum %s znaków.',
- 'photos' => 'Zdjęcia (%s)',
- 'albums' => 'Albumy (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Nieposortowane',
- 'highlighted' => 'Wyróżniony',
- 'recent' => 'Najnowsze',
- 'public' => 'Publiczny',
- 'on_this_day' => 'W tym dniu',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Miniatury kwadratowe',
- 'justified' => 'Z aspektem, wyjustowane',
- 'masonry' => 'Z aspektem, cegiełki',
- 'grid' => 'Z aspektem, siatka',
- 'filmstrip' => 'Taśma filmowa',
- 'list' => 'Widok listy',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'Brak',
- 'exif' => 'Dane EXIF',
- 'description' => 'Opis',
- 'date' => 'Data wykonania',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'domyślny',
- 'disabled' => 'wyłączony',
- 'year' => 'Rok',
- 'month' => 'Miesiąc',
- 'day' => 'Dzień',
- 'hour' => 'Godzina',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albumy',
- 'header_photos' => 'Zdjęcia',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nie ma tu nic do oglądania',
- 'upload' => 'Przesyłanie zdjęć',
- 'tabs' => [
- 'about' => 'Informacje o albumie',
- 'share' => 'Udostępnij album',
- 'embed' => 'Embed Album',
- 'move' => 'Przenieś album',
- 'shop' => 'Shop Management',
- 'danger' => 'STREFA RYZYKOWNA',
- ],
- 'hero' => [
- 'created' => 'Utworzony',
- 'copyright' => 'Prawo autorskie',
- 'subalbums' => 'Sub-albumy',
- 'images' => 'Zdjęcia',
- 'download' => 'Pobierz album',
- 'share' => 'Udostępnij album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statystyki dostępne w Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Obiektyw',
- 'shutter' => 'Czas otwarcia migawki',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Przysłona',
- 'no_data' => 'Brak danych',
- ],
- 'properties' => [
- 'title' => 'Tytuł',
- 'slug' => 'Slug (przyjazny URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Opis',
- 'photo_ordering' => 'Sortuj zdjęcia według',
- 'children_ordering' => 'Sortuj albumy według',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Ustawianie nagłówka albumu',
- 'compact_header' => 'Użyj kompaktowego nagłówka',
- 'license' => 'Ustaw licencję',
- 'copyright' => 'Ustaw prawo autorskie',
- 'aspect_ratio' => 'Ustawianie proporcji miniatury albumu',
- 'album_timeline' => 'Ustawianie trybu osi czasu albumu',
- 'photo_timeline' => 'Ustawianie trybu osi czasu zdjęć',
- 'layout' => 'Ustawianie układu zdjęć',
- 'show_tags' => 'Ustawianie wyświetlania tagów',
- 'tags_required' => 'Wymagane są znaczniki.',
- 'all_tags_must_match' => 'Wszystkie znaczniki muszą pasować.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Wyróżnienie',
- 'unhighlight' => 'Cofnij wyróżnienie',
- 'set_album_header' => 'Ustaw jako nagłówek albumu',
- 'move' => 'Przenieś',
- 'delete' => 'Usuń',
- 'header_set' => 'Ustaw nagłówki',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'O',
- 'basics' => 'Podstawy',
- 'title' => 'Tytuł',
- 'uploaded' => 'Przesłano',
- 'description' => 'Opis',
- 'license' => 'Licencja',
- 'reuse' => 'Ponowne użycie',
- 'latitude' => 'Szerokość geograficzna',
- 'longitude' => 'Długość geograficzna',
- 'altitude' => 'Wysokość',
- 'location' => 'Lokalizacja',
- 'image' => 'Obraz',
- 'video' => 'Wideo',
- 'size' => 'Rozmiar',
- 'format' => 'Format',
- 'resolution' => 'Rozdzielczość',
- 'duration' => 'Czas trwania',
- 'fps' => 'Liczba klatek na sekundę',
- 'tags' => 'Tagi',
- 'camera' => 'Kamera',
- 'captured' => 'Przechwycony',
- 'make' => 'Marka',
- 'type' => 'Typ/Model',
- 'lens' => 'Obiektyw',
- 'shutter' => 'Czas otwarcia migawki',
- 'aperture' => 'Przysłona',
- 'focal' => 'Ogniskowa',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Ustaw tytuł',
- 'set_description' => 'Ustaw opis',
- 'set_license' => 'Ustaw licencję',
- 'no_tags' => 'Brak tagów',
- 'set_tags' => 'Ustaw tagi',
- 'set_created_at' => 'Ustaw datę przesłania',
- 'set_taken_at' => 'Ustaw datę wykonania',
- 'set_taken_at_info' => 'Po ustawieniu wyświetlona zostanie gwiazdka %s wskazująca, że ta data nie jest oryginalną datą EXIF.
Zaznacz pole wyboru i zapisz, aby zresetować do oryginalnej daty.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Wrażliwa zawartość',
- 'description' => 'Ten album zawiera wrażliwe treści, które niektórzy mogą uznać za obraźliwe lub niepokojące.',
- 'consent' => 'Kliknij, aby wyrazić zgodę.',
- ],
- 'menus' => [
- 'highlight' => 'Wyróżnienie',
- 'unhighlight' => 'Cofnij wyróżnienie',
- 'highlight_all' => 'Wybrano wyróżnienie',
- 'unhighlight_all' => 'Cofnij wyróżnienie dla zaznaczonych',
- 'tag' => 'Tag',
- 'tag_all' => 'Otaguj zaznaczone',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Ustaw okładkę albumu',
- 'remove_header' => 'Usuń nagłówek albumu',
- 'set_header' => 'Ustawianie nagłówka albumu',
- 'copy_to' => 'Kopiuj do ...',
- 'copy_all_to' => 'Kopiuj wybrane do ...',
- 'rename' => 'Zmiana nazwy',
- 'move' => 'Przenieś',
- 'move_all' => 'Przenieś wybrane',
- 'pin' => 'Przypnij',
- 'unpin' => 'Odepnij',
- 'delete' => 'Usuń',
- 'delete_all' => 'Usuń zaznaczone',
- 'download' => 'Pobierz',
- 'download_all' => 'Pobierz wybrane',
- 'merge' => 'Scal',
- 'merge_all' => 'Scal wybrane',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Prześlij zdjęcie',
- 'take_photo' => 'Zrób zdjęcie',
- 'import_link' => 'Import z łącza',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import z Dropbox',
- 'new_album' => 'Nowy album',
- 'new_tag_album' => 'Nowy album z tagami',
- 'upload_track' => 'Prześlij ścieżkę',
- 'delete_track' => 'Usuń ścieżkę',
- ],
- 'sort' => [
- 'photo_select_1' => 'Czas przesyłania',
- 'photo_select_2' => 'Czas wykonania',
- 'photo_select_3' => 'Tytuł (Nat)',
- 'photo_select_4' => 'Opis (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Wyróżnienie',
- 'photo_select_7' => 'Format zdjęcia',
- 'ascending' => 'Rosnąco',
- 'descending' => 'Malejąco',
- 'album_select_1' => 'Czas utworzenia',
- 'album_select_2' => 'Tytuł (Nat)',
- 'album_select_3' => 'Opis (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Dane ostatniego użycia',
- 'album_select_6' => 'Najstarsze',
- ],
- 'albums_protection' => [
- 'private' => 'prywatny',
- 'public' => 'publiczny',
- 'inherit_from_parent' => 'dziedziczą po rodzicu',
- 'public_but_hidden' => 'publiczny ale ukryty',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Galeria',
+ 'smart_albums' => 'Inteligentne albumy',
+ 'pinned_albums' => 'Przypięte albumy',
+ 'albums' => 'Albumy',
+ 'root' => 'Albumy',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Oryginał',
+ 'medium' => 'Średni',
+ 'medium_hidpi' => 'Średni HiDPI',
+ 'small' => 'Miniatura',
+ 'small_hidpi' => 'Miniaturka HiDPI',
+ 'thumb' => 'Kwadratowa miniaturka',
+ 'thumb_hidpi' => 'Kwadratowa miniaturka HiDPI',
+ 'placeholder' => 'Obraz zastępczy o niskiej jakości',
+ 'thumbnail' => 'Miniatura zdjęcia',
+ 'live_video' => 'Część wideo zdjęcia na żywo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Wybierz rozdzielczość obrazów dla archiwum ZIP albumu. Jeśli zdjęcie nie ma wybranego wariantu, zostanie użyty oryginał.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Dane kamery',
+ 'album_reserved' => 'Wszelkie prawa zastrzeżone',
+ 'map' => [
+ 'error_gpx' => 'Błąd ładowania pliku GPX',
+ 'osm_contributors' => 'Współtwórcy OpenStreetMap',
+ ],
+ 'search' => [
+ 'title' => 'Wyszukiwanie',
+ 'no_results' => 'Nic nie pasuje do wyszukiwanego hasła.',
+ 'searchbox' => 'Szukaj...',
+ 'minimum_chars' => 'Wymagane minimum %s znaków.',
+ 'photos' => 'Zdjęcia (%s)',
+ 'albums' => 'Albumy (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Nieposortowane',
+ 'highlighted' => 'Wyróżniony',
+ 'recent' => 'Najnowsze',
+ 'public' => 'Publiczny',
+ 'on_this_day' => 'W tym dniu',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Miniatury kwadratowe',
+ 'justified' => 'Z aspektem, wyjustowane',
+ 'masonry' => 'Z aspektem, cegiełki',
+ 'grid' => 'Z aspektem, siatka',
+ 'filmstrip' => 'Taśma filmowa',
+ 'list' => 'Widok listy',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'Brak',
+ 'exif' => 'Dane EXIF',
+ 'description' => 'Opis',
+ 'date' => 'Data wykonania',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'domyślny',
+ 'disabled' => 'wyłączony',
+ 'year' => 'Rok',
+ 'month' => 'Miesiąc',
+ 'day' => 'Dzień',
+ 'hour' => 'Godzina',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albumy',
+ 'header_photos' => 'Zdjęcia',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nie ma tu nic do oglądania',
+ 'upload' => 'Przesyłanie zdjęć',
+ 'tabs' => [
+ 'about' => 'Informacje o albumie',
+ 'share' => 'Udostępnij album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Przenieś album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'STREFA RYZYKOWNA',
+ ],
+ 'hero' => [
+ 'created' => 'Utworzony',
+ 'copyright' => 'Prawo autorskie',
+ 'subalbums' => 'Sub-albumy',
+ 'images' => 'Zdjęcia',
+ 'download' => 'Pobierz album',
+ 'share' => 'Udostępnij album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statystyki dostępne w Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Obiektyw',
+ 'shutter' => 'Czas otwarcia migawki',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Przysłona',
+ 'no_data' => 'Brak danych',
+ ],
+ 'properties' => [
+ 'title' => 'Tytuł',
+ 'slug' => 'Slug (przyjazny URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Opis',
+ 'photo_ordering' => 'Sortuj zdjęcia według',
+ 'children_ordering' => 'Sortuj albumy według',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Ustawianie nagłówka albumu',
+ 'compact_header' => 'Użyj kompaktowego nagłówka',
+ 'license' => 'Ustaw licencję',
+ 'copyright' => 'Ustaw prawo autorskie',
+ 'aspect_ratio' => 'Ustawianie proporcji miniatury albumu',
+ 'album_timeline' => 'Ustawianie trybu osi czasu albumu',
+ 'photo_timeline' => 'Ustawianie trybu osi czasu zdjęć',
+ 'layout' => 'Ustawianie układu zdjęć',
+ 'show_tags' => 'Ustawianie wyświetlania tagów',
+ 'tags_required' => 'Wymagane są znaczniki.',
+ 'all_tags_must_match' => 'Wszystkie znaczniki muszą pasować.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Wyróżnienie',
+ 'unhighlight' => 'Cofnij wyróżnienie',
+ 'set_album_header' => 'Ustaw jako nagłówek albumu',
+ 'move' => 'Przenieś',
+ 'delete' => 'Usuń',
+ 'header_set' => 'Ustaw nagłówki',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'O',
+ 'basics' => 'Podstawy',
+ 'title' => 'Tytuł',
+ 'uploaded' => 'Przesłano',
+ 'description' => 'Opis',
+ 'license' => 'Licencja',
+ 'reuse' => 'Ponowne użycie',
+ 'latitude' => 'Szerokość geograficzna',
+ 'longitude' => 'Długość geograficzna',
+ 'altitude' => 'Wysokość',
+ 'location' => 'Lokalizacja',
+ 'image' => 'Obraz',
+ 'video' => 'Wideo',
+ 'size' => 'Rozmiar',
+ 'format' => 'Format',
+ 'resolution' => 'Rozdzielczość',
+ 'duration' => 'Czas trwania',
+ 'fps' => 'Liczba klatek na sekundę',
+ 'tags' => 'Tagi',
+ 'camera' => 'Kamera',
+ 'captured' => 'Przechwycony',
+ 'make' => 'Marka',
+ 'type' => 'Typ/Model',
+ 'lens' => 'Obiektyw',
+ 'shutter' => 'Czas otwarcia migawki',
+ 'aperture' => 'Przysłona',
+ 'focal' => 'Ogniskowa',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Ustaw tytuł',
+ 'set_description' => 'Ustaw opis',
+ 'set_license' => 'Ustaw licencję',
+ 'no_tags' => 'Brak tagów',
+ 'set_tags' => 'Ustaw tagi',
+ 'set_created_at' => 'Ustaw datę przesłania',
+ 'set_taken_at' => 'Ustaw datę wykonania',
+ 'set_taken_at_info' => 'Po ustawieniu wyświetlona zostanie gwiazdka %s wskazująca, że ta data nie jest oryginalną datą EXIF.
Zaznacz pole wyboru i zapisz, aby zresetować do oryginalnej daty.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Wrażliwa zawartość',
+ 'description' => 'Ten album zawiera wrażliwe treści, które niektórzy mogą uznać za obraźliwe lub niepokojące.',
+ 'consent' => 'Kliknij, aby wyrazić zgodę.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Wyróżnienie',
+ 'unhighlight' => 'Cofnij wyróżnienie',
+ 'highlight_all' => 'Wybrano wyróżnienie',
+ 'unhighlight_all' => 'Cofnij wyróżnienie dla zaznaczonych',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Otaguj zaznaczone',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Ustaw okładkę albumu',
+ 'remove_header' => 'Usuń nagłówek albumu',
+ 'set_header' => 'Ustawianie nagłówka albumu',
+ 'copy_to' => 'Kopiuj do ...',
+ 'copy_all_to' => 'Kopiuj wybrane do ...',
+ 'rename' => 'Zmiana nazwy',
+ 'move' => 'Przenieś',
+ 'move_all' => 'Przenieś wybrane',
+ 'pin' => 'Przypnij',
+ 'unpin' => 'Odepnij',
+ 'delete' => 'Usuń',
+ 'delete_all' => 'Usuń zaznaczone',
+ 'download' => 'Pobierz',
+ 'download_all' => 'Pobierz wybrane',
+ 'merge' => 'Scal',
+ 'merge_all' => 'Scal wybrane',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Prześlij zdjęcie',
+ 'take_photo' => 'Zrób zdjęcie',
+ 'import_link' => 'Import z łącza',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import z Dropbox',
+ 'new_album' => 'Nowy album',
+ 'new_tag_album' => 'Nowy album z tagami',
+ 'upload_track' => 'Prześlij ścieżkę',
+ 'delete_track' => 'Usuń ścieżkę',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Czas przesyłania',
+ 'photo_select_2' => 'Czas wykonania',
+ 'photo_select_3' => 'Tytuł (Nat)',
+ 'photo_select_4' => 'Opis (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Wyróżnienie',
+ 'photo_select_7' => 'Format zdjęcia',
+ 'ascending' => 'Rosnąco',
+ 'descending' => 'Malejąco',
+ 'album_select_1' => 'Czas utworzenia',
+ 'album_select_2' => 'Tytuł (Nat)',
+ 'album_select_3' => 'Opis (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Dane ostatniego użycia',
+ 'album_select_6' => 'Najstarsze',
+ ],
+ 'albums_protection' => [
+ 'private' => 'prywatny',
+ 'public' => 'publiczny',
+ 'inherit_from_parent' => 'dziedziczą po rodzicu',
+ 'public_but_hidden' => 'publiczny ale ukryty',
+ ],
];
diff --git a/lang/pl/import_from_server.php b/lang/pl/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/pl/import_from_server.php
+++ b/lang/pl/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/pl/jobs.php b/lang/pl/jobs.php
index 0a444e1e09a..a0d399951b6 100644
--- a/lang/pl/jobs.php
+++ b/lang/pl/jobs.php
@@ -1,15 +1,15 @@
'Zadania',
- 'no_data' => 'Żadne zadania nie zostały jeszcze wykonane.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Zadania',
+ 'no_data' => 'Żadne zadania nie zostały jeszcze wykonane.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/pl/landing.php b/lang/pl/landing.php
index ec5c835bb4a..0d2f1972589 100644
--- a/lang/pl/landing.php
+++ b/lang/pl/landing.php
@@ -1,13 +1,13 @@
'Galeria',
- 'access_gallery' => 'Dostęp do galerii',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'Wszystkie obrazy na tej stronie podlegają prawom autorskim %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Galeria',
+ 'access_gallery' => 'Dostęp do galerii',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'Wszystkie obrazy na tej stronie podlegają prawom autorskim %1$s © %2$s',
];
diff --git a/lang/pl/left-menu.php b/lang/pl/left-menu.php
index 849b97fe943..b7b4c5a00b3 100644
--- a/lang/pl/left-menu.php
+++ b/lang/pl/left-menu.php
@@ -1,28 +1,28 @@
'Powrót do galerii',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Osadź Strumień Zdjęć',
- 'admin' => 'Administrator',
- 'clockwork' => 'clockwork',
- 'logs' => 'Pokaż dzienniki',
- 'jobs' => 'Pokaż historię zadań',
- 'user' => 'Użytkownik',
- 'sign_out' => 'Wyloguj się',
- 'about' => 'O',
- 'changelog' => 'Changelog',
- 'api' => 'Dokumentacja API',
- 'source_code' => 'Kod źródłowy',
- 'support' => 'Wsparcie',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Powrót do galerii',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Osadź Strumień Zdjęć',
+ 'admin' => 'Administrator',
+ 'clockwork' => 'clockwork',
+ 'logs' => 'Pokaż dzienniki',
+ 'jobs' => 'Pokaż historię zadań',
+ 'user' => 'Użytkownik',
+ 'sign_out' => 'Wyloguj się',
+ 'about' => 'O',
+ 'changelog' => 'Changelog',
+ 'api' => 'Dokumentacja API',
+ 'source_code' => 'Kod źródłowy',
+ 'support' => 'Wsparcie',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/pl/maintenance.php b/lang/pl/maintenance.php
index d559c3bc530..a7d7fcf3ba8 100644
--- a/lang/pl/maintenance.php
+++ b/lang/pl/maintenance.php
@@ -1,104 +1,104 @@
'Konserwacja',
- 'description' => 'Na tej stronie znajdziesz wszystkie wymagane czynności, aby instalacja Lychee działała płynnie i przyjemnie.',
- 'cleaning' => [
- 'title' => 'Czyszczenie %s',
- 'result' => '%s usunięte.',
- 'description' => 'Usuń całą zawartość z %s.',
- 'button' => 'Czyszczenie',
- ],
- 'duplicate-finder' => [
- 'title' => 'duplikaty',
- 'description' => 'Moduł ten zlicza potencjalne duplikaty pomiędzy obrazami.',
- 'duplicates-all' => 'Duplikaty we wszystkich albumach',
- 'duplicates-title' => 'Duplikaty tytułów na album',
- 'duplicates-per-album' => 'Duplikaty na album',
- 'show' => 'Pokaż duplikaty',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Naprawianie historii zadań',
- 'description' => 'Oznaczanie zadań o statusie %s lub %s jako %s.',
- 'button' => 'Napraw historię zadań',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Brakujące %s',
- 'description' => 'Znaleziono %d %s, które można wygenerować.',
- 'button' => 'Generuj!',
- 'success' => 'Pomyślnie wygenerowano %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'Brakujące rozmiary plików',
- 'description' => 'Znaleziono %d małych wariantów bez rozmiaru pliku.',
- 'button' => 'Pobierz dane!',
- 'success' => 'Pomyślnie obliczono rozmiary %d małych wariantów.',
- ],
- 'fix-tree' => [
- 'title' => 'Statystyki drzew',
- 'Oddness' => 'Nieparzystość',
- 'Duplicates' => 'Duplikaty',
- 'Wrong parents' => 'Błędni rodzice',
- 'Missing parents' => 'Brakujacy rodzice',
- 'button' => 'Napraw drzewo',
- ],
- 'optimize' => [
- 'title' => 'Optymalizacja bazy danych',
- 'description' => 'Jeśli zauważysz spowolnienie w instalacji, może to być spowodowane tym, że baza danych
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Konserwacja',
+ 'description' => 'Na tej stronie znajdziesz wszystkie wymagane czynności, aby instalacja Lychee działała płynnie i przyjemnie.',
+ 'cleaning' => [
+ 'title' => 'Czyszczenie %s',
+ 'result' => '%s usunięte.',
+ 'description' => 'Usuń całą zawartość z %s.',
+ 'button' => 'Czyszczenie',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'duplikaty',
+ 'description' => 'Moduł ten zlicza potencjalne duplikaty pomiędzy obrazami.',
+ 'duplicates-all' => 'Duplikaty we wszystkich albumach',
+ 'duplicates-title' => 'Duplikaty tytułów na album',
+ 'duplicates-per-album' => 'Duplikaty na album',
+ 'show' => 'Pokaż duplikaty',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Naprawianie historii zadań',
+ 'description' => 'Oznaczanie zadań o statusie %s lub %s jako %s.',
+ 'button' => 'Napraw historię zadań',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Brakujące %s',
+ 'description' => 'Znaleziono %d %s, które można wygenerować.',
+ 'button' => 'Generuj!',
+ 'success' => 'Pomyślnie wygenerowano %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'Brakujące rozmiary plików',
+ 'description' => 'Znaleziono %d małych wariantów bez rozmiaru pliku.',
+ 'button' => 'Pobierz dane!',
+ 'success' => 'Pomyślnie obliczono rozmiary %d małych wariantów.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Statystyki drzew',
+ 'Oddness' => 'Nieparzystość',
+ 'Duplicates' => 'Duplikaty',
+ 'Wrong parents' => 'Błędni rodzice',
+ 'Missing parents' => 'Brakujacy rodzice',
+ 'button' => 'Napraw drzewo',
+ ],
+ 'optimize' => [
+ 'title' => 'Optymalizacja bazy danych',
+ 'description' => 'Jeśli zauważysz spowolnienie w instalacji, może to być spowodowane tym, że baza danych
nie ma wszystkich potrzebnych indeksów.',
- 'button' => 'Optymalizacja bazy danych',
- ],
- 'update' => [
- 'title' => 'Aktualizacje',
- 'check-button' => 'Sprawdź aktualizacje',
- 'update-button' => 'Aktualizacja',
- 'no-pending-updates' => 'Brak oczekujących aktualizacji.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Opróżnianie pamięci podręcznej',
- 'description' => 'Opróżnianie pamięci podręcznej każdego użytkownika w celu rozwiązania problemów z unieważnianiem.',
- 'button' => 'Opróżnianie',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optymalizacja bazy danych',
+ ],
+ 'update' => [
+ 'title' => 'Aktualizacje',
+ 'check-button' => 'Sprawdź aktualizacje',
+ 'update-button' => 'Aktualizacja',
+ 'no-pending-updates' => 'Brak oczekujących aktualizacji.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Opróżnianie pamięci podręcznej',
+ 'description' => 'Opróżnianie pamięci podręcznej każdego użytkownika w celu rozwiązania problemów z unieważnianiem.',
+ 'button' => 'Opróżnianie',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/pl/moderation.php b/lang/pl/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/pl/moderation.php
+++ b/lang/pl/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/pl/profile.php b/lang/pl/profile.php
index 95dee52d3d5..87a337dc9a4 100644
--- a/lang/pl/profile.php
+++ b/lang/pl/profile.php
@@ -1,80 +1,80 @@
'Profil',
- 'login' => [
- 'header' => 'Profil',
- 'enter_current_password' => 'Wprowadź swoje aktualne hasło',
- 'current_password' => 'Aktualne hasło',
- 'credentials_update' => 'Twoje poświadczenia zostaną zmienione na następujące:',
- 'username' => 'Nazwa użytkownika',
- 'new_password' => 'Nowe hasło',
- 'confirm_new_password' => 'Potwierdź nowe hasło',
- 'email_instruction' => 'Dodaj swój adres e-mail poniżej, aby włączyć otrzymywanie powiadomień e-mail. Aby przestać otrzymywać wiadomości e-mail, po prostu usuń swój adres e-mail poniżej.',
- 'email' => 'E-mail',
- 'change' => 'Zmień login',
- 'api_token' => 'Token API ...',
- 'missing_fields' => 'Brakujące pola',
- 'ldap_managed' => 'Informacje logowania użytkownika są zarządzane przez LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Nazwa użytkownika już istnieje.',
- 'password_mismatch' => 'Hasła nie pasują do siebie.',
- 'signup' => 'Zarejestruj się',
- 'error' => 'Wystąpił błąd podczas rejestrowania konta.',
- 'success' => 'Twoje konto zostało pomyślnie utworzone.',
- ],
- 'token' => [
- 'unavailable' => 'Ten token został już wyświetlony.',
- 'no_data' => 'Nie wygenerowano tokenu API.',
- 'disable' => 'Wyłącz',
- 'disabled' => 'Token wyłączony',
- 'warning' => 'Ten token nie będzie wyświetlany ponownie. Należy go skopiować i przechowywać w bezpiecznym miejscu.',
- 'reset' => 'Zresetuj token',
- 'create' => 'Utwórz nowy token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth nie jest dostępny',
- 'setup_env' => 'Skonfiguruj poświadczenia w pliku .env',
- 'token_registered' => 'Zarejestrowano token %s.',
- 'setup' => 'Konfiguracja %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Poświadczenie usunięte!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'Zapewnia to jedynie możliwość używania WebAuthn do uwierzytelniania zamiast nazwy użytkownika i hasła.',
- 'empty' => 'Lista poświadczeń jest pusta!',
- 'not_secure' => 'Środowisko nie jest zabezpieczone. U2F nie jest dostępne.',
- 'new' => 'Zarejestruj nowe urządzenie.',
- 'credential_deleted' => 'Poświadczenie usunięte!',
- 'credential_updated' => 'Poświadczenie zaktualizowane!',
- 'credential_registred' => 'Rejestracja zakończona sukcesem!',
- '5_chars' => 'Co najmniej 5 znaków.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profil',
+ 'login' => [
+ 'header' => 'Profil',
+ 'enter_current_password' => 'Wprowadź swoje aktualne hasło',
+ 'current_password' => 'Aktualne hasło',
+ 'credentials_update' => 'Twoje poświadczenia zostaną zmienione na następujące:',
+ 'username' => 'Nazwa użytkownika',
+ 'new_password' => 'Nowe hasło',
+ 'confirm_new_password' => 'Potwierdź nowe hasło',
+ 'email_instruction' => 'Dodaj swój adres e-mail poniżej, aby włączyć otrzymywanie powiadomień e-mail. Aby przestać otrzymywać wiadomości e-mail, po prostu usuń swój adres e-mail poniżej.',
+ 'email' => 'E-mail',
+ 'change' => 'Zmień login',
+ 'api_token' => 'Token API ...',
+ 'missing_fields' => 'Brakujące pola',
+ 'ldap_managed' => 'Informacje logowania użytkownika są zarządzane przez LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Nazwa użytkownika już istnieje.',
+ 'password_mismatch' => 'Hasła nie pasują do siebie.',
+ 'signup' => 'Zarejestruj się',
+ 'error' => 'Wystąpił błąd podczas rejestrowania konta.',
+ 'success' => 'Twoje konto zostało pomyślnie utworzone.',
+ ],
+ 'token' => [
+ 'unavailable' => 'Ten token został już wyświetlony.',
+ 'no_data' => 'Nie wygenerowano tokenu API.',
+ 'disable' => 'Wyłącz',
+ 'disabled' => 'Token wyłączony',
+ 'warning' => 'Ten token nie będzie wyświetlany ponownie. Należy go skopiować i przechowywać w bezpiecznym miejscu.',
+ 'reset' => 'Zresetuj token',
+ 'create' => 'Utwórz nowy token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth nie jest dostępny',
+ 'setup_env' => 'Skonfiguruj poświadczenia w pliku .env',
+ 'token_registered' => 'Zarejestrowano token %s.',
+ 'setup' => 'Konfiguracja %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Poświadczenie usunięte!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'Zapewnia to jedynie możliwość używania WebAuthn do uwierzytelniania zamiast nazwy użytkownika i hasła.',
+ 'empty' => 'Lista poświadczeń jest pusta!',
+ 'not_secure' => 'Środowisko nie jest zabezpieczone. U2F nie jest dostępne.',
+ 'new' => 'Zarejestruj nowe urządzenie.',
+ 'credential_deleted' => 'Poświadczenie usunięte!',
+ 'credential_updated' => 'Poświadczenie zaktualizowane!',
+ 'credential_registred' => 'Rejestracja zakończona sukcesem!',
+ '5_chars' => 'Co najmniej 5 znaków.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/pl/renamer.php b/lang/pl/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/pl/renamer.php
+++ b/lang/pl/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/pl/settings.php b/lang/pl/settings.php
index 6ff3fae28b5..a36d9bc85fc 100644
--- a/lang/pl/settings.php
+++ b/lang/pl/settings.php
@@ -1,101 +1,101 @@
'Ustawienia',
- 'small_screen' => 'Aby uzyskać lepsze wrażenia na stronie ustawień,
zalecamy korzystanie z większego ekranu.',
- 'tabs' => [
- 'basic' => 'Podstawowe',
- 'all_settings' => 'Wszystkie ustawienia',
- ],
- 'toasts' => [
- 'change_saved' => 'Zmiana zapisana!',
- 'details' => 'Ustawienia zostały zmodyfikowane zgodnie z prośbą',
- 'error' => 'Błąd!',
- 'error_load_css' => 'Nie można załadować dist/user.css',
- 'error_load_js' => 'Nie można załadować dist/custom.js',
- 'error_save_css' => 'Nie można zapisać CSS',
- 'error_save_js' => 'Nie można zapisać JS',
- 'thank_you' => 'Dziękujemy za wsparcie.',
- 'reload' => 'Odśwież stronę, aby uzyskać pełną funkcjonalność.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Użyj trybu ciemnego dla Lychee',
- 'language' => 'Język używany przez Lychee',
- 'nsfw_album_visibility' => 'Wrażliwe albumy domyślnie widoczne.',
- 'nsfw_album_explanation' => 'Jeśli album jest publiczny, nadal jest dostępny, tylko ukryty przed widokiem i można go ujawnić, naciskając H.',
- 'cache_enabled' => 'Włącz buforowanie odpowiedzi.',
- 'cache_enabled_details' => 'Znacznie przyspieszy to czas reakcji Lychee.
Jeśli używasz albumów chronionych hasłem, nie powinieneś włączać tej opcji.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Uzyskaj ekskluzywne funkcje i wspieraj rozwój Lychee. Odblokuj EdycjęSE.',
- 'preview' => 'Włącz podgląd funkcji Lychee SE',
- 'hide_call4action' => 'Ukryj ten formularz rejestracyjny Lychee SE. Jestem zadowolony z Lychee w obecnej formie. :)',
- 'hide_warning' => 'Jeśli ta opcja jest włączona, jedynym sposobem zarejestrowania klucza licencyjnego będzie skorzystanie z powyższej karty Więcej. Zmiany zostaną zastosowane po przeładowaniu strony.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'Aby zaimportować zdjęcia z Dropbox, potrzebujesz ważnego klucza aplikacji drop-ins z ich strony internetowej.',
- 'api_key' => 'Klucz API Dropbox',
- 'set_key' => 'Ustawianie klucza Dropbox',
- ],
- 'gallery' => [
- 'header' => 'Galeria',
- 'photo_order_column' => 'Domyślna kolumna używana do sortowania zdjęć',
- 'photo_order_direction' => 'Domyślna kolejność sortowania zdjęć',
- 'album_order_column' => 'Domyślna kolumna używana do sortowania albumów',
- 'album_order_direction' => 'Domyślna kolejność sortowania albumów',
- 'aspect_ratio' => 'Domyślny współczynnik proporcji dla miniatur albumów',
- 'photo_layout' => 'Układ dla zdjęć',
- 'album_decoration' => 'Pokaż dekoracje na okładce albumu (liczba podalbumów i/lub zdjęć)',
- 'album_decoration_direction' => 'Wyrównanie dekoracji albumu w poziomie lub w pionie',
- 'photo_overlay' => 'Domyślne informacje o nakładce obrazu',
- 'license_default' => 'Domyślna licencja używana dla albumów',
- 'license_help' => 'Potrzebujesz pomocy w wyborze?',
- ],
- 'geolocation' => [
- 'header' => 'Geolokalizacja',
- 'map_display' => 'Wyświetlanie mapy z podanymi współrzędnymi GPS',
- 'map_display_public' => 'Zezwalanie anonimowym użytkownikom na dostęp do mapy',
- 'map_provider' => 'Definiuje dostawcę mapy',
- 'map_include_subalbums' => 'Zawiera zdjęcia podrzędnych albumów na mapie',
- 'location_decoding' => 'Korzystanie z dekodowania lokalizacji GPS',
- 'location_show' => 'Pokaż lokalizację wyodrębnioną ze współrzędnych GPS',
- 'location_show_public' => 'Anonimowi użytkownicy mogą uzyskać dostęp do lokalizacji wyodrębnionej ze współrzędnych GPS', 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates', ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Zmiana CSS',
- 'change_js' => 'Zmiana JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Stary styl ustawień',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Niektóre ustawienia zostały zmienione.',
- 'save' => 'Zapisz',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'wyłączony',
- 'enabled' => 'włączony',
- 'discover' => 'odkryj',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Ustawienia',
+ 'small_screen' => 'Aby uzyskać lepsze wrażenia na stronie ustawień,
zalecamy korzystanie z większego ekranu.',
+ 'tabs' => [
+ 'basic' => 'Podstawowe',
+ 'all_settings' => 'Wszystkie ustawienia',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Zmiana zapisana!',
+ 'details' => 'Ustawienia zostały zmodyfikowane zgodnie z prośbą',
+ 'error' => 'Błąd!',
+ 'error_load_css' => 'Nie można załadować dist/user.css',
+ 'error_load_js' => 'Nie można załadować dist/custom.js',
+ 'error_save_css' => 'Nie można zapisać CSS',
+ 'error_save_js' => 'Nie można zapisać JS',
+ 'thank_you' => 'Dziękujemy za wsparcie.',
+ 'reload' => 'Odśwież stronę, aby uzyskać pełną funkcjonalność.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Użyj trybu ciemnego dla Lychee',
+ 'language' => 'Język używany przez Lychee',
+ 'nsfw_album_visibility' => 'Wrażliwe albumy domyślnie widoczne.',
+ 'nsfw_album_explanation' => 'Jeśli album jest publiczny, nadal jest dostępny, tylko ukryty przed widokiem i można go ujawnić, naciskając H.',
+ 'cache_enabled' => 'Włącz buforowanie odpowiedzi.',
+ 'cache_enabled_details' => 'Znacznie przyspieszy to czas reakcji Lychee.
Jeśli używasz albumów chronionych hasłem, nie powinieneś włączać tej opcji.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Uzyskaj ekskluzywne funkcje i wspieraj rozwój Lychee. Odblokuj EdycjęSE.',
+ 'preview' => 'Włącz podgląd funkcji Lychee SE',
+ 'hide_call4action' => 'Ukryj ten formularz rejestracyjny Lychee SE. Jestem zadowolony z Lychee w obecnej formie. :)',
+ 'hide_warning' => 'Jeśli ta opcja jest włączona, jedynym sposobem zarejestrowania klucza licencyjnego będzie skorzystanie z powyższej karty Więcej. Zmiany zostaną zastosowane po przeładowaniu strony.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'Aby zaimportować zdjęcia z Dropbox, potrzebujesz ważnego klucza aplikacji drop-ins z ich strony internetowej.',
+ 'api_key' => 'Klucz API Dropbox',
+ 'set_key' => 'Ustawianie klucza Dropbox',
+ ],
+ 'gallery' => [
+ 'header' => 'Galeria',
+ 'photo_order_column' => 'Domyślna kolumna używana do sortowania zdjęć',
+ 'photo_order_direction' => 'Domyślna kolejność sortowania zdjęć',
+ 'album_order_column' => 'Domyślna kolumna używana do sortowania albumów',
+ 'album_order_direction' => 'Domyślna kolejność sortowania albumów',
+ 'aspect_ratio' => 'Domyślny współczynnik proporcji dla miniatur albumów',
+ 'photo_layout' => 'Układ dla zdjęć',
+ 'album_decoration' => 'Pokaż dekoracje na okładce albumu (liczba podalbumów i/lub zdjęć)',
+ 'album_decoration_direction' => 'Wyrównanie dekoracji albumu w poziomie lub w pionie',
+ 'photo_overlay' => 'Domyślne informacje o nakładce obrazu',
+ 'license_default' => 'Domyślna licencja używana dla albumów',
+ 'license_help' => 'Potrzebujesz pomocy w wyborze?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geolokalizacja',
+ 'map_display' => 'Wyświetlanie mapy z podanymi współrzędnymi GPS',
+ 'map_display_public' => 'Zezwalanie anonimowym użytkownikom na dostęp do mapy',
+ 'map_provider' => 'Definiuje dostawcę mapy',
+ 'map_include_subalbums' => 'Zawiera zdjęcia podrzędnych albumów na mapie',
+ 'location_decoding' => 'Korzystanie z dekodowania lokalizacji GPS',
+ 'location_show' => 'Pokaż lokalizację wyodrębnioną ze współrzędnych GPS',
+ 'location_show_public' => 'Anonimowi użytkownicy mogą uzyskać dostęp do lokalizacji wyodrębnionej ze współrzędnych GPS', 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates', ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Zmiana CSS',
+ 'change_js' => 'Zmiana JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Stary styl ustawień',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Niektóre ustawienia zostały zmienione.',
+ 'save' => 'Zapisz',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'wyłączony',
+ 'enabled' => 'włączony',
+ 'discover' => 'odkryj',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/pl/sharing.php b/lang/pl/sharing.php
index 9b564ba76f7..f7e7adac6c3 100644
--- a/lang/pl/sharing.php
+++ b/lang/pl/sharing.php
@@ -1,39 +1,39 @@
'Udostępnianie',
- 'info' => 'Ta strona zawiera przegląd i możliwość edycji praw udostępniania powiązanych z albumami.',
- 'album_title' => 'Tytuł albumu',
- 'username' => 'Nazwa użytkownika',
- 'no_data' => 'Lista udostępniania jest pusta.',
- 'share' => 'Udostępnij',
- 'add_new_access_permission' => 'Dodaj nowe uprawnienie dostępu',
- 'permission_deleted' => 'Pozwolenie usunięte!',
- 'permission_created' => 'Pozwolenie utworzone!',
- 'propagate' => 'Rozpowszechnianie',
- 'propagate_help' => 'Propagowanie bieżących uprawnień dostępu do wszystkich elementów potomnych
(podalbumów i ich odpowiednich podalbumów itd.)',
- 'propagate_default' => 'Domyślnie istniejące uprawnienia (album-użytkownik)
są aktualizowane, a brakujące dodawane.
Dodatkowe uprawnienia, których nie ma na tej liście, pozostają nietknięte.',
- 'propagate_overwrite' => 'Nadpisz istniejące uprawnienia zamiast aktualizować.
Usunie to również wszystkie uprawnienia nieobecne na tej liście.',
- 'propagate_warning' => 'Tego działania nie można cofnąć.',
- 'permission_overwritten' => 'Propagacja powiodła się! Uprawnienie nadpisane!',
- 'permission_updated' => 'Propagacja zakończona sukcesem! Pozwolenie zaktualizowane!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Przyznaje dostęp do odczytu',
- 'original' => 'Zapewnia dostęp do oryginalnego zdjęcia',
- 'download' => 'Zapewnia pobieranie',
- 'upload' => 'Zapewnia dodawanie zdjęć',
- 'edit' => 'Zapewnia edycje',
- 'delete' => 'Zapewnia usuwanie',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Udostępnianie',
+ 'info' => 'Ta strona zawiera przegląd i możliwość edycji praw udostępniania powiązanych z albumami.',
+ 'album_title' => 'Tytuł albumu',
+ 'username' => 'Nazwa użytkownika',
+ 'no_data' => 'Lista udostępniania jest pusta.',
+ 'share' => 'Udostępnij',
+ 'add_new_access_permission' => 'Dodaj nowe uprawnienie dostępu',
+ 'permission_deleted' => 'Pozwolenie usunięte!',
+ 'permission_created' => 'Pozwolenie utworzone!',
+ 'propagate' => 'Rozpowszechnianie',
+ 'propagate_help' => 'Propagowanie bieżących uprawnień dostępu do wszystkich elementów potomnych
(podalbumów i ich odpowiednich podalbumów itd.)',
+ 'propagate_default' => 'Domyślnie istniejące uprawnienia (album-użytkownik)
są aktualizowane, a brakujące dodawane.
Dodatkowe uprawnienia, których nie ma na tej liście, pozostają nietknięte.',
+ 'propagate_overwrite' => 'Nadpisz istniejące uprawnienia zamiast aktualizować.
Usunie to również wszystkie uprawnienia nieobecne na tej liście.',
+ 'propagate_warning' => 'Tego działania nie można cofnąć.',
+ 'permission_overwritten' => 'Propagacja powiodła się! Uprawnienie nadpisane!',
+ 'permission_updated' => 'Propagacja zakończona sukcesem! Pozwolenie zaktualizowane!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Przyznaje dostęp do odczytu',
+ 'original' => 'Zapewnia dostęp do oryginalnego zdjęcia',
+ 'download' => 'Zapewnia pobieranie',
+ 'upload' => 'Zapewnia dodawanie zdjęć',
+ 'edit' => 'Zapewnia edycje',
+ 'delete' => 'Zapewnia usuwanie',
+ ],
];
diff --git a/lang/pl/statistics.php b/lang/pl/statistics.php
index 6e7150c3363..ca3a6b1ea86 100644
--- a/lang/pl/statistics.php
+++ b/lang/pl/statistics.php
@@ -1,63 +1,63 @@
'Statystyki',
- 'preview_text' => 'To jest podgląd strony statystyk dostępnej w Lychee SE.
Pokazane tutaj dane są generowane losowo i nie odzwierciedlają twojego serwera.',
- 'no_data' => 'Użytkownik nie posiada danych na serwerze.',
- 'collapse' => 'Zwiń rozmiary albumów',
- 'total' => [
- 'total' => 'Łącznie',
- 'albums' => 'Albumy',
- 'photos' => 'Zdjęcia',
- 'size' => 'Rozmiar',
- ],
- 'table' => [
- 'username' => 'Właściciel',
- 'title' => 'Tytuł',
- 'photos' => 'Zdjęcia',
- 'descendants' => 'Potomne',
- 'size' => 'Rozmiar',
- ],
- 'punch_card' => [
- 'title' => 'Aktywność',
- 'photo-taken' => '%d zrobionych zdjęć',
- 'photo-taken-in' => '%d zdjęć wykonanych w %d',
- 'photo-uploaded' => '%d przesłanych zdjęć',
- 'photo-uploaded-in' => '%d zdjęć przesłanych w %d',
- 'with-exif' => 'z danymi exif',
- 'less' => 'Mniej',
- 'more' => 'Więcej',
- 'tooltip' => '%d zdjęć na %s',
- 'created_at' => 'Data przesłania',
- 'taken_at' => 'Dane Exif',
- 'caption' => 'Każda kolumna reprezentuje tydzień.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statystyki',
+ 'preview_text' => 'To jest podgląd strony statystyk dostępnej w Lychee SE.
Pokazane tutaj dane są generowane losowo i nie odzwierciedlają twojego serwera.',
+ 'no_data' => 'Użytkownik nie posiada danych na serwerze.',
+ 'collapse' => 'Zwiń rozmiary albumów',
+ 'total' => [
+ 'total' => 'Łącznie',
+ 'albums' => 'Albumy',
+ 'photos' => 'Zdjęcia',
+ 'size' => 'Rozmiar',
+ ],
+ 'table' => [
+ 'username' => 'Właściciel',
+ 'title' => 'Tytuł',
+ 'photos' => 'Zdjęcia',
+ 'descendants' => 'Potomne',
+ 'size' => 'Rozmiar',
+ ],
+ 'punch_card' => [
+ 'title' => 'Aktywność',
+ 'photo-taken' => '%d zrobionych zdjęć',
+ 'photo-taken-in' => '%d zdjęć wykonanych w %d',
+ 'photo-uploaded' => '%d przesłanych zdjęć',
+ 'photo-uploaded-in' => '%d zdjęć przesłanych w %d',
+ 'with-exif' => 'z danymi exif',
+ 'less' => 'Mniej',
+ 'more' => 'Więcej',
+ 'tooltip' => '%d zdjęć na %s',
+ 'created_at' => 'Data przesłania',
+ 'taken_at' => 'Dane Exif',
+ 'caption' => 'Każda kolumna reprezentuje tydzień.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/pl/tags.php b/lang/pl/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/pl/tags.php
+++ b/lang/pl/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/pl/toasts.php b/lang/pl/toasts.php
index 2ef1f10120c..13aa5d4113d 100644
--- a/lang/pl/toasts.php
+++ b/lang/pl/toasts.php
@@ -1,13 +1,13 @@
'Błąd',
- 'success' => 'Sukces',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Błąd',
+ 'success' => 'Sukces',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/pl/user-groups.php b/lang/pl/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/pl/user-groups.php
+++ b/lang/pl/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/pl/users.php b/lang/pl/users.php
index e5311e72a90..11285162579 100644
--- a/lang/pl/users.php
+++ b/lang/pl/users.php
@@ -1,50 +1,50 @@
'Użytkownicy',
- 'description' => 'Tutaj możesz zarządzać użytkownikami swojej instalacji Lychee. Możesz tworzyć, edytować i usuwać użytkowników.',
- 'create' => 'Tworzenie nowego użytkownika',
- 'username' => 'Nazwa użytkownika',
- 'password' => 'Hasło',
- 'legend' => 'Legenda',
- 'upload_rights' => 'Po wybraniu tej opcji użytkownik może przesyłać zawartość.',
- 'edit_rights' => 'Po wybraniu tej opcji użytkownik może zmodyfikować swój profil (nazwa użytkownika, hasło).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Użytkownicy',
+ 'description' => 'Tutaj możesz zarządzać użytkownikami swojej instalacji Lychee. Możesz tworzyć, edytować i usuwać użytkowników.',
+ 'create' => 'Tworzenie nowego użytkownika',
+ 'username' => 'Nazwa użytkownika',
+ 'password' => 'Hasło',
+ 'legend' => 'Legenda',
+ 'upload_rights' => 'Po wybraniu tej opcji użytkownik może przesyłać zawartość.',
+ 'edit_rights' => 'Po wybraniu tej opcji użytkownik może zmodyfikować swój profil (nazwa użytkownika, hasło).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'Po ustawieniu użytkownik ma limit miejsca na zdjęcia (w kB).',
- 'user_deleted' => 'Użytkownik usunięty',
- 'user_created' => 'Uzytkownik utworzony',
- 'user_updated' => 'Aktualizacja użytkownika',
- 'change_saved' => 'Zmiana zapisana!',
- 'create_edit' => [
- 'upload_rights' => 'Użytkownik może przesyłać treści.',
- 'edit_rights' => 'Użytkownik może modyfikować swój profil (nazwa użytkownika, hasło).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'Po ustawieniu użytkownik ma limit miejsca na zdjęcia (w kB).',
+ 'user_deleted' => 'Użytkownik usunięty',
+ 'user_created' => 'Uzytkownik utworzony',
+ 'user_updated' => 'Aktualizacja użytkownika',
+ 'change_saved' => 'Zmiana zapisana!',
+ 'create_edit' => [
+ 'upload_rights' => 'Użytkownik może przesyłać treści.',
+ 'edit_rights' => 'Użytkownik może modyfikować swój profil (nazwa użytkownika, hasło).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'Użytkownik ma limit miejsca',
- 'quota_kb' => 'miejsce na zdjęcia w kB (domyślnie 0)',
- 'note' => 'Uwaga administratora (niewidoczna publicznie)',
- 'create' => 'Utwórz',
- 'edit' => 'Edytuj',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Użytkownik admin',
- 'edit' => 'Edytuj',
- 'delete' => 'Usuń',
- ],
+ 'quota' => 'Użytkownik ma limit miejsca',
+ 'quota_kb' => 'miejsce na zdjęcia w kB (domyślnie 0)',
+ 'note' => 'Uwaga administratora (niewidoczna publicznie)',
+ 'create' => 'Utwórz',
+ 'edit' => 'Edytuj',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Użytkownik admin',
+ 'edit' => 'Edytuj',
+ 'delete' => 'Usuń',
+ ],
];
diff --git a/lang/pl/webhook.php b/lang/pl/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/pl/webhook.php
+++ b/lang/pl/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/pl/webshop.php b/lang/pl/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/pl/webshop.php
+++ b/lang/pl/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/pt/admin-dashboard.php b/lang/pt/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/pt/admin-dashboard.php
+++ b/lang/pt/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/pt/all_settings.php b/lang/pt/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/pt/all_settings.php
+++ b/lang/pt/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/pt/aspect_ratio.php b/lang/pt/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/pt/aspect_ratio.php
+++ b/lang/pt/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/pt/bulk_album_edit.php b/lang/pt/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/pt/bulk_album_edit.php
+++ b/lang/pt/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/pt/changelogs.php b/lang/pt/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/pt/changelogs.php
+++ b/lang/pt/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/pt/contact.php b/lang/pt/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/pt/contact.php
+++ b/lang/pt/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/pt/diagnostics.php b/lang/pt/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/pt/diagnostics.php
+++ b/lang/pt/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/pt/dialogs.php b/lang/pt/dialogs.php
index f29658b5253..67529aa4f69 100644
--- a/lang/pt/dialogs.php
+++ b/lang/pt/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Modo',
- 'mode_album_help' => 'Incorporar fotos deste álbum específico.',
- 'mode_stream_help' => 'Incorporar todas as suas fotos públicas como um fluxo cronológico (mais recentes primeiro).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Tirar uma foto',
- 'capture' => 'Capturar',
- 'retake' => 'Repetir',
- 'upload' => 'Enviar',
- 'secure_connection_required' => 'O acesso à câmera requer uma conexão segura (HTTPS ou localhost).',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Criar Álbum',
- 'info' => 'Digite um título para o novo álbum:',
- 'title' => 'título',
- 'create' => 'Criar Álbum',
- 'visibility_private' => 'Este álbum será privado (visível apenas para você)',
- 'visibility_public' => 'Este álbum será público (visível para todos)',
- 'visibility_public_hidden' => 'Este álbum será público mas oculto de listas',
- 'visibility_inherit' => 'Este álbum herdará a visibilidade do álbum pai',
- 'visibility_inherit_no_parent' => 'Este álbum será privado (nenhum álbum pai)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Modo',
+ 'mode_album_help' => 'Incorporar fotos deste álbum específico.',
+ 'mode_stream_help' => 'Incorporar todas as suas fotos públicas como um fluxo cronológico (mais recentes primeiro).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Tirar uma foto',
+ 'capture' => 'Capturar',
+ 'retake' => 'Repetir',
+ 'upload' => 'Enviar',
+ 'secure_connection_required' => 'O acesso à câmera requer uma conexão segura (HTTPS ou localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Criar Álbum',
+ 'info' => 'Digite um título para o novo álbum:',
+ 'title' => 'título',
+ 'create' => 'Criar Álbum',
+ 'visibility_private' => 'Este álbum será privado (visível apenas para você)',
+ 'visibility_public' => 'Este álbum será público (visível para todos)',
+ 'visibility_public_hidden' => 'Este álbum será público mas oculto de listas',
+ 'visibility_inherit' => 'Este álbum herdará a visibilidade do álbum pai',
+ 'visibility_inherit_no_parent' => 'Este álbum será privado (nenhum álbum pai)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/pt/duplicate-finder.php b/lang/pt/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/pt/duplicate-finder.php
+++ b/lang/pt/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/pt/fix-tree.php b/lang/pt/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/pt/fix-tree.php
+++ b/lang/pt/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/pt/flow.php b/lang/pt/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/pt/flow.php
+++ b/lang/pt/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/pt/gallery.php b/lang/pt/gallery.php
index 722aa5ce6db..7868fb39e36 100644
--- a/lang/pt/gallery.php
+++ b/lang/pt/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Álbuns fixados',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Selecione a resolução da imagem para o arquivo ZIP do álbum. Se uma foto não tiver a variante selecionada, a original será usada.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Vista de lista',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Fixar',
- 'unpin' => 'Desfixar',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Tirar foto',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'público mas oculto',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Álbuns fixados',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Selecione a resolução da imagem para o arquivo ZIP do álbum. Se uma foto não tiver a variante selecionada, a original será usada.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Vista de lista',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Fixar',
+ 'unpin' => 'Desfixar',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Tirar foto',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'público mas oculto',
+ ],
];
diff --git a/lang/pt/import_from_server.php b/lang/pt/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/pt/import_from_server.php
+++ b/lang/pt/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/pt/jobs.php b/lang/pt/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/pt/jobs.php
+++ b/lang/pt/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/pt/landing.php b/lang/pt/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/pt/landing.php
+++ b/lang/pt/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/pt/left-menu.php b/lang/pt/left-menu.php
index 27c40ec6c7f..9647d3bc4f7 100644
--- a/lang/pt/left-menu.php
+++ b/lang/pt/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Incorporar Fluxo de Fotos',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Incorporar Fluxo de Fotos',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/pt/maintenance.php b/lang/pt/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/pt/maintenance.php
+++ b/lang/pt/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/pt/moderation.php b/lang/pt/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/pt/moderation.php
+++ b/lang/pt/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/pt/profile.php b/lang/pt/profile.php
index d34d4e81324..4df8b8aa63c 100644
--- a/lang/pt/profile.php
+++ b/lang/pt/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'As informações de login do usuário são gerenciadas pelo LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'As informações de login do usuário são gerenciadas pelo LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/pt/renamer.php b/lang/pt/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/pt/renamer.php
+++ b/lang/pt/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/pt/settings.php b/lang/pt/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/pt/settings.php
+++ b/lang/pt/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/pt/sharing.php b/lang/pt/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/pt/sharing.php
+++ b/lang/pt/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/pt/statistics.php b/lang/pt/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/pt/statistics.php
+++ b/lang/pt/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/pt/tags.php b/lang/pt/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/pt/tags.php
+++ b/lang/pt/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/pt/toasts.php b/lang/pt/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/pt/toasts.php
+++ b/lang/pt/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/pt/user-groups.php b/lang/pt/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/pt/user-groups.php
+++ b/lang/pt/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/pt/users.php b/lang/pt/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/pt/users.php
+++ b/lang/pt/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/pt/webhook.php b/lang/pt/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/pt/webhook.php
+++ b/lang/pt/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/pt/webshop.php b/lang/pt/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/pt/webshop.php
+++ b/lang/pt/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/ru/admin-dashboard.php b/lang/ru/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/ru/admin-dashboard.php
+++ b/lang/ru/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/ru/all_settings.php b/lang/ru/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/ru/all_settings.php
+++ b/lang/ru/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/ru/aspect_ratio.php b/lang/ru/aspect_ratio.php
index 53b68e8f319..9c90aa01f0b 100644
--- a/lang/ru/aspect_ratio.php
+++ b/lang/ru/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (горизонтальный Instagram)',
- '4by5' => '4/5 (вертикальный Instagram)',
- '2by3' => '2/3 (портретный)',
- '3by2' => '3/2 (ландшафтный)',
- '1by1' => 'квадрат',
- '16by9' => '16/9 (ландшафтный)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (горизонтальный Instagram)',
+ '4by5' => '4/5 (вертикальный Instagram)',
+ '2by3' => '2/3 (портретный)',
+ '3by2' => '3/2 (ландшафтный)',
+ '1by1' => 'квадрат',
+ '16by9' => '16/9 (ландшафтный)',
];
diff --git a/lang/ru/bulk_album_edit.php b/lang/ru/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/ru/bulk_album_edit.php
+++ b/lang/ru/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/ru/changelogs.php b/lang/ru/changelogs.php
index 5252ffadacb..233cd6ca543 100644
--- a/lang/ru/changelogs.php
+++ b/lang/ru/changelogs.php
@@ -1,11 +1,11 @@
'Последние изменния',
- 'description' => 'Эта страница содержит список последних изменений вплоть до последней доступной версии Lychee. Намеренно указаны изменения до последней доступной версии Lychee, а не версии, которая у вас установлена. Таким образом мы хотим показать вам, какие изменения следует ожидать после обновления.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Последние изменния',
+ 'description' => 'Эта страница содержит список последних изменений вплоть до последней доступной версии Lychee. Намеренно указаны изменения до последней доступной версии Lychee, а не версии, которая у вас установлена. Таким образом мы хотим показать вам, какие изменения следует ожидать после обновления.',
];
diff --git a/lang/ru/contact.php b/lang/ru/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/ru/contact.php
+++ b/lang/ru/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/ru/diagnostics.php b/lang/ru/diagnostics.php
index fcb312bb57d..6c43f74acff 100644
--- a/lang/ru/diagnostics.php
+++ b/lang/ru/diagnostics.php
@@ -1,23 +1,23 @@
'Диагностика',
- 'copy_to_clipboard' => 'Копировать диагностику в буфер обмена',
- 'self-diagnosis' => 'Самодиагностика',
- 'info' => 'Информация',
- 'space' => 'Пространство',
- 'load_space' => 'Загрузить использование пространства.',
- 'configuration' => 'Конфигурация',
- 'loading' => 'Загрузка…',
- 'identical_content' => 'Идентичное содержимое',
- 'toast' => [
- 'info' => 'Информация',
- 'copy' => 'Диагностика скопирована в буфер обмена!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Диагностика',
+ 'copy_to_clipboard' => 'Копировать диагностику в буфер обмена',
+ 'self-diagnosis' => 'Самодиагностика',
+ 'info' => 'Информация',
+ 'space' => 'Пространство',
+ 'load_space' => 'Загрузить использование пространства.',
+ 'configuration' => 'Конфигурация',
+ 'loading' => 'Загрузка…',
+ 'identical_content' => 'Идентичное содержимое',
+ 'toast' => [
+ 'info' => 'Информация',
+ 'copy' => 'Диагностика скопирована в буфер обмена!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/ru/dialogs.php b/lang/ru/dialogs.php
index a71cc4f94d5..20243460a11 100644
--- a/lang/ru/dialogs.php
+++ b/lang/ru/dialogs.php
@@ -1,303 +1,303 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Закрыть',
- 'cancel' => 'Отмена',
- 'save' => 'Сохранить',
- 'delete' => 'Удалить',
- 'move' => 'Переместить',
- ],
- 'about' => [
- 'subtitle' => 'Правильное управление фотографиями на собственном хостинге',
- 'description' => 'Lychee — это бесплатный инструмент для управления фотографиями, который работает на вашем сервере или веб-пространстве. Установка занимает всего несколько секунд. Загружайте, управляйте и делитесь фотографиями, как в нативном приложении. Lychee включает все необходимое, и все ваши фотографии хранятся в безопасности.',
- 'update_available' => 'Доступно обновление!',
- 'thank_you' => 'Спасибо за вашу поддержку!',
- 'get_supporter_or_register' => 'Получите эксклюзивные функции и поддержите разработку Lychee.
Разблокируйте Supporter Edition или зарегистрируйте свой лицензионный ключ',
- 'here' => 'здесь',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox не настроен.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Пожалуйста, введите прямую ссылку на фото для его импорта:',
- 'import' => 'Импортировать',
- ],
- 'keybindings' => [
- 'header' => 'Горячие клавиши',
- 'don_t_show_again' => 'Больше не показывать',
- 'hide_header_button' => 'Не показывать помощь в шапке',
- 'side_wide' => 'Глобальные горячие клавиши',
- 'back_cancel' => 'Назад/Отмена',
- 'confirm' => 'Подтвердить',
- 'login' => 'Войти',
- 'toggle_full_screen' => 'Переключить полноэкранный режим',
- 'toggle_sensitive_albums' => 'Переключить скрытые альбомы',
- 'albums' => 'Горячие клавиши для альбомов',
- 'new_album' => 'Новый альбом',
- 'upload_photos' => 'Загрузить фотографии',
- 'search' => 'Поиск',
- 'show_this_modal' => 'Показать это окно',
- 'select_all' => 'Выбрать все',
- 'move_selection' => 'Переместить выделенное',
- 'delete_selection' => 'Удалить выделенное',
- 'album' => 'Горячие клавиши для альбома',
- 'slideshow' => 'Начать/остановить слайд-шоу',
- 'toggle' => 'Переключить панель',
- 'photo' => 'Горячие клавиши для фотографии',
- 'previous' => 'Предыдущая фотография',
- 'next' => 'Следующая фотография',
- 'cycle' => 'Переключить режим наложения',
- 'star' => 'Добавить звезду фотографии',
- 'move' => 'Переместить фотографию',
- 'delete' => 'Удалить фотографию',
- 'edit' => 'Редактировать информацию',
- 'show_hide_meta' => 'Показать информацию',
- 'keep_hidden' => 'Мы оставим это скрытым.',
- 'button_hidden' => 'Мы скроем кнопку в шапке.',
- ],
- 'login' => [
- 'auth_with' => 'Авторизация с помощью %s',
- 'username' => 'Имя пользователя',
- 'password' => 'Пароль',
- 'unknown_invalid' => 'Неизвестный пользователь или неверный пароль.',
- 'signin' => 'Войти',
- 'remember_me' => 'Запомнить меня',
- ],
- 'register' => [
- 'enter_license' => 'Введите ваш лицензионный ключ ниже:',
- 'license_key' => 'Лицензионный ключ',
- 'invalid_license' => 'Неверный лицензионный ключ.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Зарегистрировать',
- ],
- 'share_album' => [
- 'url_copied' => 'URL скопирован в буфер обмена!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Режим',
- 'mode_album_help' => 'Встроить фотографии из этого конкретного альбома.',
- 'mode_stream_help' => 'Встроить все ваши публичные фотографии в виде хронологической ленты (сначала последние).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Завершено',
- 'uploaded' => 'Загружено:',
- 'release' => 'Отпустите файл для загрузки!',
- 'select' => 'Нажмите здесь, чтобы выбрать файлы для загрузки',
- 'drag' => '(Или перетащите файлы на страницу)',
- 'loading' => 'Загрузка',
- 'resume' => 'Возобновить',
- 'uploading' => 'Загрузка',
- 'finished' => 'Завершено',
- 'failed_error' => 'Не удалось загрузить. Сервер вернул ошибку!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Сделать фото',
- 'capture' => 'Снять',
- 'retake' => 'Переснять',
- 'upload' => 'Загрузить',
- 'secure_connection_required' => 'Для доступа к камере требуется защищённое соединение (HTTPS или localhost).',
- ],
- 'visibility' => [
- 'public' => 'Публичный',
- 'public_expl' => 'Анонимные пользователи могут получить доступ к этому альбому с ограничениями ниже.',
- 'full' => 'Оригинал',
- 'full_expl' => 'Анонимные пользователи могут просматривать фотографии в полном разрешении.',
- 'hidden' => 'Скрытый',
- 'hidden_expl' => 'Анонимным пользователям нужен прямой доступ к этому альбому.',
- 'downloadable' => 'Доступно для скачивания',
- 'downloadable_expl' => 'Анонимные пользователи могут скачать этот альбом.',
- 'upload' => 'Разрешить загрузку',
- 'upload_expl' => ' Анонимные пользователи могут загружать фотографии в этот альбом.',
- 'password' => 'Пароль',
- 'password_prot' => 'Защищено паролем',
- 'password_prot_expl' => 'Анонимные пользователи должны ввести общий пароль для доступа к этому альбому.',
- 'password_prop_not_compatible' => 'Кеширование ответа конфликтует с этой настройкой.
Из-за кеширования ответа, разблокировка этого альбома также
раскроет его контент для других анонимных пользователей.',
- 'nsfw' => 'Чувствительное',
- 'nsfw_expl' => 'Альбом содержит чувствительный контент.',
- 'visibility_updated' => 'Видимость обновлена.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Вы уверены, что хотите переместить альбом “%1$s” в альбом “%2$s”?',
- 'confirm_multiple' => 'Вы уверены, что хотите переместить все выбранные альбомы в альбом “%s”?',
- 'move_single' => 'Переместить альбом',
- 'move_to' => 'Переместить в',
- 'move_to_single' => 'Переместить %s в:',
- 'move_to_multiple' => 'Переместить %d альбомов в:',
- 'no_album_target' => 'Нет альбома для перемещения',
- 'moved_single' => 'Альбом перемещен!',
- 'moved_single_details' => '%1$s перемещен в %2$s',
- 'moved_details' => 'Альбом(ы) перемещены в %s',
- ],
- 'new_album' => [
- 'menu' => 'Создать альбом',
- 'info' => 'Введите название для нового альбома:',
- 'title' => 'название',
- 'create' => 'Создать альбом',
- 'visibility_private' => 'Этот альбом будет приватным (видно только вам)',
- 'visibility_public' => 'Этот альбом будет общедоступным (видно всем)',
- 'visibility_public_hidden' => 'Этот альбом будет общедоступным, но скрыт из списков',
- 'visibility_inherit' => 'Этот альбом унаследует видимость от родительского альбома',
- 'visibility_inherit_no_parent' => 'Этот альбом будет приватным (нет родительского альбома)', ],
- 'new_tag_album' => [
- 'menu' => 'Создать альбом с тегами',
- 'info' => 'Введите название для нового альбома с тегами:',
- 'title' => 'название',
- 'set_tags' => 'Установить теги для отображения',
- 'create' => 'Создать альбом с тегами',
- ],
- 'delete_album' => [
- 'confirmation' => 'Вы уверены, что хотите удалить альбом “%s” и все фотографии, которые он содержит?', 'confirmation_tag' => 'Вы уверены, что хотите удалить альбом "%s"?', 'confirmation_multiple' => 'Вы уверены, что хотите удалить все %d выбранных альбомов и все фотографии в них?',
- 'warning' => 'Это действие нельзя отменить!',
- 'delete' => 'Удалить альбом и фотографии',
- ],
- 'transfer' => [
- 'query' => 'Передать право собственности на альбом',
- 'confirmation' => 'Вы уверены, что хотите передать право собственности на альбом “%s” и все фотографии, которые он содержит, пользователю "%s"?',
- 'lost_access_warning' => 'Ваш доступ к этому альбому будет утерян.',
- 'warning' => 'Это действие нельзя отменить!',
- 'transfer' => 'Передать право собственности на альбом и фотографии',
- ],
- 'rename' => [
- 'photo' => 'Введите новое название для этой фотографии:',
- 'album' => 'Введите новое название для этого альбома:',
- 'rename' => 'Переименовать',
- ],
- 'merge' => [
- 'merge_to' => 'Объединить %s в:',
- 'merge_to_multiple' => 'Объединить %d альбомов в:',
- 'no_albums' => 'Нет альбомов для объединения.',
- 'confirm' => 'Вы уверены, что хотите объединить альбом “%1$s” с альбомом “%2$s”?',
- 'confirm_multiple' => 'Вы уверены, что хотите объединить все выбранные альбомы с альбомом “%s”?',
- 'merge' => 'Объединить альбомы',
- 'merged' => 'Альбом(ы) объединены в %s!',
- ],
- 'unlock' => [
- 'password_required' => 'Этот альбом защищен паролем. Введите пароль ниже для просмотра фотографий в этом альбоме:',
- 'password' => 'Пароль',
- 'unlock' => 'Разблокировать',
- ],
- 'photo_tags' => [
- 'question' => 'Введите теги для этой фотографии.',
- 'question_multiple' => 'Введите теги для всех %d выбранных фотографий. Существующие теги будут перезаписаны.',
- 'no_tags' => 'Нет тегов',
- 'set_tags' => 'Установить теги',
- 'updated' => 'Теги обновлены!',
- 'tags_override_info' => 'Если этот параметр не выбран, теги будут добавлены к существующим тегам фотографии.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'Нет альбомов для копирования',
- 'copy_to' => 'Копировать %s в:',
- 'copy_to_multiple' => 'Копировать %d фотографии в:',
- 'confirm' => 'Копировать %s в %s.',
- 'confirm_multiple' => 'Копировать %d фотографии в %s.',
- 'copy' => 'Копировать',
- 'copied' => 'Фотография(и) скопированы!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Вы уверены, что хотите удалить фотографию “%s”?',
- 'confirm_multiple' => 'Вы уверены, что хотите удалить все %d выбранных фотографии?',
- 'deleted' => 'Фотография(и) удалены!',
- ],
- 'move_photo' => [
- 'move_single' => 'Переместить %s в:',
- 'move_multiple' => 'Переместить %d фотографии в:',
- 'confirm' => 'Переместить %s в %s.',
- 'confirm_multiple' => 'Переместить %d фотографии в %s.',
- 'moved' => 'Фотография(и) перемещены в %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Выберите пользователя',
- ],
- 'target_album' => [
- 'placeholder' => 'Выберите альбом',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Аутентификация прошла успешно!',
- 'error' => 'Упс, похоже что-то пошло не так. Пожалуйста, перезагрузите страницу и попробуйте снова!',
- ],
- 'se' => [
- 'available' => 'Доступно в Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Сессия истекла',
- 'message' => 'Ваш сессия истекла.
Пожалуйста, перезагрузите страницу..',
- 'reload' => 'Перезагрузить',
- 'go_to_gallery' => 'Перейти в галерею',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Закрыть',
+ 'cancel' => 'Отмена',
+ 'save' => 'Сохранить',
+ 'delete' => 'Удалить',
+ 'move' => 'Переместить',
+ ],
+ 'about' => [
+ 'subtitle' => 'Правильное управление фотографиями на собственном хостинге',
+ 'description' => 'Lychee — это бесплатный инструмент для управления фотографиями, который работает на вашем сервере или веб-пространстве. Установка занимает всего несколько секунд. Загружайте, управляйте и делитесь фотографиями, как в нативном приложении. Lychee включает все необходимое, и все ваши фотографии хранятся в безопасности.',
+ 'update_available' => 'Доступно обновление!',
+ 'thank_you' => 'Спасибо за вашу поддержку!',
+ 'get_supporter_or_register' => 'Получите эксклюзивные функции и поддержите разработку Lychee.
Разблокируйте Supporter Edition или зарегистрируйте свой лицензионный ключ',
+ 'here' => 'здесь',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox не настроен.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Пожалуйста, введите прямую ссылку на фото для его импорта:',
+ 'import' => 'Импортировать',
+ ],
+ 'keybindings' => [
+ 'header' => 'Горячие клавиши',
+ 'don_t_show_again' => 'Больше не показывать',
+ 'hide_header_button' => 'Не показывать помощь в шапке',
+ 'side_wide' => 'Глобальные горячие клавиши',
+ 'back_cancel' => 'Назад/Отмена',
+ 'confirm' => 'Подтвердить',
+ 'login' => 'Войти',
+ 'toggle_full_screen' => 'Переключить полноэкранный режим',
+ 'toggle_sensitive_albums' => 'Переключить скрытые альбомы',
+ 'albums' => 'Горячие клавиши для альбомов',
+ 'new_album' => 'Новый альбом',
+ 'upload_photos' => 'Загрузить фотографии',
+ 'search' => 'Поиск',
+ 'show_this_modal' => 'Показать это окно',
+ 'select_all' => 'Выбрать все',
+ 'move_selection' => 'Переместить выделенное',
+ 'delete_selection' => 'Удалить выделенное',
+ 'album' => 'Горячие клавиши для альбома',
+ 'slideshow' => 'Начать/остановить слайд-шоу',
+ 'toggle' => 'Переключить панель',
+ 'photo' => 'Горячие клавиши для фотографии',
+ 'previous' => 'Предыдущая фотография',
+ 'next' => 'Следующая фотография',
+ 'cycle' => 'Переключить режим наложения',
+ 'star' => 'Добавить звезду фотографии',
+ 'move' => 'Переместить фотографию',
+ 'delete' => 'Удалить фотографию',
+ 'edit' => 'Редактировать информацию',
+ 'show_hide_meta' => 'Показать информацию',
+ 'keep_hidden' => 'Мы оставим это скрытым.',
+ 'button_hidden' => 'Мы скроем кнопку в шапке.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Авторизация с помощью %s',
+ 'username' => 'Имя пользователя',
+ 'password' => 'Пароль',
+ 'unknown_invalid' => 'Неизвестный пользователь или неверный пароль.',
+ 'signin' => 'Войти',
+ 'remember_me' => 'Запомнить меня',
+ ],
+ 'register' => [
+ 'enter_license' => 'Введите ваш лицензионный ключ ниже:',
+ 'license_key' => 'Лицензионный ключ',
+ 'invalid_license' => 'Неверный лицензионный ключ.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Зарегистрировать',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'URL скопирован в буфер обмена!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Режим',
+ 'mode_album_help' => 'Встроить фотографии из этого конкретного альбома.',
+ 'mode_stream_help' => 'Встроить все ваши публичные фотографии в виде хронологической ленты (сначала последние).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Завершено',
+ 'uploaded' => 'Загружено:',
+ 'release' => 'Отпустите файл для загрузки!',
+ 'select' => 'Нажмите здесь, чтобы выбрать файлы для загрузки',
+ 'drag' => '(Или перетащите файлы на страницу)',
+ 'loading' => 'Загрузка',
+ 'resume' => 'Возобновить',
+ 'uploading' => 'Загрузка',
+ 'finished' => 'Завершено',
+ 'failed_error' => 'Не удалось загрузить. Сервер вернул ошибку!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Сделать фото',
+ 'capture' => 'Снять',
+ 'retake' => 'Переснять',
+ 'upload' => 'Загрузить',
+ 'secure_connection_required' => 'Для доступа к камере требуется защищённое соединение (HTTPS или localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Публичный',
+ 'public_expl' => 'Анонимные пользователи могут получить доступ к этому альбому с ограничениями ниже.',
+ 'full' => 'Оригинал',
+ 'full_expl' => 'Анонимные пользователи могут просматривать фотографии в полном разрешении.',
+ 'hidden' => 'Скрытый',
+ 'hidden_expl' => 'Анонимным пользователям нужен прямой доступ к этому альбому.',
+ 'downloadable' => 'Доступно для скачивания',
+ 'downloadable_expl' => 'Анонимные пользователи могут скачать этот альбом.',
+ 'upload' => 'Разрешить загрузку',
+ 'upload_expl' => ' Анонимные пользователи могут загружать фотографии в этот альбом.',
+ 'password' => 'Пароль',
+ 'password_prot' => 'Защищено паролем',
+ 'password_prot_expl' => 'Анонимные пользователи должны ввести общий пароль для доступа к этому альбому.',
+ 'password_prop_not_compatible' => 'Кеширование ответа конфликтует с этой настройкой.
Из-за кеширования ответа, разблокировка этого альбома также
раскроет его контент для других анонимных пользователей.',
+ 'nsfw' => 'Чувствительное',
+ 'nsfw_expl' => 'Альбом содержит чувствительный контент.',
+ 'visibility_updated' => 'Видимость обновлена.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Вы уверены, что хотите переместить альбом “%1$s” в альбом “%2$s”?',
+ 'confirm_multiple' => 'Вы уверены, что хотите переместить все выбранные альбомы в альбом “%s”?',
+ 'move_single' => 'Переместить альбом',
+ 'move_to' => 'Переместить в',
+ 'move_to_single' => 'Переместить %s в:',
+ 'move_to_multiple' => 'Переместить %d альбомов в:',
+ 'no_album_target' => 'Нет альбома для перемещения',
+ 'moved_single' => 'Альбом перемещен!',
+ 'moved_single_details' => '%1$s перемещен в %2$s',
+ 'moved_details' => 'Альбом(ы) перемещены в %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Создать альбом',
+ 'info' => 'Введите название для нового альбома:',
+ 'title' => 'название',
+ 'create' => 'Создать альбом',
+ 'visibility_private' => 'Этот альбом будет приватным (видно только вам)',
+ 'visibility_public' => 'Этот альбом будет общедоступным (видно всем)',
+ 'visibility_public_hidden' => 'Этот альбом будет общедоступным, но скрыт из списков',
+ 'visibility_inherit' => 'Этот альбом унаследует видимость от родительского альбома',
+ 'visibility_inherit_no_parent' => 'Этот альбом будет приватным (нет родительского альбома)', ],
+ 'new_tag_album' => [
+ 'menu' => 'Создать альбом с тегами',
+ 'info' => 'Введите название для нового альбома с тегами:',
+ 'title' => 'название',
+ 'set_tags' => 'Установить теги для отображения',
+ 'create' => 'Создать альбом с тегами',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Вы уверены, что хотите удалить альбом “%s” и все фотографии, которые он содержит?', 'confirmation_tag' => 'Вы уверены, что хотите удалить альбом "%s"?', 'confirmation_multiple' => 'Вы уверены, что хотите удалить все %d выбранных альбомов и все фотографии в них?',
+ 'warning' => 'Это действие нельзя отменить!',
+ 'delete' => 'Удалить альбом и фотографии',
+ ],
+ 'transfer' => [
+ 'query' => 'Передать право собственности на альбом',
+ 'confirmation' => 'Вы уверены, что хотите передать право собственности на альбом “%s” и все фотографии, которые он содержит, пользователю "%s"?',
+ 'lost_access_warning' => 'Ваш доступ к этому альбому будет утерян.',
+ 'warning' => 'Это действие нельзя отменить!',
+ 'transfer' => 'Передать право собственности на альбом и фотографии',
+ ],
+ 'rename' => [
+ 'photo' => 'Введите новое название для этой фотографии:',
+ 'album' => 'Введите новое название для этого альбома:',
+ 'rename' => 'Переименовать',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Объединить %s в:',
+ 'merge_to_multiple' => 'Объединить %d альбомов в:',
+ 'no_albums' => 'Нет альбомов для объединения.',
+ 'confirm' => 'Вы уверены, что хотите объединить альбом “%1$s” с альбомом “%2$s”?',
+ 'confirm_multiple' => 'Вы уверены, что хотите объединить все выбранные альбомы с альбомом “%s”?',
+ 'merge' => 'Объединить альбомы',
+ 'merged' => 'Альбом(ы) объединены в %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'Этот альбом защищен паролем. Введите пароль ниже для просмотра фотографий в этом альбоме:',
+ 'password' => 'Пароль',
+ 'unlock' => 'Разблокировать',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Введите теги для этой фотографии.',
+ 'question_multiple' => 'Введите теги для всех %d выбранных фотографий. Существующие теги будут перезаписаны.',
+ 'no_tags' => 'Нет тегов',
+ 'set_tags' => 'Установить теги',
+ 'updated' => 'Теги обновлены!',
+ 'tags_override_info' => 'Если этот параметр не выбран, теги будут добавлены к существующим тегам фотографии.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'Нет альбомов для копирования',
+ 'copy_to' => 'Копировать %s в:',
+ 'copy_to_multiple' => 'Копировать %d фотографии в:',
+ 'confirm' => 'Копировать %s в %s.',
+ 'confirm_multiple' => 'Копировать %d фотографии в %s.',
+ 'copy' => 'Копировать',
+ 'copied' => 'Фотография(и) скопированы!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Вы уверены, что хотите удалить фотографию “%s”?',
+ 'confirm_multiple' => 'Вы уверены, что хотите удалить все %d выбранных фотографии?',
+ 'deleted' => 'Фотография(и) удалены!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Переместить %s в:',
+ 'move_multiple' => 'Переместить %d фотографии в:',
+ 'confirm' => 'Переместить %s в %s.',
+ 'confirm_multiple' => 'Переместить %d фотографии в %s.',
+ 'moved' => 'Фотография(и) перемещены в %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Выберите пользователя',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Выберите альбом',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Аутентификация прошла успешно!',
+ 'error' => 'Упс, похоже что-то пошло не так. Пожалуйста, перезагрузите страницу и попробуйте снова!',
+ ],
+ 'se' => [
+ 'available' => 'Доступно в Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Сессия истекла',
+ 'message' => 'Ваш сессия истекла.
Пожалуйста, перезагрузите страницу..',
+ 'reload' => 'Перезагрузить',
+ 'go_to_gallery' => 'Перейти в галерею',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/ru/duplicate-finder.php b/lang/ru/duplicate-finder.php
index 34a2d45a7be..d317b185f07 100644
--- a/lang/ru/duplicate-finder.php
+++ b/lang/ru/duplicate-finder.php
@@ -1,26 +1,26 @@
'Обслуживание',
- 'intro' => 'На этой странице вы найдете дублирующиеся фотографии, найденные в вашей базе данных.',
- 'found' => ' дубликатов найдено!',
- 'invalid-search' => ' Необходимо выбрать хотя бы одно условие для проверки контрольной суммы или заголовка.',
- 'checksum-must-match' => 'Контрольная сумма должна совпадать.',
- 'title-must-match' => 'Заголовок должен совпадать.',
- 'must-be-in-same-album' => 'Должны быть в одном альбоме.',
- 'columns' => [
- 'album' => 'Альбом',
- 'photo' => 'Фото',
- 'checksum' => 'Контрольная сумма',
- ],
- 'warning' => [
- 'no-original-left' => 'Оригинал не найден.',
- 'keep-one' => 'Вы выбрали все дубликаты в этой группе. Пожалуйста, выберите хотя бы один дубликат, чтобы сохранить его.',
- ],
- 'delete-selected' => 'Удалить выбранное',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Обслуживание',
+ 'intro' => 'На этой странице вы найдете дублирующиеся фотографии, найденные в вашей базе данных.',
+ 'found' => ' дубликатов найдено!',
+ 'invalid-search' => ' Необходимо выбрать хотя бы одно условие для проверки контрольной суммы или заголовка.',
+ 'checksum-must-match' => 'Контрольная сумма должна совпадать.',
+ 'title-must-match' => 'Заголовок должен совпадать.',
+ 'must-be-in-same-album' => 'Должны быть в одном альбоме.',
+ 'columns' => [
+ 'album' => 'Альбом',
+ 'photo' => 'Фото',
+ 'checksum' => 'Контрольная сумма',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'Оригинал не найден.',
+ 'keep-one' => 'Вы выбрали все дубликаты в этой группе. Пожалуйста, выберите хотя бы один дубликат, чтобы сохранить его.',
+ ],
+ 'delete-selected' => 'Удалить выбранное',
];
diff --git a/lang/ru/fix-tree.php b/lang/ru/fix-tree.php
index 1ba3fa1bc14..aa98a5fb44e 100644
--- a/lang/ru/fix-tree.php
+++ b/lang/ru/fix-tree.php
@@ -1,46 +1,46 @@
'Обслуживание',
- 'intro' => 'Эта страница позволяет вручную изменять порядок ваших альбомов и исправлять их.
Перед внесением изменений настоятельно рекомендуем вам ознакомиться с информацией о структуре дерева Nested Set.',
- 'warning' => 'Вы можете сломать вашу установку Lychee, внося изменения на свой страх и риск.',
- 'help' => [
- 'header' => 'Помощь',
- 'hover' => 'Наведите курсор на идентификаторы или названия, чтобы выделить связанные альбомы.',
- 'left' => 'Левый',
- 'right' => 'Правый',
- 'convenience' => 'Для удобства кнопки и позволяют изменять значения %s и %s на +1 и -1 соответственно с распространением изменений.',
- 'left-right-warn' => 'Иконки и указывают, что значение %s (и соответственно %s) где-то дублируется.',
- 'parent-marked' => 'Отметка Идентификатор родителя означает, что %s и %s не соответствуют структуре дерева Nested Set. Отредактируйте либо Идентификатор родителя, либо значения %s/%s.',
- 'slowness' => 'Эта страница будет загружаться медленно при большом количестве альбомов.',
- ],
- 'buttons' => [
- 'reset' => 'Сбросить',
- 'check' => 'Проверить',
- 'apply' => 'Применить',
- ],
- 'no-changes' => 'Нет изменений для применения.',
- 'table' => [
- 'title' => 'Название',
- 'left' => 'Левый',
- 'right' => 'Правый',
- 'id' => 'Идентификатор',
- 'parent' => 'Идентификатор родителя',
- ],
- 'errors' => [
- 'invalid' => 'Неверное дерево!',
- 'invalid_details' => 'Мы не применяем это, так как это гарантированно приведет к сломанному состоянию.',
- 'invalid_left' => 'У альбома %s неверное значение левого индекса.',
- 'invalid_right' => 'У альбома %s неверное значение правого индекса.',
- 'invalid_left_right' => 'У альбома %s неверные значения левого/правого индекса. Левый индекс должен быть строго меньше правого: %s < %s.',
- 'duplicate_left' => 'У альбома %s дублируется значение левого индекса %s.',
- 'duplicate_right' => 'У альбома %s дублируется значение правого индекса %s.',
- 'parent' => 'У альбома %s неожиданный идентификатор родителя %s.',
- 'unknown' => 'У альбома %s неизвестная ошибка.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Обслуживание',
+ 'intro' => 'Эта страница позволяет вручную изменять порядок ваших альбомов и исправлять их.
Перед внесением изменений настоятельно рекомендуем вам ознакомиться с информацией о структуре дерева Nested Set.',
+ 'warning' => 'Вы можете сломать вашу установку Lychee, внося изменения на свой страх и риск.',
+ 'help' => [
+ 'header' => 'Помощь',
+ 'hover' => 'Наведите курсор на идентификаторы или названия, чтобы выделить связанные альбомы.',
+ 'left' => 'Левый',
+ 'right' => 'Правый',
+ 'convenience' => 'Для удобства кнопки и позволяют изменять значения %s и %s на +1 и -1 соответственно с распространением изменений.',
+ 'left-right-warn' => 'Иконки и указывают, что значение %s (и соответственно %s) где-то дублируется.',
+ 'parent-marked' => 'Отметка Идентификатор родителя означает, что %s и %s не соответствуют структуре дерева Nested Set. Отредактируйте либо Идентификатор родителя, либо значения %s/%s.',
+ 'slowness' => 'Эта страница будет загружаться медленно при большом количестве альбомов.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Сбросить',
+ 'check' => 'Проверить',
+ 'apply' => 'Применить',
+ ],
+ 'no-changes' => 'Нет изменений для применения.',
+ 'table' => [
+ 'title' => 'Название',
+ 'left' => 'Левый',
+ 'right' => 'Правый',
+ 'id' => 'Идентификатор',
+ 'parent' => 'Идентификатор родителя',
+ ],
+ 'errors' => [
+ 'invalid' => 'Неверное дерево!',
+ 'invalid_details' => 'Мы не применяем это, так как это гарантированно приведет к сломанному состоянию.',
+ 'invalid_left' => 'У альбома %s неверное значение левого индекса.',
+ 'invalid_right' => 'У альбома %s неверное значение правого индекса.',
+ 'invalid_left_right' => 'У альбома %s неверные значения левого/правого индекса. Левый индекс должен быть строго меньше правого: %s < %s.',
+ 'duplicate_left' => 'У альбома %s дублируется значение левого индекса %s.',
+ 'duplicate_right' => 'У альбома %s дублируется значение правого индекса %s.',
+ 'parent' => 'У альбома %s неожиданный идентификатор родителя %s.',
+ 'unknown' => 'У альбома %s неизвестная ошибка.',
+ ],
];
diff --git a/lang/ru/flow.php b/lang/ru/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/ru/flow.php
+++ b/lang/ru/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/ru/gallery.php b/lang/ru/gallery.php
index 611cde81a2d..fb74d262206 100644
--- a/lang/ru/gallery.php
+++ b/lang/ru/gallery.php
@@ -1,357 +1,357 @@
'Галерея',
- 'smart_albums' => 'Умные альбомы',
- 'pinned_albums' => 'Закреплённые альбомы',
- 'albums' => 'Альбомы',
- 'root' => 'Альбомы',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Избранные',
- 'raw' => 'RAW',
- 'original' => 'Оригинал',
- 'medium' => 'Средний',
- 'medium_hidpi' => 'Средний HiDPI',
- 'small' => 'Миниатюра',
- 'small_hidpi' => 'Миниатюра HiDPI',
- 'thumb' => 'Квадратная миниатюра',
- 'thumb_hidpi' => 'Квадратная миниатюра HiDPI',
- 'placeholder' => 'Заглушка изображения низкого качества',
- 'thumbnail' => 'Миниатюра фото',
- 'live_video' => 'Часть видео с живого фото',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Выберите разрешение изображений для ZIP-архива альбома. Если у фотографии нет выбранного варианта, будет использован оригинал.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Дата камеры',
- 'album_reserved' => 'Все права защищены',
- 'map' => [
- 'error_gpx' => 'Ошибка при загрузке GPX файла',
- 'osm_contributors' => 'Контрибьюторы OpenStreetMap',
- ],
- 'search' => [
- 'title' => 'Поиск',
- 'no_results' => 'По вашему запросу ничего не найдено.',
- 'searchbox' => 'Поиск…',
- 'minimum_chars' => 'Минимум %s символов.',
- 'photos' => 'Фотографии (%s)',
- 'albums' => 'Альбомы (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Неотсортированные',
- 'highlighted' => 'Избранные',
- 'recent' => 'Недавние',
- 'public' => 'Публичные',
- 'on_this_day' => 'В этот день',
- 'untagged' => 'Без меток',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Квадратные миниатюры',
- 'justified' => 'С пропорциями, выровненные',
- 'masonry' => 'С пропорциями, кладка',
- 'grid' => 'С пропорциями, сетка',
- 'filmstrip' => 'Плёнка',
- 'list' => 'Список',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'Нет',
- 'exif' => 'Данные EXIF',
- 'description' => 'Описание',
- 'date' => 'Дата съемки',
- ],
- 'timeline' => [
- 'title' => 'Лента',
- 'load_previous' => 'Загрузить предыдущие',
- 'default' => 'по умолчанию',
- 'disabled' => 'отключено',
- 'year' => 'Год',
- 'month' => 'Месяц',
- 'day' => 'День',
- 'hour' => 'Час',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Альбомы',
- 'header_photos' => 'Фотографии',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Здесь ничего нет',
- 'upload' => 'Загрузить фотографии',
- 'tabs' => [
- 'about' => 'О альбоме',
- 'share' => 'Поделиться альбомом',
- 'embed' => 'Embed Album',
- 'move' => 'Переместить альбом',
- 'shop' => 'Shop Management',
- 'danger' => 'ОПАСНОЕ МЕСТО',
- ],
- 'hero' => [
- 'created' => 'Создан',
- 'copyright' => 'Авторские права',
- 'subalbums' => 'Подальбомы',
- 'images' => 'Фотографии',
- 'download' => 'Скачать альбом',
- 'share' => 'Поделиться альбомом',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Статистика доступна в версии для поддерживающих пользователей',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Кол-во посещений',
- 'number_of_downloads' => 'Количество скачиваний',
- 'number_of_shares' => 'Кол-во поделившихся',
- 'lens' => 'Объектив',
- 'shutter' => 'Выдержка',
- 'iso' => 'ISO',
- 'model' => 'Модель',
- 'aperture' => 'Диафрагма',
- 'no_data' => 'Нет данных',
- ],
- 'properties' => [
- 'title' => 'Название',
- 'slug' => 'Slug (дружественный URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Описание',
- 'photo_ordering' => 'Сортировка фотографий по',
- 'children_ordering' => 'Сортировка альбомов по',
- 'asc/desc' => 'по возрастанию/по убыванию',
- 'header' => 'Установить заголовок альбома',
- 'compact_header' => 'Использовать компактный заголовок',
- 'license' => 'Установить лицензию',
- 'copyright' => 'Установить авторские права',
- 'aspect_ratio' => 'Установить соотношение сторон миниатюр альбома',
- 'album_timeline' => 'Установить режим временной шкалы альбома',
- 'photo_timeline' => 'Установить режим временной шкалы фотографий',
- 'layout' => 'Установить макет фотографий',
- 'show_tags' => 'Установить отображаемые теги',
- 'tags_required' => 'Теги обязательны.',
- 'all_tags_must_match' => 'Все теги должны совпадать.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Добавить в избранное',
- 'unhighlight' => 'Убрать из избранного',
- 'set_album_header' => 'Установить как заголовок альбома',
- 'move' => 'Переместить',
- 'delete' => 'Удалить',
- 'header_set' => 'Заголовок установлен',
- ],
- 'details' => [
- 'exif_data' => 'Данные EXIF',
- 'about' => 'О фотографии',
- 'basics' => 'Основное',
- 'title' => 'Название',
- 'uploaded' => 'Загружено',
- 'description' => 'Описание',
- 'license' => 'Лицензия',
- 'reuse' => 'Использование',
- 'latitude' => 'Широта',
- 'longitude' => 'Долгота',
- 'altitude' => 'Высота',
- 'location' => 'Местоположение',
- 'image' => 'Изображение',
- 'video' => 'Видео',
- 'size' => 'Размер',
- 'format' => 'Формат',
- 'resolution' => 'Разрешение',
- 'duration' => 'Длительность',
- 'fps' => 'Частота кадров',
- 'tags' => 'Теги',
- 'camera' => 'Камера',
- 'captured' => 'Снято',
- 'make' => 'Производитель',
- 'type' => 'Тип/Модель',
- 'lens' => 'Объектив',
- 'shutter' => 'Выдержка',
- 'aperture' => 'Диафрагма',
- 'focal' => 'Фокусное расстояние',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Статистика',
- 'number_of_visits' => 'Кол-во посещений',
- 'number_of_downloads' => 'Кол-во скачиваний',
- 'number_of_shares' => 'Кол-во поделившихся',
- 'number_of_favourites' => 'Кол-во избранных',
- ],
- 'links' => [
- 'header' => 'Ссылки',
- 'copy' => 'Копировать',
- 'copy_success' => 'Ссылка скопирована в буфер обмена.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Установить название',
- 'set_description' => 'Установить описание',
- 'set_license' => 'Установить лицензию',
- 'no_tags' => 'Нет тегов',
- 'set_tags' => 'Установить теги',
- 'set_created_at' => 'Установить дату загрузки',
- 'set_taken_at' => 'Установить дату съемки',
- 'set_taken_at_info' => 'При установке будет отображаться звезда %s, чтобы указать, что эта дата отличается от оригинальной EXIF даты.
Снимите галочку и сохраните, чтобы сбросить на оригинальную дату.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Чувствительный контент',
- 'description' => 'Этот альбом содержит чувствительный контент, который может быть оскорбительным или disturbing для некоторых людей.',
- 'consent' => 'Нажмите для согласия.',
- ],
- 'menus' => [
- 'highlight' => 'Добавить в избранное',
- 'unhighlight' => 'Убрать из избранного',
- 'highlight_all' => 'Добавить все в избранное',
- 'unhighlight_all' => 'Убрать все из избранного',
- 'tag' => 'Тег',
- 'tag_all' => 'Тегировать все',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Установить обложку альбома',
- 'remove_header' => 'Удалить заголовок альбома',
- 'set_header' => 'Установить заголовок альбома',
- 'copy_to' => 'Копировать в …',
- 'copy_all_to' => 'Копировать выбранные в …',
- 'rename' => 'Переименовать',
- 'move' => 'Переместить',
- 'move_all' => 'Переместить выбранные',
- 'pin' => 'Закрепить',
- 'unpin' => 'Открепить',
- 'delete' => 'Удалить',
- 'delete_all' => 'Удалить выбранные',
- 'download' => 'Скачать',
- 'download_all' => 'Скачать выбранные',
- 'merge' => 'Объединить',
- 'merge_all' => 'Объединить выбранные',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Загрузить фото',
- 'take_photo' => 'Сделать фото',
- 'import_link' => 'Импортировать по ссылке',
- 'import_server' => 'Импортировать с сервера',
- 'import_dropbox' => 'Импортировать из Dropbox',
- 'new_album' => 'Новый альбом',
- 'new_tag_album' => 'Новый альбом с тегами',
- 'upload_track' => 'Загрузить трек',
- 'delete_track' => 'Удалить трек',
- ],
- 'sort' => [
- 'photo_select_1' => 'Время загрузки',
- 'photo_select_2' => 'Дата съемки',
- 'photo_select_3' => 'Название (Nat)',
- 'photo_select_4' => 'Описание (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Избранное',
- 'photo_select_7' => 'Формат фото',
- 'ascending' => 'По возрастанию',
- 'descending' => 'По убыванию',
- 'album_select_1' => 'Время создания',
- 'album_select_2' => 'Название (Nat)',
- 'album_select_3' => 'Описание (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Самая поздняя дата съемки',
- 'album_select_6' => 'Самая ранняя дата съемки',
- ],
- 'albums_protection' => [
- 'private' => 'частный',
- 'public' => 'публичный',
- 'inherit_from_parent' => 'унаследовать от родителя',
- 'public_but_hidden' => 'публичный но скрытый',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Галерея',
+ 'smart_albums' => 'Умные альбомы',
+ 'pinned_albums' => 'Закреплённые альбомы',
+ 'albums' => 'Альбомы',
+ 'root' => 'Альбомы',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Избранные',
+ 'raw' => 'RAW',
+ 'original' => 'Оригинал',
+ 'medium' => 'Средний',
+ 'medium_hidpi' => 'Средний HiDPI',
+ 'small' => 'Миниатюра',
+ 'small_hidpi' => 'Миниатюра HiDPI',
+ 'thumb' => 'Квадратная миниатюра',
+ 'thumb_hidpi' => 'Квадратная миниатюра HiDPI',
+ 'placeholder' => 'Заглушка изображения низкого качества',
+ 'thumbnail' => 'Миниатюра фото',
+ 'live_video' => 'Часть видео с живого фото',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Выберите разрешение изображений для ZIP-архива альбома. Если у фотографии нет выбранного варианта, будет использован оригинал.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Дата камеры',
+ 'album_reserved' => 'Все права защищены',
+ 'map' => [
+ 'error_gpx' => 'Ошибка при загрузке GPX файла',
+ 'osm_contributors' => 'Контрибьюторы OpenStreetMap',
+ ],
+ 'search' => [
+ 'title' => 'Поиск',
+ 'no_results' => 'По вашему запросу ничего не найдено.',
+ 'searchbox' => 'Поиск…',
+ 'minimum_chars' => 'Минимум %s символов.',
+ 'photos' => 'Фотографии (%s)',
+ 'albums' => 'Альбомы (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Неотсортированные',
+ 'highlighted' => 'Избранные',
+ 'recent' => 'Недавние',
+ 'public' => 'Публичные',
+ 'on_this_day' => 'В этот день',
+ 'untagged' => 'Без меток',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Квадратные миниатюры',
+ 'justified' => 'С пропорциями, выровненные',
+ 'masonry' => 'С пропорциями, кладка',
+ 'grid' => 'С пропорциями, сетка',
+ 'filmstrip' => 'Плёнка',
+ 'list' => 'Список',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'Нет',
+ 'exif' => 'Данные EXIF',
+ 'description' => 'Описание',
+ 'date' => 'Дата съемки',
+ ],
+ 'timeline' => [
+ 'title' => 'Лента',
+ 'load_previous' => 'Загрузить предыдущие',
+ 'default' => 'по умолчанию',
+ 'disabled' => 'отключено',
+ 'year' => 'Год',
+ 'month' => 'Месяц',
+ 'day' => 'День',
+ 'hour' => 'Час',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Альбомы',
+ 'header_photos' => 'Фотографии',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Здесь ничего нет',
+ 'upload' => 'Загрузить фотографии',
+ 'tabs' => [
+ 'about' => 'О альбоме',
+ 'share' => 'Поделиться альбомом',
+ 'embed' => 'Embed Album',
+ 'move' => 'Переместить альбом',
+ 'shop' => 'Shop Management',
+ 'danger' => 'ОПАСНОЕ МЕСТО',
+ ],
+ 'hero' => [
+ 'created' => 'Создан',
+ 'copyright' => 'Авторские права',
+ 'subalbums' => 'Подальбомы',
+ 'images' => 'Фотографии',
+ 'download' => 'Скачать альбом',
+ 'share' => 'Поделиться альбомом',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Статистика доступна в версии для поддерживающих пользователей',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Кол-во посещений',
+ 'number_of_downloads' => 'Количество скачиваний',
+ 'number_of_shares' => 'Кол-во поделившихся',
+ 'lens' => 'Объектив',
+ 'shutter' => 'Выдержка',
+ 'iso' => 'ISO',
+ 'model' => 'Модель',
+ 'aperture' => 'Диафрагма',
+ 'no_data' => 'Нет данных',
+ ],
+ 'properties' => [
+ 'title' => 'Название',
+ 'slug' => 'Slug (дружественный URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Описание',
+ 'photo_ordering' => 'Сортировка фотографий по',
+ 'children_ordering' => 'Сортировка альбомов по',
+ 'asc/desc' => 'по возрастанию/по убыванию',
+ 'header' => 'Установить заголовок альбома',
+ 'compact_header' => 'Использовать компактный заголовок',
+ 'license' => 'Установить лицензию',
+ 'copyright' => 'Установить авторские права',
+ 'aspect_ratio' => 'Установить соотношение сторон миниатюр альбома',
+ 'album_timeline' => 'Установить режим временной шкалы альбома',
+ 'photo_timeline' => 'Установить режим временной шкалы фотографий',
+ 'layout' => 'Установить макет фотографий',
+ 'show_tags' => 'Установить отображаемые теги',
+ 'tags_required' => 'Теги обязательны.',
+ 'all_tags_must_match' => 'Все теги должны совпадать.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Добавить в избранное',
+ 'unhighlight' => 'Убрать из избранного',
+ 'set_album_header' => 'Установить как заголовок альбома',
+ 'move' => 'Переместить',
+ 'delete' => 'Удалить',
+ 'header_set' => 'Заголовок установлен',
+ ],
+ 'details' => [
+ 'exif_data' => 'Данные EXIF',
+ 'about' => 'О фотографии',
+ 'basics' => 'Основное',
+ 'title' => 'Название',
+ 'uploaded' => 'Загружено',
+ 'description' => 'Описание',
+ 'license' => 'Лицензия',
+ 'reuse' => 'Использование',
+ 'latitude' => 'Широта',
+ 'longitude' => 'Долгота',
+ 'altitude' => 'Высота',
+ 'location' => 'Местоположение',
+ 'image' => 'Изображение',
+ 'video' => 'Видео',
+ 'size' => 'Размер',
+ 'format' => 'Формат',
+ 'resolution' => 'Разрешение',
+ 'duration' => 'Длительность',
+ 'fps' => 'Частота кадров',
+ 'tags' => 'Теги',
+ 'camera' => 'Камера',
+ 'captured' => 'Снято',
+ 'make' => 'Производитель',
+ 'type' => 'Тип/Модель',
+ 'lens' => 'Объектив',
+ 'shutter' => 'Выдержка',
+ 'aperture' => 'Диафрагма',
+ 'focal' => 'Фокусное расстояние',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Статистика',
+ 'number_of_visits' => 'Кол-во посещений',
+ 'number_of_downloads' => 'Кол-во скачиваний',
+ 'number_of_shares' => 'Кол-во поделившихся',
+ 'number_of_favourites' => 'Кол-во избранных',
+ ],
+ 'links' => [
+ 'header' => 'Ссылки',
+ 'copy' => 'Копировать',
+ 'copy_success' => 'Ссылка скопирована в буфер обмена.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Установить название',
+ 'set_description' => 'Установить описание',
+ 'set_license' => 'Установить лицензию',
+ 'no_tags' => 'Нет тегов',
+ 'set_tags' => 'Установить теги',
+ 'set_created_at' => 'Установить дату загрузки',
+ 'set_taken_at' => 'Установить дату съемки',
+ 'set_taken_at_info' => 'При установке будет отображаться звезда %s, чтобы указать, что эта дата отличается от оригинальной EXIF даты.
Снимите галочку и сохраните, чтобы сбросить на оригинальную дату.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Чувствительный контент',
+ 'description' => 'Этот альбом содержит чувствительный контент, который может быть оскорбительным или disturbing для некоторых людей.',
+ 'consent' => 'Нажмите для согласия.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Добавить в избранное',
+ 'unhighlight' => 'Убрать из избранного',
+ 'highlight_all' => 'Добавить все в избранное',
+ 'unhighlight_all' => 'Убрать все из избранного',
+ 'tag' => 'Тег',
+ 'tag_all' => 'Тегировать все',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Установить обложку альбома',
+ 'remove_header' => 'Удалить заголовок альбома',
+ 'set_header' => 'Установить заголовок альбома',
+ 'copy_to' => 'Копировать в …',
+ 'copy_all_to' => 'Копировать выбранные в …',
+ 'rename' => 'Переименовать',
+ 'move' => 'Переместить',
+ 'move_all' => 'Переместить выбранные',
+ 'pin' => 'Закрепить',
+ 'unpin' => 'Открепить',
+ 'delete' => 'Удалить',
+ 'delete_all' => 'Удалить выбранные',
+ 'download' => 'Скачать',
+ 'download_all' => 'Скачать выбранные',
+ 'merge' => 'Объединить',
+ 'merge_all' => 'Объединить выбранные',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Загрузить фото',
+ 'take_photo' => 'Сделать фото',
+ 'import_link' => 'Импортировать по ссылке',
+ 'import_server' => 'Импортировать с сервера',
+ 'import_dropbox' => 'Импортировать из Dropbox',
+ 'new_album' => 'Новый альбом',
+ 'new_tag_album' => 'Новый альбом с тегами',
+ 'upload_track' => 'Загрузить трек',
+ 'delete_track' => 'Удалить трек',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Время загрузки',
+ 'photo_select_2' => 'Дата съемки',
+ 'photo_select_3' => 'Название (Nat)',
+ 'photo_select_4' => 'Описание (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Избранное',
+ 'photo_select_7' => 'Формат фото',
+ 'ascending' => 'По возрастанию',
+ 'descending' => 'По убыванию',
+ 'album_select_1' => 'Время создания',
+ 'album_select_2' => 'Название (Nat)',
+ 'album_select_3' => 'Описание (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Самая поздняя дата съемки',
+ 'album_select_6' => 'Самая ранняя дата съемки',
+ ],
+ 'albums_protection' => [
+ 'private' => 'частный',
+ 'public' => 'публичный',
+ 'inherit_from_parent' => 'унаследовать от родителя',
+ 'public_but_hidden' => 'публичный но скрытый',
+ ],
];
diff --git a/lang/ru/import_from_server.php b/lang/ru/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/ru/import_from_server.php
+++ b/lang/ru/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/ru/jobs.php b/lang/ru/jobs.php
index 93d5a8ab802..1ada4e57927 100644
--- a/lang/ru/jobs.php
+++ b/lang/ru/jobs.php
@@ -1,15 +1,15 @@
'Задачи',
- 'no_data' => 'Пока не выполнено ни одного задания.',
- 'ready' => 'Готово',
- 'success' => 'Успешно',
- 'failure' => 'Ошибка',
- 'started' => 'Запущено',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Задачи',
+ 'no_data' => 'Пока не выполнено ни одного задания.',
+ 'ready' => 'Готово',
+ 'success' => 'Успешно',
+ 'failure' => 'Ошибка',
+ 'started' => 'Запущено',
];
diff --git a/lang/ru/landing.php b/lang/ru/landing.php
index 9583ee86939..e9f2a888ea5 100644
--- a/lang/ru/landing.php
+++ b/lang/ru/landing.php
@@ -1,13 +1,13 @@
'Галерея',
- 'access_gallery' => 'Доступ к галерее',
- 'Powered_by_Lychee' => 'Размещено с Lychee',
- 'copyright' => 'Все изображения на этом сайте защищены авторским правом %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Галерея',
+ 'access_gallery' => 'Доступ к галерее',
+ 'Powered_by_Lychee' => 'Размещено с Lychee',
+ 'copyright' => 'Все изображения на этом сайте защищены авторским правом %1$s © %2$s',
];
diff --git a/lang/ru/left-menu.php b/lang/ru/left-menu.php
index 78982bfa99c..a84eca23517 100644
--- a/lang/ru/left-menu.php
+++ b/lang/ru/left-menu.php
@@ -1,28 +1,28 @@
'Вернуться в галерею',
- 'login' => 'Войти',
- 'frame' => 'Рамка',
- 'map' => 'Карта',
- 'embed_stream' => 'Встроить Поток Фотографий',
- 'admin' => 'Админ',
- 'clockwork' => 'Приложение Clockwork',
- 'logs' => 'Показать логи',
- 'jobs' => 'История задач',
- 'user' => 'Пользователь',
- 'sign_out' => 'Выход',
- 'about' => 'О программе',
- 'changelog' => 'Последние изменения',
- 'api' => 'Документация API',
- 'source_code' => 'Исходный код',
- 'support' => 'Поддержка',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Вернуться в галерею',
+ 'login' => 'Войти',
+ 'frame' => 'Рамка',
+ 'map' => 'Карта',
+ 'embed_stream' => 'Встроить Поток Фотографий',
+ 'admin' => 'Админ',
+ 'clockwork' => 'Приложение Clockwork',
+ 'logs' => 'Показать логи',
+ 'jobs' => 'История задач',
+ 'user' => 'Пользователь',
+ 'sign_out' => 'Выход',
+ 'about' => 'О программе',
+ 'changelog' => 'Последние изменения',
+ 'api' => 'Документация API',
+ 'source_code' => 'Исходный код',
+ 'support' => 'Поддержка',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/ru/maintenance.php b/lang/ru/maintenance.php
index e98555059df..a3de5665ccd 100644
--- a/lang/ru/maintenance.php
+++ b/lang/ru/maintenance.php
@@ -1,103 +1,103 @@
'Обслуживание',
- 'description' => 'На этой странице вы найдете все необходимые действия для поддержания вашей установки Lychee в рабочем и исправном состоянии.',
- 'cleaning' => [
- 'title' => 'Очистка %s',
- 'result' => '%s удалено.',
- 'description' => 'Удалить все содержимое из %s',
- 'button' => 'Очистить',
- ],
- 'duplicate-finder' => [
- 'title' => 'Дубликаты',
- 'description' => 'Этот модуль подсчитывает возможные дубликаты среди изображений.',
- 'duplicates-all' => 'Дубликаты по всем альбомам',
- 'duplicates-title' => 'Дубликаты по заголовкам альбомов',
- 'duplicates-per-album' => 'Дубликаты по альбомам',
- 'show' => 'Показать дубликаты',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Исправление истории задач',
- 'description' => 'Пометить задачи со статусом %s или %s как %s.',
- 'button' => 'Исправить историю задач',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Отсутствуют %s',
- 'description' => 'Найдено %d %s, которые могут быть сгенерированы.',
- 'button' => 'Генерировать!',
- 'success' => 'Успешно сгенерировано %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'Отсутствуют размеры файлов',
- 'description' => 'Найдено %d маленьких вариантов без размера файла.',
- 'button' => 'Получить данные!',
- 'success' => 'Успешно вычислены размеры %d маленьких вариантов.',
- ],
- 'fix-tree' => [
- 'title' => 'Статистика дерева',
- 'Oddness' => 'Необычности',
- 'Duplicates' => 'Дубликаты',
- 'Wrong parents' => 'Неверные родители',
- 'Missing parents' => 'Отсутствующие родители',
- 'button' => 'Исправить дерево',
- ],
- 'optimize' => [
- 'title' => 'Оптимизация базы данных',
- 'description' => 'Если вы замечаете замедление работы установки, возможно, это связано с отсутствием необходимых индексов в базе данных.',
- 'button' => 'Оптимизировать базу данных',
- ],
- 'update' => [
- 'title' => 'Обновления',
- 'check-button' => 'Проверить обновления',
- 'update-button' => 'Обновить',
- 'no-pending-updates' => 'Нет ожидающих обновлений.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => 'Для %d фото нет статистики.',
- 'missing_albums' => 'Для %d альбомов нет статистики.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Очистить кэш',
- 'description' => 'Очистить кэш каждого пользователя для решения проблем с устаревшими данными.',
- 'button' => 'Очистить',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Обслуживание',
+ 'description' => 'На этой странице вы найдете все необходимые действия для поддержания вашей установки Lychee в рабочем и исправном состоянии.',
+ 'cleaning' => [
+ 'title' => 'Очистка %s',
+ 'result' => '%s удалено.',
+ 'description' => 'Удалить все содержимое из %s',
+ 'button' => 'Очистить',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Дубликаты',
+ 'description' => 'Этот модуль подсчитывает возможные дубликаты среди изображений.',
+ 'duplicates-all' => 'Дубликаты по всем альбомам',
+ 'duplicates-title' => 'Дубликаты по заголовкам альбомов',
+ 'duplicates-per-album' => 'Дубликаты по альбомам',
+ 'show' => 'Показать дубликаты',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Исправление истории задач',
+ 'description' => 'Пометить задачи со статусом %s или %s как %s.',
+ 'button' => 'Исправить историю задач',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Отсутствуют %s',
+ 'description' => 'Найдено %d %s, которые могут быть сгенерированы.',
+ 'button' => 'Генерировать!',
+ 'success' => 'Успешно сгенерировано %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'Отсутствуют размеры файлов',
+ 'description' => 'Найдено %d маленьких вариантов без размера файла.',
+ 'button' => 'Получить данные!',
+ 'success' => 'Успешно вычислены размеры %d маленьких вариантов.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Статистика дерева',
+ 'Oddness' => 'Необычности',
+ 'Duplicates' => 'Дубликаты',
+ 'Wrong parents' => 'Неверные родители',
+ 'Missing parents' => 'Отсутствующие родители',
+ 'button' => 'Исправить дерево',
+ ],
+ 'optimize' => [
+ 'title' => 'Оптимизация базы данных',
+ 'description' => 'Если вы замечаете замедление работы установки, возможно, это связано с отсутствием необходимых индексов в базе данных.',
+ 'button' => 'Оптимизировать базу данных',
+ ],
+ 'update' => [
+ 'title' => 'Обновления',
+ 'check-button' => 'Проверить обновления',
+ 'update-button' => 'Обновить',
+ 'no-pending-updates' => 'Нет ожидающих обновлений.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => 'Для %d фото нет статистики.',
+ 'missing_albums' => 'Для %d альбомов нет статистики.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Очистить кэш',
+ 'description' => 'Очистить кэш каждого пользователя для решения проблем с устаревшими данными.',
+ 'button' => 'Очистить',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/ru/moderation.php b/lang/ru/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/ru/moderation.php
+++ b/lang/ru/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/ru/profile.php b/lang/ru/profile.php
index bdf1755933f..6c3c66e3f73 100644
--- a/lang/ru/profile.php
+++ b/lang/ru/profile.php
@@ -1,80 +1,80 @@
'Профиль',
- 'login' => [
- 'header' => 'Профиль',
- 'enter_current_password' => 'Введите ваш текущий пароль:',
- 'current_password' => 'Текущий пароль',
- 'credentials_update' => 'Ваши данные будут изменены на следующие:',
- 'username' => 'Имя пользователя',
- 'new_password' => 'Новый пароль',
- 'confirm_new_password' => 'Подтвердите новый пароль',
- 'email_instruction' => 'Добавьте ваш email ниже, чтобы получать уведомления по электронной почте. Чтобы прекратить получение писем, просто удалите ваш email ниже.',
- 'email' => 'Email',
- 'change' => 'Изменить логин',
- 'api_token' => 'API Токен …',
- 'missing_fields' => 'Отсутствуют поля',
- 'ldap_managed' => 'Информация для входа пользователя управляется LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Имя пользователя уже существует.',
- 'password_mismatch' => 'Пароли не совпадают.',
- 'signup' => 'Зарегистрироваться',
- 'error' => 'Произошла ошибка при регистрации вашей учетной записи.',
- 'success' => 'Ваша учетная запись была успешно создана.',
- ],
- 'token' => [
- 'unavailable' => 'Вы уже просмотрели этот токен.',
- 'no_data' => 'Токен API не был сгенерирован.',
- 'disable' => 'Отключить',
- 'disabled' => 'Токен отключён',
- 'warning' => 'Этот токен больше не будет отображаться. Скопируйте его и сохраните в надежном месте.',
- 'reset' => 'Сбросить токен',
- 'create' => 'Создать новый токен',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth недоступен',
- 'setup_env' => 'Настройте данные для входа в вашем .env',
- 'token_registered' => 'Токен %s зарегистрирован.',
- 'setup' => 'Настроить %s',
- 'reset' => 'сбросить',
- 'credential_deleted' => 'Данные удалены!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'Это предоставляет возможность использовать WebAuthn для аутентификации вместо имени пользователя и пароля.',
- 'empty' => 'Список данных пуст!',
- 'not_secure' => 'Среда не защищена. U2F недоступен.',
- 'new' => 'Зарегистрировать новое устройство.',
- 'credential_deleted' => 'Данные удалены!',
- 'credential_updated' => 'Данные обновлены!',
- 'credential_registred' => 'Регистрация прошла успешно!',
- '5_chars' => 'Не менее 5 символов.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Профиль',
+ 'login' => [
+ 'header' => 'Профиль',
+ 'enter_current_password' => 'Введите ваш текущий пароль:',
+ 'current_password' => 'Текущий пароль',
+ 'credentials_update' => 'Ваши данные будут изменены на следующие:',
+ 'username' => 'Имя пользователя',
+ 'new_password' => 'Новый пароль',
+ 'confirm_new_password' => 'Подтвердите новый пароль',
+ 'email_instruction' => 'Добавьте ваш email ниже, чтобы получать уведомления по электронной почте. Чтобы прекратить получение писем, просто удалите ваш email ниже.',
+ 'email' => 'Email',
+ 'change' => 'Изменить логин',
+ 'api_token' => 'API Токен …',
+ 'missing_fields' => 'Отсутствуют поля',
+ 'ldap_managed' => 'Информация для входа пользователя управляется LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Имя пользователя уже существует.',
+ 'password_mismatch' => 'Пароли не совпадают.',
+ 'signup' => 'Зарегистрироваться',
+ 'error' => 'Произошла ошибка при регистрации вашей учетной записи.',
+ 'success' => 'Ваша учетная запись была успешно создана.',
+ ],
+ 'token' => [
+ 'unavailable' => 'Вы уже просмотрели этот токен.',
+ 'no_data' => 'Токен API не был сгенерирован.',
+ 'disable' => 'Отключить',
+ 'disabled' => 'Токен отключён',
+ 'warning' => 'Этот токен больше не будет отображаться. Скопируйте его и сохраните в надежном месте.',
+ 'reset' => 'Сбросить токен',
+ 'create' => 'Создать новый токен',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth недоступен',
+ 'setup_env' => 'Настройте данные для входа в вашем .env',
+ 'token_registered' => 'Токен %s зарегистрирован.',
+ 'setup' => 'Настроить %s',
+ 'reset' => 'сбросить',
+ 'credential_deleted' => 'Данные удалены!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'Это предоставляет возможность использовать WebAuthn для аутентификации вместо имени пользователя и пароля.',
+ 'empty' => 'Список данных пуст!',
+ 'not_secure' => 'Среда не защищена. U2F недоступен.',
+ 'new' => 'Зарегистрировать новое устройство.',
+ 'credential_deleted' => 'Данные удалены!',
+ 'credential_updated' => 'Данные обновлены!',
+ 'credential_registred' => 'Регистрация прошла успешно!',
+ '5_chars' => 'Не менее 5 символов.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/ru/renamer.php b/lang/ru/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/ru/renamer.php
+++ b/lang/ru/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/ru/settings.php b/lang/ru/settings.php
index 913a4c4e50b..3f742c3b66d 100644
--- a/lang/ru/settings.php
+++ b/lang/ru/settings.php
@@ -1,103 +1,103 @@
'Настройки',
- 'small_screen' => 'Для лучшего опыта на странице настроек,
рекомендуем использовать экран большего размера.',
- 'tabs' => [
- 'basic' => 'Основные',
- 'all_settings' => 'Все настройки',
- ],
- 'toasts' => [
- 'change_saved' => 'Изменения сохранены!',
- 'details' => 'Настройки были изменены по запросу',
- 'error' => 'Ошибка!',
- 'error_load_css' => 'Не удалось загрузить dist/user.css',
- 'error_load_js' => 'Не удалось загрузить dist/custom.js',
- 'error_save_css' => 'Не удалось сохранить CSS',
- 'error_save_js' => 'Не удалось сохранить JS',
- 'thank_you' => 'Спасибо за вашу поддержку.',
- 'reload' => 'Перезагрузите страницу для полной функциональности.',
- ],
- 'system' => [
- 'header' => 'Система',
- 'use_dark_mode' => 'Использовать тёмный режим для Lychee',
- 'language' => 'Язык, используемый в Lychee',
- 'nsfw_album_visibility' => 'По умолчанию делать скрытые альбомы с чувствительным содержимым видимыми.',
- 'nsfw_album_explanation' => 'Если альбом публичный, он всё равно доступен, но скрыт от просмотра и может быть раскрыт нажатием H.',
- 'cache_enabled' => 'Включить кэширование ответов.',
- 'cache_enabled_details' => 'Это значительно ускорит время отклика Lychee.
Если вы используете альбомы с паролем, не включайте эту опцию.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Получите эксклюзивные функции и поддержите разработку Lychee. Разблокируйте SE edition.',
- 'preview' => 'Включить предпросмотр функций Lychee SE',
- 'hide_call4action' => 'Скрыть форму регистрации Lychee SE. Я доволен текущей версией Lychee. :)',
- 'hide_warning' => 'Если включено, единственный способ зарегистрировать ваш лицензионный ключ будет через вкладку «Больше» выше. Изменения применяются после перезагрузки страницы.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'Чтобы импортировать фотографии из вашего Dropbox, вам нужен действительный ключ приложения drop-ins с их сайта.',
- 'api_key' => 'API ключ Dropbox',
- 'set_key' => 'Установить ключ Dropbox',
- ],
- 'gallery' => [
- 'header' => 'Галерея',
- 'photo_order_column' => 'Столбец по умолчанию для сортировки фотографий',
- 'photo_order_direction' => 'Порядок по умолчанию для сортировки фотографий',
- 'album_order_column' => 'Столбец по умолчанию для сортировки альбомов',
- 'album_order_direction' => 'Порядок по умолчанию для сортировки альбомов',
- 'aspect_ratio' => 'Соотношение сторон по умолчанию для миниатюр альбомов',
- 'photo_layout' => 'Макет для фотографий',
- 'album_decoration' => 'Показывать украшения на обложке альбома (под-альбом и/или количество фото)',
- 'album_decoration_direction' => 'Выравнивание украшений альбома по горизонтали или вертикали',
- 'photo_overlay' => 'Информация по умолчанию для наложения на изображение',
- 'license_default' => 'Лицензия по умолчанию для альбомов',
- 'license_help' => 'Нужна помощь в выборе?',
- ],
- 'geolocation' => [
- 'header' => 'Геолокация',
- 'map_display' => 'Отображать карту по GPS-координатам',
- 'map_display_public' => 'Разрешить анонимным пользователям доступ к карте',
- 'map_provider' => 'Определяет поставщика карты',
- 'map_include_subalbums' => 'Включать фотографии из под-альбомов на карте',
- 'location_decoding' => 'Использовать декодирование GPS-координат',
- 'location_show' => 'Показывать местоположение, извлечённое из GPS-координат',
- 'location_show_public' => 'Анонимные пользователи могут получить доступ к извлечённому местоположению по GPS-координатам',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Пользовательский CSS & Js',
- 'change_css' => 'Изменить CSS',
- 'change_js' => 'Изменить JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Старый стиль настроек',
- 'expert_settings' => 'Экспертный режим',
- 'change_detected' => 'Некоторые настройки были изменены.',
- 'save' => 'Сохранить',
- 'back_to_settings' => 'Назад к сгруппированным настройкам',
- ],
- 'tool_option' => [
- 'disabled' => 'отключено',
- 'enabled' => 'включено',
- 'discover' => 'обнаружить',
- ],
- 'groups' => [
- 'general' => 'Основные',
- 'system' => 'Система',
- 'modules' => 'Модули',
- 'advanced' => 'Расширенные',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Настройки',
+ 'small_screen' => 'Для лучшего опыта на странице настроек,
рекомендуем использовать экран большего размера.',
+ 'tabs' => [
+ 'basic' => 'Основные',
+ 'all_settings' => 'Все настройки',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Изменения сохранены!',
+ 'details' => 'Настройки были изменены по запросу',
+ 'error' => 'Ошибка!',
+ 'error_load_css' => 'Не удалось загрузить dist/user.css',
+ 'error_load_js' => 'Не удалось загрузить dist/custom.js',
+ 'error_save_css' => 'Не удалось сохранить CSS',
+ 'error_save_js' => 'Не удалось сохранить JS',
+ 'thank_you' => 'Спасибо за вашу поддержку.',
+ 'reload' => 'Перезагрузите страницу для полной функциональности.',
+ ],
+ 'system' => [
+ 'header' => 'Система',
+ 'use_dark_mode' => 'Использовать тёмный режим для Lychee',
+ 'language' => 'Язык, используемый в Lychee',
+ 'nsfw_album_visibility' => 'По умолчанию делать скрытые альбомы с чувствительным содержимым видимыми.',
+ 'nsfw_album_explanation' => 'Если альбом публичный, он всё равно доступен, но скрыт от просмотра и может быть раскрыт нажатием H.',
+ 'cache_enabled' => 'Включить кэширование ответов.',
+ 'cache_enabled_details' => 'Это значительно ускорит время отклика Lychee.
Если вы используете альбомы с паролем, не включайте эту опцию.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Получите эксклюзивные функции и поддержите разработку Lychee. Разблокируйте SE edition.',
+ 'preview' => 'Включить предпросмотр функций Lychee SE',
+ 'hide_call4action' => 'Скрыть форму регистрации Lychee SE. Я доволен текущей версией Lychee. :)',
+ 'hide_warning' => 'Если включено, единственный способ зарегистрировать ваш лицензионный ключ будет через вкладку «Больше» выше. Изменения применяются после перезагрузки страницы.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'Чтобы импортировать фотографии из вашего Dropbox, вам нужен действительный ключ приложения drop-ins с их сайта.',
+ 'api_key' => 'API ключ Dropbox',
+ 'set_key' => 'Установить ключ Dropbox',
+ ],
+ 'gallery' => [
+ 'header' => 'Галерея',
+ 'photo_order_column' => 'Столбец по умолчанию для сортировки фотографий',
+ 'photo_order_direction' => 'Порядок по умолчанию для сортировки фотографий',
+ 'album_order_column' => 'Столбец по умолчанию для сортировки альбомов',
+ 'album_order_direction' => 'Порядок по умолчанию для сортировки альбомов',
+ 'aspect_ratio' => 'Соотношение сторон по умолчанию для миниатюр альбомов',
+ 'photo_layout' => 'Макет для фотографий',
+ 'album_decoration' => 'Показывать украшения на обложке альбома (под-альбом и/или количество фото)',
+ 'album_decoration_direction' => 'Выравнивание украшений альбома по горизонтали или вертикали',
+ 'photo_overlay' => 'Информация по умолчанию для наложения на изображение',
+ 'license_default' => 'Лицензия по умолчанию для альбомов',
+ 'license_help' => 'Нужна помощь в выборе?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Геолокация',
+ 'map_display' => 'Отображать карту по GPS-координатам',
+ 'map_display_public' => 'Разрешить анонимным пользователям доступ к карте',
+ 'map_provider' => 'Определяет поставщика карты',
+ 'map_include_subalbums' => 'Включать фотографии из под-альбомов на карте',
+ 'location_decoding' => 'Использовать декодирование GPS-координат',
+ 'location_show' => 'Показывать местоположение, извлечённое из GPS-координат',
+ 'location_show_public' => 'Анонимные пользователи могут получить доступ к извлечённому местоположению по GPS-координатам',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Пользовательский CSS & Js',
+ 'change_css' => 'Изменить CSS',
+ 'change_js' => 'Изменить JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Старый стиль настроек',
+ 'expert_settings' => 'Экспертный режим',
+ 'change_detected' => 'Некоторые настройки были изменены.',
+ 'save' => 'Сохранить',
+ 'back_to_settings' => 'Назад к сгруппированным настройкам',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'отключено',
+ 'enabled' => 'включено',
+ 'discover' => 'обнаружить',
+ ],
+ 'groups' => [
+ 'general' => 'Основные',
+ 'system' => 'Система',
+ 'modules' => 'Модули',
+ 'advanced' => 'Расширенные',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/ru/sharing.php b/lang/ru/sharing.php
index e87647ea75e..8ec78664b3b 100644
--- a/lang/ru/sharing.php
+++ b/lang/ru/sharing.php
@@ -1,39 +1,39 @@
'Поделиться',
- 'info' => 'Эта страница предоставляет обзор и возможность редактировать права доступа, связанные с альбомами.',
- 'album_title' => 'Название альбома',
- 'username' => 'Имя пользователя',
- 'no_data' => 'Список раздач пуст.',
- 'share' => 'Поделиться',
- 'add_new_access_permission' => 'Добавить новое разрешение на доступ',
- 'permission_deleted' => 'Разрешение удалено!',
- 'permission_created' => 'Разрешение создано!',
- 'propagate' => 'Распространить',
- 'propagate_help' => 'Распространить текущие разрешения на все потомки
(подальбомы и их подальбомы и т. д.)',
- 'propagate_default' => 'По умолчанию существующие разрешения (альбом-пользователь)
обновляются, и добавляются отсутствующие.
Дополнительные разрешения, отсутствующие в этом списке, остаются без изменений.',
- 'propagate_overwrite' => 'Перезаписать существующие разрешения вместо их обновления.
Это также удалит все разрешения, не присутствующие в этом списке.',
- 'propagate_warning' => 'Это действие нельзя отменить.',
- 'permission_overwritten' => 'Распространение успешно! Разрешение перезаписано!',
- 'permission_updated' => 'Распространение успешно! Разрешение обновлено!',
- 'bluk_share' => 'Поделиться несколькими сразу',
- 'bulk_share_instr' => 'Выберите несколько альбомов и пользователей, чтобы поделиться.',
- 'albums' => 'Альбомы',
- 'users' => 'Пользователи',
- 'no_users' => 'Нет выбираемых пользователей.',
- 'no_albums' => 'Нет выбираемых альбомов.',
- 'grants' => [
- 'read' => 'Предоставляет доступ для чтения',
- 'original' => 'Предоставляет доступ к оригинальной фотографии',
- 'download' => 'Предоставляет возможность скачивания',
- 'upload' => 'Предоставляет возможность загрузки',
- 'edit' => 'Предоставляет возможность редактирования',
- 'delete' => 'Предоставляет возможность удаления',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Страница обмена
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Поделиться',
+ 'info' => 'Эта страница предоставляет обзор и возможность редактировать права доступа, связанные с альбомами.',
+ 'album_title' => 'Название альбома',
+ 'username' => 'Имя пользователя',
+ 'no_data' => 'Список раздач пуст.',
+ 'share' => 'Поделиться',
+ 'add_new_access_permission' => 'Добавить новое разрешение на доступ',
+ 'permission_deleted' => 'Разрешение удалено!',
+ 'permission_created' => 'Разрешение создано!',
+ 'propagate' => 'Распространить',
+ 'propagate_help' => 'Распространить текущие разрешения на все потомки
(подальбомы и их подальбомы и т. д.)',
+ 'propagate_default' => 'По умолчанию существующие разрешения (альбом-пользователь)
обновляются, и добавляются отсутствующие.
Дополнительные разрешения, отсутствующие в этом списке, остаются без изменений.',
+ 'propagate_overwrite' => 'Перезаписать существующие разрешения вместо их обновления.
Это также удалит все разрешения, не присутствующие в этом списке.',
+ 'propagate_warning' => 'Это действие нельзя отменить.',
+ 'permission_overwritten' => 'Распространение успешно! Разрешение перезаписано!',
+ 'permission_updated' => 'Распространение успешно! Разрешение обновлено!',
+ 'bluk_share' => 'Поделиться несколькими сразу',
+ 'bulk_share_instr' => 'Выберите несколько альбомов и пользователей, чтобы поделиться.',
+ 'albums' => 'Альбомы',
+ 'users' => 'Пользователи',
+ 'no_users' => 'Нет выбираемых пользователей.',
+ 'no_albums' => 'Нет выбираемых альбомов.',
+ 'grants' => [
+ 'read' => 'Предоставляет доступ для чтения',
+ 'original' => 'Предоставляет доступ к оригинальной фотографии',
+ 'download' => 'Предоставляет возможность скачивания',
+ 'upload' => 'Предоставляет возможность загрузки',
+ 'edit' => 'Предоставляет возможность редактирования',
+ 'delete' => 'Предоставляет возможность удаления',
+ ],
];
diff --git a/lang/ru/statistics.php b/lang/ru/statistics.php
index 89dcf7ab11a..434cfec70e1 100644
--- a/lang/ru/statistics.php
+++ b/lang/ru/statistics.php
@@ -1,63 +1,63 @@
'Статистика',
- 'preview_text' => 'Это предварительный просмотр страницы статистики, доступной в Lychee SE.
Приведенные здесь данные генерируются случайным образом и не отражают состояние вашего сервера.',
- 'no_data' => 'У пользователя нет данных на сервере.',
- 'collapse' => 'Свернуть размеры альбомов',
- 'total' => [
- 'total' => 'Всего',
- 'albums' => 'Альбомы',
- 'photos' => 'Фотографии',
- 'size' => 'Размер',
- ],
- 'table' => [
- 'username' => 'Владелец',
- 'title' => 'Название',
- 'photos' => 'Фотографии',
- 'descendants' => 'Потомки',
- 'size' => 'Размер',
- ],
- 'punch_card' => [
- 'title' => 'Активность',
- 'photo-taken' => '%d фотографии сделаны',
- 'photo-taken-in' => '%d фотографии сделаны в %d',
- 'photo-uploaded' => '%d фотографий загружено',
- 'photo-uploaded-in' => '%d фотографий загружено в %d',
- 'with-exif' => 'с exif данными',
- 'less' => 'Меньше',
- 'more' => 'Больше',
- 'tooltip' => '%d фотографии на %s',
- 'created_at' => 'Дата загрузки',
- 'taken_at' => 'Exif дата',
- 'caption' => 'Каждый столбец представляет неделю.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'Это предварительный просмотр страницы статистики, доступной в Lychee SE. Приведенные здесь данные генерируются случайным образом и не отражают состояние вашего сервера.',
- 'a_visitor' => 'Посетитель',
- 'visitors' => '%d посетителей',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d дней назад',
- 'day' => 'вчера',
- 'hours' => '%d часов назад',
- 'hour' => 'час назад',
- 'minutes' => '%d минут назад',
- 'few_minutes' => 'несколько минут назад',
- 'seconds' => 'несколько секунд назад',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Статистика',
+ 'preview_text' => 'Это предварительный просмотр страницы статистики, доступной в Lychee SE.
Приведенные здесь данные генерируются случайным образом и не отражают состояние вашего сервера.',
+ 'no_data' => 'У пользователя нет данных на сервере.',
+ 'collapse' => 'Свернуть размеры альбомов',
+ 'total' => [
+ 'total' => 'Всего',
+ 'albums' => 'Альбомы',
+ 'photos' => 'Фотографии',
+ 'size' => 'Размер',
+ ],
+ 'table' => [
+ 'username' => 'Владелец',
+ 'title' => 'Название',
+ 'photos' => 'Фотографии',
+ 'descendants' => 'Потомки',
+ 'size' => 'Размер',
+ ],
+ 'punch_card' => [
+ 'title' => 'Активность',
+ 'photo-taken' => '%d фотографии сделаны',
+ 'photo-taken-in' => '%d фотографии сделаны в %d',
+ 'photo-uploaded' => '%d фотографий загружено',
+ 'photo-uploaded-in' => '%d фотографий загружено в %d',
+ 'with-exif' => 'с exif данными',
+ 'less' => 'Меньше',
+ 'more' => 'Больше',
+ 'tooltip' => '%d фотографии на %s',
+ 'created_at' => 'Дата загрузки',
+ 'taken_at' => 'Exif дата',
+ 'caption' => 'Каждый столбец представляет неделю.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'Это предварительный просмотр страницы статистики, доступной в Lychee SE. Приведенные здесь данные генерируются случайным образом и не отражают состояние вашего сервера.',
+ 'a_visitor' => 'Посетитель',
+ 'visitors' => '%d посетителей',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d дней назад',
+ 'day' => 'вчера',
+ 'hours' => '%d часов назад',
+ 'hour' => 'час назад',
+ 'minutes' => '%d минут назад',
+ 'few_minutes' => 'несколько минут назад',
+ 'seconds' => 'несколько секунд назад',
+ ],
+ ],
];
diff --git a/lang/ru/tags.php b/lang/ru/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/ru/tags.php
+++ b/lang/ru/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/ru/toasts.php b/lang/ru/toasts.php
index f5148c36780..a3afd5d286f 100644
--- a/lang/ru/toasts.php
+++ b/lang/ru/toasts.php
@@ -1,13 +1,13 @@
'Ошибка',
- 'success' => 'Успешно',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Ошибка',
+ 'success' => 'Успешно',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/ru/user-groups.php b/lang/ru/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/ru/user-groups.php
+++ b/lang/ru/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/ru/users.php b/lang/ru/users.php
index 525f0bc148d..41d8b2f8c13 100644
--- a/lang/ru/users.php
+++ b/lang/ru/users.php
@@ -1,50 +1,50 @@
'Пользователи',
- 'description' => 'Здесь вы можете управлять пользователями вашей установки Lychee. Вы можете создавать, редактировать и удалять пользователей.',
- 'create' => 'Создать нового пользователя',
- 'username' => 'Имя пользователя',
- 'password' => 'Пароль',
- 'legend' => 'Легенда',
- 'upload_rights' => 'При выборе этого параметра пользователь может загружать контент.',
- 'edit_rights' => 'При выборе этого параметра пользователь может изменить свой профиль (имя пользователя, пароль).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Пользователи',
+ 'description' => 'Здесь вы можете управлять пользователями вашей установки Lychee. Вы можете создавать, редактировать и удалять пользователей.',
+ 'create' => 'Создать нового пользователя',
+ 'username' => 'Имя пользователя',
+ 'password' => 'Пароль',
+ 'legend' => 'Легенда',
+ 'upload_rights' => 'При выборе этого параметра пользователь может загружать контент.',
+ 'edit_rights' => 'При выборе этого параметра пользователь может изменить свой профиль (имя пользователя, пароль).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'Если установлено, у пользователя есть квота места для фотографий (в кБ).',
- 'user_deleted' => 'Пользователь удалён',
- 'user_created' => 'Пользователь создан',
- 'user_updated' => 'Пользователь обновлён',
- 'change_saved' => 'Изменение сохранено!',
- 'create_edit' => [
- 'upload_rights' => 'Пользователь может загружать контент.',
- 'edit_rights' => 'Пользователь может изменить свой профиль (имя пользователя, пароль).',
- 'admin_rights' => 'Пользователь имеет права администратора.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'Если установлено, у пользователя есть квота места для фотографий (в кБ).',
+ 'user_deleted' => 'Пользователь удалён',
+ 'user_created' => 'Пользователь создан',
+ 'user_updated' => 'Пользователь обновлён',
+ 'change_saved' => 'Изменение сохранено!',
+ 'create_edit' => [
+ 'upload_rights' => 'Пользователь может загружать контент.',
+ 'edit_rights' => 'Пользователь может изменить свой профиль (имя пользователя, пароль).',
+ 'admin_rights' => 'Пользователь имеет права администратора.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'Пользователь имеет ограничение по квоте.',
- 'quota_kb' => 'квота в кБ (0 по умолчанию)',
- 'note' => 'Примечание администратора (не видно публично)',
- 'create' => 'Создать',
- 'edit' => 'Изменить',
- ],
- 'invite' => [
- 'button' => 'Пригласить пользователя',
- 'links_are_not_revokable' => 'Пригласительные ссылки нельзя отозвать.',
- 'link_is_valid_x_days' => 'Эта ссылка будет действительна %d дней.',
- ],
- 'line' => [
- 'owner' => 'Владелец',
- 'admin' => 'Администратор',
- 'edit' => 'Изменить',
- 'delete' => 'Удалить',
- ],
+ 'quota' => 'Пользователь имеет ограничение по квоте.',
+ 'quota_kb' => 'квота в кБ (0 по умолчанию)',
+ 'note' => 'Примечание администратора (не видно публично)',
+ 'create' => 'Создать',
+ 'edit' => 'Изменить',
+ ],
+ 'invite' => [
+ 'button' => 'Пригласить пользователя',
+ 'links_are_not_revokable' => 'Пригласительные ссылки нельзя отозвать.',
+ 'link_is_valid_x_days' => 'Эта ссылка будет действительна %d дней.',
+ ],
+ 'line' => [
+ 'owner' => 'Владелец',
+ 'admin' => 'Администратор',
+ 'edit' => 'Изменить',
+ 'delete' => 'Удалить',
+ ],
];
diff --git a/lang/ru/webhook.php b/lang/ru/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/ru/webhook.php
+++ b/lang/ru/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/ru/webshop.php b/lang/ru/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/ru/webshop.php
+++ b/lang/ru/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/sk/admin-dashboard.php b/lang/sk/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/sk/admin-dashboard.php
+++ b/lang/sk/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/sk/all_settings.php b/lang/sk/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/sk/all_settings.php
+++ b/lang/sk/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/sk/aspect_ratio.php b/lang/sk/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/sk/aspect_ratio.php
+++ b/lang/sk/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/sk/bulk_album_edit.php b/lang/sk/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/sk/bulk_album_edit.php
+++ b/lang/sk/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/sk/changelogs.php b/lang/sk/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/sk/changelogs.php
+++ b/lang/sk/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/sk/contact.php b/lang/sk/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/sk/contact.php
+++ b/lang/sk/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/sk/diagnostics.php b/lang/sk/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/sk/diagnostics.php
+++ b/lang/sk/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/sk/dialogs.php b/lang/sk/dialogs.php
index da78d0ec397..a247febf4f5 100644
--- a/lang/sk/dialogs.php
+++ b/lang/sk/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Režim',
- 'mode_album_help' => 'Vložiť fotografie z tohto konkrétneho albumu.',
- 'mode_stream_help' => 'Vložiť všetky vaše verejné fotografie ako chronologický prúd (najnovšie prvé).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Odfotiť',
- 'capture' => 'Odfotiť',
- 'retake' => 'Odfotiť znova',
- 'upload' => 'Nahrať',
- 'secure_connection_required' => 'Prístup ku kamere vyžaduje zabezpečené pripojenie (HTTPS alebo localhost).',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Režim',
+ 'mode_album_help' => 'Vložiť fotografie z tohto konkrétneho albumu.',
+ 'mode_stream_help' => 'Vložiť všetky vaše verejné fotografie ako chronologický prúd (najnovšie prvé).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Odfotiť',
+ 'capture' => 'Odfotiť',
+ 'retake' => 'Odfotiť znova',
+ 'upload' => 'Nahrať',
+ 'secure_connection_required' => 'Prístup ku kamere vyžaduje zabezpečené pripojenie (HTTPS alebo localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/sk/duplicate-finder.php b/lang/sk/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/sk/duplicate-finder.php
+++ b/lang/sk/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/sk/fix-tree.php b/lang/sk/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/sk/fix-tree.php
+++ b/lang/sk/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/sk/flow.php b/lang/sk/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/sk/flow.php
+++ b/lang/sk/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/sk/gallery.php b/lang/sk/gallery.php
index e2892271096..2bbf9fc1b25 100644
--- a/lang/sk/gallery.php
+++ b/lang/sk/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Pripnuté albumy',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Vyberte rozlíšenie obrázkov pre ZIP archív albumu. Ak fotografia nemá vybranú variantu, použije sa originál.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Zobrazenie zoznamu',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Pripnúť',
- 'unpin' => 'Odopnúť',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Odfotiť',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'verejné ale skryté',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Pripnuté albumy',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Vyberte rozlíšenie obrázkov pre ZIP archív albumu. Ak fotografia nemá vybranú variantu, použije sa originál.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Zobrazenie zoznamu',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Pripnúť',
+ 'unpin' => 'Odopnúť',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Odfotiť',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'verejné ale skryté',
+ ],
];
diff --git a/lang/sk/import_from_server.php b/lang/sk/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/sk/import_from_server.php
+++ b/lang/sk/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/sk/jobs.php b/lang/sk/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/sk/jobs.php
+++ b/lang/sk/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/sk/landing.php b/lang/sk/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/sk/landing.php
+++ b/lang/sk/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/sk/left-menu.php b/lang/sk/left-menu.php
index a2d41efdce4..c251960a0d4 100644
--- a/lang/sk/left-menu.php
+++ b/lang/sk/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Vložiť Prúd Fotografií',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Vložiť Prúd Fotografií',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/sk/maintenance.php b/lang/sk/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/sk/maintenance.php
+++ b/lang/sk/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/sk/moderation.php b/lang/sk/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/sk/moderation.php
+++ b/lang/sk/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/sk/profile.php b/lang/sk/profile.php
index e7025773bd2..c197c490b60 100644
--- a/lang/sk/profile.php
+++ b/lang/sk/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'Prihlasovacie údaje používateľa sú spravované pomocou LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'Prihlasovacie údaje používateľa sú spravované pomocou LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/sk/renamer.php b/lang/sk/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/sk/renamer.php
+++ b/lang/sk/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/sk/settings.php b/lang/sk/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/sk/settings.php
+++ b/lang/sk/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/sk/sharing.php b/lang/sk/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/sk/sharing.php
+++ b/lang/sk/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/sk/statistics.php b/lang/sk/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/sk/statistics.php
+++ b/lang/sk/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/sk/tags.php b/lang/sk/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/sk/tags.php
+++ b/lang/sk/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/sk/toasts.php b/lang/sk/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/sk/toasts.php
+++ b/lang/sk/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/sk/user-groups.php b/lang/sk/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/sk/user-groups.php
+++ b/lang/sk/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/sk/users.php b/lang/sk/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/sk/users.php
+++ b/lang/sk/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/sk/webhook.php b/lang/sk/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/sk/webhook.php
+++ b/lang/sk/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/sk/webshop.php b/lang/sk/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/sk/webshop.php
+++ b/lang/sk/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/sv/admin-dashboard.php b/lang/sv/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/sv/admin-dashboard.php
+++ b/lang/sv/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/sv/aspect_ratio.php b/lang/sv/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/sv/aspect_ratio.php
+++ b/lang/sv/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/sv/contact.php b/lang/sv/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/sv/contact.php
+++ b/lang/sv/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/sv/diagnostics.php b/lang/sv/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/sv/diagnostics.php
+++ b/lang/sv/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/sv/dialogs.php b/lang/sv/dialogs.php
index 255af28de27..9560e48db42 100644
--- a/lang/sv/dialogs.php
+++ b/lang/sv/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Läge',
- 'mode_album_help' => 'Bädda in foton från detta specifika album.',
- 'mode_stream_help' => 'Bädda in alla dina offentliga foton som en kronologisk ström (senaste först).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Ta ett foto',
- 'capture' => 'Ta bild',
- 'retake' => 'Ta om',
- 'upload' => 'Ladda upp',
- 'secure_connection_required' => 'Kameraåtkomst kräver en säker anslutning (HTTPS eller localhost).',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Läge',
+ 'mode_album_help' => 'Bädda in foton från detta specifika album.',
+ 'mode_stream_help' => 'Bädda in alla dina offentliga foton som en kronologisk ström (senaste först).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Ta ett foto',
+ 'capture' => 'Ta bild',
+ 'retake' => 'Ta om',
+ 'upload' => 'Ladda upp',
+ 'secure_connection_required' => 'Kameraåtkomst kräver en säker anslutning (HTTPS eller localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/sv/duplicate-finder.php b/lang/sv/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/sv/duplicate-finder.php
+++ b/lang/sv/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/sv/fix-tree.php b/lang/sv/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/sv/fix-tree.php
+++ b/lang/sv/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/sv/flow.php b/lang/sv/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/sv/flow.php
+++ b/lang/sv/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/sv/gallery.php b/lang/sv/gallery.php
index 56a4e3c7f44..8c21468a330 100644
--- a/lang/sv/gallery.php
+++ b/lang/sv/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Fästa album',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Välj bildupplösning för albumets ZIP-arkiv. Om ett foto saknar den valda varianten används originalet istället.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmremsa',
- 'list' => 'Listvy',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Fäst',
- 'unpin' => 'Lossa',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Ta foto',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'offentlig men dold',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Fästa album',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Välj bildupplösning för albumets ZIP-arkiv. Om ett foto saknar den valda varianten används originalet istället.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmremsa',
+ 'list' => 'Listvy',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Fäst',
+ 'unpin' => 'Lossa',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Ta foto',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'offentlig men dold',
+ ],
];
diff --git a/lang/sv/import_from_server.php b/lang/sv/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/sv/import_from_server.php
+++ b/lang/sv/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/sv/jobs.php b/lang/sv/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/sv/jobs.php
+++ b/lang/sv/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/sv/landing.php b/lang/sv/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/sv/landing.php
+++ b/lang/sv/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/sv/maintenance.php b/lang/sv/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/sv/maintenance.php
+++ b/lang/sv/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/sv/moderation.php b/lang/sv/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/sv/moderation.php
+++ b/lang/sv/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/sv/profile.php b/lang/sv/profile.php
index e6a959fd79c..3af233f941e 100644
--- a/lang/sv/profile.php
+++ b/lang/sv/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'Användarens inloggningsinformation hanteras av LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'Användarens inloggningsinformation hanteras av LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/sv/renamer.php b/lang/sv/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/sv/renamer.php
+++ b/lang/sv/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/sv/statistics.php b/lang/sv/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/sv/statistics.php
+++ b/lang/sv/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/sv/toasts.php b/lang/sv/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/sv/toasts.php
+++ b/lang/sv/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/sv/user-groups.php b/lang/sv/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/sv/user-groups.php
+++ b/lang/sv/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/sv/users.php b/lang/sv/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/sv/users.php
+++ b/lang/sv/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/sv/webshop.php b/lang/sv/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/sv/webshop.php
+++ b/lang/sv/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/tr/admin-dashboard.php b/lang/tr/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/tr/admin-dashboard.php
+++ b/lang/tr/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/tr/all_settings.php b/lang/tr/all_settings.php
index 25266ffe90a..b2159fe2612 100644
--- a/lang/tr/all_settings.php
+++ b/lang/tr/all_settings.php
@@ -1,745 +1,745 @@
[
- /*
- |--------------------------------------------------------------------------
- | All Settings
- |--------------------------------------------------------------------------
- */
- 'version' => 'Lychee\'nin mevcut versiyonu',
- 'check_for_updates' => 'Yeni güncellemeleri otomatik kontrol et',
- 'sorting_photos_col' => 'Fotoğrafları sıralamak için kullanılan sütun',
- 'sorting_photos_order' => 'Fotoğrafları sıralamak için kullanılan sıralama düzeni',
- 'sorting_albums_col' => 'Albümleri sıralamak için kullanılan sütun',
- 'sorting_albums_order' => 'Albümleri sıralamak için kullanılan sıralama düzeni',
- 'photos_star_visibility' => 'Fotoğraftaki yıldız işaretini kim görebilir ve ayarlayabilir',
- 'imagick' => 'Imagick’i etkinleştir',
- 'dropbox_key' => 'Dropbox API anahtarı',
- 'skip_duplicates' => 'Yüklemede yinelenenleri atla',
- 'lang' => 'Lychee tarafından kullanılan dil',
- 'default_license' => 'Albümler için kullanılan varsayılan lisans',
- 'small_max_width' => 'Küçük önizlemeler için maksimum genişlik (albüm görünümü)',
- 'small_max_height' => 'Küçük önizlemeler için maksimum yükseklik (albüm görünümü)',
- 'medium_max_width' => 'Orta boy görsel için maksimum genişlik (fotoğraf görünümü)',
- 'medium_max_height' => 'Orta boy görsel için maksimum yükseklik (fotoğraf görünümü)',
- 'grants_full_photo_access' => 'Varsayılan olarak tam çözünürlüğe erişim izni ver',
- 'delete_imported' => 'Server\'den yüklerken orijinalleri sil',
- 'mod_frame_enabled' => 'Mod Frame’i etkinleştir',
- 'mod_frame_refresh' => 'Frame yenileme hızı',
- 'image_overlay_type' => 'Varsayılan görsel kaplama bilgisi',
- 'compression_quality' => 'Önizlemeler oluşturulurken sıkıştırma (%)',
- 'landing_page_enable' => 'Açılış sayfasını göster',
- 'site_owner' => 'Web sitesi sahibi',
- 'landing_title' => 'Açılış sayfasındaki başlık',
- 'landing_subtitle' => 'Açılış sayfasındaki alt başlık',
- 'sm_facebook_url' => 'Facebook profil bağlantısı',
- 'sm_flickr_url' => 'Flickr profil bağlantısı',
- 'sm_twitter_url' => 'X (eski adıyla Twitter) profil bağlantısı',
- 'sm_instagram_url' => 'Instagram profil bağlantısı',
- 'sm_youtube_url' => 'YouTube profil bağlantısı',
- 'thumb_2x' => 'Kare önizlemelerin (2x) boyutunu etkinleştir',
- 'small_2x' => 'Küçük önizlemelerin (2x) boyutunu etkinleştir',
- 'medium_2x' => 'Orta boy görsellerin (2x) boyutunu etkinleştir',
- 'site_title' => 'Web sitesi başlığı',
- 'footer_show_copyright' => 'Alt bilgide telif hakkını göster.',
- 'site_copyright_begin' => 'Telif başlangıç yılı',
- 'site_copyright_end' => 'Telif bitiş yılı',
- 'allow_online_git_pull' => 'Web arayüzü üzerinden git pull izni ver',
- 'footer_additional_text' => 'Alt bilgiye ek metin.',
- 'footer_show_social_media' => 'Alt bilgide sosyal medya bağlantılarını göster.',
- 'search_public' => 'Anonim kullanıcıların arama çubuğunu kullanmasına izin ver',
- 'hide_version_number' => 'Mevcut versiyon numarasını gizle',
- 'recent_age' => 'Son eklenen fotoğraflar için maksimum gün sayısı',
- 'grants_download' => 'Varsayılan olarak indirme izni ver.',
- 'photos_wraparound' => 'Albümün son fotoğrafına gelince başa dön',
- 'raw_formats' => 'İzin verilen ekstra formatlar (işlenmeyecek)',
- 'raw_download_enabled' => 'Orijinal RAW dosyasını indirmeye izin ver',
- 'map_display' => 'GPS koordinatlarına göre haritayı göster',
- 'zip64' => '32 bit yerine 64 bit Zip kullan',
- 'map_display_public' => 'Anonim kullanıcıların haritaya erişmesine izin ver',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'If disabled, Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Galeri',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'documentation' => [
+ /*
+ |--------------------------------------------------------------------------
+ | All Settings
+ |--------------------------------------------------------------------------
+ */
+ 'version' => 'Lychee\'nin mevcut versiyonu',
+ 'check_for_updates' => 'Yeni güncellemeleri otomatik kontrol et',
+ 'sorting_photos_col' => 'Fotoğrafları sıralamak için kullanılan sütun',
+ 'sorting_photos_order' => 'Fotoğrafları sıralamak için kullanılan sıralama düzeni',
+ 'sorting_albums_col' => 'Albümleri sıralamak için kullanılan sütun',
+ 'sorting_albums_order' => 'Albümleri sıralamak için kullanılan sıralama düzeni',
+ 'photos_star_visibility' => 'Fotoğraftaki yıldız işaretini kim görebilir ve ayarlayabilir',
+ 'imagick' => 'Imagick’i etkinleştir',
+ 'dropbox_key' => 'Dropbox API anahtarı',
+ 'skip_duplicates' => 'Yüklemede yinelenenleri atla',
+ 'lang' => 'Lychee tarafından kullanılan dil',
+ 'default_license' => 'Albümler için kullanılan varsayılan lisans',
+ 'small_max_width' => 'Küçük önizlemeler için maksimum genişlik (albüm görünümü)',
+ 'small_max_height' => 'Küçük önizlemeler için maksimum yükseklik (albüm görünümü)',
+ 'medium_max_width' => 'Orta boy görsel için maksimum genişlik (fotoğraf görünümü)',
+ 'medium_max_height' => 'Orta boy görsel için maksimum yükseklik (fotoğraf görünümü)',
+ 'grants_full_photo_access' => 'Varsayılan olarak tam çözünürlüğe erişim izni ver',
+ 'delete_imported' => 'Server\'den yüklerken orijinalleri sil',
+ 'mod_frame_enabled' => 'Mod Frame’i etkinleştir',
+ 'mod_frame_refresh' => 'Frame yenileme hızı',
+ 'image_overlay_type' => 'Varsayılan görsel kaplama bilgisi',
+ 'compression_quality' => 'Önizlemeler oluşturulurken sıkıştırma (%)',
+ 'landing_page_enable' => 'Açılış sayfasını göster',
+ 'site_owner' => 'Web sitesi sahibi',
+ 'landing_title' => 'Açılış sayfasındaki başlık',
+ 'landing_subtitle' => 'Açılış sayfasındaki alt başlık',
+ 'sm_facebook_url' => 'Facebook profil bağlantısı',
+ 'sm_flickr_url' => 'Flickr profil bağlantısı',
+ 'sm_twitter_url' => 'X (eski adıyla Twitter) profil bağlantısı',
+ 'sm_instagram_url' => 'Instagram profil bağlantısı',
+ 'sm_youtube_url' => 'YouTube profil bağlantısı',
+ 'thumb_2x' => 'Kare önizlemelerin (2x) boyutunu etkinleştir',
+ 'small_2x' => 'Küçük önizlemelerin (2x) boyutunu etkinleştir',
+ 'medium_2x' => 'Orta boy görsellerin (2x) boyutunu etkinleştir',
+ 'site_title' => 'Web sitesi başlığı',
+ 'footer_show_copyright' => 'Alt bilgide telif hakkını göster.',
+ 'site_copyright_begin' => 'Telif başlangıç yılı',
+ 'site_copyright_end' => 'Telif bitiş yılı',
+ 'allow_online_git_pull' => 'Web arayüzü üzerinden git pull izni ver',
+ 'footer_additional_text' => 'Alt bilgiye ek metin.',
+ 'footer_show_social_media' => 'Alt bilgide sosyal medya bağlantılarını göster.',
+ 'search_public' => 'Anonim kullanıcıların arama çubuğunu kullanmasına izin ver',
+ 'hide_version_number' => 'Mevcut versiyon numarasını gizle',
+ 'recent_age' => 'Son eklenen fotoğraflar için maksimum gün sayısı',
+ 'grants_download' => 'Varsayılan olarak indirme izni ver.',
+ 'photos_wraparound' => 'Albümün son fotoğrafına gelince başa dön',
+ 'raw_formats' => 'İzin verilen ekstra formatlar (işlenmeyecek)',
+ 'raw_download_enabled' => 'Orijinal RAW dosyasını indirmeye izin ver',
+ 'map_display' => 'GPS koordinatlarına göre haritayı göster',
+ 'zip64' => '32 bit yerine 64 bit Zip kullan',
+ 'map_display_public' => 'Anonim kullanıcıların haritaya erişmesine izin ver',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'If disabled, Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Galeri',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/tr/aspect_ratio.php b/lang/tr/aspect_ratio.php
index a461b7a6697..f5eefccec03 100644
--- a/lang/tr/aspect_ratio.php
+++ b/lang/tr/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (Instagram yatay)',
- '4by5' => '4/5 (Instagram dikey)',
- '2by3' => '2/3 (portre)',
- '3by2' => '3/2 (yatay)',
- '1by1' => 'kare',
- '16by9' => '16/9 (yatay)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (Instagram yatay)',
+ '4by5' => '4/5 (Instagram dikey)',
+ '2by3' => '2/3 (portre)',
+ '3by2' => '3/2 (yatay)',
+ '1by1' => 'kare',
+ '16by9' => '16/9 (yatay)',
];
diff --git a/lang/tr/bulk_album_edit.php b/lang/tr/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/tr/bulk_album_edit.php
+++ b/lang/tr/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/tr/changelogs.php b/lang/tr/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/tr/changelogs.php
+++ b/lang/tr/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/tr/contact.php b/lang/tr/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/tr/contact.php
+++ b/lang/tr/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/tr/diagnostics.php b/lang/tr/diagnostics.php
index cc30640d58e..36a2b4689c8 100644
--- a/lang/tr/diagnostics.php
+++ b/lang/tr/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading…',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading…',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/tr/dialogs.php b/lang/tr/dialogs.php
index 552df0329a8..2b7bb34a43e 100644
--- a/lang/tr/dialogs.php
+++ b/lang/tr/dialogs.php
@@ -1,306 +1,306 @@
[
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Mode',
- 'mode_album_help' => 'Embed photos from this specific album.',
- 'mode_stream_help' => 'Embed all your public photos as a chronological stream (most recent first).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Take a Photo',
- 'capture' => 'Capture',
- 'retake' => 'Retake',
- 'upload' => 'Upload',
- 'secure_connection_required' => 'Camera access requires a secure connection (HTTPS or localhost). Please access Lychee via https:// or http://localhost.',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album "%1$s" into the album "%2$s"?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album "%s"?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album "%s" and all of the photos it contains?',
- 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?',
- 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album "%s" and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album "%1$s" into the album "%2$s"?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album "%s"?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo "%s"?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'button' => [
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Mode',
+ 'mode_album_help' => 'Embed photos from this specific album.',
+ 'mode_stream_help' => 'Embed all your public photos as a chronological stream (most recent first).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Take a Photo',
+ 'capture' => 'Capture',
+ 'retake' => 'Retake',
+ 'upload' => 'Upload',
+ 'secure_connection_required' => 'Camera access requires a secure connection (HTTPS or localhost). Please access Lychee via https:// or http://localhost.',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album "%1$s" into the album "%2$s"?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album "%s"?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album "%s" and all of the photos it contains?',
+ 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?',
+ 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album "%s" and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album "%1$s" into the album "%2$s"?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album "%s"?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo "%s"?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/tr/duplicate-finder.php b/lang/tr/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/tr/duplicate-finder.php
+++ b/lang/tr/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/tr/fix-tree.php b/lang/tr/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/tr/fix-tree.php
+++ b/lang/tr/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/tr/flow.php b/lang/tr/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/tr/flow.php
+++ b/lang/tr/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/tr/gallery.php b/lang/tr/gallery.php
index 4dc287751bd..2b169a0c35e 100644
--- a/lang/tr/gallery.php
+++ b/lang/tr/gallery.php
@@ -1,357 +1,357 @@
'Galeri',
- 'smart_albums' => 'Smart Albums',
- 'pinned_albums' => 'Featured Albums',
- 'albums' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'root' => 'Albums',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Select the image resolution for the album ZIP archive. If a photo does not have the selected variant, the original will be used instead.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Kare',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'List view',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Highlight',
- 'unhighlight' => 'Unhighlight',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Highlight',
- 'unhighlight' => 'Unhighlight',
- 'highlight_all' => 'Highlight Selected',
- 'unhighlight_all' => 'Unhighlight Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Pin',
- 'unpin' => 'Unpin',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Take Photo',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'public but hidden',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Gallery page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Galeri',
+ 'smart_albums' => 'Smart Albums',
+ 'pinned_albums' => 'Featured Albums',
+ 'albums' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'root' => 'Albums',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Select the image resolution for the album ZIP archive. If a photo does not have the selected variant, the original will be used instead.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Kare',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'List view',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Highlight',
+ 'unhighlight' => 'Unhighlight',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Highlight',
+ 'unhighlight' => 'Unhighlight',
+ 'highlight_all' => 'Highlight Selected',
+ 'unhighlight_all' => 'Unhighlight Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Pin',
+ 'unpin' => 'Unpin',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Take Photo',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'public but hidden',
+ ],
];
diff --git a/lang/tr/import_from_server.php b/lang/tr/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/tr/import_from_server.php
+++ b/lang/tr/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/tr/jobs.php b/lang/tr/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/tr/jobs.php
+++ b/lang/tr/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/tr/landing.php b/lang/tr/landing.php
index ccf018440ea..8ab41072943 100644
--- a/lang/tr/landing.php
+++ b/lang/tr/landing.php
@@ -1,13 +1,13 @@
'Galeri',
- 'access_gallery' => 'Galeriye eriş',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'Bu web sitesindeki tüm görsellerin telif hakkı %1$s © %2$s\'ye aittir',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Galeri',
+ 'access_gallery' => 'Galeriye eriş',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'Bu web sitesindeki tüm görsellerin telif hakkı %1$s © %2$s\'ye aittir',
];
diff --git a/lang/tr/left-menu.php b/lang/tr/left-menu.php
index ee79442ffb0..dc78742aa75 100644
--- a/lang/tr/left-menu.php
+++ b/lang/tr/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Embed Photo Stream',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Embed Photo Stream',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/tr/maintenance.php b/lang/tr/maintenance.php
index fb15ea1e5f3..9bd9dee1f2c 100644
--- a/lang/tr/maintenance.php
+++ b/lang/tr/maintenance.php
@@ -1,103 +1,103 @@
'Maintenance',
- 'description' => 'On this page you will find, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates duplicate-finderper album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Maintenance Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'On this page you will find, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates duplicate-finderper album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not have all its needed index.',
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/tr/moderation.php b/lang/tr/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/tr/moderation.php
+++ b/lang/tr/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/tr/profile.php b/lang/tr/profile.php
index 65214de106d..3171c79445f 100644
--- a/lang/tr/profile.php
+++ b/lang/tr/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token …',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'User login information are LDAP managed.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token …',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'User login information are LDAP managed.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/tr/renamer.php b/lang/tr/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/tr/renamer.php
+++ b/lang/tr/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/tr/settings.php b/lang/tr/settings.php
index f792489cb3c..66e62223b68 100644
--- a/lang/tr/settings.php
+++ b/lang/tr/settings.php
@@ -1,103 +1,103 @@
'Ayarlar',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Lychee için karanlık modu kullan',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Galeri',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Ayarlar',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Lychee için karanlık modu kullan',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Galeri',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/tr/sharing.php b/lang/tr/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/tr/sharing.php
+++ b/lang/tr/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/tr/statistics.php b/lang/tr/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/tr/statistics.php
+++ b/lang/tr/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/tr/tags.php b/lang/tr/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/tr/tags.php
+++ b/lang/tr/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/tr/toasts.php b/lang/tr/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/tr/toasts.php
+++ b/lang/tr/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/tr/user-groups.php b/lang/tr/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/tr/user-groups.php
+++ b/lang/tr/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/tr/users.php b/lang/tr/users.php
index c1638d38dce..ddcbaf0b5c0 100644
--- a/lang/tr/users.php
+++ b/lang/tr/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revocable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revocable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/tr/webhook.php b/lang/tr/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/tr/webhook.php
+++ b/lang/tr/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/tr/webshop.php b/lang/tr/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/tr/webshop.php
+++ b/lang/tr/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/vi/admin-dashboard.php b/lang/vi/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/vi/admin-dashboard.php
+++ b/lang/vi/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/vi/all_settings.php b/lang/vi/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/vi/all_settings.php
+++ b/lang/vi/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/vi/aspect_ratio.php b/lang/vi/aspect_ratio.php
index 26219532490..c7fff46ffb6 100644
--- a/lang/vi/aspect_ratio.php
+++ b/lang/vi/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram landscape)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (landscape)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram landscape)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (landscape)',
];
diff --git a/lang/vi/bulk_album_edit.php b/lang/vi/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/vi/bulk_album_edit.php
+++ b/lang/vi/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/vi/changelogs.php b/lang/vi/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/vi/changelogs.php
+++ b/lang/vi/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/vi/contact.php b/lang/vi/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/vi/contact.php
+++ b/lang/vi/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/vi/diagnostics.php b/lang/vi/diagnostics.php
index 4a9085547a0..d98d753671a 100644
--- a/lang/vi/diagnostics.php
+++ b/lang/vi/diagnostics.php
@@ -1,23 +1,23 @@
'Diagnostics',
- 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
- 'self-diagnosis' => 'Self-diagnosis',
- 'info' => 'Info',
- 'space' => 'Space',
- 'load_space' => 'Load space usage.',
- 'configuration' => 'Configuration',
- 'loading' => 'Loading...',
- 'identical_content' => 'Identical content',
- 'toast' => [
- 'info' => 'Info',
- 'copy' => 'Diagnostics copied to clipboard!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Diagnostics',
+ 'copy_to_clipboard' => 'Copy diagnostics to clipboard',
+ 'self-diagnosis' => 'Self-diagnosis',
+ 'info' => 'Info',
+ 'space' => 'Space',
+ 'load_space' => 'Load space usage.',
+ 'configuration' => 'Configuration',
+ 'loading' => 'Loading...',
+ 'identical_content' => 'Identical content',
+ 'toast' => [
+ 'info' => 'Info',
+ 'copy' => 'Diagnostics copied to clipboard!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/vi/dialogs.php b/lang/vi/dialogs.php
index adbe9c01035..e91d14be63e 100644
--- a/lang/vi/dialogs.php
+++ b/lang/vi/dialogs.php
@@ -1,304 +1,304 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => 'Close',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
- 'delete' => 'Delete',
- 'move' => 'Move',
- ],
- 'about' => [
- 'subtitle' => 'Self-hosted photo-management done right',
- 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
- 'update_available' => 'Update available!',
- 'thank_you' => 'Thank you for your support!',
- 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
- 'here' => 'here',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox is not configured.',
- ],
- 'import_from_link' => [
- 'instructions' => 'Please enter the direct link to a photo to import it:',
- 'import' => 'Import',
- ],
- 'keybindings' => [
- 'header' => 'Keyboard shortcuts',
- 'don_t_show_again' => 'Don\'t show this dialog again',
- 'hide_header_button' => 'Don\'t show help in header',
- 'side_wide' => 'Site-wide Shortcuts',
- 'back_cancel' => 'Back/Cancel',
- 'confirm' => 'Confirm',
- 'login' => 'Login',
- 'toggle_full_screen' => 'Toggle Full Screen',
- 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
- 'albums' => 'Albums Shortcuts',
- 'new_album' => 'New Album',
- 'upload_photos' => 'Upload Photos',
- 'search' => 'Search',
- 'show_this_modal' => 'Show this modal',
- 'select_all' => 'Select All',
- 'move_selection' => 'Move Selection',
- 'delete_selection' => 'Delete Selection',
- 'album' => 'Album Shortcuts',
- 'slideshow' => 'Start/Stop Slideshow',
- 'toggle' => 'Toggle panel',
- 'photo' => 'Photo Shortcuts',
- 'previous' => 'Previous photo',
- 'next' => 'Next photo',
- 'cycle' => 'Cycle overlay mode',
- 'star' => 'Star the photo',
- 'move' => 'Move the photo',
- 'delete' => 'Delete the photo',
- 'edit' => 'Edit information',
- 'show_hide_meta' => 'Show information',
- 'keep_hidden' => 'We will keep it hidden.',
- 'button_hidden' => 'We will hide the button in the header.',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => 'Username',
- 'password' => 'Password',
- 'unknown_invalid' => 'Unknown user or invalid password.',
- 'signin' => 'Sign-In',
- 'remember_me' => 'Remember me',
- ],
- 'register' => [
- 'enter_license' => 'Enter your license key below:',
- 'license_key' => 'License key',
- 'invalid_license' => 'Invalid license key.',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => 'Register',
- ],
- 'share_album' => [
- 'url_copied' => 'Copied URL to clipboard!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => 'Chế độ',
- 'mode_album_help' => 'Nhúng ảnh từ album cụ thể này.',
- 'mode_stream_help' => 'Nhúng tất cả ảnh công khai của bạn dưới dạng luồng theo thứ tự thời gian (mới nhất trước).',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => 'Completed',
- 'uploaded' => 'Uploaded:',
- 'release' => 'Release file to upload!',
- 'select' => 'Click here to select files to upload',
- 'drag' => '(Or drag files to the page)',
- 'loading' => 'Loading',
- 'resume' => 'Resume',
- 'uploading' => 'Uploading',
- 'finished' => 'Finished',
- 'failed_error' => 'Upload failed. The server returned an error!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => 'Chụp ảnh',
- 'capture' => 'Chụp',
- 'retake' => 'Chụp lại',
- 'upload' => 'Tải lên',
- 'secure_connection_required' => 'Truy cập camera yêu cầu kết nối bảo mật (HTTPS hoặc localhost).',
- ],
- 'visibility' => [
- 'public' => 'Public',
- 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
- 'full' => 'Original',
- 'full_expl' => 'Anonymous users can view full-resolution photos.',
- 'hidden' => 'Hidden',
- 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
- 'downloadable' => 'Downloadable',
- 'downloadable_expl' => 'Anonymous users can download this album.',
- 'upload' => 'Allow uploads',
- 'upload_expl' => ' Anonymous users can upload photos to this album.',
- 'password' => 'Password',
- 'password_prot' => 'Password protected',
- 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
- 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
- 'nsfw' => 'Sensitive',
- 'nsfw_expl' => 'Album contains sensitive content.',
- 'visibility_updated' => 'Visibility updated.',
- ],
- 'move_album' => [
- 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
- 'move_single' => 'Move Album',
- 'move_to' => 'Move to',
- 'move_to_single' => 'Move %s to:',
- 'move_to_multiple' => 'Move %d albums to:',
- 'no_album_target' => 'No album to move to',
- 'moved_single' => 'Album moved!',
- 'moved_single_details' => '%1$s moved to %2$s',
- 'moved_details' => 'Album(s) moved to %s',
- ],
- 'new_album' => [
- 'menu' => 'Create Album',
- 'info' => 'Enter a title for the new album:',
- 'title' => 'title',
- 'create' => 'Create Album',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => 'Create Tag Album',
- 'info' => 'Enter a title for the new tag album:',
- 'title' => 'title',
- 'set_tags' => 'Set tags to show',
- 'create' => 'Create Tag Album',
- ],
- 'delete_album' => [
- 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
- 'warning' => 'This action can not be undone!',
- 'delete' => 'Delete Album and Photos',
- ],
- 'transfer' => [
- 'query' => 'Transfer ownership of album to',
- 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
- 'lost_access_warning' => 'Your access to this album will be lost.',
- 'warning' => 'This action can not be undone!',
- 'transfer' => 'Transfer ownership of album and photos',
- ],
- 'rename' => [
- 'photo' => 'Enter a new title for this photo:',
- 'album' => 'Enter a new title for this album:',
- 'rename' => 'Rename',
- ],
- 'merge' => [
- 'merge_to' => 'Merge %s to:',
- 'merge_to_multiple' => 'Merge %d albums to:',
- 'no_albums' => 'No albums to merge to.',
- 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
- 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
- 'merge' => 'Merge Albums',
- 'merged' => 'Album(s) merged to %s!',
- ],
- 'unlock' => [
- 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
- 'password' => 'Password',
- 'unlock' => 'Unlock',
- ],
- 'photo_tags' => [
- 'question' => 'Enter your tags for this photo.',
- 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'updated' => 'Tags updated!',
- 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => 'No albums to copy to',
- 'copy_to' => 'Copy %s to:',
- 'copy_to_multiple' => 'Copy %d photos to:',
- 'confirm' => 'Copy %s to %s.',
- 'confirm_multiple' => 'Copy %d photos to %s.',
- 'copy' => 'Copy',
- 'copied' => 'Photo(s) copied!',
- ],
- 'photo_delete' => [
- 'confirm' => 'Are you sure you want to delete the photo “%s”?',
- 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
- 'deleted' => 'Photo(s) deleted!',
- ],
- 'move_photo' => [
- 'move_single' => 'Move %s to:',
- 'move_multiple' => 'Move %d photos to:',
- 'confirm' => 'Move %s to %s.',
- 'confirm_multiple' => 'Move %d photos to %s.',
- 'moved' => 'Photo(s) moved to %s!',
- ],
- 'target_user' => [
- 'placeholder' => 'Select user',
- ],
- 'target_album' => [
- 'placeholder' => 'Select album',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => 'Authentication successful!',
- 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
- ],
- 'se' => [
- 'available' => 'Available in the Supporter Edition',
- ],
- 'session_expired' => [
- 'title' => 'Session expired',
- 'message' => 'Your session has expired.
Please reload the page.',
- 'reload' => 'Reload',
- 'go_to_gallery' => 'Go to the Gallery',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => 'Close',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
+ 'delete' => 'Delete',
+ 'move' => 'Move',
+ ],
+ 'about' => [
+ 'subtitle' => 'Self-hosted photo-management done right',
+ 'description' => 'Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.',
+ 'update_available' => 'Update available!',
+ 'thank_you' => 'Thank you for your support!',
+ 'get_supporter_or_register' => 'Get exclusive features and support the development of Lychee.
Unlock the Supporter Edition or register your License key',
+ 'here' => 'here',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox is not configured.',
+ ],
+ 'import_from_link' => [
+ 'instructions' => 'Please enter the direct link to a photo to import it:',
+ 'import' => 'Import',
+ ],
+ 'keybindings' => [
+ 'header' => 'Keyboard shortcuts',
+ 'don_t_show_again' => 'Don\'t show this dialog again',
+ 'hide_header_button' => 'Don\'t show help in header',
+ 'side_wide' => 'Site-wide Shortcuts',
+ 'back_cancel' => 'Back/Cancel',
+ 'confirm' => 'Confirm',
+ 'login' => 'Login',
+ 'toggle_full_screen' => 'Toggle Full Screen',
+ 'toggle_sensitive_albums' => 'Toggle Sensitive Albums',
+ 'albums' => 'Albums Shortcuts',
+ 'new_album' => 'New Album',
+ 'upload_photos' => 'Upload Photos',
+ 'search' => 'Search',
+ 'show_this_modal' => 'Show this modal',
+ 'select_all' => 'Select All',
+ 'move_selection' => 'Move Selection',
+ 'delete_selection' => 'Delete Selection',
+ 'album' => 'Album Shortcuts',
+ 'slideshow' => 'Start/Stop Slideshow',
+ 'toggle' => 'Toggle panel',
+ 'photo' => 'Photo Shortcuts',
+ 'previous' => 'Previous photo',
+ 'next' => 'Next photo',
+ 'cycle' => 'Cycle overlay mode',
+ 'star' => 'Star the photo',
+ 'move' => 'Move the photo',
+ 'delete' => 'Delete the photo',
+ 'edit' => 'Edit information',
+ 'show_hide_meta' => 'Show information',
+ 'keep_hidden' => 'We will keep it hidden.',
+ 'button_hidden' => 'We will hide the button in the header.',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'unknown_invalid' => 'Unknown user or invalid password.',
+ 'signin' => 'Sign-In',
+ 'remember_me' => 'Remember me',
+ ],
+ 'register' => [
+ 'enter_license' => 'Enter your license key below:',
+ 'license_key' => 'License key',
+ 'invalid_license' => 'Invalid license key.',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => 'Register',
+ ],
+ 'share_album' => [
+ 'url_copied' => 'Copied URL to clipboard!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => 'Chế độ',
+ 'mode_album_help' => 'Nhúng ảnh từ album cụ thể này.',
+ 'mode_stream_help' => 'Nhúng tất cả ảnh công khai của bạn dưới dạng luồng theo thứ tự thời gian (mới nhất trước).',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => 'Completed',
+ 'uploaded' => 'Uploaded:',
+ 'release' => 'Release file to upload!',
+ 'select' => 'Click here to select files to upload',
+ 'drag' => '(Or drag files to the page)',
+ 'loading' => 'Loading',
+ 'resume' => 'Resume',
+ 'uploading' => 'Uploading',
+ 'finished' => 'Finished',
+ 'failed_error' => 'Upload failed. The server returned an error!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => 'Chụp ảnh',
+ 'capture' => 'Chụp',
+ 'retake' => 'Chụp lại',
+ 'upload' => 'Tải lên',
+ 'secure_connection_required' => 'Truy cập camera yêu cầu kết nối bảo mật (HTTPS hoặc localhost).',
+ ],
+ 'visibility' => [
+ 'public' => 'Public',
+ 'public_expl' => 'Anonymous users can access this album, subject to the restrictions below.',
+ 'full' => 'Original',
+ 'full_expl' => 'Anonymous users can view full-resolution photos.',
+ 'hidden' => 'Hidden',
+ 'hidden_expl' => 'Anonymous users need a direct link to access this album.',
+ 'downloadable' => 'Downloadable',
+ 'downloadable_expl' => 'Anonymous users can download this album.',
+ 'upload' => 'Allow uploads',
+ 'upload_expl' => ' Anonymous users can upload photos to this album.',
+ 'password' => 'Password',
+ 'password_prot' => 'Password protected',
+ 'password_prot_expl' => 'Anonymous users need a shared password to access this album.',
+ 'password_prop_not_compatible' => 'Response cache is conflicting with this setting.
Due to response caching, unlocking this album will
also reveal its content to other annonymous users.',
+ 'nsfw' => 'Sensitive',
+ 'nsfw_expl' => 'Album contains sensitive content.',
+ 'visibility_updated' => 'Visibility updated.',
+ ],
+ 'move_album' => [
+ 'confirm_single' => 'Are you sure you want to move the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to move all selected albums into the album “%s”?',
+ 'move_single' => 'Move Album',
+ 'move_to' => 'Move to',
+ 'move_to_single' => 'Move %s to:',
+ 'move_to_multiple' => 'Move %d albums to:',
+ 'no_album_target' => 'No album to move to',
+ 'moved_single' => 'Album moved!',
+ 'moved_single_details' => '%1$s moved to %2$s',
+ 'moved_details' => 'Album(s) moved to %s',
+ ],
+ 'new_album' => [
+ 'menu' => 'Create Album',
+ 'info' => 'Enter a title for the new album:',
+ 'title' => 'title',
+ 'create' => 'Create Album',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => 'Create Tag Album',
+ 'info' => 'Enter a title for the new tag album:',
+ 'title' => 'title',
+ 'set_tags' => 'Set tags to show',
+ 'create' => 'Create Tag Album',
+ ],
+ 'delete_album' => [
+ 'confirmation' => 'Are you sure you want to delete the album “%s” and all of the photos it contains?', 'confirmation_tag' => 'Are you sure you want to delete the album "%s"?', 'confirmation_multiple' => 'Are you sure you want to delete all %d selected albums and all of the photos they contain?',
+ 'warning' => 'This action can not be undone!',
+ 'delete' => 'Delete Album and Photos',
+ ],
+ 'transfer' => [
+ 'query' => 'Transfer ownership of album to',
+ 'confirmation' => 'Are you sure you want to transfer the ownership of album “%s” and all the photos it contains to "%s"?',
+ 'lost_access_warning' => 'Your access to this album will be lost.',
+ 'warning' => 'This action can not be undone!',
+ 'transfer' => 'Transfer ownership of album and photos',
+ ],
+ 'rename' => [
+ 'photo' => 'Enter a new title for this photo:',
+ 'album' => 'Enter a new title for this album:',
+ 'rename' => 'Rename',
+ ],
+ 'merge' => [
+ 'merge_to' => 'Merge %s to:',
+ 'merge_to_multiple' => 'Merge %d albums to:',
+ 'no_albums' => 'No albums to merge to.',
+ 'confirm' => 'Are you sure you want to merge the album “%1$s” into the album “%2$s”?',
+ 'confirm_multiple' => 'Are you sure you want to merge all selected albums into the album “%s”?',
+ 'merge' => 'Merge Albums',
+ 'merged' => 'Album(s) merged to %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => 'This album is protected by a password. Enter the password below to view the photos of this album:',
+ 'password' => 'Password',
+ 'unlock' => 'Unlock',
+ ],
+ 'photo_tags' => [
+ 'question' => 'Enter your tags for this photo.',
+ 'question_multiple' => 'Enter your tags for all %d selected photos. Existing tags will be overwritten.',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'updated' => 'Tags updated!',
+ 'tags_override_info' => 'If this is unchecked, the tags will be added to the existing tags of the photo.',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => 'No albums to copy to',
+ 'copy_to' => 'Copy %s to:',
+ 'copy_to_multiple' => 'Copy %d photos to:',
+ 'confirm' => 'Copy %s to %s.',
+ 'confirm_multiple' => 'Copy %d photos to %s.',
+ 'copy' => 'Copy',
+ 'copied' => 'Photo(s) copied!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => 'Are you sure you want to delete the photo “%s”?',
+ 'confirm_multiple' => 'Are you sure you want to delete all %d selected photos?',
+ 'deleted' => 'Photo(s) deleted!',
+ ],
+ 'move_photo' => [
+ 'move_single' => 'Move %s to:',
+ 'move_multiple' => 'Move %d photos to:',
+ 'confirm' => 'Move %s to %s.',
+ 'confirm_multiple' => 'Move %d photos to %s.',
+ 'moved' => 'Photo(s) moved to %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => 'Select user',
+ ],
+ 'target_album' => [
+ 'placeholder' => 'Select album',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => 'Authentication successful!',
+ 'error' => 'Whoops, it looks like something went wrong. Please reload the site and try again!',
+ ],
+ 'se' => [
+ 'available' => 'Available in the Supporter Edition',
+ ],
+ 'session_expired' => [
+ 'title' => 'Session expired',
+ 'message' => 'Your session has expired.
Please reload the page.',
+ 'reload' => 'Reload',
+ 'go_to_gallery' => 'Go to the Gallery',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/vi/duplicate-finder.php b/lang/vi/duplicate-finder.php
index 95a6ab7df51..05a61076080 100644
--- a/lang/vi/duplicate-finder.php
+++ b/lang/vi/duplicate-finder.php
@@ -1,26 +1,26 @@
'Maintenance',
- 'intro' => 'On this page you will find the duplicate pictures found in your database.',
- 'found' => ' duplicates found!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => 'Title must match.',
- 'must-be-in-same-album' => 'Must be in the same album.',
- 'columns' => [
- 'album' => 'Album',
- 'photo' => 'Photo',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
- ],
- 'delete-selected' => 'Delete selected',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'On this page you will find the duplicate pictures found in your database.',
+ 'found' => ' duplicates found!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => 'Title must match.',
+ 'must-be-in-same-album' => 'Must be in the same album.',
+ 'columns' => [
+ 'album' => 'Album',
+ 'photo' => 'Photo',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => 'You selected all duplicates in this group. Please chose at least one duplicate to keep.',
+ ],
+ 'delete-selected' => 'Delete selected',
];
diff --git a/lang/vi/fix-tree.php b/lang/vi/fix-tree.php
index be200bb3b62..1ecf288bf54 100644
--- a/lang/vi/fix-tree.php
+++ b/lang/vi/fix-tree.php
@@ -1,46 +1,46 @@
'Maintenance',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => 'Title',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => 'Title',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/vi/flow.php b/lang/vi/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/vi/flow.php
+++ b/lang/vi/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/vi/gallery.php b/lang/vi/gallery.php
index f862d2fb754..5ea7b5b549c 100644
--- a/lang/vi/gallery.php
+++ b/lang/vi/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => 'Album được ghim',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => 'Chọn độ phân giải hình ảnh cho tệp ZIP album. Nếu ảnh không có biến thể đã chọn, ảnh gốc sẽ được sử dụng.',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => 'Chế độ xem danh sách',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => 'Ghim',
- 'unpin' => 'Bỏ ghim',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => 'Chụp ảnh',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => 'công khai nhưng ẩn',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => 'Album được ghim',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => 'Chọn độ phân giải hình ảnh cho tệp ZIP album. Nếu ảnh không có biến thể đã chọn, ảnh gốc sẽ được sử dụng.',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => 'Chế độ xem danh sách',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => 'Ghim',
+ 'unpin' => 'Bỏ ghim',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => 'Chụp ảnh',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => 'công khai nhưng ẩn',
+ ],
];
diff --git a/lang/vi/import_from_server.php b/lang/vi/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/vi/import_from_server.php
+++ b/lang/vi/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/vi/jobs.php b/lang/vi/jobs.php
index b262c12a841..73750ca7d87 100644
--- a/lang/vi/jobs.php
+++ b/lang/vi/jobs.php
@@ -1,15 +1,15 @@
'Jobs',
- 'no_data' => 'No Jobs have been executed yet.',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Jobs',
+ 'no_data' => 'No Jobs have been executed yet.',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/vi/landing.php b/lang/vi/landing.php
index d2f8bed7c89..11e4c89933a 100644
--- a/lang/vi/landing.php
+++ b/lang/vi/landing.php
@@ -1,13 +1,13 @@
'Gallery',
- 'access_gallery' => 'Access the gallery',
- 'Powered_by_Lychee' => 'Powered by Lychee',
- 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => 'Gallery',
+ 'access_gallery' => 'Access the gallery',
+ 'Powered_by_Lychee' => 'Powered by Lychee',
+ 'copyright' => 'All images on this website are subject to copyright by %1$s © %2$s',
];
diff --git a/lang/vi/left-menu.php b/lang/vi/left-menu.php
index ae844da13ba..f34c90388bc 100644
--- a/lang/vi/left-menu.php
+++ b/lang/vi/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => 'Nhúng Luồng Ảnh',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => 'Nhúng Luồng Ảnh',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/vi/maintenance.php b/lang/vi/maintenance.php
index 28f25bf5cd4..7a217ca787e 100644
--- a/lang/vi/maintenance.php
+++ b/lang/vi/maintenance.php
@@ -1,104 +1,104 @@
'Maintenance',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Maintenance',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/vi/moderation.php b/lang/vi/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/vi/moderation.php
+++ b/lang/vi/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/vi/profile.php b/lang/vi/profile.php
index efd53302929..68640941f5d 100644
--- a/lang/vi/profile.php
+++ b/lang/vi/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => 'Username',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => 'Thông tin đăng nhập của người dùng được quản lý bởi LDAP.',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => 'Username',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => 'Thông tin đăng nhập của người dùng được quản lý bởi LDAP.',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/vi/renamer.php b/lang/vi/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/vi/renamer.php
+++ b/lang/vi/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/vi/settings.php b/lang/vi/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/vi/settings.php
+++ b/lang/vi/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/vi/sharing.php b/lang/vi/sharing.php
index bcb1f073b90..04a86d410cc 100644
--- a/lang/vi/sharing.php
+++ b/lang/vi/sharing.php
@@ -1,39 +1,39 @@
'Sharing',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Sharing',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/vi/statistics.php b/lang/vi/statistics.php
index 13e161c282c..c4fcdeecf13 100644
--- a/lang/vi/statistics.php
+++ b/lang/vi/statistics.php
@@ -1,63 +1,63 @@
'Statistics',
- 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
- 'no_data' => 'User does not have data on server.',
- 'collapse' => 'Collapse albums sizes',
- 'total' => [
- 'total' => 'Total',
- 'albums' => 'Albums',
- 'photos' => 'Photos',
- 'size' => 'Size',
- ],
- 'table' => [
- 'username' => 'Owner',
- 'title' => 'Title',
- 'photos' => 'Photos',
- 'descendants' => 'Children',
- 'size' => 'Size',
- ],
- 'punch_card' => [
- 'title' => 'Activity',
- 'photo-taken' => '%d photos taken',
- 'photo-taken-in' => '%d photos taken in %d',
- 'photo-uploaded' => '%d photos uploaded',
- 'photo-uploaded-in' => '%d photos uploaded in %d',
- 'with-exif' => 'with exif data',
- 'less' => 'Less',
- 'more' => 'More',
- 'tooltip' => '%d photos on %s',
- 'created_at' => 'Upload date',
- 'taken_at' => 'Exif date',
- 'caption' => 'Each column represents a week.',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Statistics',
+ 'preview_text' => 'This is a preview of the statistics page available in Lychee SE.
The data shown here are randomly generated and do not reflect your server.',
+ 'no_data' => 'User does not have data on server.',
+ 'collapse' => 'Collapse albums sizes',
+ 'total' => [
+ 'total' => 'Total',
+ 'albums' => 'Albums',
+ 'photos' => 'Photos',
+ 'size' => 'Size',
+ ],
+ 'table' => [
+ 'username' => 'Owner',
+ 'title' => 'Title',
+ 'photos' => 'Photos',
+ 'descendants' => 'Children',
+ 'size' => 'Size',
+ ],
+ 'punch_card' => [
+ 'title' => 'Activity',
+ 'photo-taken' => '%d photos taken',
+ 'photo-taken-in' => '%d photos taken in %d',
+ 'photo-uploaded' => '%d photos uploaded',
+ 'photo-uploaded-in' => '%d photos uploaded in %d',
+ 'with-exif' => 'with exif data',
+ 'less' => 'Less',
+ 'more' => 'More',
+ 'tooltip' => '%d photos on %s',
+ 'created_at' => 'Upload date',
+ 'taken_at' => 'Exif date',
+ 'caption' => 'Each column represents a week.',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/vi/tags.php b/lang/vi/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/vi/tags.php
+++ b/lang/vi/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/vi/toasts.php b/lang/vi/toasts.php
index b348a325afb..d3a302c8c9e 100644
--- a/lang/vi/toasts.php
+++ b/lang/vi/toasts.php
@@ -1,13 +1,13 @@
'Error',
- 'success' => 'Success',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => 'Error',
+ 'success' => 'Success',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/vi/user-groups.php b/lang/vi/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/vi/user-groups.php
+++ b/lang/vi/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/vi/users.php b/lang/vi/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/vi/users.php
+++ b/lang/vi/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/vi/webhook.php b/lang/vi/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/vi/webhook.php
+++ b/lang/vi/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/vi/webshop.php b/lang/vi/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/vi/webshop.php
+++ b/lang/vi/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/zh_CN/admin-dashboard.php b/lang/zh_CN/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/zh_CN/admin-dashboard.php
+++ b/lang/zh_CN/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/zh_CN/all_settings.php b/lang/zh_CN/all_settings.php
index f048aeb8853..3e7050f097f 100644
--- a/lang/zh_CN/all_settings.php
+++ b/lang/zh_CN/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'If disabled, Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'If disabled, Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/zh_CN/aspect_ratio.php b/lang/zh_CN/aspect_ratio.php
index 698df508294..6b63ad6f415 100644
--- a/lang/zh_CN/aspect_ratio.php
+++ b/lang/zh_CN/aspect_ratio.php
@@ -1,15 +1,15 @@
'5:4 (Instagram横图)',
- '4by5' => '4:5 (Instagram竖图)',
- '2by3' => '2:3 (竖版)',
- '3by2' => '3:2 (横版)',
- '1by1' => '1:1 (正方形)',
- '16by9' => '16:9 (宽屏)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5:4 (Instagram横图)',
+ '4by5' => '4:5 (Instagram竖图)',
+ '2by3' => '2:3 (竖版)',
+ '3by2' => '3:2 (横版)',
+ '1by1' => '1:1 (正方形)',
+ '16by9' => '16:9 (宽屏)',
];
diff --git a/lang/zh_CN/bulk_album_edit.php b/lang/zh_CN/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/zh_CN/bulk_album_edit.php
+++ b/lang/zh_CN/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/zh_CN/changelogs.php b/lang/zh_CN/changelogs.php
index 628dfaa7d33..af9fb7b4848 100644
--- a/lang/zh_CN/changelogs.php
+++ b/lang/zh_CN/changelogs.php
@@ -1,11 +1,11 @@
'Change logs',
- 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Change logs',
+ 'description' => 'This page contains the changelogs up to the latest available version of Lychee. It is voluntarily not limited to the changes on your installed version. With this, we want to give you a better overview of what to expect when you decide to upgrade.',
];
diff --git a/lang/zh_CN/contact.php b/lang/zh_CN/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/zh_CN/contact.php
+++ b/lang/zh_CN/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/zh_CN/diagnostics.php b/lang/zh_CN/diagnostics.php
index d5abff6e37c..85c8d678d6b 100644
--- a/lang/zh_CN/diagnostics.php
+++ b/lang/zh_CN/diagnostics.php
@@ -1,23 +1,23 @@
'系统诊断',
- 'copy_to_clipboard' => '复制诊断信息到剪贴板',
- 'self-diagnosis' => '自我诊断',
- 'info' => '信息',
- 'space' => '空间',
- 'load_space' => '加载空间使用情况',
- 'configuration' => '配置',
- 'loading' => '加载中…',
- 'identical_content' => '重复内容',
- 'toast' => [
- 'info' => '提示',
- 'copy' => '诊断信息已复制到剪贴板!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '系统诊断',
+ 'copy_to_clipboard' => '复制诊断信息到剪贴板',
+ 'self-diagnosis' => '自我诊断',
+ 'info' => '信息',
+ 'space' => '空间',
+ 'load_space' => '加载空间使用情况',
+ 'configuration' => '配置',
+ 'loading' => '加载中…',
+ 'identical_content' => '重复内容',
+ 'toast' => [
+ 'info' => '提示',
+ 'copy' => '诊断信息已复制到剪贴板!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/zh_CN/dialogs.php b/lang/zh_CN/dialogs.php
index f33782218a6..0a379043458 100644
--- a/lang/zh_CN/dialogs.php
+++ b/lang/zh_CN/dialogs.php
@@ -1,306 +1,306 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => '关闭',
- 'cancel' => '取消',
- 'save' => '保存',
- 'delete' => '删除',
- 'move' => '移动',
- ],
- 'about' => [
- 'subtitle' => '专业的自托管照片管理工具',
- 'description' => 'Lychee 是一个免费的照片管理工具,可以运行在您的服务器或网络空间上。安装过程只需几秒钟。您可以像使用本地应用程序一样上传、管理和分享照片。Lychee 提供您所需的一切功能,并安全地存储您的所有照片。',
- 'update_available' => '有可用更新!',
- 'thank_you' => '感谢您的支持!',
- 'get_supporter_or_register' => '获取独家功能并支持 Lychee 的开发。
解锁 支持者版本 或注册您的许可证密钥',
- 'here' => '在这里',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox 未配置。',
- ],
- 'import_from_link' => [
- 'instructions' => '请输入照片的直接链接以导入:',
- 'import' => '导入',
- ],
- 'keybindings' => [
- 'header' => '键盘快捷键',
- 'don_t_show_again' => '不再显示',
- 'hide_header_button' => '不在顶栏中显示帮助',
- 'side_wide' => '全局快捷键',
- 'back_cancel' => '返回/取消',
- 'confirm' => '确认',
- 'login' => '登录',
- 'toggle_full_screen' => '切换全屏',
- 'toggle_sensitive_albums' => '切换敏感相册显示',
- 'albums' => '相册快捷键',
- 'new_album' => '新建相册',
- 'upload_photos' => '上传照片',
- 'search' => '搜索',
- 'show_this_modal' => '显示此窗口',
- 'select_all' => '全选',
- 'move_selection' => '移动所选',
- 'delete_selection' => '删除所选',
- 'album' => '相册快捷键',
- 'slideshow' => '开始/停止幻灯片',
- 'toggle' => '切换面板',
- 'photo' => '照片快捷键',
- 'previous' => '上一张',
- 'next' => '下一张',
- 'cycle' => '循环显示模式',
- 'star' => '标星照片',
- 'move' => '移动照片',
- 'delete' => '删除照片',
- 'edit' => '编辑信息',
- 'show_hide_meta' => '显示信息',
- 'keep_hidden' => '我们会保持隐藏。',
- 'button_hidden' => '我们将隐藏顶栏中的按钮。',
- ],
- 'login' => [
- 'auth_with' => 'Authenticate with %s',
- 'username' => '用户名',
- 'password' => '密码',
- 'unknown_invalid' => '用户名不存在或密码错误',
- 'signin' => '登录',
- 'remember_me' => '记住我',
- ],
- 'register' => [
- 'enter_license' => '请在下方输入您的许可证密钥:',
- 'license_key' => '许可证密钥',
- 'invalid_license' => '无效的许可证密钥。',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => '注册',
- ],
- 'share_album' => [
- 'url_copied' => '链接已复制到剪贴板!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => '模式',
- 'mode_album_help' => '嵌入此特定相册中的照片。',
- 'mode_stream_help' => '将您的所有公共照片作为时间顺序流嵌入(最新的排在前面)。',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => '已完成',
- 'uploaded' => '已上传:',
- 'release' => '松开文件开始上传!',
- 'select' => '点击此处选择要上传的文件',
- 'drag' => '(或将文件拖到页面上)',
- 'loading' => '加载中',
- 'resume' => '继续',
- 'uploading' => '上传中',
- 'finished' => '已完成',
- 'failed_error' => '上传失败。服务器返回错误!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => '拍照',
- 'capture' => '拍摄',
- 'retake' => '重拍',
- 'upload' => '上传',
- 'secure_connection_required' => '访问摄像头需要安全连接(HTTPS 或 localhost)。',
- ],
- 'visibility' => [
- 'public' => '公开',
- 'public_expl' => '匿名用户可以访问此相册,但受以下限制。',
- 'full' => '原图',
- 'full_expl' => '匿名用户可以查看原始分辨率的照片。',
- 'hidden' => '隐藏',
- 'hidden_expl' => '匿名用户需要直接链接才能访问此相册。',
- 'downloadable' => '可下载',
- 'downloadable_expl' => '匿名用户可以下载此相册。',
- 'upload' => '允许上传',
- 'upload_expl' => ' 匿名用户可向此相册上传照片。',
- 'password' => '密码',
- 'password_prot' => '密码保护',
- 'password_prot_expl' => '匿名用户需要共享密码才能访问此相册。',
- 'password_prop_not_compatible' => '此设置与响应缓存机制存在冲突。
由于启用了响应缓存,一旦解锁此相册,
其他匿名用户也将能够看到相册内容。',
- 'nsfw' => '敏感内容',
- 'nsfw_expl' => '相册包含敏感内容。',
- 'visibility_updated' => '可见性已更新。',
- ],
- 'move_album' => [
- 'confirm_single' => '您确定要将相册"%1$s"移动到相册"%2$s"吗?',
- 'confirm_multiple' => '您确定要将所有选定的相册移动到相册"%s"吗?',
- 'move_single' => '移动相册',
- 'move_to' => '移动到',
- 'move_to_single' => '将 %s 移动到:',
- 'move_to_multiple' => '将 %d 个相册移动到:',
- 'no_album_target' => '没有可移动到的相册',
- 'moved_single' => '相册已移动!',
- 'moved_single_details' => '%1$s 已移动到 %2$s',
- 'moved_details' => '相册已移动到 %s',
- ],
- 'new_album' => [
- 'menu' => '创建相册',
- 'info' => '请输入新相册的标题:',
- 'title' => '标题',
- 'create' => '创建相册',
- 'visibility_private' => 'This album will be private (visible only to you)',
- 'visibility_public' => 'This album will be public (visible to everyone)',
- 'visibility_public_hidden' => 'This album will be public but hidden from listings',
- 'visibility_inherit' => 'This album will inherit visibility from its parent',
- 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
- ],
- 'new_tag_album' => [
- 'menu' => '创建标签相册',
- 'info' => '请输入新标签相册的标题:',
- 'title' => '标题',
- 'set_tags' => '设置要显示的标签',
- 'create' => '创建标签相册',
- ],
- 'delete_album' => [
- 'confirmation' => '您确定要删除相册"%s"及其包含的所有照片吗?',
- 'confirmation_tag' => '您确定要删除相册"%s"吗?',
- 'confirmation_multiple' => '您确定要删除所有 %d 个选定的相册及其包含的所有照片吗?',
- 'warning' => '此操作无法撤销!',
- 'delete' => '删除相册和照片',
- ],
- 'transfer' => [
- 'query' => '将相册所有权转移给',
- 'confirmation' => '您确定要将相册"%s"及其包含的所有照片的所有权转移给"%s"吗?',
- 'lost_access_warning' => '您将失去对此相册的访问权限。',
- 'warning' => '此操作无法撤销!',
- 'transfer' => '转移相册和照片的所有权',
- ],
- 'rename' => [
- 'photo' => '请输入此照片的新标题:',
- 'album' => '请输入此相册的新标题:',
- 'rename' => '重命名',
- ],
- 'merge' => [
- 'merge_to' => '将 %s 合并到:',
- 'merge_to_multiple' => '将 %d 个相册合并到:',
- 'no_albums' => '没有可合并的相册。',
- 'confirm' => '您确定要将相册"%1$s"合并到相册"%2$s"吗?',
- 'confirm_multiple' => '您确定要将所有选定的相册合并到相册"%s"吗?',
- 'merge' => '合并相册',
- 'merged' => '相册已合并到 %s!',
- ],
- 'unlock' => [
- 'password_required' => '此相册受密码保护。请在下方输入密码以查看相册中的照片:',
- 'password' => '密码',
- 'unlock' => '解锁',
- ],
- 'photo_tags' => [
- 'question' => '为此照片输入标签。',
- 'question_multiple' => '为所有 %d 张选定的照片输入标签。现有标签将被覆盖。',
- 'no_tags' => '无标签',
- 'set_tags' => '设置标签',
- 'updated' => '标签已更新!',
- 'tags_override_info' => '如果取消选中此项,标签将添加到照片的现有标签中。',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => '没有可复制到的相册',
- 'copy_to' => '将 %s 复制到:',
- 'copy_to_multiple' => '将 %d 张照片复制到:',
- 'confirm' => '将 %s 复制到 %s。',
- 'confirm_multiple' => '将 %d 张照片复制到 %s。',
- 'copy' => '复制',
- 'copied' => '照片已复制!',
- ],
- 'photo_delete' => [
- 'confirm' => '您确定要删除照片"%s"吗?',
- 'confirm_multiple' => '您确定要删除所有 %d 张选定的照片吗?',
- 'deleted' => '照片已删除!',
- ],
- 'move_photo' => [
- 'move_single' => '将 %s 移动到:',
- 'move_multiple' => '将 %d 张照片移动到:',
- 'confirm' => '将 %s 移动到 %s。',
- 'confirm_multiple' => '将 %d 张照片移动到 %s。',
- 'moved' => '照片已移动到 %s!',
- ],
- 'target_user' => [
- 'placeholder' => '选择用户',
- ],
- 'target_album' => [
- 'placeholder' => '选择相册',
- ],
- 'webauthn' => [
- 'u2f' => 'U2F',
- 'success' => '认证成功!',
- 'error' => '抱歉,似乎出现了问题。请刷新页面并重试!',
- ],
- 'se' => [
- 'available' => '支持者版本可用',
- ],
- 'session_expired' => [
- 'title' => '会话已过期',
- 'message' => '您的会话已过期。
请刷新页面。',
- 'reload' => '刷新',
- 'go_to_gallery' => '返回相册',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => '关闭',
+ 'cancel' => '取消',
+ 'save' => '保存',
+ 'delete' => '删除',
+ 'move' => '移动',
+ ],
+ 'about' => [
+ 'subtitle' => '专业的自托管照片管理工具',
+ 'description' => 'Lychee 是一个免费的照片管理工具,可以运行在您的服务器或网络空间上。安装过程只需几秒钟。您可以像使用本地应用程序一样上传、管理和分享照片。Lychee 提供您所需的一切功能,并安全地存储您的所有照片。',
+ 'update_available' => '有可用更新!',
+ 'thank_you' => '感谢您的支持!',
+ 'get_supporter_or_register' => '获取独家功能并支持 Lychee 的开发。
解锁 支持者版本 或注册您的许可证密钥',
+ 'here' => '在这里',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox 未配置。',
+ ],
+ 'import_from_link' => [
+ 'instructions' => '请输入照片的直接链接以导入:',
+ 'import' => '导入',
+ ],
+ 'keybindings' => [
+ 'header' => '键盘快捷键',
+ 'don_t_show_again' => '不再显示',
+ 'hide_header_button' => '不在顶栏中显示帮助',
+ 'side_wide' => '全局快捷键',
+ 'back_cancel' => '返回/取消',
+ 'confirm' => '确认',
+ 'login' => '登录',
+ 'toggle_full_screen' => '切换全屏',
+ 'toggle_sensitive_albums' => '切换敏感相册显示',
+ 'albums' => '相册快捷键',
+ 'new_album' => '新建相册',
+ 'upload_photos' => '上传照片',
+ 'search' => '搜索',
+ 'show_this_modal' => '显示此窗口',
+ 'select_all' => '全选',
+ 'move_selection' => '移动所选',
+ 'delete_selection' => '删除所选',
+ 'album' => '相册快捷键',
+ 'slideshow' => '开始/停止幻灯片',
+ 'toggle' => '切换面板',
+ 'photo' => '照片快捷键',
+ 'previous' => '上一张',
+ 'next' => '下一张',
+ 'cycle' => '循环显示模式',
+ 'star' => '标星照片',
+ 'move' => '移动照片',
+ 'delete' => '删除照片',
+ 'edit' => '编辑信息',
+ 'show_hide_meta' => '显示信息',
+ 'keep_hidden' => '我们会保持隐藏。',
+ 'button_hidden' => '我们将隐藏顶栏中的按钮。',
+ ],
+ 'login' => [
+ 'auth_with' => 'Authenticate with %s',
+ 'username' => '用户名',
+ 'password' => '密码',
+ 'unknown_invalid' => '用户名不存在或密码错误',
+ 'signin' => '登录',
+ 'remember_me' => '记住我',
+ ],
+ 'register' => [
+ 'enter_license' => '请在下方输入您的许可证密钥:',
+ 'license_key' => '许可证密钥',
+ 'invalid_license' => '无效的许可证密钥。',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => '注册',
+ ],
+ 'share_album' => [
+ 'url_copied' => '链接已复制到剪贴板!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => '模式',
+ 'mode_album_help' => '嵌入此特定相册中的照片。',
+ 'mode_stream_help' => '将您的所有公共照片作为时间顺序流嵌入(最新的排在前面)。',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => '已完成',
+ 'uploaded' => '已上传:',
+ 'release' => '松开文件开始上传!',
+ 'select' => '点击此处选择要上传的文件',
+ 'drag' => '(或将文件拖到页面上)',
+ 'loading' => '加载中',
+ 'resume' => '继续',
+ 'uploading' => '上传中',
+ 'finished' => '已完成',
+ 'failed_error' => '上传失败。服务器返回错误!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => '拍照',
+ 'capture' => '拍摄',
+ 'retake' => '重拍',
+ 'upload' => '上传',
+ 'secure_connection_required' => '访问摄像头需要安全连接(HTTPS 或 localhost)。',
+ ],
+ 'visibility' => [
+ 'public' => '公开',
+ 'public_expl' => '匿名用户可以访问此相册,但受以下限制。',
+ 'full' => '原图',
+ 'full_expl' => '匿名用户可以查看原始分辨率的照片。',
+ 'hidden' => '隐藏',
+ 'hidden_expl' => '匿名用户需要直接链接才能访问此相册。',
+ 'downloadable' => '可下载',
+ 'downloadable_expl' => '匿名用户可以下载此相册。',
+ 'upload' => '允许上传',
+ 'upload_expl' => ' 匿名用户可向此相册上传照片。',
+ 'password' => '密码',
+ 'password_prot' => '密码保护',
+ 'password_prot_expl' => '匿名用户需要共享密码才能访问此相册。',
+ 'password_prop_not_compatible' => '此设置与响应缓存机制存在冲突。
由于启用了响应缓存,一旦解锁此相册,
其他匿名用户也将能够看到相册内容。',
+ 'nsfw' => '敏感内容',
+ 'nsfw_expl' => '相册包含敏感内容。',
+ 'visibility_updated' => '可见性已更新。',
+ ],
+ 'move_album' => [
+ 'confirm_single' => '您确定要将相册"%1$s"移动到相册"%2$s"吗?',
+ 'confirm_multiple' => '您确定要将所有选定的相册移动到相册"%s"吗?',
+ 'move_single' => '移动相册',
+ 'move_to' => '移动到',
+ 'move_to_single' => '将 %s 移动到:',
+ 'move_to_multiple' => '将 %d 个相册移动到:',
+ 'no_album_target' => '没有可移动到的相册',
+ 'moved_single' => '相册已移动!',
+ 'moved_single_details' => '%1$s 已移动到 %2$s',
+ 'moved_details' => '相册已移动到 %s',
+ ],
+ 'new_album' => [
+ 'menu' => '创建相册',
+ 'info' => '请输入新相册的标题:',
+ 'title' => '标题',
+ 'create' => '创建相册',
+ 'visibility_private' => 'This album will be private (visible only to you)',
+ 'visibility_public' => 'This album will be public (visible to everyone)',
+ 'visibility_public_hidden' => 'This album will be public but hidden from listings',
+ 'visibility_inherit' => 'This album will inherit visibility from its parent',
+ 'visibility_inherit_no_parent' => 'This album will be private (no parent to inherit from)',
+ ],
+ 'new_tag_album' => [
+ 'menu' => '创建标签相册',
+ 'info' => '请输入新标签相册的标题:',
+ 'title' => '标题',
+ 'set_tags' => '设置要显示的标签',
+ 'create' => '创建标签相册',
+ ],
+ 'delete_album' => [
+ 'confirmation' => '您确定要删除相册"%s"及其包含的所有照片吗?',
+ 'confirmation_tag' => '您确定要删除相册"%s"吗?',
+ 'confirmation_multiple' => '您确定要删除所有 %d 个选定的相册及其包含的所有照片吗?',
+ 'warning' => '此操作无法撤销!',
+ 'delete' => '删除相册和照片',
+ ],
+ 'transfer' => [
+ 'query' => '将相册所有权转移给',
+ 'confirmation' => '您确定要将相册"%s"及其包含的所有照片的所有权转移给"%s"吗?',
+ 'lost_access_warning' => '您将失去对此相册的访问权限。',
+ 'warning' => '此操作无法撤销!',
+ 'transfer' => '转移相册和照片的所有权',
+ ],
+ 'rename' => [
+ 'photo' => '请输入此照片的新标题:',
+ 'album' => '请输入此相册的新标题:',
+ 'rename' => '重命名',
+ ],
+ 'merge' => [
+ 'merge_to' => '将 %s 合并到:',
+ 'merge_to_multiple' => '将 %d 个相册合并到:',
+ 'no_albums' => '没有可合并的相册。',
+ 'confirm' => '您确定要将相册"%1$s"合并到相册"%2$s"吗?',
+ 'confirm_multiple' => '您确定要将所有选定的相册合并到相册"%s"吗?',
+ 'merge' => '合并相册',
+ 'merged' => '相册已合并到 %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => '此相册受密码保护。请在下方输入密码以查看相册中的照片:',
+ 'password' => '密码',
+ 'unlock' => '解锁',
+ ],
+ 'photo_tags' => [
+ 'question' => '为此照片输入标签。',
+ 'question_multiple' => '为所有 %d 张选定的照片输入标签。现有标签将被覆盖。',
+ 'no_tags' => '无标签',
+ 'set_tags' => '设置标签',
+ 'updated' => '标签已更新!',
+ 'tags_override_info' => '如果取消选中此项,标签将添加到照片的现有标签中。',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => '没有可复制到的相册',
+ 'copy_to' => '将 %s 复制到:',
+ 'copy_to_multiple' => '将 %d 张照片复制到:',
+ 'confirm' => '将 %s 复制到 %s。',
+ 'confirm_multiple' => '将 %d 张照片复制到 %s。',
+ 'copy' => '复制',
+ 'copied' => '照片已复制!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => '您确定要删除照片"%s"吗?',
+ 'confirm_multiple' => '您确定要删除所有 %d 张选定的照片吗?',
+ 'deleted' => '照片已删除!',
+ ],
+ 'move_photo' => [
+ 'move_single' => '将 %s 移动到:',
+ 'move_multiple' => '将 %d 张照片移动到:',
+ 'confirm' => '将 %s 移动到 %s。',
+ 'confirm_multiple' => '将 %d 张照片移动到 %s。',
+ 'moved' => '照片已移动到 %s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => '选择用户',
+ ],
+ 'target_album' => [
+ 'placeholder' => '选择相册',
+ ],
+ 'webauthn' => [
+ 'u2f' => 'U2F',
+ 'success' => '认证成功!',
+ 'error' => '抱歉,似乎出现了问题。请刷新页面并重试!',
+ ],
+ 'se' => [
+ 'available' => '支持者版本可用',
+ ],
+ 'session_expired' => [
+ 'title' => '会话已过期',
+ 'message' => '您的会话已过期。
请刷新页面。',
+ 'reload' => '刷新',
+ 'go_to_gallery' => '返回相册',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/zh_CN/duplicate-finder.php b/lang/zh_CN/duplicate-finder.php
index b02fa51c83c..26e758f804d 100644
--- a/lang/zh_CN/duplicate-finder.php
+++ b/lang/zh_CN/duplicate-finder.php
@@ -1,26 +1,26 @@
'维护',
- 'intro' => '在此页面中,您可以查看数据库中发现的重复照片。',
- 'found' => ' 个重复项!',
- 'invalid-search' => ' 至少需要选择校验和或标题条件之一。',
- 'checksum-must-match' => '校验和必须匹配。',
- 'title-must-match' => '标题必须匹配。',
- 'must-be-in-same-album' => '必须在同一相册中。',
- 'columns' => [
- 'album' => '相册',
- 'photo' => '照片',
- 'checksum' => '校验和',
- ],
- 'warning' => [
- 'no-original-left' => '没有原始文件。',
- 'keep-one' => '您选择了此组中的所有重复项。请至少保留一个副本。',
- ],
- 'delete-selected' => '删除所选',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '维护',
+ 'intro' => '在此页面中,您可以查看数据库中发现的重复照片。',
+ 'found' => ' 个重复项!',
+ 'invalid-search' => ' 至少需要选择校验和或标题条件之一。',
+ 'checksum-must-match' => '校验和必须匹配。',
+ 'title-must-match' => '标题必须匹配。',
+ 'must-be-in-same-album' => '必须在同一相册中。',
+ 'columns' => [
+ 'album' => '相册',
+ 'photo' => '照片',
+ 'checksum' => '校验和',
+ ],
+ 'warning' => [
+ 'no-original-left' => '没有原始文件。',
+ 'keep-one' => '您选择了此组中的所有重复项。请至少保留一个副本。',
+ ],
+ 'delete-selected' => '删除所选',
];
diff --git a/lang/zh_CN/fix-tree.php b/lang/zh_CN/fix-tree.php
index a38c9dfcc59..22924e84fc3 100644
--- a/lang/zh_CN/fix-tree.php
+++ b/lang/zh_CN/fix-tree.php
@@ -1,46 +1,46 @@
'维护',
- 'intro' => '此页面允许您手动重新排序和修复相册。
在进行任何修改之前,我们强烈建议您了解嵌套集合树结构的相关知识。',
- 'warning' => '在此页面的操作可能会严重影响您的 Lychee 安装,请自行承担修改值的风险。',
- 'help' => [
- 'header' => '帮助',
- 'hover' => '将鼠标悬停在 ID 或标题上可以高亮显示相关相册。',
- 'left' => '左值',
- 'right' => '右值',
- 'convenience' => '为了方便起见, 和 按钮允许您分别将 %s 和 %s 的值增加和减少 1,并进行传播。',
- 'left-right-warn' => ' 和 表示 %s(以及 %s)的值在其他位置重复。',
- 'parent-marked' => '标记为 父级 ID 表示 %s 和 %s 不符合嵌套集合树结构。请编辑 父级 ID 或 %s/%s 的值。',
- 'slowness' => '当相册数量较多时,此页面的加载速度会较慢。',
- ],
- 'buttons' => [
- 'reset' => '重置',
- 'check' => '检查',
- 'apply' => '应用',
- ],
- 'no-changes' => '没有需要应用的更改。',
- 'table' => [
- 'title' => '标题',
- 'left' => '左值',
- 'right' => '右值',
- 'id' => 'ID',
- 'parent' => '父级 ID',
- ],
- 'errors' => [
- 'invalid' => '无效的树结构!',
- 'invalid_details' => '我们不会应用这些更改,因为这会导致系统进入错误状态。',
- 'invalid_left' => '相册 %s 的左值无效。',
- 'invalid_right' => '相册 %s 的右值无效。',
- 'invalid_left_right' => '相册 %s 的左值/右值无效。左值必须严格小于右值:%s < %s。',
- 'duplicate_left' => '相册 %s 的左值 %s 重复。',
- 'duplicate_right' => '相册 %s 的右值 %s 重复。',
- 'parent' => '相册 %s 的父级 ID %s 异常。',
- 'unknown' => '相册 %s 出现未知错误。',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '维护',
+ 'intro' => '此页面允许您手动重新排序和修复相册。
在进行任何修改之前,我们强烈建议您了解嵌套集合树结构的相关知识。',
+ 'warning' => '在此页面的操作可能会严重影响您的 Lychee 安装,请自行承担修改值的风险。',
+ 'help' => [
+ 'header' => '帮助',
+ 'hover' => '将鼠标悬停在 ID 或标题上可以高亮显示相关相册。',
+ 'left' => '左值',
+ 'right' => '右值',
+ 'convenience' => '为了方便起见, 和 按钮允许您分别将 %s 和 %s 的值增加和减少 1,并进行传播。',
+ 'left-right-warn' => ' 和 表示 %s(以及 %s)的值在其他位置重复。',
+ 'parent-marked' => '标记为 父级 ID 表示 %s 和 %s 不符合嵌套集合树结构。请编辑 父级 ID 或 %s/%s 的值。',
+ 'slowness' => '当相册数量较多时,此页面的加载速度会较慢。',
+ ],
+ 'buttons' => [
+ 'reset' => '重置',
+ 'check' => '检查',
+ 'apply' => '应用',
+ ],
+ 'no-changes' => '没有需要应用的更改。',
+ 'table' => [
+ 'title' => '标题',
+ 'left' => '左值',
+ 'right' => '右值',
+ 'id' => 'ID',
+ 'parent' => '父级 ID',
+ ],
+ 'errors' => [
+ 'invalid' => '无效的树结构!',
+ 'invalid_details' => '我们不会应用这些更改,因为这会导致系统进入错误状态。',
+ 'invalid_left' => '相册 %s 的左值无效。',
+ 'invalid_right' => '相册 %s 的右值无效。',
+ 'invalid_left_right' => '相册 %s 的左值/右值无效。左值必须严格小于右值:%s < %s。',
+ 'duplicate_left' => '相册 %s 的左值 %s 重复。',
+ 'duplicate_right' => '相册 %s 的右值 %s 重复。',
+ 'parent' => '相册 %s 的父级 ID %s 异常。',
+ 'unknown' => '相册 %s 出现未知错误。',
+ ],
];
diff --git a/lang/zh_CN/flow.php b/lang/zh_CN/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/zh_CN/flow.php
+++ b/lang/zh_CN/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/zh_CN/gallery.php b/lang/zh_CN/gallery.php
index 7c0cbd6baeb..6cc702ed31d 100644
--- a/lang/zh_CN/gallery.php
+++ b/lang/zh_CN/gallery.php
@@ -1,357 +1,357 @@
'相册',
- 'smart_albums' => '智能相册',
- 'pinned_albums' => '置顶相册',
- 'albums' => '相册',
- 'root' => '相册',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => '原图',
- 'medium' => '中等',
- 'medium_hidpi' => '中等高清',
- 'small' => '缩略图',
- 'small_hidpi' => '高清缩略图',
- 'thumb' => '方形缩略图',
- 'thumb_hidpi' => '高清方形缩略图',
- 'placeholder' => '低质量图片占位符',
- 'thumbnail' => '照片缩略图',
- 'live_video' => '实况照片视频部分',
- 'download_raw' => 'Download RAW',
- 'download_album' => '选择相册ZIP压缩包的图片分辨率。如果照片没有所选的版本,将使用原始版本。',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => '相机日期',
- 'album_reserved' => '所有权利保留',
- 'map' => [
- 'error_gpx' => '加载 GPX 文件出错',
- 'osm_contributors' => 'OpenStreetMap 贡献者',
- ],
- 'search' => [
- 'title' => '搜索',
- 'no_results' => '没有找到匹配的内容。',
- 'searchbox' => '搜索…',
- 'minimum_chars' => '至少需要 %s 个字符。',
- 'photos' => '照片(%s)',
- 'albums' => '相册(%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => '未分类',
- 'highlighted' => '已标星',
- 'recent' => '最近',
- 'public' => '公开',
- 'on_this_day' => '历史上的今天',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => '方形缩略图',
- 'justified' => '等比例对齐',
- 'masonry' => '等比例瀑布流',
- 'grid' => '等比例网格',
- 'filmstrip' => '胶片条',
- 'list' => '列表视图',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => '无',
- 'exif' => 'EXIF 数据',
- 'description' => '描述',
- 'date' => '拍摄日期',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => '默认',
- 'disabled' => '禁用',
- 'year' => '年',
- 'month' => '月',
- 'day' => '日',
- 'hour' => '时',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => '相册',
- 'header_photos' => '照片',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => '这里什么都没有',
- 'upload' => '上传照片',
- 'tabs' => [
- 'about' => '关于相册',
- 'share' => '分享相册',
- 'embed' => 'Embed Album',
- 'move' => '移动相册',
- 'shop' => 'Shop Management',
- 'danger' => '危险操作',
- ],
- 'hero' => [
- 'created' => '创建时间',
- 'copyright' => '版权',
- 'subalbums' => '子相册',
- 'images' => '照片',
- 'download' => '下载相册',
- 'share' => '分享相册',
- 'embed' => 'Embed Album',
- 'stats_only_se' => '统计功能仅在支持者版本中可用',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => '镜头',
- 'shutter' => '快门速度',
- 'iso' => 'ISO',
- 'model' => '型号',
- 'aperture' => '光圈',
- 'no_data' => '无数据',
- ],
- 'properties' => [
- 'title' => '标题',
- 'slug' => 'Slug (友好 URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => '描述',
- 'photo_ordering' => '照片排序方式',
- 'children_ordering' => '相册排序方式',
- 'asc/desc' => '升序/降序',
- 'header' => '设置相册封面',
- 'compact_header' => '使用紧凑封面',
- 'license' => '设置许可证',
- 'copyright' => '设置版权',
- 'aspect_ratio' => '设置相册缩略图比例',
- 'album_timeline' => '设置相册时间线模式',
- 'photo_timeline' => '设置照片时间线模式',
- 'layout' => '设置照片布局',
- 'show_tags' => '设置要显示的标签',
- 'tags_required' => '标签为必填项。',
- 'all_tags_must_match' => '所有标签必须匹配。',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => '标星',
- 'unhighlight' => '取消标星',
- 'set_album_header' => '设为相册页眉图片',
- 'move' => '移动',
- 'delete' => '删除',
- 'header_set' => '已设为页眉图片',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => '关于',
- 'basics' => '基本信息',
- 'title' => '标题',
- 'uploaded' => '上传时间',
- 'description' => '描述',
- 'license' => '许可证',
- 'reuse' => '重用',
- 'latitude' => '纬度',
- 'longitude' => '经度',
- 'altitude' => '海拔',
- 'location' => '位置',
- 'image' => '图片',
- 'video' => '视频',
- 'size' => '大小',
- 'format' => '格式',
- 'resolution' => '分辨率',
- 'duration' => '时长',
- 'fps' => '帧率',
- 'tags' => '标签',
- 'camera' => '相机',
- 'captured' => '拍摄时间',
- 'make' => '制造商',
- 'type' => '类型/型号',
- 'lens' => '镜头',
- 'shutter' => '快门速度',
- 'aperture' => '光圈',
- 'focal' => '焦距',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => '设置标题',
- 'set_description' => '设置描述',
- 'set_license' => '设置许可证',
- 'no_tags' => '无标签',
- 'set_tags' => '设置标签',
- 'set_created_at' => '设置上传日期',
- 'set_taken_at' => '设置拍摄日期',
- 'set_taken_at_info' => '设置后,将显示星号 %s 表示此日期不是原始 EXIF 日期。
取消选中复选框并保存以重置为原始日期。',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => '敏感内容',
- 'description' => '此相册包含敏感内容,可能会令某些人感到不适。',
- 'consent' => '点击确认查看。',
- ],
- 'menus' => [
- 'highlight' => '标星',
- 'unhighlight' => '取消标星',
- 'highlight_all' => '标星所选',
- 'unhighlight_all' => '取消标星所选',
- 'tag' => '标签',
- 'tag_all' => '为所选添加标签',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => '设为相册封面',
- 'remove_header' => '移除相册页眉图片',
- 'set_header' => '设置相册页眉图片',
- 'copy_to' => '复制到…',
- 'copy_all_to' => '复制所选到…',
- 'rename' => '重命名',
- 'move' => '移动',
- 'move_all' => '移动所选',
- 'pin' => '置顶',
- 'unpin' => '取消置顶',
- 'delete' => '删除',
- 'delete_all' => '删除所选',
- 'download' => '下载',
- 'download_all' => '下载所选',
- 'merge' => '合并',
- 'merge_all' => '合并所选',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => '上传照片',
- 'take_photo' => '拍照',
- 'import_link' => '从链接导入',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => '从 Dropbox 导入',
- 'new_album' => '新建相册',
- 'new_tag_album' => '新建标签相册',
- 'upload_track' => '上传轨迹',
- 'delete_track' => '删除轨迹',
- ],
- 'sort' => [
- 'photo_select_1' => '上传时间',
- 'photo_select_2' => '拍摄日期',
- 'photo_select_3' => '标题 (Nat)',
- 'photo_select_4' => '描述 (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => '标星',
- 'photo_select_7' => '照片格式',
- 'ascending' => '升序',
- 'descending' => '降序',
- 'album_select_1' => '创建时间',
- 'album_select_2' => '标题 (Nat)',
- 'album_select_3' => '描述 (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => '最新拍摄日期',
- 'album_select_6' => '最早拍摄日期',
- ],
- 'albums_protection' => [
- 'private' => '私密',
- 'public' => '公开',
- 'inherit_from_parent' => '继承自父级',
- 'public_but_hidden' => '公开但隐藏',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '相册',
+ 'smart_albums' => '智能相册',
+ 'pinned_albums' => '置顶相册',
+ 'albums' => '相册',
+ 'root' => '相册',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => '原图',
+ 'medium' => '中等',
+ 'medium_hidpi' => '中等高清',
+ 'small' => '缩略图',
+ 'small_hidpi' => '高清缩略图',
+ 'thumb' => '方形缩略图',
+ 'thumb_hidpi' => '高清方形缩略图',
+ 'placeholder' => '低质量图片占位符',
+ 'thumbnail' => '照片缩略图',
+ 'live_video' => '实况照片视频部分',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => '选择相册ZIP压缩包的图片分辨率。如果照片没有所选的版本,将使用原始版本。',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => '相机日期',
+ 'album_reserved' => '所有权利保留',
+ 'map' => [
+ 'error_gpx' => '加载 GPX 文件出错',
+ 'osm_contributors' => 'OpenStreetMap 贡献者',
+ ],
+ 'search' => [
+ 'title' => '搜索',
+ 'no_results' => '没有找到匹配的内容。',
+ 'searchbox' => '搜索…',
+ 'minimum_chars' => '至少需要 %s 个字符。',
+ 'photos' => '照片(%s)',
+ 'albums' => '相册(%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => '未分类',
+ 'highlighted' => '已标星',
+ 'recent' => '最近',
+ 'public' => '公开',
+ 'on_this_day' => '历史上的今天',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => '方形缩略图',
+ 'justified' => '等比例对齐',
+ 'masonry' => '等比例瀑布流',
+ 'grid' => '等比例网格',
+ 'filmstrip' => '胶片条',
+ 'list' => '列表视图',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => '无',
+ 'exif' => 'EXIF 数据',
+ 'description' => '描述',
+ 'date' => '拍摄日期',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => '默认',
+ 'disabled' => '禁用',
+ 'year' => '年',
+ 'month' => '月',
+ 'day' => '日',
+ 'hour' => '时',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => '相册',
+ 'header_photos' => '照片',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => '这里什么都没有',
+ 'upload' => '上传照片',
+ 'tabs' => [
+ 'about' => '关于相册',
+ 'share' => '分享相册',
+ 'embed' => 'Embed Album',
+ 'move' => '移动相册',
+ 'shop' => 'Shop Management',
+ 'danger' => '危险操作',
+ ],
+ 'hero' => [
+ 'created' => '创建时间',
+ 'copyright' => '版权',
+ 'subalbums' => '子相册',
+ 'images' => '照片',
+ 'download' => '下载相册',
+ 'share' => '分享相册',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => '统计功能仅在支持者版本中可用',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => '镜头',
+ 'shutter' => '快门速度',
+ 'iso' => 'ISO',
+ 'model' => '型号',
+ 'aperture' => '光圈',
+ 'no_data' => '无数据',
+ ],
+ 'properties' => [
+ 'title' => '标题',
+ 'slug' => 'Slug (友好 URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => '描述',
+ 'photo_ordering' => '照片排序方式',
+ 'children_ordering' => '相册排序方式',
+ 'asc/desc' => '升序/降序',
+ 'header' => '设置相册封面',
+ 'compact_header' => '使用紧凑封面',
+ 'license' => '设置许可证',
+ 'copyright' => '设置版权',
+ 'aspect_ratio' => '设置相册缩略图比例',
+ 'album_timeline' => '设置相册时间线模式',
+ 'photo_timeline' => '设置照片时间线模式',
+ 'layout' => '设置照片布局',
+ 'show_tags' => '设置要显示的标签',
+ 'tags_required' => '标签为必填项。',
+ 'all_tags_must_match' => '所有标签必须匹配。',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => '标星',
+ 'unhighlight' => '取消标星',
+ 'set_album_header' => '设为相册页眉图片',
+ 'move' => '移动',
+ 'delete' => '删除',
+ 'header_set' => '已设为页眉图片',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => '关于',
+ 'basics' => '基本信息',
+ 'title' => '标题',
+ 'uploaded' => '上传时间',
+ 'description' => '描述',
+ 'license' => '许可证',
+ 'reuse' => '重用',
+ 'latitude' => '纬度',
+ 'longitude' => '经度',
+ 'altitude' => '海拔',
+ 'location' => '位置',
+ 'image' => '图片',
+ 'video' => '视频',
+ 'size' => '大小',
+ 'format' => '格式',
+ 'resolution' => '分辨率',
+ 'duration' => '时长',
+ 'fps' => '帧率',
+ 'tags' => '标签',
+ 'camera' => '相机',
+ 'captured' => '拍摄时间',
+ 'make' => '制造商',
+ 'type' => '类型/型号',
+ 'lens' => '镜头',
+ 'shutter' => '快门速度',
+ 'aperture' => '光圈',
+ 'focal' => '焦距',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => '设置标题',
+ 'set_description' => '设置描述',
+ 'set_license' => '设置许可证',
+ 'no_tags' => '无标签',
+ 'set_tags' => '设置标签',
+ 'set_created_at' => '设置上传日期',
+ 'set_taken_at' => '设置拍摄日期',
+ 'set_taken_at_info' => '设置后,将显示星号 %s 表示此日期不是原始 EXIF 日期。
取消选中复选框并保存以重置为原始日期。',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => '敏感内容',
+ 'description' => '此相册包含敏感内容,可能会令某些人感到不适。',
+ 'consent' => '点击确认查看。',
+ ],
+ 'menus' => [
+ 'highlight' => '标星',
+ 'unhighlight' => '取消标星',
+ 'highlight_all' => '标星所选',
+ 'unhighlight_all' => '取消标星所选',
+ 'tag' => '标签',
+ 'tag_all' => '为所选添加标签',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => '设为相册封面',
+ 'remove_header' => '移除相册页眉图片',
+ 'set_header' => '设置相册页眉图片',
+ 'copy_to' => '复制到…',
+ 'copy_all_to' => '复制所选到…',
+ 'rename' => '重命名',
+ 'move' => '移动',
+ 'move_all' => '移动所选',
+ 'pin' => '置顶',
+ 'unpin' => '取消置顶',
+ 'delete' => '删除',
+ 'delete_all' => '删除所选',
+ 'download' => '下载',
+ 'download_all' => '下载所选',
+ 'merge' => '合并',
+ 'merge_all' => '合并所选',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => '上传照片',
+ 'take_photo' => '拍照',
+ 'import_link' => '从链接导入',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => '从 Dropbox 导入',
+ 'new_album' => '新建相册',
+ 'new_tag_album' => '新建标签相册',
+ 'upload_track' => '上传轨迹',
+ 'delete_track' => '删除轨迹',
+ ],
+ 'sort' => [
+ 'photo_select_1' => '上传时间',
+ 'photo_select_2' => '拍摄日期',
+ 'photo_select_3' => '标题 (Nat)',
+ 'photo_select_4' => '描述 (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => '标星',
+ 'photo_select_7' => '照片格式',
+ 'ascending' => '升序',
+ 'descending' => '降序',
+ 'album_select_1' => '创建时间',
+ 'album_select_2' => '标题 (Nat)',
+ 'album_select_3' => '描述 (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => '最新拍摄日期',
+ 'album_select_6' => '最早拍摄日期',
+ ],
+ 'albums_protection' => [
+ 'private' => '私密',
+ 'public' => '公开',
+ 'inherit_from_parent' => '继承自父级',
+ 'public_but_hidden' => '公开但隐藏',
+ ],
];
diff --git a/lang/zh_CN/import_from_server.php b/lang/zh_CN/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/zh_CN/import_from_server.php
+++ b/lang/zh_CN/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/zh_CN/jobs.php b/lang/zh_CN/jobs.php
index 6b6f734632a..f7be5c20a44 100644
--- a/lang/zh_CN/jobs.php
+++ b/lang/zh_CN/jobs.php
@@ -1,15 +1,15 @@
'任务',
- 'no_data' => '尚未执行任何任务。',
- 'ready' => 'Ready',
- 'success' => 'Success',
- 'failure' => 'Failure',
- 'started' => 'Started',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '任务',
+ 'no_data' => '尚未执行任何任务。',
+ 'ready' => 'Ready',
+ 'success' => 'Success',
+ 'failure' => 'Failure',
+ 'started' => 'Started',
];
diff --git a/lang/zh_CN/landing.php b/lang/zh_CN/landing.php
index 5f47222ccc0..ef2b07d7afe 100644
--- a/lang/zh_CN/landing.php
+++ b/lang/zh_CN/landing.php
@@ -1,13 +1,13 @@
'相册',
- 'access_gallery' => '访问相册',
- 'Powered_by_Lychee' => '由 Lychee 提供支持',
- 'copyright' => '本网站所有图片版权归 %1$s 所有 © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => '相册',
+ 'access_gallery' => '访问相册',
+ 'Powered_by_Lychee' => '由 Lychee 提供支持',
+ 'copyright' => '本网站所有图片版权归 %1$s 所有 © %2$s',
];
diff --git a/lang/zh_CN/left-menu.php b/lang/zh_CN/left-menu.php
index b95aa49574e..6718c6f4ea3 100644
--- a/lang/zh_CN/left-menu.php
+++ b/lang/zh_CN/left-menu.php
@@ -1,28 +1,28 @@
'返回相册',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => '嵌入照片流',
- 'admin' => '管理',
- 'clockwork' => 'Clockwork 应用',
- 'logs' => '查看日志',
- 'jobs' => '查看任务历史',
- 'user' => '用户',
- 'sign_out' => '退出登录',
- 'about' => '关于',
- 'changelog' => 'Changelog',
- 'api' => 'API 文档',
- 'source_code' => '源代码',
- 'support' => '支持',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => '返回相册',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => '嵌入照片流',
+ 'admin' => '管理',
+ 'clockwork' => 'Clockwork 应用',
+ 'logs' => '查看日志',
+ 'jobs' => '查看任务历史',
+ 'user' => '用户',
+ 'sign_out' => '退出登录',
+ 'about' => '关于',
+ 'changelog' => 'Changelog',
+ 'api' => 'API 文档',
+ 'source_code' => '源代码',
+ 'support' => '支持',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/zh_CN/maintenance.php b/lang/zh_CN/maintenance.php
index 766cd71804b..78f3ac7c942 100644
--- a/lang/zh_CN/maintenance.php
+++ b/lang/zh_CN/maintenance.php
@@ -1,103 +1,103 @@
'维护',
- 'description' => '在此页面中,您可以找到保持 Lychee 安装运行顺畅所需的所有操作。',
- 'cleaning' => [
- 'title' => '清理 %s',
- 'result' => '已删除 %s。',
- 'description' => '删除 %s 中的所有内容',
- 'button' => '清理',
- ],
- 'duplicate-finder' => [
- 'title' => '重复项',
- 'description' => '此模块统计图片之间的潜在重复项。',
- 'duplicates-all' => '所有相册中的重复项',
- 'duplicates-title' => '每个相册中的标题重复项',
- 'duplicates-per-album' => '每个相册中的重复项',
- 'show' => '显示重复项',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => '修复任务历史',
- 'description' => '将状态为 %s 或 %s 的任务标记为 %s。',
- 'button' => '修复任务历史',
- ],
- 'gen-sizevariants' => [
- 'title' => '缺失的 %s',
- 'description' => '发现 %d 个可以生成的 %s。',
- 'button' => '生成!',
- 'success' => '已成功生成 %d 个 %s。',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => '缺失文件大小',
- 'description' => '发现 %d 个缺少文件大小的小型变体。',
- 'button' => '获取数据!',
- 'success' => '已成功计算 %d 个小型变体的大小。',
- ],
- 'fix-tree' => [
- 'title' => '树结构统计',
- 'Oddness' => '异常项',
- 'Duplicates' => '重复项',
- 'Wrong parents' => '错误的父级',
- 'Missing parents' => '缺失的父级',
- 'button' => '修复树结构',
- ],
- 'optimize' => [
- 'title' => '优化数据库',
- 'description' => '如果您注意到安装运行变慢,可能是因为您的数据库缺少必要的索引。',
- 'button' => '优化数据库',
- ],
- 'update' => [
- 'title' => '更新',
- 'check-button' => '检查更新',
- 'update-button' => '更新',
- 'no-pending-updates' => '没有待处理的更新。',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => '清除缓存',
- 'description' => '清除所有用户的缓存以解决失效问题。',
- 'button' => '清除',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '维护',
+ 'description' => '在此页面中,您可以找到保持 Lychee 安装运行顺畅所需的所有操作。',
+ 'cleaning' => [
+ 'title' => '清理 %s',
+ 'result' => '已删除 %s。',
+ 'description' => '删除 %s 中的所有内容',
+ 'button' => '清理',
+ ],
+ 'duplicate-finder' => [
+ 'title' => '重复项',
+ 'description' => '此模块统计图片之间的潜在重复项。',
+ 'duplicates-all' => '所有相册中的重复项',
+ 'duplicates-title' => '每个相册中的标题重复项',
+ 'duplicates-per-album' => '每个相册中的重复项',
+ 'show' => '显示重复项',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => '修复任务历史',
+ 'description' => '将状态为 %s 或 %s 的任务标记为 %s。',
+ 'button' => '修复任务历史',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => '缺失的 %s',
+ 'description' => '发现 %d 个可以生成的 %s。',
+ 'button' => '生成!',
+ 'success' => '已成功生成 %d 个 %s。',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => '缺失文件大小',
+ 'description' => '发现 %d 个缺少文件大小的小型变体。',
+ 'button' => '获取数据!',
+ 'success' => '已成功计算 %d 个小型变体的大小。',
+ ],
+ 'fix-tree' => [
+ 'title' => '树结构统计',
+ 'Oddness' => '异常项',
+ 'Duplicates' => '重复项',
+ 'Wrong parents' => '错误的父级',
+ 'Missing parents' => '缺失的父级',
+ 'button' => '修复树结构',
+ ],
+ 'optimize' => [
+ 'title' => '优化数据库',
+ 'description' => '如果您注意到安装运行变慢,可能是因为您的数据库缺少必要的索引。',
+ 'button' => '优化数据库',
+ ],
+ 'update' => [
+ 'title' => '更新',
+ 'check-button' => '检查更新',
+ 'update-button' => '更新',
+ 'no-pending-updates' => '没有待处理的更新。',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => '清除缓存',
+ 'description' => '清除所有用户的缓存以解决失效问题。',
+ 'button' => '清除',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/zh_CN/moderation.php b/lang/zh_CN/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/zh_CN/moderation.php
+++ b/lang/zh_CN/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/zh_CN/profile.php b/lang/zh_CN/profile.php
index e02c0f9ae46..24ad2214e96 100644
--- a/lang/zh_CN/profile.php
+++ b/lang/zh_CN/profile.php
@@ -1,80 +1,80 @@
'个人资料',
- 'login' => [
- 'header' => '个人资料',
- 'enter_current_password' => '请输入您的当前密码:',
- 'current_password' => '当前密码',
- 'credentials_update' => '您的登录信息将更改为:',
- 'username' => '用户名',
- 'new_password' => '新密码',
- 'confirm_new_password' => '确认新密码',
- 'email_instruction' => '添加您的邮箱以启用邮件通知。如需停止接收邮件,只需删除下方的邮箱地址即可。',
- 'email' => '邮箱',
- 'change' => '修改登录信息',
- 'api_token' => 'API 令牌...',
- 'missing_fields' => '缺少必填项',
- 'ldap_managed' => '用户登录信息由 LDAP 管理。',
- ],
- 'register' => [
- 'username_exists' => '用户名已存在。',
- 'password_mismatch' => '密码不匹配。',
- 'signup' => '注册',
- 'error' => '注册账户时发生错误。',
- 'success' => '您的账户已成功创建。',
- ],
- 'token' => [
- 'unavailable' => '您已查看过此令牌。',
- 'no_data' => '尚未生成 API 令牌。',
- 'disable' => '禁用',
- 'disabled' => '令牌已禁用',
- 'warning' => '此令牌不会再次显示。请复制并将其保存在安全的地方。',
- 'reset' => '重置令牌',
- 'create' => '创建新令牌',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth 不可用',
- 'setup_env' => '在 .env 文件中设置凭据',
- 'token_registered' => '%s 令牌已注册。',
- 'setup' => '设置 %s',
- 'reset' => '重置',
- 'credential_deleted' => '凭据已删除!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => '这仅提供使用 WebAuthn 进行身份验证的功能,以替代用户名和密码。',
- 'empty' => '凭据列表为空!',
- 'not_secure' => '环境不安全。U2F 不可用。',
- 'new' => '注册新设备',
- 'credential_deleted' => '凭据已删除!',
- 'credential_updated' => '凭据已更新!',
- 'credential_registred' => '注册成功!',
- '5_chars' => '至少需要 5 个字符。',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '个人资料',
+ 'login' => [
+ 'header' => '个人资料',
+ 'enter_current_password' => '请输入您的当前密码:',
+ 'current_password' => '当前密码',
+ 'credentials_update' => '您的登录信息将更改为:',
+ 'username' => '用户名',
+ 'new_password' => '新密码',
+ 'confirm_new_password' => '确认新密码',
+ 'email_instruction' => '添加您的邮箱以启用邮件通知。如需停止接收邮件,只需删除下方的邮箱地址即可。',
+ 'email' => '邮箱',
+ 'change' => '修改登录信息',
+ 'api_token' => 'API 令牌...',
+ 'missing_fields' => '缺少必填项',
+ 'ldap_managed' => '用户登录信息由 LDAP 管理。',
+ ],
+ 'register' => [
+ 'username_exists' => '用户名已存在。',
+ 'password_mismatch' => '密码不匹配。',
+ 'signup' => '注册',
+ 'error' => '注册账户时发生错误。',
+ 'success' => '您的账户已成功创建。',
+ ],
+ 'token' => [
+ 'unavailable' => '您已查看过此令牌。',
+ 'no_data' => '尚未生成 API 令牌。',
+ 'disable' => '禁用',
+ 'disabled' => '令牌已禁用',
+ 'warning' => '此令牌不会再次显示。请复制并将其保存在安全的地方。',
+ 'reset' => '重置令牌',
+ 'create' => '创建新令牌',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth 不可用',
+ 'setup_env' => '在 .env 文件中设置凭据',
+ 'token_registered' => '%s 令牌已注册。',
+ 'setup' => '设置 %s',
+ 'reset' => '重置',
+ 'credential_deleted' => '凭据已删除!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => '这仅提供使用 WebAuthn 进行身份验证的功能,以替代用户名和密码。',
+ 'empty' => '凭据列表为空!',
+ 'not_secure' => '环境不安全。U2F 不可用。',
+ 'new' => '注册新设备',
+ 'credential_deleted' => '凭据已删除!',
+ 'credential_updated' => '凭据已更新!',
+ 'credential_registred' => '注册成功!',
+ '5_chars' => '至少需要 5 个字符。',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/zh_CN/renamer.php b/lang/zh_CN/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/zh_CN/renamer.php
+++ b/lang/zh_CN/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/zh_CN/settings.php b/lang/zh_CN/settings.php
index d5b43fdc0e5..3e53d65560b 100644
--- a/lang/zh_CN/settings.php
+++ b/lang/zh_CN/settings.php
@@ -1,103 +1,103 @@
'设置',
- 'small_screen' => '为了获得更好的设置页面体验,
建议您使用更大的屏幕。',
- 'tabs' => [
- 'basic' => '基本',
- 'all_settings' => '所有设置',
- ],
- 'toasts' => [
- 'change_saved' => '更改已保存!',
- 'details' => '设置已按要求修改',
- 'error' => '错误!',
- 'error_load_css' => '无法加载 dist/user.css',
- 'error_load_js' => '无法加载 dist/custom.js',
- 'error_save_css' => '无法保存 CSS',
- 'error_save_js' => '无法保存 JS',
- 'thank_you' => '感谢您的支持。',
- 'reload' => '请刷新页面以获得完整功能。',
- ],
- 'system' => [
- 'header' => '系统',
- 'use_dark_mode' => '使用 Lychee 深色模式',
- 'language' => 'Lychee 使用的语言',
- 'nsfw_album_visibility' => '默认显示敏感相册。',
- 'nsfw_album_explanation' => '如果相册是公开的,它仍然可以访问,只是被隐藏起来,可以通过按 H 键显示。',
- 'cache_enabled' => '启用响应缓存',
- 'cache_enabled_details' => '这将显著提高 Lychee 的响应速度。
如果您使用了密码保护的相册,建议不要启用此功能。',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => '获取独家功能并支持 Lychee 的开发。解锁 支持者版本。',
- 'preview' => '启用 Lychee SE 功能预览',
- 'hide_call4action' => '隐藏 Lychee SE 注册表单。我对现有的 Lychee 很满意。:)',
- 'hide_warning' => '启用后,注册许可证密钥的唯一方式将是通过上方的更多选项卡。更改将在页面刷新后生效。',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => '要从 Dropbox 导入照片,您需要从其网站获取有效的 drop-ins 应用密钥。',
- 'api_key' => 'Dropbox API 密钥',
- 'set_key' => '设置 Dropbox 密钥',
- ],
- 'gallery' => [
- 'header' => '相册',
- 'photo_order_column' => '照片排序默认列',
- 'photo_order_direction' => '照片排序默认方向',
- 'album_order_column' => '相册排序默认列',
- 'album_order_direction' => '相册排序默认方向',
- 'aspect_ratio' => '相册缩略图默认宽高比',
- 'photo_layout' => '图片布局',
- 'album_decoration' => '在相册封面显示装饰(子相册 和/或 照片数量)',
- 'album_decoration_direction' => '相册装饰水平或垂直对齐',
- 'photo_overlay' => '默认图片覆盖信息',
- 'license_default' => '相册默认许可证',
- 'license_help' => '需要帮助选择?',
- ],
- 'geolocation' => [
- 'header' => '地理位置',
- 'map_display' => '显示 GPS 坐标对应的地图',
- 'map_display_public' => '允许匿名用户访问地图',
- 'map_provider' => '设置地图提供商',
- 'map_include_subalbums' => '在地图上包含子相册的照片',
- 'location_decoding' => '使用 GPS 位置解码',
- 'location_show' => '显示从 GPS 坐标提取的位置',
- 'location_show_public' => '匿名用户可以访问从 GPS 坐标提取的位置',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => '修改 CSS',
- 'change_js' => '修改 JS',
- ],
- 'all' => [
- 'old_setting_style' => '旧设置样式',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => '部分设置已更改。',
- 'save' => '保存',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => '已禁用',
- 'enabled' => '已启用',
- 'discover' => '发现',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '设置',
+ 'small_screen' => '为了获得更好的设置页面体验,
建议您使用更大的屏幕。',
+ 'tabs' => [
+ 'basic' => '基本',
+ 'all_settings' => '所有设置',
+ ],
+ 'toasts' => [
+ 'change_saved' => '更改已保存!',
+ 'details' => '设置已按要求修改',
+ 'error' => '错误!',
+ 'error_load_css' => '无法加载 dist/user.css',
+ 'error_load_js' => '无法加载 dist/custom.js',
+ 'error_save_css' => '无法保存 CSS',
+ 'error_save_js' => '无法保存 JS',
+ 'thank_you' => '感谢您的支持。',
+ 'reload' => '请刷新页面以获得完整功能。',
+ ],
+ 'system' => [
+ 'header' => '系统',
+ 'use_dark_mode' => '使用 Lychee 深色模式',
+ 'language' => 'Lychee 使用的语言',
+ 'nsfw_album_visibility' => '默认显示敏感相册。',
+ 'nsfw_album_explanation' => '如果相册是公开的,它仍然可以访问,只是被隐藏起来,可以通过按 H 键显示。',
+ 'cache_enabled' => '启用响应缓存',
+ 'cache_enabled_details' => '这将显著提高 Lychee 的响应速度。
如果您使用了密码保护的相册,建议不要启用此功能。',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => '获取独家功能并支持 Lychee 的开发。解锁 支持者版本。',
+ 'preview' => '启用 Lychee SE 功能预览',
+ 'hide_call4action' => '隐藏 Lychee SE 注册表单。我对现有的 Lychee 很满意。:)',
+ 'hide_warning' => '启用后,注册许可证密钥的唯一方式将是通过上方的更多选项卡。更改将在页面刷新后生效。',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => '要从 Dropbox 导入照片,您需要从其网站获取有效的 drop-ins 应用密钥。',
+ 'api_key' => 'Dropbox API 密钥',
+ 'set_key' => '设置 Dropbox 密钥',
+ ],
+ 'gallery' => [
+ 'header' => '相册',
+ 'photo_order_column' => '照片排序默认列',
+ 'photo_order_direction' => '照片排序默认方向',
+ 'album_order_column' => '相册排序默认列',
+ 'album_order_direction' => '相册排序默认方向',
+ 'aspect_ratio' => '相册缩略图默认宽高比',
+ 'photo_layout' => '图片布局',
+ 'album_decoration' => '在相册封面显示装饰(子相册 和/或 照片数量)',
+ 'album_decoration_direction' => '相册装饰水平或垂直对齐',
+ 'photo_overlay' => '默认图片覆盖信息',
+ 'license_default' => '相册默认许可证',
+ 'license_help' => '需要帮助选择?',
+ ],
+ 'geolocation' => [
+ 'header' => '地理位置',
+ 'map_display' => '显示 GPS 坐标对应的地图',
+ 'map_display_public' => '允许匿名用户访问地图',
+ 'map_provider' => '设置地图提供商',
+ 'map_include_subalbums' => '在地图上包含子相册的照片',
+ 'location_decoding' => '使用 GPS 位置解码',
+ 'location_show' => '显示从 GPS 坐标提取的位置',
+ 'location_show_public' => '匿名用户可以访问从 GPS 坐标提取的位置',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => '修改 CSS',
+ 'change_js' => '修改 JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => '旧设置样式',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => '部分设置已更改。',
+ 'save' => '保存',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => '已禁用',
+ 'enabled' => '已启用',
+ 'discover' => '发现',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/zh_CN/sharing.php b/lang/zh_CN/sharing.php
index 827a268aa32..63c81fa91c2 100644
--- a/lang/zh_CN/sharing.php
+++ b/lang/zh_CN/sharing.php
@@ -1,39 +1,39 @@
'共享',
- 'info' => '此页面提供相册共享权限的概览和编辑功能。',
- 'album_title' => '相册标题',
- 'username' => '用户名',
- 'no_data' => '共享列表为空。',
- 'share' => '共享',
- 'add_new_access_permission' => '添加新的访问权限',
- 'permission_deleted' => '权限已删除!',
- 'permission_created' => '权限已创建!',
- 'propagate' => '传播',
- 'propagate_help' => '将当前访问权限传播到所有子项
(子相册及其各自的子相册等)',
- 'propagate_default' => '默认情况下,现有权限(相册-用户)
将被更新,并添加缺失的权限。
此列表中不存在的其他权限将保持不变。',
- 'propagate_overwrite' => '覆盖现有权限而不是更新。
这也将删除此列表中不存在的所有权限。',
- 'propagate_warning' => '此操作无法撤销。',
- 'permission_overwritten' => '传播成功!权限已覆盖!',
- 'permission_updated' => '传播成功!权限已更新!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => '授予读取权限',
- 'original' => '授予访问原始照片的权限',
- 'download' => '授予下载权限',
- 'upload' => '授予上传权限',
- 'edit' => '授予编辑权限',
- 'delete' => '授予删除权限',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '共享',
+ 'info' => '此页面提供相册共享权限的概览和编辑功能。',
+ 'album_title' => '相册标题',
+ 'username' => '用户名',
+ 'no_data' => '共享列表为空。',
+ 'share' => '共享',
+ 'add_new_access_permission' => '添加新的访问权限',
+ 'permission_deleted' => '权限已删除!',
+ 'permission_created' => '权限已创建!',
+ 'propagate' => '传播',
+ 'propagate_help' => '将当前访问权限传播到所有子项
(子相册及其各自的子相册等)',
+ 'propagate_default' => '默认情况下,现有权限(相册-用户)
将被更新,并添加缺失的权限。
此列表中不存在的其他权限将保持不变。',
+ 'propagate_overwrite' => '覆盖现有权限而不是更新。
这也将删除此列表中不存在的所有权限。',
+ 'propagate_warning' => '此操作无法撤销。',
+ 'permission_overwritten' => '传播成功!权限已覆盖!',
+ 'permission_updated' => '传播成功!权限已更新!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => '授予读取权限',
+ 'original' => '授予访问原始照片的权限',
+ 'download' => '授予下载权限',
+ 'upload' => '授予上传权限',
+ 'edit' => '授予编辑权限',
+ 'delete' => '授予删除权限',
+ ],
];
diff --git a/lang/zh_CN/statistics.php b/lang/zh_CN/statistics.php
index c6ba74481d1..2628a730c9b 100644
--- a/lang/zh_CN/statistics.php
+++ b/lang/zh_CN/statistics.php
@@ -1,63 +1,63 @@
'统计',
- 'preview_text' => '这是 Lychee SE 版本中统计页面的预览。
此处显示的数据是随机生成的,并不反映您的服务器实际情况。',
- 'no_data' => '用户在服务器上没有数据。',
- 'collapse' => '折叠相册大小',
- 'total' => [
- 'total' => '总计',
- 'albums' => '相册',
- 'photos' => '照片',
- 'size' => '大小',
- ],
- 'table' => [
- 'username' => '所有者',
- 'title' => '标题',
- 'photos' => '照片',
- 'descendants' => '子项',
- 'size' => '大小',
- ],
- 'punch_card' => [
- 'title' => '活动',
- 'photo-taken' => '拍摄了 %d 张照片',
- 'photo-taken-in' => '%2$d 年拍摄了 %1$d 张照片',
- 'photo-uploaded' => '上传了 %d 张照片',
- 'photo-uploaded-in' => '%2$d 年上传了 %1$d 张照片',
- 'with-exif' => '包含 EXIF 数据',
- 'less' => '较少',
- 'more' => '较多',
- 'tooltip' => '%2$s 有 %1$d 张照片',
- 'created_at' => '上传日期',
- 'taken_at' => 'EXIF 日期',
- 'caption' => '每列代表一周。',
- ],
- 'metrics' => [
- 'header' => 'Live metrics',
- 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
- 'a_visitor' => 'A visitor',
- 'visitors' => '%d visitors',
- 'visit_singular' => '%1$s viewed %2$s',
- 'favourite_singular' => '%1$s favourited %2$s',
- 'download_singular' => '%1$s downloaded %2$s',
- 'shared_singular' => '%1$s shared %2$s',
- 'visit_plural' => '%1$s viewed %2$s',
- 'favourite_plural' => '%1$s favourited %2$s',
- 'download_plural' => '%1$s downloaded %2$s',
- 'shared_plural' => '%1$s shared %2$s',
- 'ago' => [
- 'days' => '%d days ago',
- 'day' => 'a day ago',
- 'hours' => '%d hours ago',
- 'hour' => 'an hour ago',
- 'minutes' => '%d minutes ago',
- 'few_minutes' => 'a few minute ago',
- 'seconds' => 'a few seconds ago',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '统计',
+ 'preview_text' => '这是 Lychee SE 版本中统计页面的预览。
此处显示的数据是随机生成的,并不反映您的服务器实际情况。',
+ 'no_data' => '用户在服务器上没有数据。',
+ 'collapse' => '折叠相册大小',
+ 'total' => [
+ 'total' => '总计',
+ 'albums' => '相册',
+ 'photos' => '照片',
+ 'size' => '大小',
+ ],
+ 'table' => [
+ 'username' => '所有者',
+ 'title' => '标题',
+ 'photos' => '照片',
+ 'descendants' => '子项',
+ 'size' => '大小',
+ ],
+ 'punch_card' => [
+ 'title' => '活动',
+ 'photo-taken' => '拍摄了 %d 张照片',
+ 'photo-taken-in' => '%2$d 年拍摄了 %1$d 张照片',
+ 'photo-uploaded' => '上传了 %d 张照片',
+ 'photo-uploaded-in' => '%2$d 年上传了 %1$d 张照片',
+ 'with-exif' => '包含 EXIF 数据',
+ 'less' => '较少',
+ 'more' => '较多',
+ 'tooltip' => '%2$s 有 %1$d 张照片',
+ 'created_at' => '上传日期',
+ 'taken_at' => 'EXIF 日期',
+ 'caption' => '每列代表一周。',
+ ],
+ 'metrics' => [
+ 'header' => 'Live metrics',
+ 'preview_text' => 'This is a preview of the live metrics available in Lychee SE. The data shown here are randomly generated and do not reflect your server.',
+ 'a_visitor' => 'A visitor',
+ 'visitors' => '%d visitors',
+ 'visit_singular' => '%1$s viewed %2$s',
+ 'favourite_singular' => '%1$s favourited %2$s',
+ 'download_singular' => '%1$s downloaded %2$s',
+ 'shared_singular' => '%1$s shared %2$s',
+ 'visit_plural' => '%1$s viewed %2$s',
+ 'favourite_plural' => '%1$s favourited %2$s',
+ 'download_plural' => '%1$s downloaded %2$s',
+ 'shared_plural' => '%1$s shared %2$s',
+ 'ago' => [
+ 'days' => '%d days ago',
+ 'day' => 'a day ago',
+ 'hours' => '%d hours ago',
+ 'hour' => 'an hour ago',
+ 'minutes' => '%d minutes ago',
+ 'few_minutes' => 'a few minute ago',
+ 'seconds' => 'a few seconds ago',
+ ],
+ ],
];
diff --git a/lang/zh_CN/tags.php b/lang/zh_CN/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/zh_CN/tags.php
+++ b/lang/zh_CN/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/zh_CN/toasts.php b/lang/zh_CN/toasts.php
index f4f51cb6d89..c318dbe5640 100644
--- a/lang/zh_CN/toasts.php
+++ b/lang/zh_CN/toasts.php
@@ -1,13 +1,13 @@
'错误',
- 'success' => '成功',
- 'album_updated' => 'Album updated',
- 'update_failed' => 'Failed to update album',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => '错误',
+ 'success' => '成功',
+ 'album_updated' => 'Album updated',
+ 'update_failed' => 'Failed to update album',
];
diff --git a/lang/zh_CN/user-groups.php b/lang/zh_CN/user-groups.php
index 5400513d6f2..98a60efc2a5 100644
--- a/lang/zh_CN/user-groups.php
+++ b/lang/zh_CN/user-groups.php
@@ -1,39 +1,39 @@
'用户组',
- 'explanation' => '用户组允许你组织用户并统一管理权限。',
+ /*
+ |--------------------------------------------------------------------------
+ | 用户组页面
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '用户组',
+ 'explanation' => '用户组允许你组织用户并统一管理权限。',
- 'create_group' => '创建用户组',
- 'edit' => '编辑',
- 'delete' => '删除',
+ 'create_group' => '创建用户组',
+ 'edit' => '编辑',
+ 'delete' => '删除',
- 'loading' => '正在加载用户组...',
- 'empty' => '未找到用户组。',
+ 'loading' => '正在加载用户组...',
+ 'empty' => '未找到用户组。',
- 'add_member' => '添加成员...',
- 'empty_group' => '该用户组为空。',
- 'no_permission_members' => '你没有权限查看该组成员。',
- 'remove_success' => '%s 已从 %s 移除。',
+ 'add_member' => '添加成员...',
+ 'empty_group' => '该用户组为空。',
+ 'no_permission_members' => '你没有权限查看该组成员。',
+ 'remove_success' => '%s 已从 %s 移除。',
- 'confirm_delete_header' => '删除用户组',
- 'confirm_delete_message' => '你确定要删除该用户组吗?',
- 'cancel' => '取消',
- 'confirm' => '删除',
+ 'confirm_delete_header' => '删除用户组',
+ 'confirm_delete_message' => '你确定要删除该用户组吗?',
+ 'cancel' => '取消',
+ 'confirm' => '删除',
- 'create' => [
- 'name' => '用户组名称',
- 'description' => '描述',
- 'users' => '用户',
- 'cancel' => '取消',
- 'create' => '创建',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => '用户组名称',
+ 'description' => '描述',
+ 'users' => '用户',
+ 'cancel' => '取消',
+ 'create' => '创建',
+ 'edit' => 'Edit',
- 'error_name_required' => '用户组名称为必填项。',
- ],
+ 'error_name_required' => '用户组名称为必填项。',
+ ],
];
diff --git a/lang/zh_CN/users.php b/lang/zh_CN/users.php
index c7807cc0c76..be79a7324e8 100644
--- a/lang/zh_CN/users.php
+++ b/lang/zh_CN/users.php
@@ -1,50 +1,50 @@
'用户',
- 'description' => '在这里您可以管理 Lychee 安装的用户。您可以创建、编辑和删除用户。',
- 'create' => '创建新用户',
- 'username' => '用户名',
- 'password' => '密码',
- 'legend' => '图例',
- 'upload_rights' => '选中后,用户可以上传内容。',
- 'edit_rights' => '选中后,用户可以修改其个人资料(用户名、密码)。',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '用户',
+ 'description' => '在这里您可以管理 Lychee 安装的用户。您可以创建、编辑和删除用户。',
+ 'create' => '创建新用户',
+ 'username' => '用户名',
+ 'password' => '密码',
+ 'legend' => '图例',
+ 'upload_rights' => '选中后,用户可以上传内容。',
+ 'edit_rights' => '选中后,用户可以修改其个人资料(用户名、密码)。',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => '设置后,用户将有照片空间配额限制(以 kB 为单位)。',
- 'user_deleted' => '用户已删除',
- 'user_created' => '用户已创建',
- 'user_updated' => '用户已更新',
- 'change_saved' => '更改已保存!',
- 'create_edit' => [
- 'upload_rights' => '用户可以上传内容。',
- 'edit_rights' => '用户可以修改其个人资料(用户名、密码)。',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => '设置后,用户将有照片空间配额限制(以 kB 为单位)。',
+ 'user_deleted' => '用户已删除',
+ 'user_created' => '用户已创建',
+ 'user_updated' => '用户已更新',
+ 'change_saved' => '更改已保存!',
+ 'create_edit' => [
+ 'upload_rights' => '用户可以上传内容。',
+ 'edit_rights' => '用户可以修改其个人资料(用户名、密码)。',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => '用户有配额限制。',
- 'quota_kb' => '配额(kB,0 表示使用默认值)',
- 'note' => '管理员备注(不公开显示)',
- 'create' => '创建',
- 'edit' => '编辑',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => '管理员用户',
- 'edit' => '编辑',
- 'delete' => '删除',
- ],
+ 'quota' => '用户有配额限制。',
+ 'quota_kb' => '配额(kB,0 表示使用默认值)',
+ 'note' => '管理员备注(不公开显示)',
+ 'create' => '创建',
+ 'edit' => '编辑',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => '管理员用户',
+ 'edit' => '编辑',
+ 'delete' => '删除',
+ ],
];
diff --git a/lang/zh_CN/webhook.php b/lang/zh_CN/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/zh_CN/webhook.php
+++ b/lang/zh_CN/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/zh_CN/webshop.php b/lang/zh_CN/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/zh_CN/webshop.php
+++ b/lang/zh_CN/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];
diff --git a/lang/zh_TW/admin-dashboard.php b/lang/zh_TW/admin-dashboard.php
index c41eecdd7d1..e684f2599e4 100644
--- a/lang/zh_TW/admin-dashboard.php
+++ b/lang/zh_TW/admin-dashboard.php
@@ -7,34 +7,34 @@
*/
return [
- 'title' => 'Admin Dashboard',
- 'overview' => 'Overview',
- 'tools' => 'Tools',
- 'tool_groups' => [
- 'core' => 'Admin',
- 'monitoring' => 'Monitoring',
- 'extensions' => 'Extensions',
- ],
- 'refresh' => 'Refresh',
- 'metrics' => [
- 'photos_count' => 'Photos',
- 'albums_count' => 'Albums',
- 'users_count' => 'Users',
- 'storage_bytes' => 'Storage used',
- 'queued_jobs' => 'Queued jobs',
- 'failed_jobs_24h' => 'Failed jobs (24h)',
- 'last_successful_job_at' => 'Last successful job',
- ],
- 'errors' => [
- 'partial' => 'Some metrics could not be loaded.',
- ],
- 'security' => [
- 'title' => 'Security Advisories',
- 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
- 'no_cvss' => '(no CVSS score)',
- ],
- 'update' => [
- 'title' => 'Update Status',
- 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
- ],
+ 'title' => 'Admin Dashboard',
+ 'overview' => 'Overview',
+ 'tools' => 'Tools',
+ 'tool_groups' => [
+ 'core' => 'Admin',
+ 'monitoring' => 'Monitoring',
+ 'extensions' => 'Extensions',
+ ],
+ 'refresh' => 'Refresh',
+ 'metrics' => [
+ 'photos_count' => 'Photos',
+ 'albums_count' => 'Albums',
+ 'users_count' => 'Users',
+ 'storage_bytes' => 'Storage used',
+ 'queued_jobs' => 'Queued jobs',
+ 'failed_jobs_24h' => 'Failed jobs (24h)',
+ 'last_successful_job_at' => 'Last successful job',
+ ],
+ 'errors' => [
+ 'partial' => 'Some metrics could not be loaded.',
+ ],
+ 'security' => [
+ 'title' => 'Security Advisories',
+ 'description' => 'The following vulnerabilities affect your current Lychee version. Please update as soon as possible.',
+ 'no_cvss' => '(no CVSS score)',
+ ],
+ 'update' => [
+ 'title' => 'Update Status',
+ 'update_available' => 'A newer version is available (current: :current, latest: :latest).',
+ ],
];
diff --git a/lang/zh_TW/all_settings.php b/lang/zh_TW/all_settings.php
index 406047d9ec6..56a20964092 100644
--- a/lang/zh_TW/all_settings.php
+++ b/lang/zh_TW/all_settings.php
@@ -1,748 +1,748 @@
[
- 'version' => 'Current version of Lychee',
- 'check_for_updates' => 'Automatically check for new updates',
- 'sorting_photos_col' => 'Default column used for sorting photos',
- 'sorting_photos_order' => 'Default order used for sorting photos',
- 'sorting_albums_col' => 'Default column used for sorting albums',
- 'sorting_albums_order' => 'Default order used for sorting albums',
- 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
- 'imagick' => 'Enable imagick processing',
- 'dropbox_key' => 'Dropbox API key',
- 'skip_duplicates' => 'Skip duplicate if found on import',
- 'lang' => 'Language used by Lychee',
- 'default_license' => 'Default license used for albums',
- 'small_max_width' => 'Maximum width for small thumbs (album view)',
- 'small_max_height' => 'Maximum height for small thumbs (album view)',
- 'medium_max_width' => 'Maximum width for medium image (photo view)',
- 'medium_max_height' => 'Maximum height for medium image (photo view)',
- 'grants_full_photo_access' => 'Allows access to full resolution by default',
- 'delete_imported' => 'When importing from server, delete originals',
- 'mod_frame_enabled' => 'Enable Mod Frame',
- 'mod_frame_refresh' => 'Refresh rate of the Frame',
- 'image_overlay_type' => 'Default image overlay information',
- 'compression_quality' => 'Compression percent when generating thumbs',
- 'landing_page_enable' => 'Display the landing page',
- 'site_owner' => 'Website Owner',
- 'landing_title' => 'Title on the landing page',
- 'landing_subtitle' => 'Subtitle on the landing page',
- 'sm_facebook_url' => 'Url of facebook profile',
- 'sm_flickr_url' => 'Url of flickr profile',
- 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
- 'sm_instagram_url' => 'Url of instagram profile',
- 'sm_youtube_url' => 'Url of youtube profile',
- 'thumb_2x' => 'Enable 2x size of square thumbs',
- 'small_2x' => 'Enable 2x size of small thumbs',
- 'medium_2x' => 'Enable 2x size of medium pictures',
- 'site_title' => 'Website title',
- 'footer_show_copyright' => 'Display copyright in footer.',
- 'site_copyright_begin' => 'Initial year of copyright',
- 'site_copyright_end' => 'Last year of copyright',
- 'allow_online_git_pull' => 'Allow git pull via web interface',
- 'footer_additional_text' => 'Additional text of the footer.',
- 'footer_show_social_media' => 'Show socials media links in footer.',
- 'search_public' => 'Allows anonymous user to use the Search bar',
- 'hide_version_number' => 'Hide current version number',
- 'recent_age' => 'Maximum age of pictures in Recent in days',
- 'grants_download' => 'Grants download by default.',
- 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
- 'raw_formats' => 'Allowed extra formats, will not be processed',
- 'raw_download_enabled' => 'Allow users to download the original RAW file',
- 'map_display' => 'Display the map given GPS coordinates',
- 'zip64' => 'Use Zip 64bits instead of 32 bits',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'update_check_every_days' => 'Frequency of Lychee update checks',
- 'has_exiftool' => 'Defines whether exiftool processing is available',
- 'share_button_visible' => 'Share button visibility in the header',
- 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
- 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
- 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates.',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
- 'rss_enable' => 'Enable RSS feed',
- 'rss_recent_days' => 'Display the last X days in the RSS feed',
- 'rss_max_items' => 'Max number of items in the RSS feed',
- 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
- 'editor_enabled' => 'Enable manual rotation of images',
- 'lossless_optimization' => 'Apply additional compression on images',
- 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
- 'log_max_num_line' => 'Display the last X most recent lines in Logs',
- 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
- 'nsfw_visible' => 'Make sensitive albums visible by default',
- 'nsfw_blur' => 'Blur sensitive albums',
- 'nsfw_warning' => 'Enable sensitive albums warning',
- 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
- 'nsfw_banner_override' => 'Custom warning text instead of default.',
- 'map_display_direction' => 'Display the direction of the picture on the map if available',
- 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
- 'upload_processing_limit' => 'Maximum number of images processed in parallel',
- 'new_photos_notification' => 'Enable notifications when new photos are added',
- 'zip_deflate_level' => 'Zip compression level.',
- 'default_album_protection' => 'Default protection for newly created albums',
- 'allow_username_change' => 'Allow users to change their username.',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
- 'auto_fix_orientation' => 'Automatically rotate imported images',
- 'random_album_id' => 'Album id to be used by for random function.',
- 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
- 'ffmpeg_path' => 'Path to the binary of ffmpeg',
- 'ffprobe_path' => 'Path to the binary of ffprobe',
- 'layout' => 'Layout for pictures',
- 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
- 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
- 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
- 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
- 'date_format_hero_min_max' => 'Format the date for the album hero.',
- 'date_format_hero_created_at' => 'Format the created date for the album details.',
- 'date_format_album_thumb' => 'Format the date for the album thumbs.',
- 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
- 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
- 'search_pagination_limit' => 'Number of results to display per page.',
- 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
- 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
- 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
- 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
- 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
- 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
- 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
- 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
- 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'use_album_compact_header' => 'Disable the header image in albums',
- 'back_button_enabled' => 'Enable/disable back button on gallery',
- 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
- 'back_button_url' => 'Link of the back button',
- 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
- 'login_required' => 'Require user to login to access gallery.',
- 'enable_unsorted' => 'Enable Unsorted smart album.',
- 'enable_highlighted' => 'Enable Highlighted smart album.',
- 'enable_recent' => 'Enable Recent uploads smart album.',
- 'enable_on_this_day' => 'Enable On this day smart album.',
- 'enable_unrated' => 'Show smart album containing photos without any ratings.',
- 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
- 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
- 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
- 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
- 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
- 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
- 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
- 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
- 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
- 'my_best_pictures_count' => 'My Best Pictures album photo count.',
- 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
- 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
- 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
- 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
- 'exiftool_path' => 'Path to the binary of exiftool.',
- 'thumb_min_max_order' => 'Set which date to display first in thumb.',
- 'header_min_max_order' => 'Set which date to display first in header.',
- 'autoplay_enabled' => 'Set autoplay attribute on videos.',
- 'dark_mode_enabled' => 'Use dark mode for Lychee',
- 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
- 'show_keybinding_help_button' => 'Show keybinding help button in header.',
- 'email' => 'Email used when requesting the license.',
- 'license_key' => 'Lychee License key',
- 'disable_se_call_for_actions' => 'Disable Lychee SE info',
- 'enable_se_preview' => 'Preview Lychee SE features',
- 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
- 'keep_original_untouched' => 'Keep Original image untouched.',
- 'default_user_quota' => 'Default space quota for new users.',
- 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
- 'timeline_photos_enabled' => 'Enable timeline for photos',
- 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
- 'timeline_photos_granularity' => 'Timeline granularity for photos',
- 'timeline_photos_order' => 'Order photos on',
- 'timeline_photos_layout' => 'Photo layout for timeline page',
- 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
- 'timeline_albums_enabled' => 'Enable timeline for albums',
- 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
- 'timeline_albums_granularity' => 'Timeline granularity for albums',
- 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
- 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
- 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
- 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
- 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
- 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
- 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
- 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
- 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
- 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
- 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
- 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
- 'search_photos_layout' => 'Photo layout for search page',
- 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
- 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
- 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
- 'cache_enabled' => 'Enable caching of responses given requests.',
- 'cache_event_logging' => 'Add log lines for events related to caching.',
- 'cache_ttl' => 'Number of seconds responses should be cached.',
- 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
- 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
- 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
- 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
- 'disable_recursive_permission_check' => 'Disable recursive permission check.',
- 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
- 'display_exif_data' => 'Display Exif data.',
- 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
- 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
- 'default_old_settings' => 'Settings view as text input by default.',
- 'default_expert_settings' => 'Expert settings view enabled by default.',
- 'default_all_settings' => 'Show all settings in one page.',
- 'disable_thumb_download' => 'Disable the download of squared thumbs',
- 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
- 'disable_small_download' => 'Disable the download of thumbs',
- 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
- 'disable_medium_download' => 'Disable the download of Medium',
- 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
- 'landing_background_landscape_mode' => 'Mode for landscape background',
- 'landing_background_portrait_mode' => 'Mode for portrait background',
- 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
- 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
- 'metrics_enabled' => 'Enable statistics on photos & albums',
- 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
- 'metrics_access' => 'Access level for statistics of the album/photo',
- 'live_metrics_enabled' => 'Enable live statistics',
- 'live_metrics_access' => 'Access level for live metrics',
- 'live_metrics_max_time' => 'Max age for live metrics in days',
- 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
- 'temporary_image_link_enabled' => 'Enable temporary image links',
- 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
- 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
- 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
- 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
- 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
- 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
- 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
- 'slideshow_enabled' => 'Enable the slideshow functionality.',
- 'user_registration_enabled' => 'Enable user registration.',
- 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
- 'colour_extraction_driver' => 'Driver for colour extraction.',
- 'home_page_default' => 'Default home page after landing',
- 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
- 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
- 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
- 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
- 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
- 'flow_enabled' => 'Enable Flow display',
- 'flow_public' => 'Allows anonymous user to access the Flow',
- 'flow_base' => 'Base album id for the flow',
- 'flow_min_max_order' => 'Set which min-max date to display first.',
- 'flow_max_items' => 'Maximum number of items in the flow',
- 'flow_strategy' => 'Flow strategy',
- 'flow_include_sub_albums' => 'Include sub-albums in the flow',
- 'flow_include_photos_from_children' => 'Include photos from children albums',
- 'flow_open_album_on_click' => 'Open album on click',
- 'flow_display_open_album_button' => 'Display open album button',
- 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
- 'flow_min_max_enabled' => 'Enable min-max date in the flow',
- 'flow_display_statistics' => 'Display album statistics in the flow',
- 'flow_compact_mode_enabled' => 'Enable flow compact mode',
- 'flow_image_header_enabled' => 'Enable image header in the flow',
- 'flow_image_header_cover' => 'Image header display',
- 'flow_image_header_height' => 'Image header height',
- 'flow_carousel_enabled' => 'Enable image carousel in the flow',
- 'flow_carousel_height' => 'Carousel height',
- 'date_format_flow_published' => 'Format the date displayed in the flow',
- 'date_format_flow_min_max' => 'Format the min-max date.',
- 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
- 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
- 'gallery_header_enabled' => 'Enable header image in the gallery view',
- 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
- 'gallery_header' => 'URL of header image in the gallery view',
- 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
- 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
- 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
- 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
- 'import_via_url_require_https' => 'Import via URL must use https',
- 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
- 'owner_id' => 'Owner of the installation',
- 'details_links_enabled' => 'Enable image links in photo details',
- 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
- 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
- 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
- 'timeline_page_enabled' => 'Enable timeline page',
- 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
- 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
- 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
- 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
- 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
- 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
- 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
- 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
- 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
- 'copyright_text' => 'Copyright text (replaces default copyright notice)',
- 'watermark_enabled' => 'Enable watermarking of photos',
- 'watermark_photo_id' => 'Watermark photo id',
- 'watermark_random_path' => 'Use random path for watermarked images',
- 'watermark_public' => 'Show watermark on public photos',
- 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
- 'watermark_original' => 'Also watermark the original photo',
- 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
- 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
- 'watermark_position' => 'Watermark position on the image',
- 'watermark_shift_type' => 'Shift the watermark relatively to the size',
- 'watermark_shift_x' => 'Horizontal shift',
- 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
- 'watermark_shift_y' => 'Vertical shift',
- 'watermark_shift_y_direction' => 'Direction of the vertical shift',
- 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
- 'renamer_enabled' => 'Enable renamer rules',
- 'renamer_enforced' => 'Enforce renamer rules',
- 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
- 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
- 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
- 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
- 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
- 'webshop_enabled' => 'Enable webshop',
- 'webshop_currency' => 'Purchasable currency',
- 'webshop_default_description' => 'Default description for purchasable items',
- 'webshop_allow_guest_checkout' => 'Allow guest checkout',
- 'webshop_terms_url' => 'Terms and Conditions URL',
- 'webshop_privacy_url' => 'Privacy Policy URL',
- 'webshop_default_price_cents' => 'Default price in cents',
- 'webshop_default_license' => 'Default license type',
- 'webshop_default_size' => 'Default size variant',
- 'enable_untagged' => 'Enable Untagged smart album.',
- 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
- 'webshop_offline' => 'Keep webshop offline',
- 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
- 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
- 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
- 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
- 'album_layout' => 'Default album view layout.',
- 'albums_per_page' => 'Number of sub-albums per page.',
- 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
- 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
- 'photos_per_page' => 'Number of photos per page.',
- 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
- 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
- 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
- 'rating_enabled' => 'Enable photo rating',
- 'rating_public' => 'Make photo ratings public',
- 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
- 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
- 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
- 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
- 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
- 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
- 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
- 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
- 'enable_photo_details_always_open' => 'Photo details always visible.',
- 'album_enhanced_display_enabled' => 'Enable enhanced album header',
- 'album_header_size' => 'Album header size',
- 'album_header_landing_title_enabled' => 'Display landing title on album header',
- ],
- 'details' => [
- 'version' => '',
- 'check_for_updates' => '',
- 'sorting_photos_col' => '',
- 'sorting_photos_order' => '',
- 'sorting_albums_col' => '',
- 'sorting_albums_order' => '',
- 'photos_star_visibility' => '',
- 'imagick' => '',
- 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
- 'skip_duplicates' => '',
- 'lang' => '',
- 'default_license' => '',
- 'small_max_width' => '',
- 'small_max_height' => '',
- 'medium_max_width' => '',
- 'medium_max_height' => '',
- 'grants_full_photo_access' => '',
- 'delete_imported' => '',
- 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
- 'mod_frame_refresh' => '',
- 'image_overlay_type' => '',
- 'compression_quality' => '',
- 'landing_page_enable' => '',
- 'site_owner' => '',
- 'landing_title' => '',
- 'landing_subtitle' => '',
- 'sm_facebook_url' => '',
- 'sm_flickr_url' => '',
- 'sm_twitter_url' => '',
- 'sm_instagram_url' => '',
- 'sm_youtube_url' => '',
- 'thumb_2x' => '',
- 'small_2x' => '',
- 'medium_2x' => '',
- 'site_title' => '',
- 'footer_show_copyright' => '',
- 'site_copyright_begin' => '',
- 'site_copyright_end' => '',
- 'allow_online_git_pull' => '',
- 'footer_additional_text' => ' Unsanitized html field.',
- 'footer_show_social_media' => '',
- 'search_public' => '',
- 'hide_version_number' => '',
- 'recent_age' => '',
- 'grants_download' => '',
- 'photos_wraparound' => '',
- 'raw_formats' => '',
- 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
- 'map_display' => '',
- 'zip64' => '',
- 'map_display_public' => '',
- 'map_provider' => '',
- 'map_include_subalbums' => '',
- 'update_check_every_days' => '',
- 'has_exiftool' => '',
- 'share_button_visible' => '',
- 'has_ffmpeg' => '',
- 'import_via_symlink' => '',
- 'apply_composer_update' => '',
- 'location_decoding' => '',
- 'location_decoding_timeout' => '',
- 'location_show' => 'Only the decoded location is impacted by this setting.',
- 'location_show_public' => 'Only the decoded location is impacted by this setting.',
- 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
- 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
- 'rss_enable' => '',
- 'rss_recent_days' => '',
- 'rss_max_items' => '',
- 'prefer_available_xmp_metadata' => '',
- 'editor_enabled' => '',
- 'lossless_optimization' => '',
- 'local_takestamp_video_formats' => '',
- 'log_max_num_line' => '',
- 'unlock_password_photos_with_url_param' => '',
- 'nsfw_visible' => '',
- 'nsfw_blur' => 'Blur the album cover.',
- 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
- 'nsfw_warning_admin' => '',
- 'nsfw_banner_override' => ' Unsanitized html field.',
- 'map_display_direction' => '',
- 'album_subtitle_type' => '',
- 'upload_processing_limit' => '',
- 'new_photos_notification' => '',
- 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
- 'default_album_protection' => '',
- 'allow_username_change' => '',
- 'album_decoration' => '',
- 'album_decoration_orientation' => '',
- 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
- 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
- 'use_last_modified_date_when_no_exif_date' => '',
- 'ffmpeg_path' => '',
- 'ffprobe_path' => '',
- 'layout' => '',
- 'date_format_photo_thumb' => 'See datetime.format.php',
- 'date_format_photo_overlay' => 'See datetime.format.php',
- 'date_format_sidebar_uploaded' => 'See datetime.format.php',
- 'date_format_sidebar_taken_at' => 'See datetime.format.php',
- 'date_format_hero_min_max' => 'See datetime.format.php',
- 'date_format_hero_created_at' => 'See datetime.format.php',
- 'date_format_album_thumb' => 'See datetime.format.php',
- 'upload_chunk_size' => '',
- 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
- 'search_pagination_limit' => '',
- 'search_minimum_length_required' => '',
- 'photo_layout_justified_row_height' => '',
- 'photo_layout_masonry_column_width' => '',
- 'photo_layout_grid_column_width' => '',
- 'photo_layout_square_column_width' => '',
- 'photo_layout_gap' => '',
- 'display_thumb_album_overlay' => '',
- 'display_thumb_photo_overlay' => '',
- 'default_album_thumb_aspect_ratio' => '',
- 'use_album_compact_header' => '',
- 'back_button_enabled' => '',
- 'back_button_text' => '',
- 'back_button_url' => '',
- 'SA_random_thumbs' => '',
- 'login_required' => '',
- 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
- 'enable_highlighted' => '',
- 'enable_recent' => '',
- 'enable_on_this_day' => '',
- 'enable_unrated' => 'Enable Unrated smart album.',
- 'enable_1_star' => 'Enable 1 Star smart album.',
- 'enable_2_stars' => 'Enable 2 Stars smart album.',
- 'enable_3_stars' => 'Enable 3+ Stars smart album.',
- 'enable_4_stars' => 'Enable 4+ Stars smart album.',
- 'enable_5_stars' => 'Enable 5 Stars smart album.',
- 'enable_best_pictures' => 'Enable Best Pictures smart album.',
- 'best_pictures_count' => 'Best Pictures album photo count.',
- 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
- 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
- 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
- 'oauth_create_user_on_first_attempt' => '',
- 'grant_new_user_upload_rights' => '',
- 'grant_new_user_modification_rights' => '',
- 'login_required_root_only' => '',
- 'exiftool_path' => '',
- 'thumb_min_max_order' => '',
- 'header_min_max_order' => '',
- 'autoplay_enabled' => '',
- 'dark_mode_enabled' => '',
- 'show_keybinding_help_popup' => '',
- 'show_keybinding_help_button' => '',
- 'email' => '',
- 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
- 'disable_se_call_for_actions' => '',
- 'enable_se_preview' => '',
- 'slideshow_timeout' => 'Show next picture after x seconds.',
- 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
- 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
- 'low_quality_image_placeholder' => '',
- 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
- 'timeline_photos_public' => '',
- 'timeline_photos_granularity' => '',
- 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
- 'timeline_photos_layout' => '',
- 'timeline_photos_pagination_limit' => '',
- 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
- 'timeline_albums_public' => '',
- 'timeline_albums_granularity' => '',
- 'timeline_left_border_enabled' => '',
- 'timeline_photo_date_format_year' => 'See datetime.format.php',
- 'timeline_photo_date_format_month' => 'See datetime.format.php',
- 'timeline_photo_date_format_day' => 'See datetime.format.php',
- 'timeline_photo_date_format_hour' => 'See datetime.format.php',
- 'timeline_album_date_format_year' => 'See datetime.format.php',
- 'timeline_album_date_format_month' => 'See datetime.format.php',
- 'timeline_album_date_format_day' => 'See datetime.format.php',
- 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
- 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
- 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
- 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
- 'search_photos_layout' => '',
- 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
- 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
- 'number_albums_per_row_mobile' => '',
- 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
- 'cache_event_logging' => 'This may result in large amount of logs',
- 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
- 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
- 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
- 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
- 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
- 'display_exif_data' => 'Exif data will not be displayed in the UI.',
- 'file_name_hidden' => 'Logged in user will still have access to the title.',
- 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
- 'default_old_settings' => '',
- 'default_expert_settings' => '',
- 'default_all_settings' => '',
- 'disable_thumb_download' => '',
- 'disable_thumb2x_download' => '',
- 'disable_small_download' => '',
- 'disable_small2x_download' => '',
- 'disable_medium_download' => '',
- 'disable_medium2x_download' => '',
- 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
- 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
- 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
- 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
- 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
- 'metrics_access' => '',
- 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
- 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
- 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
- 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
- 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
- 'temporary_image_link_when_logged_in' => '',
- 'temporary_image_link_when_admin' => '',
- 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
- 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
- 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
- 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
- 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
- 'slideshow_enabled' => '',
- 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
- 'enable_colour_extractions' => '',
- 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
- 'home_page_default' => '',
- 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
- 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
- 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
- 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
- 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
- 'flow_enabled' => '',
- 'flow_public' => '',
- 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
- 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
- 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
- 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
- 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
- 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
- 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
- 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
- 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
- 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
- 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
- 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
- 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
- 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
- 'flow_image_header_height' => 'Heights of the image header in rem.',
- 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
- 'flow_carousel_height' => 'Heights of the image carousel in rem.',
- 'date_format_flow_published' => 'See datetime.format.php',
- 'date_format_flow_min_max' => 'See datetime.format.php',
- 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
- 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
- 'gallery_header_enabled' => '',
- 'gallery_header_logged_in_enabled' => '',
- 'gallery_header' => '',
- 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
- 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
- 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
- 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
- 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
- 'owner_id' => ' Changing this value will allow another admin to take over the server.',
- 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
- 'details_links_public' => '',
- 'is_scroll_to_navigate_photos_enabled' => '',
- 'is_swipe_vertically_to_go_back_enabled' => '',
- 'timeline_page_enabled' => '',
- 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
- 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
- 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
- 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
- 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
- 'sorting_pinned_albums_col' => '',
- 'sorting_pinned_albums_order' => '',
- 'copyright_text' => '',
- 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
- 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
- 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
- 'watermark_public' => 'Anonymous users will see watermarked photos.',
- 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
- 'watermark_original' => '',
- 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
- 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
- 'watermark_position' => '',
- 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
- 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
- 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
- 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
- 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
- 'watermark_optout_disabled' => '',
- 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
- 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
- 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
- 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
- 'renamer_photo_title_enabled' => '',
- 'renamer_album_title_enabled' => '',
- 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
- 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
- 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
- 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
- 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
- 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
- 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
- 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
- 'webshop_default_license' => 'The default license type for new purchasable items.',
- 'webshop_default_size' => 'The default size variant for new purchasable items.',
- 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
- 'photos_pagination_limit' => '',
- 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
- 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
- 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
- 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
- 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
- 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
- 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
- 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
- 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
- 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
- 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
- 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
- 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
- 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
- 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
- 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
- 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
- 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
- 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
- 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
- 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
- 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
- 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
- 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
- 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
- 'album_header_size' => 'Configuration of the size of the header image in album view.',
- 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
- ],
+ 'documentation' => [
+ 'version' => 'Current version of Lychee',
+ 'check_for_updates' => 'Automatically check for new updates',
+ 'sorting_photos_col' => 'Default column used for sorting photos',
+ 'sorting_photos_order' => 'Default order used for sorting photos',
+ 'sorting_albums_col' => 'Default column used for sorting albums',
+ 'sorting_albums_order' => 'Default order used for sorting albums',
+ 'photos_star_visibility' => 'Who can see and set the star flag on a photo',
+ 'imagick' => 'Enable imagick processing',
+ 'dropbox_key' => 'Dropbox API key',
+ 'skip_duplicates' => 'Skip duplicate if found on import',
+ 'lang' => 'Language used by Lychee',
+ 'default_license' => 'Default license used for albums',
+ 'small_max_width' => 'Maximum width for small thumbs (album view)',
+ 'small_max_height' => 'Maximum height for small thumbs (album view)',
+ 'medium_max_width' => 'Maximum width for medium image (photo view)',
+ 'medium_max_height' => 'Maximum height for medium image (photo view)',
+ 'grants_full_photo_access' => 'Allows access to full resolution by default',
+ 'delete_imported' => 'When importing from server, delete originals',
+ 'mod_frame_enabled' => 'Enable Mod Frame',
+ 'mod_frame_refresh' => 'Refresh rate of the Frame',
+ 'image_overlay_type' => 'Default image overlay information',
+ 'compression_quality' => 'Compression percent when generating thumbs',
+ 'landing_page_enable' => 'Display the landing page',
+ 'site_owner' => 'Website Owner',
+ 'landing_title' => 'Title on the landing page',
+ 'landing_subtitle' => 'Subtitle on the landing page',
+ 'sm_facebook_url' => 'Url of facebook profile',
+ 'sm_flickr_url' => 'Url of flickr profile',
+ 'sm_twitter_url' => 'Url of X profile (formerly Twitter)',
+ 'sm_instagram_url' => 'Url of instagram profile',
+ 'sm_youtube_url' => 'Url of youtube profile',
+ 'thumb_2x' => 'Enable 2x size of square thumbs',
+ 'small_2x' => 'Enable 2x size of small thumbs',
+ 'medium_2x' => 'Enable 2x size of medium pictures',
+ 'site_title' => 'Website title',
+ 'footer_show_copyright' => 'Display copyright in footer.',
+ 'site_copyright_begin' => 'Initial year of copyright',
+ 'site_copyright_end' => 'Last year of copyright',
+ 'allow_online_git_pull' => 'Allow git pull via web interface',
+ 'footer_additional_text' => 'Additional text of the footer.',
+ 'footer_show_social_media' => 'Show socials media links in footer.',
+ 'search_public' => 'Allows anonymous user to use the Search bar',
+ 'hide_version_number' => 'Hide current version number',
+ 'recent_age' => 'Maximum age of pictures in Recent in days',
+ 'grants_download' => 'Grants download by default.',
+ 'photos_wraparound' => 'Once reaching last picture of an album, loop back to the start',
+ 'raw_formats' => 'Allowed extra formats, will not be processed',
+ 'raw_download_enabled' => 'Allow users to download the original RAW file',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'zip64' => 'Use Zip 64bits instead of 32 bits',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'update_check_every_days' => 'Frequency of Lychee update checks',
+ 'has_exiftool' => 'Defines whether exiftool processing is available',
+ 'share_button_visible' => 'Share button visibility in the header',
+ 'has_ffmpeg' => 'Defines whether ffmpeg processing is available',
+ 'import_via_symlink' => 'Use symbolic links instead of copying the original on import from server',
+ 'apply_composer_update' => 'Apply composer update on lychee update via web interface',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_decoding_timeout' => 'Timeout for the GPS decoding queries',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can acess the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates.',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates.',
+ 'rss_enable' => 'Enable RSS feed',
+ 'rss_recent_days' => 'Display the last X days in the RSS feed',
+ 'rss_max_items' => 'Max number of items in the RSS feed',
+ 'prefer_available_xmp_metadata' => 'Use sidecar if provided instead of exif metadata',
+ 'editor_enabled' => 'Enable manual rotation of images',
+ 'lossless_optimization' => 'Apply additional compression on images',
+ 'local_takestamp_video_formats' => 'Use local takestamp for the following video formats',
+ 'log_max_num_line' => 'Display the last X most recent lines in Logs',
+ 'unlock_password_photos_with_url_param' => 'Allow password to be passed as a URL parameter to unlock albums',
+ 'nsfw_visible' => 'Make sensitive albums visible by default',
+ 'nsfw_blur' => 'Blur sensitive albums',
+ 'nsfw_warning' => 'Enable sensitive albums warning',
+ 'nsfw_warning_admin' => 'Enable sensitive albums warning when logged in',
+ 'nsfw_banner_override' => 'Custom warning text instead of default.',
+ 'map_display_direction' => 'Display the direction of the picture on the map if available',
+ 'album_subtitle_type' => 'Defines the subtitle of album in albums view',
+ 'upload_processing_limit' => 'Maximum number of images processed in parallel',
+ 'new_photos_notification' => 'Enable notifications when new photos are added',
+ 'zip_deflate_level' => 'Zip compression level.',
+ 'default_album_protection' => 'Default protection for newly created albums',
+ 'allow_username_change' => 'Allow users to change their username.',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_orientation' => 'Align album decorations horizontally or vertically',
+ 'auto_fix_orientation' => 'Automatically rotate imported images',
+ 'random_album_id' => 'Album id to be used by for random function.',
+ 'use_last_modified_date_when_no_exif_date' => 'Use the file\'s last modified time when Exif data has no creation date',
+ 'ffmpeg_path' => 'Path to the binary of ffmpeg',
+ 'ffprobe_path' => 'Path to the binary of ffprobe',
+ 'layout' => 'Layout for pictures',
+ 'date_format_photo_thumb' => 'Format the date for the photo thumbs.',
+ 'date_format_photo_overlay' => 'Format the date for the photo overlay.',
+ 'date_format_sidebar_uploaded' => 'Format the upload date for the photo sidebar.',
+ 'date_format_sidebar_taken_at' => 'Format the capture date for the photo sidebar.',
+ 'date_format_hero_min_max' => 'Format the date for the album hero.',
+ 'date_format_hero_created_at' => 'Format the created date for the album details.',
+ 'date_format_album_thumb' => 'Format the date for the album thumbs.',
+ 'upload_chunk_size' => 'Size of chunks when uploading in bytes: 0 is auto',
+ 'nsfw_banner_blur_backdrop' => 'Blur background instead of dark red opaque.',
+ 'search_pagination_limit' => 'Number of results to display per page.',
+ 'search_minimum_length_required' => 'Number of characters required to trigger search (default: 4).',
+ 'photo_layout_justified_row_height' => 'Heights of rows in Justified photo layout',
+ 'photo_layout_masonry_column_width' => 'Minimum column width in Masonry photo layout.',
+ 'photo_layout_grid_column_width' => 'Minimum column width in Grid photo layout.',
+ 'photo_layout_square_column_width' => 'Minimum column width in Square photo layout.',
+ 'photo_layout_gap' => 'Gap between columns in Square/Masonry/Grid photo layout.',
+ 'display_thumb_album_overlay' => 'Display the title and metadata on album thumbs',
+ 'display_thumb_photo_overlay' => 'Display the title and metadata on photo thumbs',
+ 'default_album_thumb_aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'use_album_compact_header' => 'Disable the header image in albums',
+ 'back_button_enabled' => 'Enable/disable back button on gallery',
+ 'back_button_text' => 'Text of the back button (will be positioned opposite to Login)',
+ 'back_button_url' => 'Link of the back button',
+ 'SA_random_thumbs' => 'Use random thumbs instead of highlighted/sorting order.',
+ 'login_required' => 'Require user to login to access gallery.',
+ 'enable_unsorted' => 'Enable Unsorted smart album.',
+ 'enable_highlighted' => 'Enable Highlighted smart album.',
+ 'enable_recent' => 'Enable Recent uploads smart album.',
+ 'enable_on_this_day' => 'Enable On this day smart album.',
+ 'enable_unrated' => 'Show smart album containing photos without any ratings.',
+ 'enable_1_star' => 'Show smart album containing photos rated 1.0 to <2.0 stars.',
+ 'enable_2_stars' => 'Show smart album containing photos rated 2.0 to <3.0 stars.',
+ 'enable_3_stars' => 'Show smart album containing photos rated 3.0 stars or higher.',
+ 'enable_4_stars' => 'Show smart album containing photos rated 4.0 stars or higher.',
+ 'enable_5_stars' => 'Show smart album containing photos with perfect 5.0 rating.',
+ 'enable_best_pictures' => 'Show smart album containing top-rated photos.',
+ 'best_pictures_count' => 'Number of top-rated photos to show in Best Pictures album. Photos tied at the cutoff are included.',
+ 'enable_my_rated_pictures' => 'Enable My Rated Pictures smart album.',
+ 'enable_my_best_pictures' => 'Enable My Best Pictures smart album.',
+ 'my_best_pictures_count' => 'My Best Pictures album photo count.',
+ 'oauth_create_user_on_first_attempt' => 'Allow user creation when oauth id does not exist.',
+ 'grant_new_user_upload_rights' => 'Newly created user are allowed to upload content.',
+ 'grant_new_user_modification_rights' => 'Newly created user are allowed to edit their profile.',
+ 'login_required_root_only' => 'Require user to login only on root. A user with a direct link to an album can still access it.',
+ 'exiftool_path' => 'Path to the binary of exiftool.',
+ 'thumb_min_max_order' => 'Set which date to display first in thumb.',
+ 'header_min_max_order' => 'Set which date to display first in header.',
+ 'autoplay_enabled' => 'Set autoplay attribute on videos.',
+ 'dark_mode_enabled' => 'Use dark mode for Lychee',
+ 'show_keybinding_help_popup' => 'Display keybinding help pop-up on login.',
+ 'show_keybinding_help_button' => 'Show keybinding help button in header.',
+ 'email' => 'Email used when requesting the license.',
+ 'license_key' => 'Lychee License key',
+ 'disable_se_call_for_actions' => 'Disable Lychee SE info',
+ 'enable_se_preview' => 'Preview Lychee SE features',
+ 'slideshow_timeout' => 'Refresh rate of the slideshow in seconds.',
+ 'keep_original_untouched' => 'Keep Original image untouched.',
+ 'default_user_quota' => 'Default space quota for new users.',
+ 'low_quality_image_placeholder' => 'Enable low quality image placeholders',
+ 'timeline_photos_enabled' => 'Enable timeline for photos',
+ 'timeline_photos_public' => 'Allow anonymous users to access the photo timeline',
+ 'timeline_photos_granularity' => 'Timeline granularity for photos',
+ 'timeline_photos_order' => 'Order photos on',
+ 'timeline_photos_layout' => 'Photo layout for timeline page',
+ 'timeline_photos_pagination_limit' => 'Number of photos to display per page in timeline',
+ 'timeline_albums_enabled' => 'Enable timeline for albums',
+ 'timeline_albums_public' => 'Display the albums timeline for anonymous users',
+ 'timeline_albums_granularity' => 'Timeline granularity for albums',
+ 'timeline_left_border_enabled' => 'Enable the left border line on timelines',
+ 'timeline_photo_date_format_year' => 'Format the date at year granularity for photos',
+ 'timeline_photo_date_format_month' => 'Format the date at month granularity for photos',
+ 'timeline_photo_date_format_day' => 'Format the date at day granularity for photos',
+ 'timeline_photo_date_format_hour' => 'Format the date at hour granularity for photos',
+ 'timeline_album_date_format_year' => 'Format the date at year granularity for albums',
+ 'timeline_album_date_format_month' => 'Format the date at month granularity for albums',
+ 'timeline_album_date_format_day' => 'Format the date at day granularity for albums',
+ 'hide_nsfw_in_smart_albums' => 'Do not show sensitive photos in Smart Albums',
+ 'hide_nsfw_in_frame' => 'Do not show sensitive photos in Frame',
+ 'hide_nsfw_in_map' => 'Do not show sensitive photos in Map',
+ 'hide_nsfw_in_search' => 'Do not show sensitive photos in Search',
+ 'search_photos_layout' => 'Photo layout for search page',
+ 'hide_nsfw_in_rss' => 'Do not show sensitive photos in RSS',
+ 'hide_nsfw_in_timeline' => 'Do not show sensitive photos in Timeline',
+ 'number_albums_per_row_mobile' => 'Number of albums per row on mobile view',
+ 'cache_enabled' => 'Enable caching of responses given requests.',
+ 'cache_event_logging' => 'Add log lines for events related to caching.',
+ 'cache_ttl' => 'Number of seconds responses should be cached.',
+ 'low_number_of_shoots_per_day' => 'Number of shoots per day to be considered as low.',
+ 'medium_number_of_shoots_per_day' => 'Number of shoots per day to be considered as medium.',
+ 'high_number_of_shoots_per_day' => 'Number of shoots per day to be considered as high.',
+ 'maintenance_processing_limit' => 'Number of maintenance operations to execute.',
+ 'disable_recursive_permission_check' => 'Disable recursive permission check.',
+ 'exif_disabled_for_all' => 'Disable details and overlay panels in front-end.',
+ 'display_exif_data' => 'Display Exif data.',
+ 'file_name_hidden' => 'Do not show the photo title to anonymous users.',
+ 'client_side_favourite_enabled' => 'Allow visitors to mark pictures as their favourite.',
+ 'default_old_settings' => 'Settings view as text input by default.',
+ 'default_expert_settings' => 'Expert settings view enabled by default.',
+ 'default_all_settings' => 'Show all settings in one page.',
+ 'disable_thumb_download' => 'Disable the download of squared thumbs',
+ 'disable_thumb2x_download' => 'Disable the download of HiDPI squared thumbs',
+ 'disable_small_download' => 'Disable the download of thumbs',
+ 'disable_small2x_download' => 'Disable the download of HiDPI thumbs',
+ 'disable_medium_download' => 'Disable the download of Medium',
+ 'disable_medium2x_download' => 'Disable the download of HiDPI Medium',
+ 'landing_background_landscape_mode' => 'Mode for landscape background',
+ 'landing_background_portrait_mode' => 'Mode for portrait background',
+ 'landing_background_landscape' => 'Value for landscape background (URL, photo ID, or album ID)',
+ 'landing_background_portrait' => 'Value for portrait background (URL, photo ID, or album ID)',
+ 'metrics_enabled' => 'Enable statistics on photos & albums',
+ 'metrics_logged_in_users_enabed' => 'Enable statistics for logged-in users',
+ 'metrics_access' => 'Access level for statistics of the album/photo',
+ 'live_metrics_enabled' => 'Enable live statistics',
+ 'live_metrics_access' => 'Access level for live metrics',
+ 'live_metrics_max_time' => 'Max age for live metrics in days',
+ 'photo_thumb_info' => 'Select the info shown in photo thumbnail',
+ 'temporary_image_link_enabled' => 'Enable temporary image links',
+ 'temporary_image_link_when_logged_in' => 'Enable temporary image links for logged in users',
+ 'temporary_image_link_when_admin' => 'Enable temporary image links for admins',
+ 'temporary_image_link_life_in_seconds' => 'Maximum life time for temporary links in seconds (default is 86400s = 24 hours)',
+ 'secure_image_link_enabled' => 'Encrypt image links to protect them ',
+ 'photo_previous_next_size' => 'Select the size of the previous/next buttons in photo view.',
+ 'SA_override_visibility' => 'Smart album visibility overrides the photo visibility.',
+ 'TA_override_visibility' => 'Tag album visibility overrides the photo visibility.',
+ 'slideshow_enabled' => 'Enable the slideshow functionality.',
+ 'user_registration_enabled' => 'Enable user registration.',
+ 'enable_colour_extractions' => 'Extract the 5 most used colours from the image.',
+ 'colour_extraction_driver' => 'Driver for colour extraction.',
+ 'home_page_default' => 'Default home page after landing',
+ 'skip_duplicates_early' => 'Skip duplicate early if found on import via the sync command.',
+ 'sync_delete_missing_photos' => 'Photos in Lychee not present in the synced directory will be deleted from their target album.',
+ 'sync_delete_missing_albums' => 'Albums in Lychee not present in the synced directory will be deleted from the tree.',
+ 'sync_dry_run' => 'Run the destructive part of the sync command in dry-run mode.',
+ 'user_invitation_ttl' => 'Maximum life time for invitation links in days.',
+ 'flow_enabled' => 'Enable Flow display',
+ 'flow_public' => 'Allows anonymous user to access the Flow',
+ 'flow_base' => 'Base album id for the flow',
+ 'flow_min_max_order' => 'Set which min-max date to display first.',
+ 'flow_max_items' => 'Maximum number of items in the flow',
+ 'flow_strategy' => 'Flow strategy',
+ 'flow_include_sub_albums' => 'Include sub-albums in the flow',
+ 'flow_include_photos_from_children' => 'Include photos from children albums',
+ 'flow_open_album_on_click' => 'Open album on click',
+ 'flow_display_open_album_button' => 'Display open album button',
+ 'flow_highlight_first_picture' => 'Highlight first picture in the album instead of the album cover',
+ 'flow_min_max_enabled' => 'Enable min-max date in the flow',
+ 'flow_display_statistics' => 'Display album statistics in the flow',
+ 'flow_compact_mode_enabled' => 'Enable flow compact mode',
+ 'flow_image_header_enabled' => 'Enable image header in the flow',
+ 'flow_image_header_cover' => 'Image header display',
+ 'flow_image_header_height' => 'Image header height',
+ 'flow_carousel_enabled' => 'Enable image carousel in the flow',
+ 'flow_carousel_height' => 'Carousel height',
+ 'date_format_flow_published' => 'Format the date displayed in the flow',
+ 'date_format_flow_min_max' => 'Format the min-max date.',
+ 'flow_blur_nsfw_enabled' => 'Blur sensitive albums in Flow',
+ 'hide_nsfw_in_flow' => 'Do not show sensitive albums in Flow',
+ 'gallery_header_enabled' => 'Enable header image in the gallery view',
+ 'gallery_header_logged_in_enabled' => 'Enable header image in the gallery view when logged in',
+ 'gallery_header' => 'URL of header image in the gallery view',
+ 'gallery_header_bar_transparent' => 'Make the header bar transparent.',
+ 'gallery_header_bar_gradient' => 'Add a gradient background to the header bar.',
+ 'import_via_url_forbidden_localhost' => 'Import via URL must not use localhost',
+ 'import_via_url_forbidden_local_ip' => 'Import via URL must not use local IPs',
+ 'import_via_url_require_https' => 'Import via URL must use https',
+ 'import_via_url_forbidden_ports' => 'Import via URL must use port 80 or 443',
+ 'owner_id' => 'Owner of the installation',
+ 'details_links_enabled' => 'Enable image links in photo details',
+ 'details_links_public' => 'Allow anonymous users to acces image links in photo details',
+ 'is_scroll_to_navigate_photos_enabled' => 'Enable scrolling with mouse wheel to navigate between photos',
+ 'is_swipe_vertically_to_go_back_enabled' => 'Enable vertical swipe gesture on photos to return to album',
+ 'timeline_page_enabled' => 'Enable timeline page',
+ 'timeline_quick_access_date_format_year' => 'Format the quick access year granularity in the timeline page',
+ 'timeline_quick_access_date_format_month' => 'Format the quick access month granularity in the timeline page',
+ 'timeline_quick_access_date_format_day' => 'Format the quick access day granularity in the timeline page',
+ 'timeline_quick_access_date_format_hour' => 'Format the quick access hour granularity in the timeline page',
+ 'photo_thumb_tags_enabled' => 'Display the tags on the photo thumbnail in the album view',
+ 'hide_nsfw_in_tag_albums' => 'Do not show sensitive photos in Tag Albums',
+ 'hide_nsfw_in_tag_listing' => 'Do not show sensitive photos in tag listings',
+ 'sorting_pinned_albums_col' => 'Default column used for sorting featured albums',
+ 'sorting_pinned_albums_order' => 'Default order used for sorting featured albums',
+ 'copyright_text' => 'Copyright text (replaces default copyright notice)',
+ 'watermark_enabled' => 'Enable watermarking of photos',
+ 'watermark_photo_id' => 'Watermark photo id',
+ 'watermark_random_path' => 'Use random path for watermarked images',
+ 'watermark_public' => 'Show watermark on public photos',
+ 'watermark_logged_in_users_enabled' => 'Show watermark to logged in users',
+ 'watermark_original' => 'Also watermark the original photo',
+ 'watermark_size' => 'Watermark size on the image, from 1 to 100%',
+ 'watermark_opacity' => 'Watermark opacity ranging from 1 to 100%',
+ 'watermark_position' => 'Watermark position on the image',
+ 'watermark_shift_type' => 'Shift the watermark relatively to the size',
+ 'watermark_shift_x' => 'Horizontal shift',
+ 'watermark_shift_x_direction' => 'Direction of the horizontal shift',
+ 'watermark_shift_y' => 'Vertical shift',
+ 'watermark_shift_y_direction' => 'Direction of the vertical shift',
+ 'watermark_optout_disabled' => 'Disable watermark opt-out during upload',
+ 'renamer_enabled' => 'Enable renamer rules',
+ 'renamer_enforced' => 'Enforce renamer rules',
+ 'renamer_enforced_before' => 'Enforce renamer rules before user rules',
+ 'renamer_enforced_after' => 'Enforce renamer rules after user rules',
+ 'renamer_photo_title_enabled' => 'Enable renamer rules on photo titles at import/upload',
+ 'renamer_album_title_enabled' => 'Enable renamer rules on album titles at creation',
+ 'extract_zip_on_upload' => 'Extract uploaded zip file and import content.',
+ 'webshop_enabled' => 'Enable webshop',
+ 'webshop_currency' => 'Purchasable currency',
+ 'webshop_default_description' => 'Default description for purchasable items',
+ 'webshop_allow_guest_checkout' => 'Allow guest checkout',
+ 'webshop_terms_url' => 'Terms and Conditions URL',
+ 'webshop_privacy_url' => 'Privacy Policy URL',
+ 'webshop_default_price_cents' => 'Default price in cents',
+ 'webshop_default_license' => 'Default license type',
+ 'webshop_default_size' => 'Default size variant',
+ 'enable_untagged' => 'Enable Untagged smart album.',
+ 'photos_pagination_limit' => 'Maximum number of photos to display per page in albums.',
+ 'webshop_offline' => 'Keep webshop offline',
+ 'deduplicate_pinned_albums' => 'Deduplicate featured albums.',
+ 'desktop_dock_full_transparency_enabled' => 'Enable dock full transparency for desktop.',
+ 'mobile_dock_full_transparency_enabled' => 'Enable dock transparency for mobile,',
+ 'enable_smart_album_per_owner' => 'Only display pictures owned by the user in smart albums.',
+ 'album_layout' => 'Default album view layout.',
+ 'albums_per_page' => 'Number of sub-albums per page.',
+ 'albums_pagination_ui_mode' => 'Album pagination UI mode.',
+ 'albums_infinite_scroll_threshold' => 'Album infinite scroll threshold.',
+ 'photos_per_page' => 'Number of photos per page.',
+ 'photos_pagination_ui_mode' => 'Photo pagination UI mode.',
+ 'photos_infinite_scroll_threshold' => 'Photo infinite scroll threshold.',
+ 'enable_propagate_unlock_option' => 'Enable unlock propagation.',
+ 'rating_enabled' => 'Enable photo rating',
+ 'rating_public' => 'Make photo ratings public',
+ 'rating_show_only_when_user_rated' => 'Show ratings only after user has rated',
+ 'rating_show_avg_in_details' => 'Show average rating in photo details drawer',
+ 'rating_photo_view_mode' => 'Show rating overlay in full photo view',
+ 'rating_show_avg_in_photo_view' => 'Display average rating in full photo view',
+ 'rating_album_view_mode' => 'Show rating on photo thumbnails in album view.',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails',
+ 'import_via_url_block_redirect' => 'Import via URL should not follow redirections',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Enable LycheeOrg non-liability disclaimer',
+ 'webshop_auto_fulfill_enabled' => 'Enable auto-fulfillment of orders.',
+ 'webshop_manual_fulfill_enabled' => 'Enable auto-fulfillment of orders on manual action.',
+ 'enable_photo_details_always_open' => 'Photo details always visible.',
+ 'album_enhanced_display_enabled' => 'Enable enhanced album header',
+ 'album_header_size' => 'Album header size',
+ 'album_header_landing_title_enabled' => 'Display landing title on album header',
+ ],
+ 'details' => [
+ 'version' => '',
+ 'check_for_updates' => '',
+ 'sorting_photos_col' => '',
+ 'sorting_photos_order' => '',
+ 'sorting_albums_col' => '',
+ 'sorting_albums_order' => '',
+ 'photos_star_visibility' => '',
+ 'imagick' => '',
+ 'dropbox_key' => 'Use value "disabled" to mark this setting as such.',
+ 'skip_duplicates' => '',
+ 'lang' => '',
+ 'default_license' => '',
+ 'small_max_width' => '',
+ 'small_max_height' => '',
+ 'medium_max_width' => '',
+ 'medium_max_height' => '',
+ 'grants_full_photo_access' => '',
+ 'delete_imported' => '',
+ 'mod_frame_enabled' => 'Note that access to the chosen album is required to view the frame.
The button will be visible only if the condition is satisfied.',
+ 'mod_frame_refresh' => '',
+ 'image_overlay_type' => '',
+ 'compression_quality' => '',
+ 'landing_page_enable' => '',
+ 'site_owner' => '',
+ 'landing_title' => '',
+ 'landing_subtitle' => '',
+ 'sm_facebook_url' => '',
+ 'sm_flickr_url' => '',
+ 'sm_twitter_url' => '',
+ 'sm_instagram_url' => '',
+ 'sm_youtube_url' => '',
+ 'thumb_2x' => '',
+ 'small_2x' => '',
+ 'medium_2x' => '',
+ 'site_title' => '',
+ 'footer_show_copyright' => '',
+ 'site_copyright_begin' => '',
+ 'site_copyright_end' => '',
+ 'allow_online_git_pull' => '',
+ 'footer_additional_text' => ' Unsanitized html field.',
+ 'footer_show_social_media' => '',
+ 'search_public' => '',
+ 'hide_version_number' => '',
+ 'recent_age' => '',
+ 'grants_download' => '',
+ 'photos_wraparound' => '',
+ 'raw_formats' => '',
+ 'raw_download_enabled' => 'When enabled, users with download permissions can download the untouched RAW/HEIC/PSD file that was preserved during upload.',
+ 'map_display' => '',
+ 'zip64' => '',
+ 'map_display_public' => '',
+ 'map_provider' => '',
+ 'map_include_subalbums' => '',
+ 'update_check_every_days' => '',
+ 'has_exiftool' => '',
+ 'share_button_visible' => '',
+ 'has_ffmpeg' => '',
+ 'import_via_symlink' => '',
+ 'apply_composer_update' => '',
+ 'location_decoding' => '',
+ 'location_decoding_timeout' => '',
+ 'location_show' => 'Only the decoded location is impacted by this setting.',
+ 'location_show_public' => 'Only the decoded location is impacted by this setting.',
+ 'gps_coordinate_display' => 'Disabling this hides the Latitude and Longitude information from all users.',
+ 'gps_coordinate_display_public' => 'Disabling this hides the Latitude and Longitude information from anonymous users.',
+ 'rss_enable' => '',
+ 'rss_recent_days' => '',
+ 'rss_max_items' => '',
+ 'prefer_available_xmp_metadata' => '',
+ 'editor_enabled' => '',
+ 'lossless_optimization' => '',
+ 'local_takestamp_video_formats' => '',
+ 'log_max_num_line' => '',
+ 'unlock_password_photos_with_url_param' => '',
+ 'nsfw_visible' => '',
+ 'nsfw_blur' => 'Blur the album cover.',
+ 'nsfw_warning' => 'Display a warning when the album is opened the first time.',
+ 'nsfw_warning_admin' => '',
+ 'nsfw_banner_override' => ' Unsanitized html field.',
+ 'map_display_direction' => '',
+ 'album_subtitle_type' => '',
+ 'upload_processing_limit' => '',
+ 'new_photos_notification' => '',
+ 'zip_deflate_level' => '-1 = disable compression (use STORE method), 0 = no compression (use DEFLATE method), 1 = minimal compression (fast), ... 9 = maximum compression (slow)',
+ 'default_album_protection' => '',
+ 'allow_username_change' => '',
+ 'album_decoration' => '',
+ 'album_decoration_orientation' => '',
+ 'auto_fix_orientation' => ' Original images will be overwritten and compressed.',
+ 'random_album_id' => 'Default album displayed, if left empty then all searchable photos will be used.',
+ 'use_last_modified_date_when_no_exif_date' => '',
+ 'ffmpeg_path' => '',
+ 'ffprobe_path' => '',
+ 'layout' => '',
+ 'date_format_photo_thumb' => 'See datetime.format.php',
+ 'date_format_photo_overlay' => 'See datetime.format.php',
+ 'date_format_sidebar_uploaded' => 'See datetime.format.php',
+ 'date_format_sidebar_taken_at' => 'See datetime.format.php',
+ 'date_format_hero_min_max' => 'See datetime.format.php',
+ 'date_format_hero_created_at' => 'See datetime.format.php',
+ 'date_format_album_thumb' => 'See datetime.format.php',
+ 'upload_chunk_size' => '',
+ 'nsfw_banner_blur_backdrop' => 'Blur the backdrop of the warning.',
+ 'search_pagination_limit' => '',
+ 'search_minimum_length_required' => '',
+ 'photo_layout_justified_row_height' => '',
+ 'photo_layout_masonry_column_width' => '',
+ 'photo_layout_grid_column_width' => '',
+ 'photo_layout_square_column_width' => '',
+ 'photo_layout_gap' => '',
+ 'display_thumb_album_overlay' => '',
+ 'display_thumb_photo_overlay' => '',
+ 'default_album_thumb_aspect_ratio' => '',
+ 'use_album_compact_header' => '',
+ 'back_button_enabled' => '',
+ 'back_button_text' => '',
+ 'back_button_url' => '',
+ 'SA_random_thumbs' => '',
+ 'login_required' => '',
+ 'enable_unsorted' => ' Disabling this smart album will make pictures without an album invisible.',
+ 'enable_highlighted' => '',
+ 'enable_recent' => '',
+ 'enable_on_this_day' => '',
+ 'enable_unrated' => 'Enable Unrated smart album.',
+ 'enable_1_star' => 'Enable 1 Star smart album.',
+ 'enable_2_stars' => 'Enable 2 Stars smart album.',
+ 'enable_3_stars' => 'Enable 3+ Stars smart album.',
+ 'enable_4_stars' => 'Enable 4+ Stars smart album.',
+ 'enable_5_stars' => 'Enable 5 Stars smart album.',
+ 'enable_best_pictures' => 'Enable Best Pictures smart album.',
+ 'best_pictures_count' => 'Best Pictures album photo count.',
+ 'enable_my_rated_pictures' => 'Shows all photos rated by the current user.',
+ 'enable_my_best_pictures' => 'Show top-rated photos by the current user.',
+ 'my_best_pictures_count' => 'Number of top-rated photos to show in My Best Pictures album. Photos tied at the cutoff are included.',
+ 'oauth_create_user_on_first_attempt' => '',
+ 'grant_new_user_upload_rights' => '',
+ 'grant_new_user_modification_rights' => '',
+ 'login_required_root_only' => '',
+ 'exiftool_path' => '',
+ 'thumb_min_max_order' => '',
+ 'header_min_max_order' => '',
+ 'autoplay_enabled' => '',
+ 'dark_mode_enabled' => '',
+ 'show_keybinding_help_popup' => '',
+ 'show_keybinding_help_button' => '',
+ 'email' => '',
+ 'license_key' => 'Get Supporter Edition here: https://lycheeorg.github.io/get-supporter-edition',
+ 'disable_se_call_for_actions' => '',
+ 'enable_se_preview' => '',
+ 'slideshow_timeout' => 'Show next picture after x seconds.',
+ 'keep_original_untouched' => 'In case of auto rotation, the original image will be kept untouched.',
+ 'default_user_quota' => 'Value in KB, keep at 0 to disable quota.',
+ 'low_quality_image_placeholder' => '',
+ 'timeline_photos_enabled' => 'Globally enable photo timelines in each albums. This can also be disabled/enabled per album.',
+ 'timeline_photos_public' => '',
+ 'timeline_photos_granularity' => '',
+ 'timeline_photos_order' => 'This determines whether the captured date or the upload date will be used to order the photos.',
+ 'timeline_photos_layout' => '',
+ 'timeline_photos_pagination_limit' => '',
+ 'timeline_albums_enabled' => 'Globally enable albums timelines in each albums (and root). This can also be disabled/enabled per album.',
+ 'timeline_albums_public' => '',
+ 'timeline_albums_granularity' => '',
+ 'timeline_left_border_enabled' => '',
+ 'timeline_photo_date_format_year' => 'See datetime.format.php',
+ 'timeline_photo_date_format_month' => 'See datetime.format.php',
+ 'timeline_photo_date_format_day' => 'See datetime.format.php',
+ 'timeline_photo_date_format_hour' => 'See datetime.format.php',
+ 'timeline_album_date_format_year' => 'See datetime.format.php',
+ 'timeline_album_date_format_month' => 'See datetime.format.php',
+ 'timeline_album_date_format_day' => 'See datetime.format.php',
+ 'hide_nsfw_in_smart_albums' => 'Pictures placed in sensive albums will not be shown in Smart Albums.',
+ 'hide_nsfw_in_frame' => 'Pictures placed in sensive albums will not be shown on the Frame.',
+ 'hide_nsfw_in_map' => 'Pictures placed in sensive albums will not be shown on the Map.',
+ 'hide_nsfw_in_search' => 'Pictures placed in sensive albums will not be shown in Search.',
+ 'search_photos_layout' => '',
+ 'hide_nsfw_in_rss' => 'Pictures placed in sensive albums will not be shown in the RSS feed.',
+ 'hide_nsfw_in_timeline' => 'Pictures placed in sensive albums will not be shown in the timeline page.',
+ 'number_albums_per_row_mobile' => '',
+ 'cache_enabled' => 'This will significantly speed up the response time of Lychee. If you are using password protected albums, you should not enable this.',
+ 'cache_event_logging' => 'This may result in large amount of logs',
+ 'cache_ttl' => 'Longer TTL will save more resources but may result in outdated responses.',
+ 'low_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'medium_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'high_number_of_shoots_per_day' => 'This is used to determine the color in the punch card statistics.',
+ 'maintenance_processing_limit' => 'Larger number will process more items in one go, but may cause timeouts.',
+ 'disable_recursive_permission_check' => 'Diagnostic page can be slow when there are many albums and photos. This option disables the recursive permission check for speed.',
+ 'exif_disabled_for_all' => ' This will not remove the data from the API end-point.',
+ 'display_exif_data' => 'Exif data will not be displayed in the UI.',
+ 'file_name_hidden' => 'Logged in user will still have access to the title.',
+ 'client_side_favourite_enabled' => 'The favourites are persisted in the browser local storage.',
+ 'default_old_settings' => '',
+ 'default_expert_settings' => '',
+ 'default_all_settings' => '',
+ 'disable_thumb_download' => '',
+ 'disable_thumb2x_download' => '',
+ 'disable_small_download' => '',
+ 'disable_small2x_download' => '',
+ 'disable_medium_download' => '',
+ 'disable_medium2x_download' => '',
+ 'landing_background_landscape_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_portrait_mode' => 'Options: static (URL), photo_id (specific photo), random (random public photo), latest_album_cover (latest album cover), random_from_album (random from album).',
+ 'landing_background_landscape' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album. This image is also used when sharing the gallery link directly.',
+ 'landing_background_portrait' => 'Depends on mode: URL for static, photo ID for photo_id, album ID for random_from_album.',
+ 'metrics_enabled' => 'If enabled, anonymours users will be measured.',
+ 'metrics_logged_in_users_enabed' => 'If enabled, logged-in users will be measured as well (admin users are not measured).',
+ 'metrics_access' => '',
+ 'live_metrics_enabled' => 'Live metrics provides you an activity history of your gallery.',
+ 'live_metrics_access' => 'If set to "admin", only admins can see the live metrics.',
+ 'live_metrics_max_time' => 'After this time, the live metrics will be deleted.',
+ 'photo_thumb_info' => 'If description is selected, the date will not be shown either.',
+ 'temporary_image_link_enabled' => 'All images will be served with a signed URL. This is a security feature to prevent hotlinking and unauthorized access to images.',
+ 'temporary_image_link_when_logged_in' => '',
+ 'temporary_image_link_when_admin' => '',
+ 'temporary_image_link_life_in_seconds' => ' If you are using request caching, set this value to a higher value than the cache expiration time.',
+ 'secure_image_link_enabled' => 'This ensures that the image links are not guessable.',
+ 'photo_previous_next_size' => 'Those buttons are hidden by default and only visible when the mouse get close to the left/right side of the screen.',
+ 'SA_override_visibility' => ' This will make any photos matching the smart album condition visible.',
+ 'TA_override_visibility' => ' This will make any photos matching the tag album condition visible.',
+ 'slideshow_enabled' => '',
+ 'user_registration_enabled' => 'If disabled, new users cannot register themselves.',
+ 'enable_colour_extractions' => '',
+ 'colour_extraction_driver' => 'Slower: league does a full sampling and use ciede2000DeltaE for colour distance calculation.
Faster: farzai uses spot sampling and k-mean distance.',
+ 'home_page_default' => '',
+ 'skip_duplicates_early' => 'Use the photo title to check for duplicate in the target album.',
+ 'sync_delete_missing_photos' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_delete_missing_albums' => 'This option is only enabled if dry_run is disabled.',
+ 'sync_dry_run' => ' If disabled this will allow the sync command to delete albums/photos from your Lychee instance.',
+ 'user_invitation_ttl' => ' Invitation links cannot be revoked.',
+ 'flow_enabled' => '',
+ 'flow_public' => '',
+ 'flow_base' => 'All albums within this album will be included in the flow (leave empty for root).',
+ 'flow_min_max_order' => 'If set to "older_younger", the older date will be displayed first, otherwise the younger date will be displayed first.',
+ 'flow_max_items' => 'A lower number will require more requests, a higher number will consume more memory.',
+ 'flow_strategy' => 'Choose how the flow is generated. "auto" will include all albums, "opt-in" will only include albums that have the flow enabled.',
+ 'flow_include_sub_albums' => 'All the descendants of the base album will be included in the flow. If disabled, only the direct children of the base album will be included.',
+ 'flow_include_photos_from_children' => 'If an album has no photos, but has children, the photos from the children will be displayed.
This is NOT recommended. Consequences includes memory exhaution, slower loading time, crashes...',
+ 'flow_open_album_on_click' => 'Go to the album when clicked. If disabled, the photos will be displayed directly.',
+ 'flow_display_open_album_button' => 'A button to open the album will be displayed in the card.',
+ 'flow_highlight_first_picture' => 'The main picture displayed is the first picture in the album.',
+ 'flow_min_max_enabled' => 'Display the min-max date from the photos of the album in the flow.',
+ 'flow_display_statistics' => 'The number of views, shares, and downloads of the album will be displayed.',
+ 'flow_compact_mode_enabled' => 'Clamp the description to 3 lines and hides exttra information like the number of photos and children.
Also adds a "Show more" button to expand.',
+ 'flow_image_header_enabled' => 'The top of the card will highlight the cover of the album.',
+ 'flow_image_header_cover' => 'The image header can be displayed as a cover or fit. Cover will crop the image to fit the header, while fit will scale the image to fit the header.',
+ 'flow_image_header_height' => 'Heights of the image header in rem.',
+ 'flow_carousel_enabled' => 'Display a preview of the images in a carousel under the image header. This only applied if the image header is enabled.',
+ 'flow_carousel_height' => 'Heights of the image carousel in rem.',
+ 'date_format_flow_published' => 'See datetime.format.php',
+ 'date_format_flow_min_max' => 'See datetime.format.php',
+ 'flow_blur_nsfw_enabled' => 'Photos form albums marked as sensitive will be blurred in the flow. Users can unblur them by clicking on the album.',
+ 'hide_nsfw_in_flow' => 'Albums marked as sensitive will not be shown in the flow.',
+ 'gallery_header_enabled' => '',
+ 'gallery_header_logged_in_enabled' => '',
+ 'gallery_header' => '',
+ 'gallery_header_bar_transparent' => 'If enabled, the header bar will be transparent and the header image will be visible behind it.',
+ 'gallery_header_bar_gradient' => 'If enabled the header bar will have a gradient background aiming to improve the readability of the text, otherwise it will be transparent.',
+ 'import_via_url_forbidden_localhost' => ' Disabling this expose your localhost to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_forbidden_local_ip' => ' Disabling this expose your internal network to the Import via URL functionality and lead to Server-Side Request Forgery (SSRF).',
+ 'import_via_url_require_https' => ' Disabling this will lower the security of the Import via URL functionality.',
+ 'import_via_url_forbidden_ports' => ' Disabling this will allow the Import via URL to use any ports which may lead to Server-Side Request Forgery (SSRF).',
+ 'owner_id' => ' Changing this value will allow another admin to take over the server.',
+ 'details_links_enabled' => 'Add a small module to allow easy copying of the photo urls in the details panel.',
+ 'details_links_public' => '',
+ 'is_scroll_to_navigate_photos_enabled' => '',
+ 'is_swipe_vertically_to_go_back_enabled' => '',
+ 'timeline_page_enabled' => '',
+ 'timeline_quick_access_date_format_year' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_month' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_day' => 'See datetime.format.php',
+ 'timeline_quick_access_date_format_hour' => 'See datetime.format.php',
+ 'photo_thumb_tags_enabled' => 'If description is enabled on the photo thumbnail, the tags will not be displayed.',
+ 'hide_nsfw_in_tag_albums' => 'Pictures placed in sensive albums will not be shown in Tag Albums.',
+ 'hide_nsfw_in_tag_listing' => 'Pictures placed in sensive albums will not be shown on the phto listing of a given tag.',
+ 'sorting_pinned_albums_col' => '',
+ 'sorting_pinned_albums_order' => '',
+ 'copyright_text' => '',
+ 'watermark_enabled' => 'Uploaded photos will be watermarked with the configured watermark image.',
+ 'watermark_photo_id' => 'Photo Id (24 character sequence) of the image used for watermarking photos. We recommend png with transparency.',
+ 'watermark_random_path' => 'If disabled, the watermark image path will be the same as the current path but with a suffix.',
+ 'watermark_public' => 'Anonymous users will see watermarked photos.',
+ 'watermark_logged_in_users_enabled' => 'Logged-in users will see watermarked photos.',
+ 'watermark_original' => '',
+ 'watermark_size' => 'This represent the quantity of the image covered by the watermark.',
+ 'watermark_opacity' => '1 - nearly invisible, 100 - completely opaque. We recommend to not go under 25.',
+ 'watermark_position' => '',
+ 'watermark_shift_type' => 'When using relative, the watermark will be shifted proportionally to the size of the image.
When using absolute the watermark will be shifted by a quantity of pixels.',
+ 'watermark_shift_x' => 'Number of pixel/proportional translation applied horizontally to the watermark.',
+ 'watermark_shift_x_direction' => 'Direction of the translation applied to the watermark: to the left or to the right?',
+ 'watermark_shift_y' => 'Number of pixel/proportional translation applied vertically to the watermark.',
+ 'watermark_shift_y_direction' => 'Direction of the translation applied to the watermark: up or down?',
+ 'watermark_optout_disabled' => '',
+ 'renamer_enabled' => 'This allows you to rename files based on rules defined in the renamer module.',
+ 'renamer_enforced' => 'Rules defined by the owner of the Lychee instance will be applied regardless of user settings.',
+ 'renamer_enforced_before' => 'Rules defined by the owner of the Lychee instance will be applied before the rules of the user.',
+ 'renamer_enforced_after' => 'Rules defined by the owner of the Lychee instance will be applied after the rules of the user.',
+ 'renamer_photo_title_enabled' => '',
+ 'renamer_album_title_enabled' => '',
+ 'extract_zip_on_upload' => 'Zip file will stay on your server unless it is properly extracted without faults (after which it is removed).',
+ 'webshop_enabled' => 'Albums and photos can be set as purchasable items.',
+ 'webshop_currency' => 'The currency in which the prices are displayed and charged. Must be a valid ISO 4217 currency code.',
+ 'webshop_default_description' => 'This description is used when no other description is provided for an album or photo.',
+ 'webshop_allow_guest_checkout' => 'Allow customers to checkout without creating an account.',
+ 'webshop_terms_url' => 'Optional URL to the Terms and Conditions page.',
+ 'webshop_privacy_url' => 'Optional URL to the Privacy Policy page.',
+ 'webshop_default_price_cents' => 'The default price (in cents) for new purchasable items.',
+ 'webshop_default_license' => 'The default license type for new purchasable items.',
+ 'webshop_default_size' => 'The default size variant for new purchasable items.',
+ 'enable_untagged' => 'If a smart album containing all the untagged photos will be available in the gallery.',
+ 'photos_pagination_limit' => '',
+ 'webshop_offline' => 'All payment processing will be skipped. Orders will be marked as OFFLINE instead of going through the payment flow..',
+ 'deduplicate_pinned_albums' => 'Featured albums will only appear once on the main gallery page.',
+ 'desktop_dock_full_transparency_enabled' => 'On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on hover.',
+ 'mobile_dock_full_transparency_enabled' => ' This will impact usability on mobile. On the photo view, actions on top of the page are slightly transparent. Enable this to have them fully transparent and only appear on tap.',
+ 'enable_smart_album_per_owner' => 'This setting is only applied to logged-in users. "Smart album visibility overrides" must be disabled for this to take effect.',
+ 'album_layout' => 'Choose between grid (thumbnail cards) or list (detailed rows) view for albums. Users can toggle between views client-side, but preference does not persist across page reloads.',
+ 'albums_per_page' => 'Number of child albums to display per page in paginated album views. This setting controls how many sub-albums are loaded when viewing an album that contains other albums. A higher number means more albums are shown per page, but may increase loading times and resource usage.',
+ 'albums_pagination_ui_mode' => 'Controls how album pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'albums_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of albums when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'photos_per_page' => 'Number of photos to display per page in paginated album views. A higher number means more photos are shown per page, but may increase loading times and resource usage.',
+ 'photos_pagination_ui_mode' => 'Controls how photo pagination is displayed: infinite_scroll (auto-load on scroll), load_more_button (manual "Load More" button), or page_navigation (page numbers with prev/next).',
+ 'photos_infinite_scroll_threshold' => 'Number of view heights from the bottom of the page at which to trigger loading the next page of photos when using infinite scroll. A higher value means earlier loading, but may load unnecessary data if the user does not scroll that far.',
+ 'enable_propagate_unlock_option' => 'When unlocking an album with password, also unlock all albums with that same password.
This can lead to confidentiality issues if different users share the same album password.',
+ 'rating_enabled' => 'Master switch to enable or disable the photo rating feature entirely',
+ 'rating_public' => 'Allow all users (including non-logged-in visitors) to see photo ratings',
+ 'rating_show_only_when_user_rated' => 'Only display ratings (user or average) after the user has submitted their own rating',
+ 'rating_show_avg_in_details' => 'Display average rating and rating count in the photo details sidebar instead of user rating',
+ 'rating_photo_view_mode' => 'Controls visibility of rating overlay: always visible, on hover, or never',
+ 'rating_show_avg_in_photo_view' => 'Display average rating when viewing a photo in full-size mode instead of the user rating',
+ 'rating_album_view_mode' => 'Controls visibility of rating on thumbnails: always visible, on hover, or never',
+ 'rating_show_avg_in_album_view' => 'Display average rating on photo thumbnails in album view instead of the user rating',
+ 'import_via_url_block_redirect' => ' Disabling this exposes your localhost to the Import via URL functionality and could lead to Server-Side Request Forgery (SSRF).',
+ 'webshop_lycheeorg_disclaimer_enabled' => 'Lychee is provided under MIT license without any warranties. Disabling this option removes the disclaimer from the order page.',
+ 'webshop_auto_fulfill_enabled' => 'Once a payment is completed, the content is automatically made available to the user when possible.',
+ 'webshop_manual_fulfill_enabled' => 'When "Mark as Delivered" is clicked, the content is automatically made available to the user when possible.',
+ 'enable_photo_details_always_open' => 'When opening the photo view, the photo details drawer is always visible.',
+ 'album_enhanced_display_enabled' => 'Option to enable a new style of album header with a larger title, an "Open Gallery" button, and customize the album title style.',
+ 'album_header_size' => 'Configuration of the size of the header image in album view.',
+ 'album_header_landing_title_enabled' => 'Display the landing title at the bottom of the Album header. You can configure the landing title in the Landing page module.',
+ ],
- 'category_name' => [
- 'config' => 'Basics',
- 'lychee SE' => 'Lychee SE',
- 'Gallery' => 'Gallery',
- 'Mod Welcome' => 'Landing page',
- 'Footer' => 'Footer',
- 'Smart Albums' => 'Smart & Featured Albums',
- 'Image Processing' => 'Image Processing',
- 'Mod Search' => 'Search',
- 'Mod Timeline' => 'Timeline',
- 'Mod Frame' => 'Frame',
- 'Mod Map' => 'Map/GPS',
- 'Mod RSS' => 'RSS',
- 'Mod NSFW' => 'Sensitive',
- 'Mod Back Button' => 'Back Home',
- 'Mod Cache' => 'Cache',
- 'Mod Pro' => 'Pro',
- 'Mod Privacy' => 'Privacy Options',
- 'Users Management' => 'Users Management',
- 'Admin' => 'Admin',
- 'access_permissions' => 'Permissions',
- 'Mod Flow' => 'Flow',
- 'gestures' => 'Gestures',
- 'Mod Watermarker' => 'Watermarker',
- 'Mod Renamer' => 'Renamer',
- 'Mod Rating' => 'Photo star rating',
- 'Mod Webshop' => 'Webshop',
- ],
+ 'category_name' => [
+ 'config' => 'Basics',
+ 'lychee SE' => 'Lychee SE',
+ 'Gallery' => 'Gallery',
+ 'Mod Welcome' => 'Landing page',
+ 'Footer' => 'Footer',
+ 'Smart Albums' => 'Smart & Featured Albums',
+ 'Image Processing' => 'Image Processing',
+ 'Mod Search' => 'Search',
+ 'Mod Timeline' => 'Timeline',
+ 'Mod Frame' => 'Frame',
+ 'Mod Map' => 'Map/GPS',
+ 'Mod RSS' => 'RSS',
+ 'Mod NSFW' => 'Sensitive',
+ 'Mod Back Button' => 'Back Home',
+ 'Mod Cache' => 'Cache',
+ 'Mod Pro' => 'Pro',
+ 'Mod Privacy' => 'Privacy Options',
+ 'Users Management' => 'Users Management',
+ 'Admin' => 'Admin',
+ 'access_permissions' => 'Permissions',
+ 'Mod Flow' => 'Flow',
+ 'gestures' => 'Gestures',
+ 'Mod Watermarker' => 'Watermarker',
+ 'Mod Renamer' => 'Renamer',
+ 'Mod Rating' => 'Photo star rating',
+ 'Mod Webshop' => 'Webshop',
+ ],
- 'category_description' => [
- 'config' => '',
- 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
- 'Gallery' => '',
- 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
- 'Footer' => '',
- 'Smart Albums' => '',
- 'Image Processing' => '',
- 'Mod Search' => '',
- 'Mod Timeline' => '',
- 'Mod Frame' => '',
- 'Mod Map' => '',
- 'Mod RSS' => '',
- 'Mod NSFW' => '',
- 'Mod Back Button' => '',
- 'Mod Cache' => '',
- 'Mod Pro' => '',
- 'Mod Privacy' => '',
- 'Users Management' => '',
- 'Admin' => '',
- 'access_permissions' => '',
- 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
- 'gestures' => 'Configure gesture controls for photo navigation.',
- 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
- 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
- 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
- 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
- ],
+ 'category_description' => [
+ 'config' => '',
+ 'lychee SE' => 'Unlock the full capabilities of Lychee with the Supporter Edition. Get exclusive features and support the development of Lychee. Sponsor LycheeOrg on GitHub and get your License key here.',
+ 'Gallery' => '',
+ 'Mod Welcome' => 'This module enables a landing page. Instead of arriving directly to the gallery view, it adds a bit of grandiose to the website entrance. Provide the url of the picture to be displayed and set the title.',
+ 'Footer' => '',
+ 'Smart Albums' => '',
+ 'Image Processing' => '',
+ 'Mod Search' => '',
+ 'Mod Timeline' => '',
+ 'Mod Frame' => '',
+ 'Mod Map' => '',
+ 'Mod RSS' => '',
+ 'Mod NSFW' => '',
+ 'Mod Back Button' => '',
+ 'Mod Cache' => '',
+ 'Mod Pro' => '',
+ 'Mod Privacy' => '',
+ 'Users Management' => '',
+ 'Admin' => '',
+ 'access_permissions' => '',
+ 'Mod Flow' => 'This module enables the displays of albums in a feed-like manner. Only albums with photos will be displayed, albums with only children are not included in the Flow. Being a pure display, the Flow page does not allow users to upload, move, etc.',
+ 'gestures' => 'Configure gesture controls for photo navigation.',
+ 'Mod Watermarker' => 'This modules enable watermarking on photos. The watermark is configurable by giving the photoId
of the image you want to apply. This id is the last 24 character identifier in the URL when you open an image. We recommend you use a png image with transparent background for better results.
Enabling this module will double the file-storage usage on your server.',
+ 'Mod Renamer' => 'This module allows you to automatically apply user-defined renaming rules during upload or import via sync.
Renaming is likely going to prevent fast duplicate detection on photos/albums that have been renamed via sync.',
+ 'Mod Rating' => 'This modules enable rating of photos. The user can set a rating from 1 to 5 stars per photo. The average rating is displayed where configured.',
+ 'Mod Webshop' => 'This module allows you manage and sell your pictures.
Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.',
+ ],
];
diff --git a/lang/zh_TW/aspect_ratio.php b/lang/zh_TW/aspect_ratio.php
index 876f3e50f88..c10884bd732 100644
--- a/lang/zh_TW/aspect_ratio.php
+++ b/lang/zh_TW/aspect_ratio.php
@@ -1,15 +1,15 @@
'5/4 (instagram 橫向)',
- '4by5' => '4/5 (instagram portrait)',
- '2by3' => '2/3 (portrait)',
- '3by2' => '3/2 (landscape)',
- '1by1' => 'square',
- '16by9' => '16/9 (橫向)',
+ /*
+ |--------------------------------------------------------------------------
+ | Aspect Ratio lines.
+ |--------------------------------------------------------------------------
+ */
+ '5by4' => '5/4 (instagram 橫向)',
+ '4by5' => '4/5 (instagram portrait)',
+ '2by3' => '2/3 (portrait)',
+ '3by2' => '3/2 (landscape)',
+ '1by1' => 'square',
+ '16by9' => '16/9 (橫向)',
];
diff --git a/lang/zh_TW/bulk_album_edit.php b/lang/zh_TW/bulk_album_edit.php
index c9710148162..5c05f4a6893 100644
--- a/lang/zh_TW/bulk_album_edit.php
+++ b/lang/zh_TW/bulk_album_edit.php
@@ -7,93 +7,93 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Bulk Album Edit admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Bulk Album Edit admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Bulk Album Edit',
- 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
- 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
+ 'title' => 'Bulk Album Edit',
+ 'description' => 'Edit metadata and visibility settings for multiple albums at once.',
+ 'warning' => 'Changes made here are applied immediately and cannot be undone. Tag albums are not shown.',
- // Table columns
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_license' => 'License',
- 'col_is_nsfw' => 'Sensitive',
- 'col_is_public' => 'Public',
- 'col_is_link_required' => 'Link',
- 'col_grants_full_photo_access' => 'Full Photo',
- 'col_grants_download' => 'Download',
- 'col_grants_upload' => 'Upload',
- 'col_photo_sorting' => 'Photo Sort',
- 'col_album_sorting' => 'Album Sort',
- 'col_created_at' => 'Created',
+ // Table columns
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_license' => 'License',
+ 'col_is_nsfw' => 'Sensitive',
+ 'col_is_public' => 'Public',
+ 'col_is_link_required' => 'Link',
+ 'col_grants_full_photo_access' => 'Full Photo',
+ 'col_grants_download' => 'Download',
+ 'col_grants_upload' => 'Upload',
+ 'col_photo_sorting' => 'Photo Sort',
+ 'col_album_sorting' => 'Album Sort',
+ 'col_created_at' => 'Created',
- // Filter
- 'filter_placeholder' => 'Search by title...',
+ // Filter
+ 'filter_placeholder' => 'Search by title...',
- // Pagination
- 'per_page' => 'Per page',
- 'total_selected' => ':n album selected|:n albums selected',
- 'select_all_page' => 'Select all on this page',
- 'select_all_matching' => 'Select all matching',
- 'cap_warning' => 'Only the first 1,000 albums have been selected.',
+ // Pagination
+ 'per_page' => 'Per page',
+ 'total_selected' => ':n album selected|:n albums selected',
+ 'select_all_page' => 'Select all on this page',
+ 'select_all_matching' => 'Select all matching',
+ 'cap_warning' => 'Only the first 1,000 albums have been selected.',
- // Mode toggle
- 'mode_paginated' => 'Paginated',
- 'mode_infinite' => 'Infinite scroll',
+ // Mode toggle
+ 'mode_paginated' => 'Paginated',
+ 'mode_infinite' => 'Infinite scroll',
- // Action buttons
- 'action_delete' => 'Delete',
- 'action_set_owner' => 'Set Owner',
- 'action_edit_fields' => 'Edit Fields',
+ // Action buttons
+ 'action_delete' => 'Delete',
+ 'action_set_owner' => 'Set Owner',
+ 'action_edit_fields' => 'Edit Fields',
- // Edit Fields modal
- 'edit_fields_title' => 'Edit Fields',
- 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
- 'section_metadata' => 'Metadata',
- 'section_visibility' => 'Visibility',
- 'field_description' => 'Description',
- 'field_copyright' => 'Copyright',
- 'field_license' => 'License',
- 'field_photo_layout' => 'Photo Layout',
- 'field_photo_sorting_col' => 'Photo Sort Column',
- 'field_photo_sorting_order' => 'Photo Sort Order',
- 'field_album_sorting_col' => 'Album Sort Column',
- 'field_album_sorting_order' => 'Album Sort Order',
- 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
- 'field_album_timeline' => 'Album Timeline',
- 'field_photo_timeline' => 'Photo Timeline',
- 'field_is_nsfw' => 'Sensitive',
- 'field_is_public' => 'Public',
- 'field_is_link_required' => 'Link Required',
- 'field_grants_full_photo_access' => 'Full Photo Access',
- 'field_grants_download' => 'Download',
- 'field_grants_upload' => 'Upload (SE)',
- 'apply' => 'Apply',
- 'cancel' => 'Cancel',
+ // Edit Fields modal
+ 'edit_fields_title' => 'Edit Fields',
+ 'edit_fields_description' => 'Only checked fields will be updated. Empty values clear the field.',
+ 'section_metadata' => 'Metadata',
+ 'section_visibility' => 'Visibility',
+ 'field_description' => 'Description',
+ 'field_copyright' => 'Copyright',
+ 'field_license' => 'License',
+ 'field_photo_layout' => 'Photo Layout',
+ 'field_photo_sorting_col' => 'Photo Sort Column',
+ 'field_photo_sorting_order' => 'Photo Sort Order',
+ 'field_album_sorting_col' => 'Album Sort Column',
+ 'field_album_sorting_order' => 'Album Sort Order',
+ 'field_album_thumb_aspect_ratio' => 'Thumb Aspect Ratio',
+ 'field_album_timeline' => 'Album Timeline',
+ 'field_photo_timeline' => 'Photo Timeline',
+ 'field_is_nsfw' => 'Sensitive',
+ 'field_is_public' => 'Public',
+ 'field_is_link_required' => 'Link Required',
+ 'field_grants_full_photo_access' => 'Full Photo Access',
+ 'field_grants_download' => 'Download',
+ 'field_grants_upload' => 'Upload (SE)',
+ 'apply' => 'Apply',
+ 'cancel' => 'Cancel',
- // Set Owner modal
- 'set_owner_title' => 'Set Owner',
- 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
- 'set_owner_select_user' => 'Select new owner',
- 'transfer' => 'Transfer',
+ // Set Owner modal
+ 'set_owner_title' => 'Set Owner',
+ 'set_owner_description' => 'All selected albums will be moved to the root level and their descendants will also be transferred.',
+ 'set_owner_select_user' => 'Select new owner',
+ 'transfer' => 'Transfer',
- // Delete confirmation modal
- 'delete_title' => 'Delete Albums',
- 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
- 'confirm_delete' => 'Confirm Delete',
+ // Delete confirmation modal
+ 'delete_title' => 'Delete Albums',
+ 'delete_confirm' => 'You are about to permanently delete :count album and all its sub-albums and photos. This action cannot be undone.|You are about to permanently delete :count albums and all their sub-albums and photos. This action cannot be undone.',
+ 'confirm_delete' => 'Confirm Delete',
- // Toasts
- 'success_patch' => 'Albums updated successfully.',
- 'success_set_owner' => 'Ownership transferred successfully.',
- 'success_delete' => 'Albums deleted successfully.',
- 'error_load' => 'Failed to load albums.',
- 'error_load_ids' => 'Failed to load album IDs.',
- 'error_patch' => 'Failed to update albums.',
- 'error_set_owner' => 'Failed to transfer ownership.',
- 'error_delete' => 'Failed to delete albums.',
- 'error_load_users' => 'Failed to load users.',
+ // Toasts
+ 'success_patch' => 'Albums updated successfully.',
+ 'success_set_owner' => 'Ownership transferred successfully.',
+ 'success_delete' => 'Albums deleted successfully.',
+ 'error_load' => 'Failed to load albums.',
+ 'error_load_ids' => 'Failed to load album IDs.',
+ 'error_patch' => 'Failed to update albums.',
+ 'error_set_owner' => 'Failed to transfer ownership.',
+ 'error_delete' => 'Failed to delete albums.',
+ 'error_load_users' => 'Failed to load users.',
];
diff --git a/lang/zh_TW/changelogs.php b/lang/zh_TW/changelogs.php
index a4f15d26ae4..5fac1c69ff0 100644
--- a/lang/zh_TW/changelogs.php
+++ b/lang/zh_TW/changelogs.php
@@ -1,11 +1,11 @@
'變更日誌頁面',
- 'description' => '本頁包含 Lychee 最新可用版本的更新記錄。這並非僅限於您目前安裝版本的變更。我們希望藉此讓您在決定升級時能更清楚了解會有哪些更新內容。',
+ /*
+ |--------------------------------------------------------------------------
+ | Changelogs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '變更日誌頁面',
+ 'description' => '本頁包含 Lychee 最新可用版本的更新記錄。這並非僅限於您目前安裝版本的變更。我們希望藉此讓您在決定升級時能更清楚了解會有哪些更新內容。',
];
diff --git a/lang/zh_TW/contact.php b/lang/zh_TW/contact.php
index de0718c722b..2295ae4fa13 100644
--- a/lang/zh_TW/contact.php
+++ b/lang/zh_TW/contact.php
@@ -1,62 +1,62 @@
'Contact Us',
- 'description' => 'We\'d love to hear from you!',
- 'name_label' => 'Name',
- 'name_placeholder' => 'Your name',
- 'email_label' => 'Email or contact method',
- 'email_placeholder' => 'your@email.com',
- 'message_label' => 'Message',
- 'message_placeholder' => 'Write your message here...',
- 'security_question_label' => 'Security Question',
- 'security_answer_placeholder' => 'Your answer',
- 'sample_qa_label' => 'Sample Q&A',
- 'consent_label' => 'I agree to the',
- 'consent_privacy_link' => 'privacy policy',
- 'name_required_error' => 'Name is required.',
- 'email_required_error' => 'Contact method is required.',
- 'message_min_length_error' => 'Message must be at least 10 characters.',
- 'security_answer_required_error' => 'Please answer the security question.',
- 'consent_required_error' => 'You must agree to the privacy policy.',
- 'submit_button' => 'Send Message',
- 'clear_button' => 'Clear',
- 'success_message' => 'Thank you for your message. We will get back to you soon.',
- 'submit_error' => 'An error occurred while submitting your message. Please try again.',
- 'rate_limit_error' => 'Too many submissions. Please try again later.',
- 'validation_error' => 'Please correct the errors below.',
+ /*
+ |--------------------------------------------------------------------------
+ | Contact form page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Contact Us',
+ 'description' => 'We\'d love to hear from you!',
+ 'name_label' => 'Name',
+ 'name_placeholder' => 'Your name',
+ 'email_label' => 'Email or contact method',
+ 'email_placeholder' => 'your@email.com',
+ 'message_label' => 'Message',
+ 'message_placeholder' => 'Write your message here...',
+ 'security_question_label' => 'Security Question',
+ 'security_answer_placeholder' => 'Your answer',
+ 'sample_qa_label' => 'Sample Q&A',
+ 'consent_label' => 'I agree to the',
+ 'consent_privacy_link' => 'privacy policy',
+ 'name_required_error' => 'Name is required.',
+ 'email_required_error' => 'Contact method is required.',
+ 'message_min_length_error' => 'Message must be at least 10 characters.',
+ 'security_answer_required_error' => 'Please answer the security question.',
+ 'consent_required_error' => 'You must agree to the privacy policy.',
+ 'submit_button' => 'Send Message',
+ 'clear_button' => 'Clear',
+ 'success_message' => 'Thank you for your message. We will get back to you soon.',
+ 'submit_error' => 'An error occurred while submitting your message. Please try again.',
+ 'rate_limit_error' => 'Too many submissions. Please try again later.',
+ 'validation_error' => 'Please correct the errors below.',
- /*
- |--------------------------------------------------------------------------
- | Admin contact messages page
- |--------------------------------------------------------------------------
- */
- 'admin' => [
- 'title' => 'Contact Messages',
- 'description' => 'Messages submitted through the contact form.',
- 'no_messages' => 'No contact messages yet.',
- 'name_column' => 'Name',
- 'email_column' => 'Email',
- 'message_column' => 'Message',
- 'date_column' => 'Date',
- 'read_column' => 'Read',
- 'search_placeholder' => 'Search messages...',
- 'filter_unread' => 'Unread',
- 'filter_read' => 'Read',
- 'filter_all' => 'All',
- 'mark_read' => 'Mark as read',
- 'mark_unread' => 'Mark as unread',
- 'delete_confirm_header' => 'Delete Message',
- 'delete_confirm_message' => 'Are you sure you want to delete this message?',
- 'delete_success' => 'Message deleted.',
- 'delete_error' => 'Failed to delete the message.',
- 'update_error' => 'Failed to update the message.',
- 'cancel' => 'Cancel',
- 'delete' => 'Delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Admin contact messages page
+ |--------------------------------------------------------------------------
+ */
+ 'admin' => [
+ 'title' => 'Contact Messages',
+ 'description' => 'Messages submitted through the contact form.',
+ 'no_messages' => 'No contact messages yet.',
+ 'name_column' => 'Name',
+ 'email_column' => 'Email',
+ 'message_column' => 'Message',
+ 'date_column' => 'Date',
+ 'read_column' => 'Read',
+ 'search_placeholder' => 'Search messages...',
+ 'filter_unread' => 'Unread',
+ 'filter_read' => 'Read',
+ 'filter_all' => 'All',
+ 'mark_read' => 'Mark as read',
+ 'mark_unread' => 'Mark as unread',
+ 'delete_confirm_header' => 'Delete Message',
+ 'delete_confirm_message' => 'Are you sure you want to delete this message?',
+ 'delete_success' => 'Message deleted.',
+ 'delete_error' => 'Failed to delete the message.',
+ 'update_error' => 'Failed to update the message.',
+ 'cancel' => 'Cancel',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/zh_TW/diagnostics.php b/lang/zh_TW/diagnostics.php
index b992466dadd..bdcefcdff6c 100644
--- a/lang/zh_TW/diagnostics.php
+++ b/lang/zh_TW/diagnostics.php
@@ -1,23 +1,23 @@
'診斷',
- 'copy_to_clipboard' => '複制診斷到剪貼簿',
- 'self-diagnosis' => '自我診斷',
- 'info' => '資料',
- 'space' => '空間',
- 'load_space' => '已使用負載空間。',
- 'configuration' => '設定',
- 'loading' => '加載中…',
- 'identical_content' => '相同的內容',
- 'toast' => [
- 'info' => '資料',
- 'copy' => '診斷已複制到剪貼簿!',
- ],
- 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
+ /*
+ |--------------------------------------------------------------------------
+ | Diagnostics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '診斷',
+ 'copy_to_clipboard' => '複制診斷到剪貼簿',
+ 'self-diagnosis' => '自我診斷',
+ 'info' => '資料',
+ 'space' => '空間',
+ 'load_space' => '已使用負載空間。',
+ 'configuration' => '設定',
+ 'loading' => '加載中…',
+ 'identical_content' => '相同的內容',
+ 'toast' => [
+ 'info' => '資料',
+ 'copy' => '診斷已複制到剪貼簿!',
+ ],
+ 'copy_on_secure_context' => 'Copying diagnostics is only available in secure contexts (HTTPS).',
];
diff --git a/lang/zh_TW/dialogs.php b/lang/zh_TW/dialogs.php
index 7994271dfc5..f844e8c1c7a 100644
--- a/lang/zh_TW/dialogs.php
+++ b/lang/zh_TW/dialogs.php
@@ -1,305 +1,305 @@
[
- /*
- |--------------------------------------------------------------------------
- | Dialogs
- |--------------------------------------------------------------------------
- */
- 'close' => '關閉',
- 'cancel' => '取消',
- 'save' => '儲存',
- 'delete' => '刪除',
- 'move' => '移動',
- ],
- 'about' => [
- 'subtitle' => '自主相簿管理的最佳實踐',
- 'description' => 'Lychee是一款免費的照片管理工具,可在您的伺服器或網路空間上運作。安裝只需幾秒鐘。您可以像使用原生應用程式一樣上傳、管理和分享照片。 Lychee提供您所需的一切功能,並且所有照片都安全儲存。',
- 'update_available' => '有可用的更新!',
- 'thank_you' => '感謝您的支持!',
- 'get_supporter_or_register' => '取得專屬功能並支持 Lychee的持續開發。
啟用贊助者版本或註冊您的授權金鑰',
- 'here' => '點擊此處',
- ],
- 'dropbox' => [
- 'not_configured' => 'Dropbox尚未設置。',
- ],
- 'import_from_link' => [
- 'instructions' => '請輸入要匯入的相片直接連結:',
- 'import' => '匯入',
- ],
- 'keybindings' => [
- 'header' => '鍵盤快捷鍵',
- 'don_t_show_again' => '不要再次顯示此對話窗',
- 'hide_header_button' => '不要在標題中顯示幫助',
- 'side_wide' => '全域快捷鍵',
- 'back_cancel' => '返回/取消',
- 'confirm' => '確認',
- 'login' => '登入',
- 'toggle_full_screen' => '切換全螢幕',
- 'toggle_sensitive_albums' => '切換敏感相簿',
- 'albums' => '相簿捷徑',
- 'new_album' => '新的相簿',
- 'upload_photos' => '上傳相片',
- 'search' => '搜尋',
- 'show_this_modal' => '顯示此模式',
- 'select_all' => '全選',
- 'move_selection' => '移動所選',
- 'delete_selection' => '刪除選擇項目',
- 'album' => '相簿捷徑',
- 'slideshow' => '開始/停止幻燈片模式',
- 'toggle' => '切換面板',
- 'photo' => '相片捷徑',
- 'previous' => '先前的照片',
- 'next' => '下一張照片',
- 'cycle' => '循環顯示模式',
- 'star' => '將相片加入星號',
- 'move' => '移動相片',
- 'delete' => '刪除相片',
- 'edit' => '編輯資訊',
- 'show_hide_meta' => '顯示資訊',
- 'keep_hidden' => '我們將使其隱藏。',
- 'button_hidden' => '我們將在標題中隱藏按鈕。',
- ],
- 'login' => [
- 'auth_with' => '使用 %s 進行身份驗證',
- 'username' => '使用者名稱',
- 'password' => '密碼',
- 'unknown_invalid' => '未知的使用者或密碼無效。',
- 'signin' => '登入',
- 'remember_me' => '記住我',
- ],
- 'register' => [
- 'enter_license' => '在下方輸入您的授權鑰匙:',
- 'license_key' => '授權鑰匙',
- 'invalid_license' => '無效的授權鑰匙。',
- 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
- 'register' => '註冊',
- ],
- 'share_album' => [
- 'url_copied' => '已將 URL 複製到剪貼簿!',
- ],
- 'embed_code' => [
- 'title' => 'Embed Album',
- 'title_stream' => 'Embed Photo Stream',
- 'info' => 'Generate an embed code to display this album on your website.',
- 'mode' => '模式',
- 'mode_album_help' => '嵌入此特定相簿中的照片。',
- 'mode_stream_help' => '將您的所有公開照片作為時間順序流嵌入(最新的排在前面)。',
- 'layout' => 'Layout',
- 'spacing' => 'Spacing',
- 'row_height' => 'Row Height',
- 'column_width' => 'Column Width',
- 'max_photos' => 'Maximum Photos',
- 'max_photos_none' => 'None (all photos)',
- 'max_photos_count' => '%d photos',
- 'sort_order' => 'Sort Order',
- 'sort_newest' => 'Newest first',
- 'sort_oldest' => 'Oldest first',
- 'header_placement' => 'Header Placement',
- 'header_top' => 'Top',
- 'header_bottom' => 'Bottom',
- 'header_none' => 'None',
- 'preview' => 'Preview',
- 'preview_failed' => 'Failed to load preview.',
- 'code' => 'Embed Code',
- 'copy' => 'Copy to Clipboard',
- 'copied' => 'Copied!',
- 'copy_success' => 'Embed code copied to clipboard',
- 'copy_error' => 'Error',
- 'copy_error_message' => 'Failed to copy to clipboard',
- 'show_advanced' => 'Show advanced options',
- 'hide_advanced' => 'Hide advanced options',
- ],
- 'upload' => [
- 'completed' => '完全的',
- 'uploaded' => '已上傳:',
- 'release' => '發布文件上傳!',
- 'select' => '點擊此處選擇要上傳的文件',
- 'drag' => '(或將文件拖曳到頁面上)',
- 'loading' => '載入中',
- 'resume' => '恢復',
- 'uploading' => '上傳中',
- 'finished' => '已完成',
- 'failed_error' => '上傳失敗。伺服器回傳錯誤!',
- 'apply_watermark' => 'Apply watermark',
- ],
- 'camera' => [
- 'title' => '拍照',
- 'capture' => '拍攝',
- 'retake' => '重拍',
- 'upload' => '上傳',
- 'secure_connection_required' => '存取攝影機需要安全連線(HTTPS 或 localhost)。',
- ],
- 'visibility' => [
- 'public' => '公開',
- 'public_expl' => '匿名使用者可以存取此相簿,但須遵守以下限制。',
- 'full' => '原本的',
- 'full_expl' => '匿名使用者可以瀏覽完整解析度的相片。',
- 'hidden' => '隱藏',
- 'hidden_expl' => '匿名使用者需要直接連結才可以存取此相簿。',
- 'downloadable' => '可下載的',
- 'downloadable_expl' => '匿名使用者可以下載此相簿。',
- 'upload' => '允許上傳',
- 'upload_expl' => ' 匿名使用者可以上傳相片到此相簿。',
- 'password' => '密碼',
- 'password_prot' => '密碼保護',
- 'password_prot_expl' => '匿名使用者需要共享密碼才能存取此相簿。',
- 'password_prop_not_compatible' => '快取設定與此選項衝突。
由於回應快取的緣故,解鎖此相簿時,
其內容也會對其他匿名使用者顯示。',
- 'nsfw' => '敏感的',
- 'nsfw_expl' => '相簿包含敏感內容。',
- 'visibility_updated' => '顯示狀態已更新。',
- ],
- 'move_album' => [
- 'confirm_single' => '您想將此相簿“%1$s” 移動至 “%2$s”?',
- 'confirm_multiple' => '您想將所有所選的的相簿移動至 “%s”?',
- 'move_single' => '移動相簿',
- 'move_to' => '移動至',
- 'move_to_single' => '移動 %s 至:',
- 'move_to_multiple' => '移動 %d 相簿至:',
- 'no_album_target' => '沒有相簿可移動至',
- 'moved_single' => '相簿已移動!',
- 'moved_single_details' => '%1$s 移動至 %2$s',
- 'moved_details' => '相簿移動至%s',
- ],
- 'new_album' => [
- 'menu' => '建立相簿',
- 'info' => '輸入新的相簿標題:',
- 'title' => '標題',
- 'create' => '建立相簿',
- 'visibility_private' => '此相簿將被設為私密(只有你可見)',
- 'visibility_public' => '此相簿將被設為公開(所有人可見)',
- 'visibility_public_hidden' => '此相簿將被設為公開但隱藏於列表中',
- 'visibility_inherit' => '此相簿將繼承父相簿的可見性',
- 'visibility_inherit_no_parent' => '此相簿將被設為私密(沒有父相簿)', ],
- 'new_tag_album' => [
- 'menu' => '建立相簿標籤',
- 'info' => '輸入新的相簿標籤名稱:',
- 'title' => '標題',
- 'set_tags' => '設定要顯示的標籤',
- 'create' => '建立標籤相簿',
- ],
- 'delete_album' => [
- 'confirmation' => '您確定要刪除相簿%s及其中所包含的相片嗎?',
- 'confirmation_tag' => '您確定要刪除相簿%s嗎?',
- 'confirmation_multiple' => '您確定要刪除所有 %d 已選相簿及其中所包含的照片嗎?',
- 'warning' => '此操作無法復原!',
- 'delete' => '刪除相簿及相片',
- ],
- 'transfer' => [
- 'query' => '將相簿所有權轉移至',
- 'confirmation' => '您確定要將相簿%s及其中所包含的照片之所有權轉移至%s嗎?',
- 'lost_access_warning' => '您對此相簿的存取權限將被移除。',
- 'warning' => '此操作無法復原!',
- 'transfer' => '轉移相簿和照片的所有權',
- ],
- 'rename' => [
- 'photo' => '輸入這張相片的新標題:',
- 'album' => '輸入這本相簿的新標題:',
- 'rename' => '重新命名',
- ],
- 'merge' => [
- 'merge_to' => '將 %s 合併至:',
- 'merge_to_multiple' => '將 %d 相簿合併至:',
- 'no_albums' => '沒有可合併的相簿。',
- 'confirm' => '您確定要將相簿%1$s合併到相簿%2$s嗎?',
- 'confirm_multiple' => '您確定要將所有選定的相簿合併到相簿%s嗎?',
- 'merge' => '合併相簿',
- 'merged' => '相簿合併至 %s!',
- ],
- 'unlock' => [
- 'password_required' => '此相簿被密碼保護。請在下方輸入密碼來瀏覽此相簿中的相片:',
- 'password' => '密碼',
- 'unlock' => '解鎖',
- ],
- 'photo_tags' => [
- 'question' => '輸入此相片的標籤。',
- 'question_multiple' => '請為所有%d選取的相片輸入標籤,已存在的標籤將被覆寫。',
- 'no_tags' => '沒有標籤',
- 'set_tags' => '設定標籤',
- 'updated' => '已更新標籤!',
- 'tags_override_info' => '如果未勾選,標籤將會新增到照片現有的標籤中。',
- ],
- 'photo_license' => [
- 'question' => 'Select a license for this photo.',
- 'question_multiple' => 'Select a license for all %d selected photos.',
- 'select_license' => 'Select License',
- 'set_license' => 'Set License',
- 'updated' => 'License updated!',
- ],
- 'photo_copy' => [
- 'no_albums' => '沒有可複製的相簿至',
- 'copy_to' => '複製 %s 至:',
- 'copy_to_multiple' => '複製 %d 相片至:',
- 'confirm' => '複製 %s 至 %s。',
- 'confirm_multiple' => '複製 %d 相片至 %s。',
- 'copy' => '複製',
- 'copied' => '已複製相片!',
- ],
- 'photo_delete' => [
- 'confirm' => '您確定想刪除相片%s?',
- 'confirm_multiple' => '您確定要刪除所有%d 已選取的照片嗎?',
- 'deleted' => '已刪除相片!',
- ],
- 'move_photo' => [
- 'move_single' => '移動%s至:',
- 'move_multiple' => '移動%d相片至:',
- 'confirm' => '移動%s至%s。',
- 'confirm_multiple' => '移動%d相片至%s。',
- 'moved' => '相片已移動至%s!',
- ],
- 'target_user' => [
- 'placeholder' => '選擇使用者',
- ],
- 'target_album' => [
- 'placeholder' => '選擇相簿',
- ],
- 'webauthn' => [
- 'u2f' => '兩步驟驗證',
- 'success' => '驗證成功!',
- 'error' => '哎呀,似乎出了點問題。請重新載入網站並再試一次!',
- ],
- 'se' => [
- 'available' => '贊助者版本專屬功能',
- ],
- 'session_expired' => [
- 'title' => '工作階段已過期',
- 'message' => '工作階段已過期。
請重新整理頁面。',
- 'reload' => '重新載入',
- 'go_to_gallery' => '前往至展示頁面',
- ],
- 'selected_images' => [
- 'names_copied' => 'The names of the selected images have been copied!',
- ],
- 'apply_renamer' => [
- 'title' => 'Apply Renamer Rules',
- 'description' => 'Select the renamer rules to apply and configure the scope.',
- 'no_rules' => 'No renamer rules found.',
- 'target' => 'Target',
- 'scope' => 'Scope',
- 'photos' => 'Photos',
- 'albums' => 'Albums',
- 'current' => 'Current',
- 'descendants' => 'Descendants',
- 'preview' => 'Preview',
- 'preview_title' => 'Preview Changes',
- 'no_changes' => 'No changes detected.',
- 'original' => 'Original',
- 'new_title' => 'New Title',
- 'count_changes' => ':count item(s) will be renamed.',
- 'back' => 'Back',
- 'apply' => 'Apply',
- 'success' => 'Renamer rules applied successfully!',
- ],
- 'watermark_confirm' => [
- 'title' => 'Apply Watermark',
- 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
- 'confirm' => 'Apply Watermark',
- ],
- 'security_advisories' => [
- 'title' => 'Security Vulnerabilities Detected',
- 'description' => 'The following vulnerabilities affect your current Lychee version:',
- 'no_cvss' => '(no CVSS score)',
- 'go_to_diagnostics' => 'Go to Diagnostics',
- ],
+ 'button' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Dialogs
+ |--------------------------------------------------------------------------
+ */
+ 'close' => '關閉',
+ 'cancel' => '取消',
+ 'save' => '儲存',
+ 'delete' => '刪除',
+ 'move' => '移動',
+ ],
+ 'about' => [
+ 'subtitle' => '自主相簿管理的最佳實踐',
+ 'description' => 'Lychee是一款免費的照片管理工具,可在您的伺服器或網路空間上運作。安裝只需幾秒鐘。您可以像使用原生應用程式一樣上傳、管理和分享照片。 Lychee提供您所需的一切功能,並且所有照片都安全儲存。',
+ 'update_available' => '有可用的更新!',
+ 'thank_you' => '感謝您的支持!',
+ 'get_supporter_or_register' => '取得專屬功能並支持 Lychee的持續開發。
啟用贊助者版本或註冊您的授權金鑰',
+ 'here' => '點擊此處',
+ ],
+ 'dropbox' => [
+ 'not_configured' => 'Dropbox尚未設置。',
+ ],
+ 'import_from_link' => [
+ 'instructions' => '請輸入要匯入的相片直接連結:',
+ 'import' => '匯入',
+ ],
+ 'keybindings' => [
+ 'header' => '鍵盤快捷鍵',
+ 'don_t_show_again' => '不要再次顯示此對話窗',
+ 'hide_header_button' => '不要在標題中顯示幫助',
+ 'side_wide' => '全域快捷鍵',
+ 'back_cancel' => '返回/取消',
+ 'confirm' => '確認',
+ 'login' => '登入',
+ 'toggle_full_screen' => '切換全螢幕',
+ 'toggle_sensitive_albums' => '切換敏感相簿',
+ 'albums' => '相簿捷徑',
+ 'new_album' => '新的相簿',
+ 'upload_photos' => '上傳相片',
+ 'search' => '搜尋',
+ 'show_this_modal' => '顯示此模式',
+ 'select_all' => '全選',
+ 'move_selection' => '移動所選',
+ 'delete_selection' => '刪除選擇項目',
+ 'album' => '相簿捷徑',
+ 'slideshow' => '開始/停止幻燈片模式',
+ 'toggle' => '切換面板',
+ 'photo' => '相片捷徑',
+ 'previous' => '先前的照片',
+ 'next' => '下一張照片',
+ 'cycle' => '循環顯示模式',
+ 'star' => '將相片加入星號',
+ 'move' => '移動相片',
+ 'delete' => '刪除相片',
+ 'edit' => '編輯資訊',
+ 'show_hide_meta' => '顯示資訊',
+ 'keep_hidden' => '我們將使其隱藏。',
+ 'button_hidden' => '我們將在標題中隱藏按鈕。',
+ ],
+ 'login' => [
+ 'auth_with' => '使用 %s 進行身份驗證',
+ 'username' => '使用者名稱',
+ 'password' => '密碼',
+ 'unknown_invalid' => '未知的使用者或密碼無效。',
+ 'signin' => '登入',
+ 'remember_me' => '記住我',
+ ],
+ 'register' => [
+ 'enter_license' => '在下方輸入您的授權鑰匙:',
+ 'license_key' => '授權鑰匙',
+ 'invalid_license' => '無效的授權鑰匙。',
+ 'expired_license' => 'Your license key has expired. Empty the field or get a new one at keygen.lycheeorg.dev.',
+ 'register' => '註冊',
+ ],
+ 'share_album' => [
+ 'url_copied' => '已將 URL 複製到剪貼簿!',
+ ],
+ 'embed_code' => [
+ 'title' => 'Embed Album',
+ 'title_stream' => 'Embed Photo Stream',
+ 'info' => 'Generate an embed code to display this album on your website.',
+ 'mode' => '模式',
+ 'mode_album_help' => '嵌入此特定相簿中的照片。',
+ 'mode_stream_help' => '將您的所有公開照片作為時間順序流嵌入(最新的排在前面)。',
+ 'layout' => 'Layout',
+ 'spacing' => 'Spacing',
+ 'row_height' => 'Row Height',
+ 'column_width' => 'Column Width',
+ 'max_photos' => 'Maximum Photos',
+ 'max_photos_none' => 'None (all photos)',
+ 'max_photos_count' => '%d photos',
+ 'sort_order' => 'Sort Order',
+ 'sort_newest' => 'Newest first',
+ 'sort_oldest' => 'Oldest first',
+ 'header_placement' => 'Header Placement',
+ 'header_top' => 'Top',
+ 'header_bottom' => 'Bottom',
+ 'header_none' => 'None',
+ 'preview' => 'Preview',
+ 'preview_failed' => 'Failed to load preview.',
+ 'code' => 'Embed Code',
+ 'copy' => 'Copy to Clipboard',
+ 'copied' => 'Copied!',
+ 'copy_success' => 'Embed code copied to clipboard',
+ 'copy_error' => 'Error',
+ 'copy_error_message' => 'Failed to copy to clipboard',
+ 'show_advanced' => 'Show advanced options',
+ 'hide_advanced' => 'Hide advanced options',
+ ],
+ 'upload' => [
+ 'completed' => '完全的',
+ 'uploaded' => '已上傳:',
+ 'release' => '發布文件上傳!',
+ 'select' => '點擊此處選擇要上傳的文件',
+ 'drag' => '(或將文件拖曳到頁面上)',
+ 'loading' => '載入中',
+ 'resume' => '恢復',
+ 'uploading' => '上傳中',
+ 'finished' => '已完成',
+ 'failed_error' => '上傳失敗。伺服器回傳錯誤!',
+ 'apply_watermark' => 'Apply watermark',
+ ],
+ 'camera' => [
+ 'title' => '拍照',
+ 'capture' => '拍攝',
+ 'retake' => '重拍',
+ 'upload' => '上傳',
+ 'secure_connection_required' => '存取攝影機需要安全連線(HTTPS 或 localhost)。',
+ ],
+ 'visibility' => [
+ 'public' => '公開',
+ 'public_expl' => '匿名使用者可以存取此相簿,但須遵守以下限制。',
+ 'full' => '原本的',
+ 'full_expl' => '匿名使用者可以瀏覽完整解析度的相片。',
+ 'hidden' => '隱藏',
+ 'hidden_expl' => '匿名使用者需要直接連結才可以存取此相簿。',
+ 'downloadable' => '可下載的',
+ 'downloadable_expl' => '匿名使用者可以下載此相簿。',
+ 'upload' => '允許上傳',
+ 'upload_expl' => ' 匿名使用者可以上傳相片到此相簿。',
+ 'password' => '密碼',
+ 'password_prot' => '密碼保護',
+ 'password_prot_expl' => '匿名使用者需要共享密碼才能存取此相簿。',
+ 'password_prop_not_compatible' => '快取設定與此選項衝突。
由於回應快取的緣故,解鎖此相簿時,
其內容也會對其他匿名使用者顯示。',
+ 'nsfw' => '敏感的',
+ 'nsfw_expl' => '相簿包含敏感內容。',
+ 'visibility_updated' => '顯示狀態已更新。',
+ ],
+ 'move_album' => [
+ 'confirm_single' => '您想將此相簿“%1$s” 移動至 “%2$s”?',
+ 'confirm_multiple' => '您想將所有所選的的相簿移動至 “%s”?',
+ 'move_single' => '移動相簿',
+ 'move_to' => '移動至',
+ 'move_to_single' => '移動 %s 至:',
+ 'move_to_multiple' => '移動 %d 相簿至:',
+ 'no_album_target' => '沒有相簿可移動至',
+ 'moved_single' => '相簿已移動!',
+ 'moved_single_details' => '%1$s 移動至 %2$s',
+ 'moved_details' => '相簿移動至%s',
+ ],
+ 'new_album' => [
+ 'menu' => '建立相簿',
+ 'info' => '輸入新的相簿標題:',
+ 'title' => '標題',
+ 'create' => '建立相簿',
+ 'visibility_private' => '此相簿將被設為私密(只有你可見)',
+ 'visibility_public' => '此相簿將被設為公開(所有人可見)',
+ 'visibility_public_hidden' => '此相簿將被設為公開但隱藏於列表中',
+ 'visibility_inherit' => '此相簿將繼承父相簿的可見性',
+ 'visibility_inherit_no_parent' => '此相簿將被設為私密(沒有父相簿)', ],
+ 'new_tag_album' => [
+ 'menu' => '建立相簿標籤',
+ 'info' => '輸入新的相簿標籤名稱:',
+ 'title' => '標題',
+ 'set_tags' => '設定要顯示的標籤',
+ 'create' => '建立標籤相簿',
+ ],
+ 'delete_album' => [
+ 'confirmation' => '您確定要刪除相簿%s及其中所包含的相片嗎?',
+ 'confirmation_tag' => '您確定要刪除相簿%s嗎?',
+ 'confirmation_multiple' => '您確定要刪除所有 %d 已選相簿及其中所包含的照片嗎?',
+ 'warning' => '此操作無法復原!',
+ 'delete' => '刪除相簿及相片',
+ ],
+ 'transfer' => [
+ 'query' => '將相簿所有權轉移至',
+ 'confirmation' => '您確定要將相簿%s及其中所包含的照片之所有權轉移至%s嗎?',
+ 'lost_access_warning' => '您對此相簿的存取權限將被移除。',
+ 'warning' => '此操作無法復原!',
+ 'transfer' => '轉移相簿和照片的所有權',
+ ],
+ 'rename' => [
+ 'photo' => '輸入這張相片的新標題:',
+ 'album' => '輸入這本相簿的新標題:',
+ 'rename' => '重新命名',
+ ],
+ 'merge' => [
+ 'merge_to' => '將 %s 合併至:',
+ 'merge_to_multiple' => '將 %d 相簿合併至:',
+ 'no_albums' => '沒有可合併的相簿。',
+ 'confirm' => '您確定要將相簿%1$s合併到相簿%2$s嗎?',
+ 'confirm_multiple' => '您確定要將所有選定的相簿合併到相簿%s嗎?',
+ 'merge' => '合併相簿',
+ 'merged' => '相簿合併至 %s!',
+ ],
+ 'unlock' => [
+ 'password_required' => '此相簿被密碼保護。請在下方輸入密碼來瀏覽此相簿中的相片:',
+ 'password' => '密碼',
+ 'unlock' => '解鎖',
+ ],
+ 'photo_tags' => [
+ 'question' => '輸入此相片的標籤。',
+ 'question_multiple' => '請為所有%d選取的相片輸入標籤,已存在的標籤將被覆寫。',
+ 'no_tags' => '沒有標籤',
+ 'set_tags' => '設定標籤',
+ 'updated' => '已更新標籤!',
+ 'tags_override_info' => '如果未勾選,標籤將會新增到照片現有的標籤中。',
+ ],
+ 'photo_license' => [
+ 'question' => 'Select a license for this photo.',
+ 'question_multiple' => 'Select a license for all %d selected photos.',
+ 'select_license' => 'Select License',
+ 'set_license' => 'Set License',
+ 'updated' => 'License updated!',
+ ],
+ 'photo_copy' => [
+ 'no_albums' => '沒有可複製的相簿至',
+ 'copy_to' => '複製 %s 至:',
+ 'copy_to_multiple' => '複製 %d 相片至:',
+ 'confirm' => '複製 %s 至 %s。',
+ 'confirm_multiple' => '複製 %d 相片至 %s。',
+ 'copy' => '複製',
+ 'copied' => '已複製相片!',
+ ],
+ 'photo_delete' => [
+ 'confirm' => '您確定想刪除相片%s?',
+ 'confirm_multiple' => '您確定要刪除所有%d 已選取的照片嗎?',
+ 'deleted' => '已刪除相片!',
+ ],
+ 'move_photo' => [
+ 'move_single' => '移動%s至:',
+ 'move_multiple' => '移動%d相片至:',
+ 'confirm' => '移動%s至%s。',
+ 'confirm_multiple' => '移動%d相片至%s。',
+ 'moved' => '相片已移動至%s!',
+ ],
+ 'target_user' => [
+ 'placeholder' => '選擇使用者',
+ ],
+ 'target_album' => [
+ 'placeholder' => '選擇相簿',
+ ],
+ 'webauthn' => [
+ 'u2f' => '兩步驟驗證',
+ 'success' => '驗證成功!',
+ 'error' => '哎呀,似乎出了點問題。請重新載入網站並再試一次!',
+ ],
+ 'se' => [
+ 'available' => '贊助者版本專屬功能',
+ ],
+ 'session_expired' => [
+ 'title' => '工作階段已過期',
+ 'message' => '工作階段已過期。
請重新整理頁面。',
+ 'reload' => '重新載入',
+ 'go_to_gallery' => '前往至展示頁面',
+ ],
+ 'selected_images' => [
+ 'names_copied' => 'The names of the selected images have been copied!',
+ ],
+ 'apply_renamer' => [
+ 'title' => 'Apply Renamer Rules',
+ 'description' => 'Select the renamer rules to apply and configure the scope.',
+ 'no_rules' => 'No renamer rules found.',
+ 'target' => 'Target',
+ 'scope' => 'Scope',
+ 'photos' => 'Photos',
+ 'albums' => 'Albums',
+ 'current' => 'Current',
+ 'descendants' => 'Descendants',
+ 'preview' => 'Preview',
+ 'preview_title' => 'Preview Changes',
+ 'no_changes' => 'No changes detected.',
+ 'original' => 'Original',
+ 'new_title' => 'New Title',
+ 'count_changes' => ':count item(s) will be renamed.',
+ 'back' => 'Back',
+ 'apply' => 'Apply',
+ 'success' => 'Renamer rules applied successfully!',
+ ],
+ 'watermark_confirm' => [
+ 'title' => 'Apply Watermark',
+ 'description' => 'Are you sure you want to apply a watermark to the photos in this album? This action cannot be undone.',
+ 'confirm' => 'Apply Watermark',
+ ],
+ 'security_advisories' => [
+ 'title' => 'Security Vulnerabilities Detected',
+ 'description' => 'The following vulnerabilities affect your current Lychee version:',
+ 'no_cvss' => '(no CVSS score)',
+ 'go_to_diagnostics' => 'Go to Diagnostics',
+ ],
];
diff --git a/lang/zh_TW/duplicate-finder.php b/lang/zh_TW/duplicate-finder.php
index 7b40e5817a4..861f3c98bbe 100644
--- a/lang/zh_TW/duplicate-finder.php
+++ b/lang/zh_TW/duplicate-finder.php
@@ -1,26 +1,26 @@
'維護',
- 'intro' => '你可以在本頁找到重覆的相片。',
- 'found' => ' 發現重覆!',
- 'invalid-search' => ' At least the checksum or title condition must be checked.',
- 'checksum-must-match' => 'Checksum must match.',
- 'title-must-match' => '標題必需要一致。',
- 'must-be-in-same-album' => '必需要在同一個相本裡面。',
- 'columns' => [
- 'album' => '相本',
- 'photo' => '相片',
- 'checksum' => 'Checksum',
- ],
- 'warning' => [
- 'no-original-left' => 'No original left.',
- 'keep-one' => '你在這組裡選擇了所有重覆的。請至少保留一個。',
- ],
- 'delete-selected' => '刪除已選',
+ /*
+ |--------------------------------------------------------------------------
+ | Duplicate Finder Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '維護',
+ 'intro' => '你可以在本頁找到重覆的相片。',
+ 'found' => ' 發現重覆!',
+ 'invalid-search' => ' At least the checksum or title condition must be checked.',
+ 'checksum-must-match' => 'Checksum must match.',
+ 'title-must-match' => '標題必需要一致。',
+ 'must-be-in-same-album' => '必需要在同一個相本裡面。',
+ 'columns' => [
+ 'album' => '相本',
+ 'photo' => '相片',
+ 'checksum' => 'Checksum',
+ ],
+ 'warning' => [
+ 'no-original-left' => 'No original left.',
+ 'keep-one' => '你在這組裡選擇了所有重覆的。請至少保留一個。',
+ ],
+ 'delete-selected' => '刪除已選',
];
diff --git a/lang/zh_TW/fix-tree.php b/lang/zh_TW/fix-tree.php
index cdc7c93ca7c..c1b613ffce7 100644
--- a/lang/zh_TW/fix-tree.php
+++ b/lang/zh_TW/fix-tree.php
@@ -1,46 +1,46 @@
'維護',
- 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
- 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
- 'help' => [
- 'header' => 'Help',
- 'hover' => 'Hover ids or titles to highlight related albums.',
- 'left' => 'Left',
- 'right' => 'Right',
- 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
- 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
- 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
- 'slowness' => 'This page will be slow with a large number of albums.',
- ],
- 'buttons' => [
- 'reset' => 'Reset',
- 'check' => 'Check',
- 'apply' => 'Apply',
- ],
- 'no-changes' => 'No changes to apply.',
- 'table' => [
- 'title' => '標題',
- 'left' => 'Left',
- 'right' => 'Right',
- 'id' => 'Id',
- 'parent' => 'Parent Id',
- ],
- 'errors' => [
- 'invalid' => 'Invalid tree!',
- 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
- 'invalid_left' => 'Album %s has an invalid left value.',
- 'invalid_right' => 'Album %s has an invalid right value.',
- 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
- 'duplicate_left' => 'Album %s has a duplicate left value %s.',
- 'duplicate_right' => 'Album %s has a duplicate right value %s.',
- 'parent' => 'Album %s has an unexpected parent id %s.',
- 'unknown' => 'Album %s has an unknown error.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Fix-tree Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '維護',
+ 'intro' => 'This page allows you to re-order and fix your albums manually.
Before any modifications, we strongly recommend you to read about Nested Set tree structures.',
+ 'warning' => 'You can really break your Lychee installation here, modify values at your own risks.',
+ 'help' => [
+ 'header' => 'Help',
+ 'hover' => 'Hover ids or titles to highlight related albums.',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'convenience' => 'For your convenience, the and buttons allow you to change the values of %s and %s by respectively +1 and -1 with propagation.',
+ 'left-right-warn' => 'The and indicates that the value of %s (and respectively %s) is duplicated somewhere.',
+ 'parent-marked' => 'Marked Parent Id indicates that the %s and %s do not satisfy the Nest Set tree structures. Edit either the Parent Id or the %s/%s values.',
+ 'slowness' => 'This page will be slow with a large number of albums.',
+ ],
+ 'buttons' => [
+ 'reset' => 'Reset',
+ 'check' => 'Check',
+ 'apply' => 'Apply',
+ ],
+ 'no-changes' => 'No changes to apply.',
+ 'table' => [
+ 'title' => '標題',
+ 'left' => 'Left',
+ 'right' => 'Right',
+ 'id' => 'Id',
+ 'parent' => 'Parent Id',
+ ],
+ 'errors' => [
+ 'invalid' => 'Invalid tree!',
+ 'invalid_details' => 'We are not applying this as it is guaranteed to be a broken state.',
+ 'invalid_left' => 'Album %s has an invalid left value.',
+ 'invalid_right' => 'Album %s has an invalid right value.',
+ 'invalid_left_right' => 'Album %s has an invalid left/right values. Left should be strictly smaller than right: %s < %s.',
+ 'duplicate_left' => 'Album %s has a duplicate left value %s.',
+ 'duplicate_right' => 'Album %s has a duplicate right value %s.',
+ 'parent' => 'Album %s has an unexpected parent id %s.',
+ 'unknown' => 'Album %s has an unknown error.',
+ ],
];
diff --git a/lang/zh_TW/flow.php b/lang/zh_TW/flow.php
index 85b2dddd5ab..17dc243c5f0 100644
--- a/lang/zh_TW/flow.php
+++ b/lang/zh_TW/flow.php
@@ -1,14 +1,14 @@
'Flow',
- 'by_author' => 'by %s',
- 'open_album' => 'Open album',
- 'show_more' => 'Show more',
- 'no_content' => 'No content.',
+ /*
+ |--------------------------------------------------------------------------
+ | Flow Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Flow',
+ 'by_author' => 'by %s',
+ 'open_album' => 'Open album',
+ 'show_more' => 'Show more',
+ 'no_content' => 'No content.',
];
diff --git a/lang/zh_TW/gallery.php b/lang/zh_TW/gallery.php
index 8fa14c58f90..3cd8b8a8c98 100644
--- a/lang/zh_TW/gallery.php
+++ b/lang/zh_TW/gallery.php
@@ -1,357 +1,357 @@
'Gallery',
- 'smart_albums' => 'Smart albums',
- 'pinned_albums' => '釘選相冊',
- 'albums' => 'Albums',
- 'root' => 'Albums',
- 'set_focus' => 'Set Focus',
- 'set_header_focus' => 'Set Header Focus',
- 'done' => 'Done',
- 'cancel' => 'Cancel',
- 'tabs' => [
- 'my_albums' => 'My Albums',
- 'shared_with_me' => 'Shared with Me',
- ],
- 'favourites' => 'Favourites',
- 'raw' => 'RAW',
- 'original' => 'Original',
- 'medium' => 'Medium',
- 'medium_hidpi' => 'Medium HiDPI',
- 'small' => 'Thumb',
- 'small_hidpi' => 'Thumb HiDPI',
- 'thumb' => 'Square thumb',
- 'thumb_hidpi' => 'Square thumb HiDPI',
- 'placeholder' => 'Low Quality Image Placeholder',
- 'thumbnail' => 'Photo thumbnail',
- 'live_video' => 'Video part of live-photo',
- 'download_raw' => 'Download RAW',
- 'download_album' => '選擇相簿ZIP壓縮檔的圖片解析度。如果照片沒有所選的版本,將使用原始版本。',
- 'downloading_part' => 'Downloading part :current / :total',
- 'download_error' => 'Download failed',
- 'camera_data' => 'Camera date',
- 'album_reserved' => 'All Rights Reserved',
- 'map' => [
- 'error_gpx' => 'Error loading GPX file',
- 'osm_contributors' => 'OpenStreetMap contributors',
- ],
- 'search' => [
- 'title' => 'Search',
- 'no_results' => 'Nothing matches your search query.',
- 'searchbox' => 'Search…',
- 'minimum_chars' => 'Minimum %s characters required.',
- 'photos' => 'Photos (%s)',
- 'albums' => 'Albums (%s)',
- 'advanced' => [
- 'title' => 'Advanced Search',
- 'search_button' => 'Search',
- 'toggle_advanced' => 'Toggle advanced search',
- 'clear' => 'Clear',
- 'title_label' => 'Title',
- 'description' => 'Description',
- 'location' => 'Location',
- 'tags' => 'Tags',
- 'tags_placeholder' => 'sunset, beach',
- 'date_from' => 'Date from',
- 'date_to' => 'Date to',
- 'type' => 'Type',
- 'orientation' => 'Orientation',
- 'rating_min' => 'Min. rating (avg)',
- 'rating_own' => 'Min. rating (own)',
- 'type_image' => 'Image',
- 'type_video' => 'Video',
- 'type_raw' => 'Raw',
- 'type_live' => 'Live',
- 'orientation_landscape' => 'Landscape',
- 'orientation_portrait' => 'Portrait',
- 'orientation_square' => 'Square',
- 'exif' => 'EXIF',
- 'make' => 'Make',
- 'model' => 'Model',
- 'lens' => 'Lens',
- 'aperture' => 'Aperture',
- 'shutter' => 'Shutter',
- 'focal' => 'Focal length',
- 'iso' => 'ISO',
- ],
- ],
- 'smart_album' => [
- 'unsorted' => 'Unsorted',
- 'highlighted' => 'Highlighted',
- 'recent' => 'Recent',
- 'public' => 'Public',
- 'on_this_day' => 'On This Day',
- 'untagged' => 'Untagged',
- 'unrated' => 'Unrated',
- 'one_star' => '1 Star',
- 'two_stars' => '2 Stars',
- 'three_stars' => '3+ Stars',
- 'four_stars' => '4+ Stars',
- 'five_stars' => '5 Stars',
- 'best_pictures' => 'Best Pictures',
- 'my_rated_pictures' => 'My Rated Pictures',
- 'my_best_pictures' => 'My Best Pictures',
- ],
- 'layout' => [
- 'squares' => 'Square thumbnails',
- 'justified' => 'With aspect, justified',
- 'masonry' => 'With aspect, masonry',
- 'grid' => 'With aspect, grid',
- 'filmstrip' => 'Filmstrip',
- 'list' => '列表檢視',
- ],
- 'filter' => [
- 'by_rating' => 'Filter by star rating',
- 'n_stars_or_higher' => 'Filter by :n stars or higher',
- ],
- 'overlay' => [
- 'none' => 'None',
- 'exif' => 'EXIF data',
- 'description' => 'Description',
- 'date' => 'Date taken',
- ],
- 'timeline' => [
- 'title' => 'Timelime',
- 'load_previous' => 'Load previous',
- 'default' => 'default',
- 'disabled' => 'disabled',
- 'year' => 'Year',
- 'month' => 'Month',
- 'day' => 'Day',
- 'hour' => 'Hour',
- ],
- 'pagination' => [
- 'infinite_scroll' => 'Infinite scroll',
- 'load_more_button' => 'Load more button',
- 'page_navigation' => 'Page navigation',
- 'loading' => 'Loading...',
- 'load_more' => 'Load More',
- 'load_more_photos' => 'Load More (%s photos remaining)',
- 'load_more_albums' => 'Load More (%s albums remaining)',
- ],
- 'album' => [
- 'header_albums' => 'Albums',
- 'header_photos' => 'Photos',
- 'show_highlighted' => 'Filter highlighted images',
- 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
- 'no_results' => 'Nothing to see here',
- 'upload' => 'Upload photos',
- 'tabs' => [
- 'about' => 'About Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'move' => 'Move Album',
- 'shop' => 'Shop Management',
- 'danger' => 'DANGER ZONE',
- ],
- 'hero' => [
- 'created' => 'Created',
- 'copyright' => 'Copyright',
- 'subalbums' => 'Subalbums',
- 'images' => 'Photos',
- 'download' => 'Download Album',
- 'share' => 'Share Album',
- 'embed' => 'Embed Album',
- 'stats_only_se' => 'Statistics available in the Supporter Edition',
- 'edit' => 'Edit',
- 'save' => 'Save',
- 'open_gallery' => 'Open gallery',
- 'apply_renamer' => 'Apply Renamer Rules',
- 'watermark' => 'Watermark',
- ],
- 'stats' => [
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter speed',
- 'iso' => 'ISO',
- 'model' => 'Model',
- 'aperture' => 'Aperture',
- 'no_data' => 'No data',
- ],
- 'properties' => [
- 'title' => 'Title',
- 'slug' => 'Slug (friendly URL)',
- 'generate_slug' => 'Generate slug from title',
- 'copy_slug_url' => 'Copy URL to clipboard',
- 'description' => 'Description',
- 'photo_ordering' => 'Order photos by',
- 'children_ordering' => 'Order albums by',
- 'asc/desc' => 'asc/desc',
- 'header' => 'Set album header',
- 'compact_header' => 'Use compact header',
- 'license' => 'Set license',
- 'copyright' => 'Set copyright',
- 'aspect_ratio' => 'Set album thumbs aspect ratio',
- 'album_timeline' => 'Set album timeline mode',
- 'photo_timeline' => 'Set photo timeline mode',
- 'layout' => 'Set photo layout',
- 'show_tags' => 'Set tags to show',
- 'tags_required' => 'Tags are required.',
- 'all_tags_must_match' => 'All tags must match.',
- ],
- ],
- 'photo' => [
- 'actions' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'set_album_header' => 'Set as album header',
- 'move' => 'Move',
- 'delete' => 'Delete',
- 'header_set' => 'Header set',
- ],
- 'details' => [
- 'exif_data' => 'EXIF data',
- 'about' => 'About',
- 'basics' => 'Basics',
- 'title' => 'Title',
- 'uploaded' => 'Uploaded',
- 'description' => 'Description',
- 'license' => 'License',
- 'reuse' => 'Reuse',
- 'latitude' => 'Latitude',
- 'longitude' => 'Longitude',
- 'altitude' => 'Altitude',
- 'location' => 'Location',
- 'image' => 'Image',
- 'video' => 'Video',
- 'size' => 'Size',
- 'format' => 'Format',
- 'resolution' => 'Resolution',
- 'duration' => 'Duration',
- 'fps' => 'Frame rate',
- 'tags' => 'Tags',
- 'camera' => 'Camera',
- 'captured' => 'Captured',
- 'make' => 'Make',
- 'type' => 'Type/Model',
- 'lens' => 'Lens',
- 'shutter' => 'Shutter Speed',
- 'aperture' => 'Aperture',
- 'focal' => 'Focal Length',
- 'iso' => 'ISO %s',
- 'albums' => 'Albums',
- 'albums_loading' => 'Loading...',
- 'no_albums' => 'This photo is not in any album.',
- 'albums_loading_error' => 'Could not load albums.',
- 'stats' => [
- 'header' => 'Statistics',
- 'number_of_visits' => 'Number of visits',
- 'number_of_downloads' => 'Number of downloads',
- 'number_of_shares' => 'Number of shares',
- 'number_of_favourites' => 'Number of favourites',
- ],
- 'links' => [
- 'header' => 'Links',
- 'copy' => 'Copy',
- 'copy_success' => 'Link copied to clipboard.',
- ],
- ],
- 'edit' => [
- 'set_title' => 'Set Title',
- 'set_description' => 'Set Description',
- 'set_license' => 'Set License',
- 'no_tags' => 'No Tags',
- 'set_tags' => 'Set Tags',
- 'set_created_at' => 'Set Upload Date',
- 'set_taken_at' => 'Set Taken Date',
- 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
- ],
- 'rating' => [
- 'header' => 'Rating',
- 'rating' => 'rating',
- 'ratings' => 'ratings',
- 'your_rating' => 'Your rating',
- 'saving' => 'Saving rating...',
- 'removed' => 'Rating removed',
- 'saved' => 'Rating saved',
- 'error' => 'Failed to save rating',
- 'error_unauthorized' => 'You must be logged in to rate photos',
- 'error_forbidden' => 'You do not have permission to rate this photo',
- 'error_not_found' => 'Photo not found',
- ],
- ],
- 'nsfw' => [
- 'header' => 'Sensitive content',
- 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
- 'consent' => 'Tap to consent.',
- ],
- 'menus' => [
- 'highlight' => 'Star',
- 'unhighlight' => 'Unstar',
- 'highlight_all' => 'Star Selected',
- 'unhighlight_all' => 'Unstar Selected',
- 'tag' => 'Tag',
- 'tag_all' => 'Tag Selected',
- 'tag_filter_label' => 'Filter by tags:',
- 'tag_filter_logic_or' => 'Any tag (OR)',
- 'tag_filter_logic_and' => 'All tags (AND)',
- 'tag_filter_apply' => 'Apply Filter',
- 'tag_filter_clear' => 'Clear Filter',
- 'tag_filter_no_results' => 'No photos match your tag filter.',
- 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
- 'license' => 'License',
- 'license_all' => 'License Selected',
- 'set_cover' => 'Set Album Cover',
- 'remove_header' => 'Remove Album Header',
- 'set_header' => 'Set Album Header',
- 'copy_to' => 'Copy to …',
- 'copy_all_to' => 'Copy Selected to …',
- 'rename' => 'Rename',
- 'move' => 'Move',
- 'move_all' => 'Move Selected',
- 'pin' => '釘選',
- 'unpin' => '取消釘選',
- 'delete' => 'Delete',
- 'delete_all' => 'Delete Selected',
- 'download' => 'Download',
- 'download_all' => 'Download Selected',
- 'merge' => 'Merge',
- 'merge_all' => 'Merge Selected',
- 'apply_renamer' => 'Apply Renamer',
- 'apply_renamer_all' => 'Apply Renamer to Selected',
- 'approve' => 'Approve',
- 'approve_all' => 'Approve Selected',
- 'upload_photo' => 'Upload Photo',
- 'take_photo' => '拍照',
- 'import_link' => 'Import from Link',
- 'import_server' => 'Import from Server',
- 'import_dropbox' => 'Import from Dropbox',
- 'new_album' => 'New Album',
- 'new_tag_album' => 'New Tag Album',
- 'upload_track' => 'Upload track',
- 'delete_track' => 'Delete track',
- ],
- 'sort' => [
- 'photo_select_1' => 'Upload Time',
- 'photo_select_2' => 'Take Date',
- 'photo_select_3' => 'Title (Nat)',
- 'photo_select_4' => 'Description (Nat)',
- 'photo_select_3_strict' => 'Title (Lexico)',
- 'photo_select_4_strict' => 'Description (Lexico)',
- 'photo_select_6' => 'Star',
- 'photo_select_7' => 'Photo Format',
- 'ascending' => 'Ascending',
- 'descending' => 'Descending',
- 'album_select_1' => 'Creation Time',
- 'album_select_2' => 'Title (Nat)',
- 'album_select_3' => 'Description (Nat)',
- 'album_select_2_strict' => 'Title (Lexico)',
- 'album_select_3_strict' => 'Description (Lexico)',
- 'album_select_5' => 'Latest Take Date',
- 'album_select_6' => 'Oldest Take Date',
- ],
- 'albums_protection' => [
- 'private' => 'private',
- 'public' => 'public',
- 'inherit_from_parent' => 'inherit from parent',
- 'public_but_hidden' => '公開但隱藏',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Gallery',
+ 'smart_albums' => 'Smart albums',
+ 'pinned_albums' => '釘選相冊',
+ 'albums' => 'Albums',
+ 'root' => 'Albums',
+ 'set_focus' => 'Set Focus',
+ 'set_header_focus' => 'Set Header Focus',
+ 'done' => 'Done',
+ 'cancel' => 'Cancel',
+ 'tabs' => [
+ 'my_albums' => 'My Albums',
+ 'shared_with_me' => 'Shared with Me',
+ ],
+ 'favourites' => 'Favourites',
+ 'raw' => 'RAW',
+ 'original' => 'Original',
+ 'medium' => 'Medium',
+ 'medium_hidpi' => 'Medium HiDPI',
+ 'small' => 'Thumb',
+ 'small_hidpi' => 'Thumb HiDPI',
+ 'thumb' => 'Square thumb',
+ 'thumb_hidpi' => 'Square thumb HiDPI',
+ 'placeholder' => 'Low Quality Image Placeholder',
+ 'thumbnail' => 'Photo thumbnail',
+ 'live_video' => 'Video part of live-photo',
+ 'download_raw' => 'Download RAW',
+ 'download_album' => '選擇相簿ZIP壓縮檔的圖片解析度。如果照片沒有所選的版本,將使用原始版本。',
+ 'downloading_part' => 'Downloading part :current / :total',
+ 'download_error' => 'Download failed',
+ 'camera_data' => 'Camera date',
+ 'album_reserved' => 'All Rights Reserved',
+ 'map' => [
+ 'error_gpx' => 'Error loading GPX file',
+ 'osm_contributors' => 'OpenStreetMap contributors',
+ ],
+ 'search' => [
+ 'title' => 'Search',
+ 'no_results' => 'Nothing matches your search query.',
+ 'searchbox' => 'Search…',
+ 'minimum_chars' => 'Minimum %s characters required.',
+ 'photos' => 'Photos (%s)',
+ 'albums' => 'Albums (%s)',
+ 'advanced' => [
+ 'title' => 'Advanced Search',
+ 'search_button' => 'Search',
+ 'toggle_advanced' => 'Toggle advanced search',
+ 'clear' => 'Clear',
+ 'title_label' => 'Title',
+ 'description' => 'Description',
+ 'location' => 'Location',
+ 'tags' => 'Tags',
+ 'tags_placeholder' => 'sunset, beach',
+ 'date_from' => 'Date from',
+ 'date_to' => 'Date to',
+ 'type' => 'Type',
+ 'orientation' => 'Orientation',
+ 'rating_min' => 'Min. rating (avg)',
+ 'rating_own' => 'Min. rating (own)',
+ 'type_image' => 'Image',
+ 'type_video' => 'Video',
+ 'type_raw' => 'Raw',
+ 'type_live' => 'Live',
+ 'orientation_landscape' => 'Landscape',
+ 'orientation_portrait' => 'Portrait',
+ 'orientation_square' => 'Square',
+ 'exif' => 'EXIF',
+ 'make' => 'Make',
+ 'model' => 'Model',
+ 'lens' => 'Lens',
+ 'aperture' => 'Aperture',
+ 'shutter' => 'Shutter',
+ 'focal' => 'Focal length',
+ 'iso' => 'ISO',
+ ],
+ ],
+ 'smart_album' => [
+ 'unsorted' => 'Unsorted',
+ 'highlighted' => 'Highlighted',
+ 'recent' => 'Recent',
+ 'public' => 'Public',
+ 'on_this_day' => 'On This Day',
+ 'untagged' => 'Untagged',
+ 'unrated' => 'Unrated',
+ 'one_star' => '1 Star',
+ 'two_stars' => '2 Stars',
+ 'three_stars' => '3+ Stars',
+ 'four_stars' => '4+ Stars',
+ 'five_stars' => '5 Stars',
+ 'best_pictures' => 'Best Pictures',
+ 'my_rated_pictures' => 'My Rated Pictures',
+ 'my_best_pictures' => 'My Best Pictures',
+ ],
+ 'layout' => [
+ 'squares' => 'Square thumbnails',
+ 'justified' => 'With aspect, justified',
+ 'masonry' => 'With aspect, masonry',
+ 'grid' => 'With aspect, grid',
+ 'filmstrip' => 'Filmstrip',
+ 'list' => '列表檢視',
+ ],
+ 'filter' => [
+ 'by_rating' => 'Filter by star rating',
+ 'n_stars_or_higher' => 'Filter by :n stars or higher',
+ ],
+ 'overlay' => [
+ 'none' => 'None',
+ 'exif' => 'EXIF data',
+ 'description' => 'Description',
+ 'date' => 'Date taken',
+ ],
+ 'timeline' => [
+ 'title' => 'Timelime',
+ 'load_previous' => 'Load previous',
+ 'default' => 'default',
+ 'disabled' => 'disabled',
+ 'year' => 'Year',
+ 'month' => 'Month',
+ 'day' => 'Day',
+ 'hour' => 'Hour',
+ ],
+ 'pagination' => [
+ 'infinite_scroll' => 'Infinite scroll',
+ 'load_more_button' => 'Load more button',
+ 'page_navigation' => 'Page navigation',
+ 'loading' => 'Loading...',
+ 'load_more' => 'Load More',
+ 'load_more_photos' => 'Load More (%s photos remaining)',
+ 'load_more_albums' => 'Load More (%s albums remaining)',
+ ],
+ 'album' => [
+ 'header_albums' => 'Albums',
+ 'header_photos' => 'Photos',
+ 'show_highlighted' => 'Filter highlighted images',
+ 'copy_highlighted_names' => 'Copy highlighted photo names to clipboard',
+ 'no_results' => 'Nothing to see here',
+ 'upload' => 'Upload photos',
+ 'tabs' => [
+ 'about' => 'About Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'move' => 'Move Album',
+ 'shop' => 'Shop Management',
+ 'danger' => 'DANGER ZONE',
+ ],
+ 'hero' => [
+ 'created' => 'Created',
+ 'copyright' => 'Copyright',
+ 'subalbums' => 'Subalbums',
+ 'images' => 'Photos',
+ 'download' => 'Download Album',
+ 'share' => 'Share Album',
+ 'embed' => 'Embed Album',
+ 'stats_only_se' => 'Statistics available in the Supporter Edition',
+ 'edit' => 'Edit',
+ 'save' => 'Save',
+ 'open_gallery' => 'Open gallery',
+ 'apply_renamer' => 'Apply Renamer Rules',
+ 'watermark' => 'Watermark',
+ ],
+ 'stats' => [
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter speed',
+ 'iso' => 'ISO',
+ 'model' => 'Model',
+ 'aperture' => 'Aperture',
+ 'no_data' => 'No data',
+ ],
+ 'properties' => [
+ 'title' => 'Title',
+ 'slug' => 'Slug (friendly URL)',
+ 'generate_slug' => 'Generate slug from title',
+ 'copy_slug_url' => 'Copy URL to clipboard',
+ 'description' => 'Description',
+ 'photo_ordering' => 'Order photos by',
+ 'children_ordering' => 'Order albums by',
+ 'asc/desc' => 'asc/desc',
+ 'header' => 'Set album header',
+ 'compact_header' => 'Use compact header',
+ 'license' => 'Set license',
+ 'copyright' => 'Set copyright',
+ 'aspect_ratio' => 'Set album thumbs aspect ratio',
+ 'album_timeline' => 'Set album timeline mode',
+ 'photo_timeline' => 'Set photo timeline mode',
+ 'layout' => 'Set photo layout',
+ 'show_tags' => 'Set tags to show',
+ 'tags_required' => 'Tags are required.',
+ 'all_tags_must_match' => 'All tags must match.',
+ ],
+ ],
+ 'photo' => [
+ 'actions' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'set_album_header' => 'Set as album header',
+ 'move' => 'Move',
+ 'delete' => 'Delete',
+ 'header_set' => 'Header set',
+ ],
+ 'details' => [
+ 'exif_data' => 'EXIF data',
+ 'about' => 'About',
+ 'basics' => 'Basics',
+ 'title' => 'Title',
+ 'uploaded' => 'Uploaded',
+ 'description' => 'Description',
+ 'license' => 'License',
+ 'reuse' => 'Reuse',
+ 'latitude' => 'Latitude',
+ 'longitude' => 'Longitude',
+ 'altitude' => 'Altitude',
+ 'location' => 'Location',
+ 'image' => 'Image',
+ 'video' => 'Video',
+ 'size' => 'Size',
+ 'format' => 'Format',
+ 'resolution' => 'Resolution',
+ 'duration' => 'Duration',
+ 'fps' => 'Frame rate',
+ 'tags' => 'Tags',
+ 'camera' => 'Camera',
+ 'captured' => 'Captured',
+ 'make' => 'Make',
+ 'type' => 'Type/Model',
+ 'lens' => 'Lens',
+ 'shutter' => 'Shutter Speed',
+ 'aperture' => 'Aperture',
+ 'focal' => 'Focal Length',
+ 'iso' => 'ISO %s',
+ 'albums' => 'Albums',
+ 'albums_loading' => 'Loading...',
+ 'no_albums' => 'This photo is not in any album.',
+ 'albums_loading_error' => 'Could not load albums.',
+ 'stats' => [
+ 'header' => 'Statistics',
+ 'number_of_visits' => 'Number of visits',
+ 'number_of_downloads' => 'Number of downloads',
+ 'number_of_shares' => 'Number of shares',
+ 'number_of_favourites' => 'Number of favourites',
+ ],
+ 'links' => [
+ 'header' => 'Links',
+ 'copy' => 'Copy',
+ 'copy_success' => 'Link copied to clipboard.',
+ ],
+ ],
+ 'edit' => [
+ 'set_title' => 'Set Title',
+ 'set_description' => 'Set Description',
+ 'set_license' => 'Set License',
+ 'no_tags' => 'No Tags',
+ 'set_tags' => 'Set Tags',
+ 'set_created_at' => 'Set Upload Date',
+ 'set_taken_at' => 'Set Taken Date',
+ 'set_taken_at_info' => 'When set, a star %s will be displayed to indicate that this date is not the original EXIF date.
Untick the checkbox and save to reset to the original date.',
+ ],
+ 'rating' => [
+ 'header' => 'Rating',
+ 'rating' => 'rating',
+ 'ratings' => 'ratings',
+ 'your_rating' => 'Your rating',
+ 'saving' => 'Saving rating...',
+ 'removed' => 'Rating removed',
+ 'saved' => 'Rating saved',
+ 'error' => 'Failed to save rating',
+ 'error_unauthorized' => 'You must be logged in to rate photos',
+ 'error_forbidden' => 'You do not have permission to rate this photo',
+ 'error_not_found' => 'Photo not found',
+ ],
+ ],
+ 'nsfw' => [
+ 'header' => 'Sensitive content',
+ 'description' => 'This album contains sensitive content which some people may find offensive or disturbing.',
+ 'consent' => 'Tap to consent.',
+ ],
+ 'menus' => [
+ 'highlight' => 'Star',
+ 'unhighlight' => 'Unstar',
+ 'highlight_all' => 'Star Selected',
+ 'unhighlight_all' => 'Unstar Selected',
+ 'tag' => 'Tag',
+ 'tag_all' => 'Tag Selected',
+ 'tag_filter_label' => 'Filter by tags:',
+ 'tag_filter_logic_or' => 'Any tag (OR)',
+ 'tag_filter_logic_and' => 'All tags (AND)',
+ 'tag_filter_apply' => 'Apply Filter',
+ 'tag_filter_clear' => 'Clear Filter',
+ 'tag_filter_no_results' => 'No photos match your tag filter.',
+ 'tag_filter_active_summary' => 'Filtered by :count tag(s) using :logic logic',
+ 'license' => 'License',
+ 'license_all' => 'License Selected',
+ 'set_cover' => 'Set Album Cover',
+ 'remove_header' => 'Remove Album Header',
+ 'set_header' => 'Set Album Header',
+ 'copy_to' => 'Copy to …',
+ 'copy_all_to' => 'Copy Selected to …',
+ 'rename' => 'Rename',
+ 'move' => 'Move',
+ 'move_all' => 'Move Selected',
+ 'pin' => '釘選',
+ 'unpin' => '取消釘選',
+ 'delete' => 'Delete',
+ 'delete_all' => 'Delete Selected',
+ 'download' => 'Download',
+ 'download_all' => 'Download Selected',
+ 'merge' => 'Merge',
+ 'merge_all' => 'Merge Selected',
+ 'apply_renamer' => 'Apply Renamer',
+ 'apply_renamer_all' => 'Apply Renamer to Selected',
+ 'approve' => 'Approve',
+ 'approve_all' => 'Approve Selected',
+ 'upload_photo' => 'Upload Photo',
+ 'take_photo' => '拍照',
+ 'import_link' => 'Import from Link',
+ 'import_server' => 'Import from Server',
+ 'import_dropbox' => 'Import from Dropbox',
+ 'new_album' => 'New Album',
+ 'new_tag_album' => 'New Tag Album',
+ 'upload_track' => 'Upload track',
+ 'delete_track' => 'Delete track',
+ ],
+ 'sort' => [
+ 'photo_select_1' => 'Upload Time',
+ 'photo_select_2' => 'Take Date',
+ 'photo_select_3' => 'Title (Nat)',
+ 'photo_select_4' => 'Description (Nat)',
+ 'photo_select_3_strict' => 'Title (Lexico)',
+ 'photo_select_4_strict' => 'Description (Lexico)',
+ 'photo_select_6' => 'Star',
+ 'photo_select_7' => 'Photo Format',
+ 'ascending' => 'Ascending',
+ 'descending' => 'Descending',
+ 'album_select_1' => 'Creation Time',
+ 'album_select_2' => 'Title (Nat)',
+ 'album_select_3' => 'Description (Nat)',
+ 'album_select_2_strict' => 'Title (Lexico)',
+ 'album_select_3_strict' => 'Description (Lexico)',
+ 'album_select_5' => 'Latest Take Date',
+ 'album_select_6' => 'Oldest Take Date',
+ ],
+ 'albums_protection' => [
+ 'private' => 'private',
+ 'public' => 'public',
+ 'inherit_from_parent' => 'inherit from parent',
+ 'public_but_hidden' => '公開但隱藏',
+ ],
];
diff --git a/lang/zh_TW/import_from_server.php b/lang/zh_TW/import_from_server.php
index 029e6a6288e..836f7304e54 100644
--- a/lang/zh_TW/import_from_server.php
+++ b/lang/zh_TW/import_from_server.php
@@ -1,22 +1,22 @@
'Synchronize your server files',
- 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
- 'sync' => 'Synchronize',
- 'loading' => 'Loading...',
- 'selected_directory' => 'Current selected directory:',
- 'resync_metadata' => 'Re-sync metadata of existing files.',
- 'delete_imported' => 'Delete the original files.',
- 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
- 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
- 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
- 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
- 'importing_please_be_patient' => 'Importing, please be patient...',
+ /*
+ |--------------------------------------------------------------------------
+ | Import from Server
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Synchronize your server files',
+ 'description' => 'Synchronize your server files with Lychee. This will import photos from a directory and all children directories. This process is very slow and we recommend using workers and queues in order to avoid timeout.',
+ 'sync' => 'Synchronize',
+ 'loading' => 'Loading...',
+ 'selected_directory' => 'Current selected directory:',
+ 'resync_metadata' => 'Re-sync metadata of existing files.',
+ 'delete_imported' => 'Delete the original files.',
+ 'import_via_symlink' => 'Import photos via symlink instead of copying the files.',
+ 'skip_duplicates' => 'Skip photos and albums if they already exist in the gallery.',
+ 'delete_missing_photos' => 'Delete photos in the album that are not present in the synced directory.',
+ 'delete_missing_albums' => 'Delete albums in the parent album that are not present in the synced directory.',
+ 'importing_please_be_patient' => 'Importing, please be patient...',
];
diff --git a/lang/zh_TW/jobs.php b/lang/zh_TW/jobs.php
index a1acb0d8c56..eaf9a3452e8 100644
--- a/lang/zh_TW/jobs.php
+++ b/lang/zh_TW/jobs.php
@@ -1,15 +1,15 @@
'工作',
- 'no_data' => '尚未執行任何工作。',
- 'ready' => '已準備',
- 'success' => '成功',
- 'failure' => '失敗',
- 'started' => '已開始',
+ /*
+ |--------------------------------------------------------------------------
+ | Jobs page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '工作',
+ 'no_data' => '尚未執行任何工作。',
+ 'ready' => '已準備',
+ 'success' => '成功',
+ 'failure' => '失敗',
+ 'started' => '已開始',
];
diff --git a/lang/zh_TW/landing.php b/lang/zh_TW/landing.php
index 42e129483a6..0e3fe1700cb 100644
--- a/lang/zh_TW/landing.php
+++ b/lang/zh_TW/landing.php
@@ -1,13 +1,13 @@
'相集',
- 'access_gallery' => '存取相集',
- 'Powered_by_Lychee' => '由 Lychee 提供',
- 'copyright' => '本網站所有相片版權 %1$s © %2$s',
+ /*
+ |--------------------------------------------------------------------------
+ | Landing page
+ |--------------------------------------------------------------------------
+ */
+ 'gallery' => '相集',
+ 'access_gallery' => '存取相集',
+ 'Powered_by_Lychee' => '由 Lychee 提供',
+ 'copyright' => '本網站所有相片版權 %1$s © %2$s',
];
diff --git a/lang/zh_TW/left-menu.php b/lang/zh_TW/left-menu.php
index a56c05080fe..dc250c74e3b 100644
--- a/lang/zh_TW/left-menu.php
+++ b/lang/zh_TW/left-menu.php
@@ -1,28 +1,28 @@
'Back to Gallery',
- 'login' => 'Login',
- 'frame' => 'Frame',
- 'map' => 'Map',
- 'embed_stream' => '嵌入照片串流',
- 'admin' => 'Admin',
- 'clockwork' => 'Clockwork App',
- 'logs' => 'Show Logs',
- 'jobs' => 'Show Job History',
- 'user' => 'User',
- 'sign_out' => 'Sign Out',
- 'about' => 'About',
- 'changelog' => 'Changelog',
- 'api' => 'API Documentation',
- 'source_code' => 'Source Code',
- 'support' => 'Support',
- 'contact' => 'Contact',
- 'messages' => 'Messages',
- 'webhooks' => 'Webhooks',
+ /*
+ |--------------------------------------------------------------------------
+ | Left Menu
+ |--------------------------------------------------------------------------
+ */
+ 'back_to_gallery' => 'Back to Gallery',
+ 'login' => 'Login',
+ 'frame' => 'Frame',
+ 'map' => 'Map',
+ 'embed_stream' => '嵌入照片串流',
+ 'admin' => 'Admin',
+ 'clockwork' => 'Clockwork App',
+ 'logs' => 'Show Logs',
+ 'jobs' => 'Show Job History',
+ 'user' => 'User',
+ 'sign_out' => 'Sign Out',
+ 'about' => 'About',
+ 'changelog' => 'Changelog',
+ 'api' => 'API Documentation',
+ 'source_code' => 'Source Code',
+ 'support' => 'Support',
+ 'contact' => 'Contact',
+ 'messages' => 'Messages',
+ 'webhooks' => 'Webhooks',
];
diff --git a/lang/zh_TW/maintenance.php b/lang/zh_TW/maintenance.php
index ef6154116db..6af426623c7 100644
--- a/lang/zh_TW/maintenance.php
+++ b/lang/zh_TW/maintenance.php
@@ -1,104 +1,104 @@
'維護',
- 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
- 'cleaning' => [
- 'title' => 'Cleaning %s',
- 'result' => '%s deleted.',
- 'description' => 'Remove all contents from %s',
- 'button' => 'Clean',
- ],
- 'duplicate-finder' => [
- 'title' => 'Duplicates',
- 'description' => 'This module counts potential duplicates betwen pictures.',
- 'duplicates-all' => 'Duplicates over all albums',
- 'duplicates-title' => 'Title duplicates per album',
- 'duplicates-per-album' => 'Duplicates per album',
- 'show' => 'Show duplicates',
- 'load' => 'Load counts',
- ],
- 'fix-jobs' => [
- 'title' => 'Fixing Jobs History',
- 'description' => 'Mark jobs with status %s or %s as %s.',
- 'button' => 'Fix job history',
- ],
- 'gen-sizevariants' => [
- 'title' => 'Missing %s',
- 'description' => 'Found %d %s that could be generated.',
- 'button' => 'Generate!',
- 'success' => 'Successfully generated %d %s.',
- ],
- 'fill-filesize-sizevariants' => [
- 'title' => 'File sizes missing',
- 'description' => 'Found %d small variants without file size.',
- 'button' => 'Fetch data!',
- 'success' => 'Successfully computed sizes of %d small variants.',
- ],
- 'fix-tree' => [
- 'title' => 'Tree statistics',
- 'Oddness' => 'Oddness',
- 'Duplicates' => 'Duplicates',
- 'Wrong parents' => 'Wrong parents',
- 'Missing parents' => 'Missing parents',
- 'button' => 'Fix tree',
- ],
- 'optimize' => [
- 'title' => 'Optimize Database',
- 'description' => 'If you notice slowdown in your installation, it may be because your database does not
+ /*
+ |--------------------------------------------------------------------------
+ | Update Page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '維護',
+ 'description' => 'You will find on this page, all the required actions to keep your Lychee installation running smooth and nicely.',
+ 'cleaning' => [
+ 'title' => 'Cleaning %s',
+ 'result' => '%s deleted.',
+ 'description' => 'Remove all contents from %s',
+ 'button' => 'Clean',
+ ],
+ 'duplicate-finder' => [
+ 'title' => 'Duplicates',
+ 'description' => 'This module counts potential duplicates betwen pictures.',
+ 'duplicates-all' => 'Duplicates over all albums',
+ 'duplicates-title' => 'Title duplicates per album',
+ 'duplicates-per-album' => 'Duplicates per album',
+ 'show' => 'Show duplicates',
+ 'load' => 'Load counts',
+ ],
+ 'fix-jobs' => [
+ 'title' => 'Fixing Jobs History',
+ 'description' => 'Mark jobs with status %s or %s as %s.',
+ 'button' => 'Fix job history',
+ ],
+ 'gen-sizevariants' => [
+ 'title' => 'Missing %s',
+ 'description' => 'Found %d %s that could be generated.',
+ 'button' => 'Generate!',
+ 'success' => 'Successfully generated %d %s.',
+ ],
+ 'fill-filesize-sizevariants' => [
+ 'title' => 'File sizes missing',
+ 'description' => 'Found %d small variants without file size.',
+ 'button' => 'Fetch data!',
+ 'success' => 'Successfully computed sizes of %d small variants.',
+ ],
+ 'fix-tree' => [
+ 'title' => 'Tree statistics',
+ 'Oddness' => 'Oddness',
+ 'Duplicates' => 'Duplicates',
+ 'Wrong parents' => 'Wrong parents',
+ 'Missing parents' => 'Missing parents',
+ 'button' => 'Fix tree',
+ ],
+ 'optimize' => [
+ 'title' => 'Optimize Database',
+ 'description' => 'If you notice slowdown in your installation, it may be because your database does not
have all its needed index.',
- 'button' => 'Optimize Database',
- ],
- 'update' => [
- 'title' => 'Updates',
- 'check-button' => 'Check for updates',
- 'update-button' => 'Update',
- 'no-pending-updates' => 'No pending update.',
- ],
- 'missing-palettes' => [
- 'title' => 'Missing Palettes',
- 'description' => 'Found %d missing palettes.',
- 'button' => 'Create missing',
- ],
- 'statistics-check' => [
- 'title' => 'Statistics integrity Check',
- 'missing_photos' => '%d photo statistics missing.',
- 'missing_albums' => '%d album statistics missing.',
- 'button' => 'Create missing',
- ],
- 'flush-cache' => [
- 'title' => 'Flush Cache',
- 'description' => 'Flush the cache of every user to solve invalidation problems.',
- 'button' => 'Flush',
- ],
- 'old-orders' => [
- 'title' => 'Old Orders',
- 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
- 'button' => 'Delete old orders',
- ],
- 'fulfill-orders' => [
- 'title' => 'Orders to fulfill',
- 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
- 'button' => 'Fulfill orders',
- ],
- 'fulfill-precompute' => [
- 'title' => 'Album Precomputed Fields',
- 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
- 'button' => 'Compute fields',
- ],
- 'flush-queue' => [
- 'title' => 'Flush Queue',
- 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
- 'button' => 'Clear queue',
- ],
- 'backfill-album-sizes' => [
- 'title' => 'Album Size Statistics',
- 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
- 'button' => 'Compute sizes',
- ],
+ 'button' => 'Optimize Database',
+ ],
+ 'update' => [
+ 'title' => 'Updates',
+ 'check-button' => 'Check for updates',
+ 'update-button' => 'Update',
+ 'no-pending-updates' => 'No pending update.',
+ ],
+ 'missing-palettes' => [
+ 'title' => 'Missing Palettes',
+ 'description' => 'Found %d missing palettes.',
+ 'button' => 'Create missing',
+ ],
+ 'statistics-check' => [
+ 'title' => 'Statistics integrity Check',
+ 'missing_photos' => '%d photo statistics missing.',
+ 'missing_albums' => '%d album statistics missing.',
+ 'button' => 'Create missing',
+ ],
+ 'flush-cache' => [
+ 'title' => 'Flush Cache',
+ 'description' => 'Flush the cache of every user to solve invalidation problems.',
+ 'button' => 'Flush',
+ ],
+ 'old-orders' => [
+ 'title' => 'Old Orders',
+ 'description' => 'Found %d old orders.
An old order is older than 14 days, that have no associated user and are either still pending payment or have no items in them.',
+ 'button' => 'Delete old orders',
+ ],
+ 'fulfill-orders' => [
+ 'title' => 'Orders to fulfill',
+ 'description' => 'Found %d orders with content that has not been made available.
Click on the button to assign content when possible.',
+ 'button' => 'Fulfill orders',
+ ],
+ 'fulfill-precompute' => [
+ 'title' => 'Album Precomputed Fields',
+ 'description' => 'Found %d albums with missing precomputed fields.
Equivalent to running: php artisan lychee:recompute-album-fields',
+ 'button' => 'Compute fields',
+ ],
+ 'flush-queue' => [
+ 'title' => 'Flush Queue',
+ 'description' => 'Found %d pending jobs in the queue.
CAUTION: Clearing the queue will permanently delete all pending jobs. This cannot be undone.',
+ 'button' => 'Clear queue',
+ ],
+ 'backfill-album-sizes' => [
+ 'title' => 'Album Size Statistics',
+ 'description' => 'Found %d albums without size statistics.
Equivalent to running: php artisan lychee:recompute-album-sizes',
+ 'button' => 'Compute sizes',
+ ],
];
diff --git a/lang/zh_TW/moderation.php b/lang/zh_TW/moderation.php
index 5f1c63c9abf..3891d327a68 100644
--- a/lang/zh_TW/moderation.php
+++ b/lang/zh_TW/moderation.php
@@ -1,21 +1,21 @@
'Moderation',
- 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
- 'approve_selected' => 'Approve Selected',
- 'delete_selected' => 'Delete Selected',
- 'selected' => 'selected',
- 'no_pending' => 'No photos are awaiting moderation.',
- 'approved' => 'Photos approved successfully.',
- 'col_thumbnail' => 'Thumbnail',
- 'col_title' => 'Title',
- 'col_owner' => 'Owner',
- 'col_album' => 'Album',
- 'col_uploaded' => 'Uploaded',
+ /*
+ |--------------------------------------------------------------------------
+ | Moderation page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Moderation',
+ 'description' => 'Review and approve photos uploaded by users with the "check" trust level before they become publicly visible.',
+ 'approve_selected' => 'Approve Selected',
+ 'delete_selected' => 'Delete Selected',
+ 'selected' => 'selected',
+ 'no_pending' => 'No photos are awaiting moderation.',
+ 'approved' => 'Photos approved successfully.',
+ 'col_thumbnail' => 'Thumbnail',
+ 'col_title' => 'Title',
+ 'col_owner' => 'Owner',
+ 'col_album' => 'Album',
+ 'col_uploaded' => 'Uploaded',
];
diff --git a/lang/zh_TW/profile.php b/lang/zh_TW/profile.php
index 04dc7c44042..a2d9cb913f4 100644
--- a/lang/zh_TW/profile.php
+++ b/lang/zh_TW/profile.php
@@ -1,80 +1,80 @@
'Profile',
- 'login' => [
- 'header' => 'Profile',
- 'enter_current_password' => 'Enter your current password:',
- 'current_password' => 'Current password',
- 'credentials_update' => 'Your credentials will be changed to the following:',
- 'username' => '使用者名稱',
- 'new_password' => 'New password',
- 'confirm_new_password' => 'Confirm new password',
- 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
- 'email' => 'Email',
- 'change' => 'Change Login',
- 'api_token' => 'API Token ...',
- 'missing_fields' => 'Missing fields',
- 'ldap_managed' => '使用者登入資訊由 LDAP 管理。',
- ],
- 'register' => [
- 'username_exists' => 'Username already exists.',
- 'password_mismatch' => 'The passwords do not match.',
- 'signup' => 'Sign Up',
- 'error' => 'An error occurred while registering your account.',
- 'success' => 'Your account has been successfully created.',
- ],
- 'token' => [
- 'unavailable' => 'You have already viewed this token.',
- 'no_data' => 'No token API have been generated.',
- 'disable' => 'Disable',
- 'disabled' => 'Token disabled',
- 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
- 'reset' => 'Reset the token',
- 'create' => 'Create a new token',
- ],
- 'oauth' => [
- 'header' => 'OAuth',
- 'header_not_available' => 'OAuth is not available',
- 'setup_env' => 'Set up the credentials in your .env',
- 'token_registered' => '%s token registered.',
- 'setup' => 'Set up %s',
- 'reset' => 'reset',
- 'credential_deleted' => 'Credential deleted!',
- ],
- 'u2f' => [
- 'header' => 'Passkey/MFA/2FA',
- 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
- 'empty' => 'Credentials list is empty!',
- 'not_secure' => 'Environment not secured. U2F not available.',
- 'new' => 'Register new device.',
- 'credential_deleted' => 'Credential deleted!',
- 'credential_updated' => 'Credential updated!',
- 'credential_registred' => 'Registration successful!',
- '5_chars' => 'At least 5 chars.',
- ],
- 'preferences' => [
- 'header' => 'Preferences',
- 'save' => 'Save Preference',
- 'reset' => 'Reset',
- 'change_saved' => 'Preference saved!',
- ],
- 'shared_albums' => [
- 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
- 'mode_default' => 'Use Server Default',
- 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
- 'mode_show' => 'Show Inline',
- 'mode_show_desc' => 'Shared albums appear below your own albums.',
- 'mode_separate' => 'Separate Tabs',
- 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
- 'mode_separate_shared_only' => 'Shared Only',
- 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
- 'mode_hide' => 'Hide',
- 'mode_hide_desc' => 'Don\'t show any shared albums.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Profile page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Profile',
+ 'login' => [
+ 'header' => 'Profile',
+ 'enter_current_password' => 'Enter your current password:',
+ 'current_password' => 'Current password',
+ 'credentials_update' => 'Your credentials will be changed to the following:',
+ 'username' => '使用者名稱',
+ 'new_password' => 'New password',
+ 'confirm_new_password' => 'Confirm new password',
+ 'email_instruction' => 'Add your email below to enable receiving email notifications. To stop receiving emails, simply remove your email below.',
+ 'email' => 'Email',
+ 'change' => 'Change Login',
+ 'api_token' => 'API Token ...',
+ 'missing_fields' => 'Missing fields',
+ 'ldap_managed' => '使用者登入資訊由 LDAP 管理。',
+ ],
+ 'register' => [
+ 'username_exists' => 'Username already exists.',
+ 'password_mismatch' => 'The passwords do not match.',
+ 'signup' => 'Sign Up',
+ 'error' => 'An error occurred while registering your account.',
+ 'success' => 'Your account has been successfully created.',
+ ],
+ 'token' => [
+ 'unavailable' => 'You have already viewed this token.',
+ 'no_data' => 'No token API have been generated.',
+ 'disable' => 'Disable',
+ 'disabled' => 'Token disabled',
+ 'warning' => 'This token will not be displayed again. Copy it and keep it in a safe place.',
+ 'reset' => 'Reset the token',
+ 'create' => 'Create a new token',
+ ],
+ 'oauth' => [
+ 'header' => 'OAuth',
+ 'header_not_available' => 'OAuth is not available',
+ 'setup_env' => 'Set up the credentials in your .env',
+ 'token_registered' => '%s token registered.',
+ 'setup' => 'Set up %s',
+ 'reset' => 'reset',
+ 'credential_deleted' => 'Credential deleted!',
+ ],
+ 'u2f' => [
+ 'header' => 'Passkey/MFA/2FA',
+ 'info' => 'This only provides the ability to use WebAuthn to authenticate instead of username & password.',
+ 'empty' => 'Credentials list is empty!',
+ 'not_secure' => 'Environment not secured. U2F not available.',
+ 'new' => 'Register new device.',
+ 'credential_deleted' => 'Credential deleted!',
+ 'credential_updated' => 'Credential updated!',
+ 'credential_registred' => 'Registration successful!',
+ '5_chars' => 'At least 5 chars.',
+ ],
+ 'preferences' => [
+ 'header' => 'Preferences',
+ 'save' => 'Save Preference',
+ 'reset' => 'Reset',
+ 'change_saved' => 'Preference saved!',
+ ],
+ 'shared_albums' => [
+ 'instruction' => 'Choose how shared albums (albums from other users) appear in your gallery:',
+ 'mode_default' => 'Use Server Default',
+ 'mode_default_desc' => 'Inherit the server\'s default visibility mode.',
+ 'mode_show' => 'Show Inline',
+ 'mode_show_desc' => 'Shared albums appear below your own albums.',
+ 'mode_separate' => 'Separate Tabs',
+ 'mode_separate_desc' => 'View albums in separate "My Albums" and "Shared with Me" tabs.',
+ 'mode_separate_shared_only' => 'Shared Only',
+ 'mode_separate_shared_only_desc' => 'Separate tabs showing only directly shared albums (excludes public albums).',
+ 'mode_hide' => 'Hide',
+ 'mode_hide_desc' => 'Don\'t show any shared albums.',
+ ],
];
diff --git a/lang/zh_TW/renamer.php b/lang/zh_TW/renamer.php
index 21425abaab1..3d411c713e4 100644
--- a/lang/zh_TW/renamer.php
+++ b/lang/zh_TW/renamer.php
@@ -1,109 +1,109 @@
'Renamer Rules',
-
- // Modal titles
- 'create_rule' => 'Create Renamer Rule',
- 'edit_rule' => 'Edit Renamer Rule',
-
- // Form fields
- 'rule_name' => 'Rule Name',
- 'description' => 'Description',
- 'pattern' => 'Pattern',
- 'replacement' => 'Replacement',
- 'mode' => 'Mode',
- 'order' => 'Order',
- 'enabled' => 'Enabled',
- 'photo_rule' => 'Rule applied to Photos',
- 'album_rule' => 'Rule applied to Albums',
-
- // Form placeholders and help text
- 'description_placeholder' => 'Optional description of what this rule does',
- 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
- 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
- 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
- 'enabled_help' => '(Only enabled rules will be applied during renaming)',
-
- // Mode options
- 'mode_first' => 'First occurrence',
- 'mode_all' => 'All occurrences',
- 'mode_regex' => 'Regular expression',
- 'mode_trim' => 'Trim whitespace',
- 'mode_strtolower' => 'lowercase',
- 'mode_strtoupper' => 'UPPERCASE',
- 'mode_ucwords' => 'Uppercase Each Word',
- 'mode_ucfirst' => 'Uppercase first letter',
-
- 'mode_first_description' => 'Replace only the first occurrence',
- 'mode_all_description' => 'Replace all occurrences',
- 'mode_regex_description' => 'Use regex pattern matching',
- 'mode_trim_description' => 'Trim whitespace',
- 'mode_strtolower_description' => 'Convert string to lowercases',
- 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
- 'mode_ucwords_description' => 'Capitalize each words',
- 'mode_ucfirst_description' => 'Capitalize only the first letter',
-
- 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
-
- // Buttons
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'update' => 'Update',
- 'create_first_rule' => 'Create your first rule',
-
- // Validation messages
- 'rule_name_required' => 'Rule name is required',
- 'pattern_required' => 'Pattern is required',
- 'replacement_required' => 'Replacement is required',
- 'mode_required' => 'Mode is required',
- 'order_positive' => 'Order must be a positive number',
-
- // Success messages
- 'rule_created' => 'Renamer rule created successfully',
- 'rule_updated' => 'Renamer rule updated successfully',
- 'rule_deleted' => 'Renamer rule deleted successfully',
-
- // Error messages
- 'failed_to_create' => 'Failed to create renamer rule',
- 'failed_to_update' => 'Failed to update renamer rule',
- 'failed_to_delete' => 'Failed to delete renamer rule',
- 'failed_to_load' => 'Failed to load renamer rules',
-
- // List view
- 'rules_count' => ':count rules',
- 'no_rules' => 'No renamer rules found',
- 'loading' => 'Loading renamer rules...',
- 'pattern_label' => 'Pattern',
- 'replace_with_label' => 'Replace with',
- 'photo' => 'Photo',
- 'album' => 'Album',
-
- // Delete confirmation
- 'confirm_delete_header' => 'Confirm Deletion',
- 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
- 'delete' => 'Delete',
-
- // Status messages
- 'success' => 'Success',
- 'error' => 'Error',
-
- // Placeholders
- 'select_mode' => 'Select renaming mode',
- 'execution_order' => 'Execution order',
-
- // Test functionality
- 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
- 'test_original' => 'Original',
- 'test_result' => 'Result',
- 'test_failed' => 'Failed to test renamer rules',
- 'apply_photo_rules' => 'Apply photo rules',
- 'apply_album_rules' => 'Apply album rules',
+ /*
+ |--------------------------------------------------------------------------
+ | Renamer Rules
+ |--------------------------------------------------------------------------
+ */
+
+ // Page title
+ 'title' => 'Renamer Rules',
+
+ // Modal titles
+ 'create_rule' => 'Create Renamer Rule',
+ 'edit_rule' => 'Edit Renamer Rule',
+
+ // Form fields
+ 'rule_name' => 'Rule Name',
+ 'description' => 'Description',
+ 'pattern' => 'Pattern',
+ 'replacement' => 'Replacement',
+ 'mode' => 'Mode',
+ 'order' => 'Order',
+ 'enabled' => 'Enabled',
+ 'photo_rule' => 'Rule applied to Photos',
+ 'album_rule' => 'Rule applied to Albums',
+
+ // Form placeholders and help text
+ 'description_placeholder' => 'Optional description of what this rule does',
+ 'pattern_help' => 'Pattern to match (e.g., IMG_, DSC_)',
+ 'replacement_help' => 'Replacement text (e.g., Photo_, Camera_)',
+ 'order_help' => 'Lower numbers are processed first (1 = highest priority)',
+ 'enabled_help' => '(Only enabled rules will be applied during renaming)',
+
+ // Mode options
+ 'mode_first' => 'First occurrence',
+ 'mode_all' => 'All occurrences',
+ 'mode_regex' => 'Regular expression',
+ 'mode_trim' => 'Trim whitespace',
+ 'mode_strtolower' => 'lowercase',
+ 'mode_strtoupper' => 'UPPERCASE',
+ 'mode_ucwords' => 'Uppercase Each Word',
+ 'mode_ucfirst' => 'Uppercase first letter',
+
+ 'mode_first_description' => 'Replace only the first occurrence',
+ 'mode_all_description' => 'Replace all occurrences',
+ 'mode_regex_description' => 'Use regex pattern matching',
+ 'mode_trim_description' => 'Trim whitespace',
+ 'mode_strtolower_description' => 'Convert string to lowercases',
+ 'mode_strtoupper_description' => 'Convert string to UPPERCASE',
+ 'mode_ucwords_description' => 'Capitalize each words',
+ 'mode_ucfirst_description' => 'Capitalize only the first letter',
+
+ 'regex_help' => 'Use regular expressions to match patterns. For example, to replace IMG_1234.jpeg with 1234_JPG.jpeg, you can use /IMG_(\d+)/ as needle and $1_JPG as replacement. You can find more explanations and examples in the following links.',
+
+ // Buttons
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'update' => 'Update',
+ 'create_first_rule' => 'Create your first rule',
+
+ // Validation messages
+ 'rule_name_required' => 'Rule name is required',
+ 'pattern_required' => 'Pattern is required',
+ 'replacement_required' => 'Replacement is required',
+ 'mode_required' => 'Mode is required',
+ 'order_positive' => 'Order must be a positive number',
+
+ // Success messages
+ 'rule_created' => 'Renamer rule created successfully',
+ 'rule_updated' => 'Renamer rule updated successfully',
+ 'rule_deleted' => 'Renamer rule deleted successfully',
+
+ // Error messages
+ 'failed_to_create' => 'Failed to create renamer rule',
+ 'failed_to_update' => 'Failed to update renamer rule',
+ 'failed_to_delete' => 'Failed to delete renamer rule',
+ 'failed_to_load' => 'Failed to load renamer rules',
+
+ // List view
+ 'rules_count' => ':count rules',
+ 'no_rules' => 'No renamer rules found',
+ 'loading' => 'Loading renamer rules...',
+ 'pattern_label' => 'Pattern',
+ 'replace_with_label' => 'Replace with',
+ 'photo' => 'Photo',
+ 'album' => 'Album',
+
+ // Delete confirmation
+ 'confirm_delete_header' => 'Confirm Deletion',
+ 'confirm_delete_message' => 'Are you sure you want to delete the rule ":rule"?',
+ 'delete' => 'Delete',
+
+ // Status messages
+ 'success' => 'Success',
+ 'error' => 'Error',
+
+ // Placeholders
+ 'select_mode' => 'Select renaming mode',
+ 'execution_order' => 'Execution order',
+
+ // Test functionality
+ 'test_input_placeholder' => 'Enter a filename to test your renamer rules (e.g., IMG_1234.jpg)',
+ 'test_original' => 'Original',
+ 'test_result' => 'Result',
+ 'test_failed' => 'Failed to test renamer rules',
+ 'apply_photo_rules' => 'Apply photo rules',
+ 'apply_album_rules' => 'Apply album rules',
];
diff --git a/lang/zh_TW/settings.php b/lang/zh_TW/settings.php
index 88248a120e0..38fa4dd0471 100644
--- a/lang/zh_TW/settings.php
+++ b/lang/zh_TW/settings.php
@@ -1,103 +1,103 @@
'Settings',
- 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
- 'tabs' => [
- 'basic' => 'Basic',
- 'all_settings' => 'All settings',
- ],
- 'toasts' => [
- 'change_saved' => 'Change saved!',
- 'details' => 'Settings have been modified as per request',
- 'error' => 'Error!',
- 'error_load_css' => 'Could not load dist/user.css',
- 'error_load_js' => 'Could not load dist/custom.js',
- 'error_save_css' => 'Could not save CSS',
- 'error_save_js' => 'Could not save JS',
- 'thank_you' => 'Thank you for your support.',
- 'reload' => 'Reload your page for full functionalities.',
- ],
- 'system' => [
- 'header' => 'System',
- 'use_dark_mode' => 'Use dark mode for Lychee',
- 'language' => 'Language used by Lychee',
- 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
- 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
- 'cache_enabled' => 'Enable caching of responses.',
- 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
- ],
- 'lychee_se' => [
- 'header' => 'Lychee SE',
- 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
- 'preview' => 'Enable preview of Lychee SE features',
- 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
- 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
- ],
- 'dropbox' => [
- 'header' => 'Dropbox',
- 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
- 'api_key' => 'Dropbox API Key',
- 'set_key' => 'Set Dropbox Key',
- ],
- 'gallery' => [
- 'header' => 'Gallery',
- 'photo_order_column' => 'Default column used for sorting photos',
- 'photo_order_direction' => 'Default order used for sorting photos',
- 'album_order_column' => 'Default column used for sorting albums',
- 'album_order_direction' => 'Default order used for sorting albums',
- 'aspect_ratio' => 'Default aspect ratio for album thumbs',
- 'photo_layout' => 'Layout for pictures',
- 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
- 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
- 'photo_overlay' => 'Default image overlay information',
- 'license_default' => 'Default license used for albums',
- 'license_help' => 'Need help choosing?',
- ],
- 'geolocation' => [
- 'header' => 'Geo-location',
- 'map_display' => 'Display the map given GPS coordinates',
- 'map_display_public' => 'Allow anonymous users to access the map',
- 'map_provider' => 'Defines the map provider',
- 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
- 'location_decoding' => 'Use GPS location decoding',
- 'location_show' => 'Show location extracted from GPS coordinates',
- 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
- 'gps_coordinate_display' => 'Display the GPS coordinates',
- 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
- ],
- 'cssjs' => [
- 'header' => 'Custom CSS & Js',
- 'change_css' => 'Change CSS',
- 'change_js' => 'Change JS',
- ],
- 'all' => [
- 'old_setting_style' => 'Old settings style',
- 'expert_settings' => 'Expert Mode',
- 'change_detected' => 'Some settings changed.',
- 'save' => 'Save',
- 'back_to_settings' => 'Back to grouped settings',
- ],
- 'tool_option' => [
- 'disabled' => 'disabled',
- 'enabled' => 'enabled',
- 'discover' => 'discover',
- ],
- 'groups' => [
- 'general' => 'General',
- 'system' => 'System',
- 'modules' => 'Modules',
- 'advanced' => 'Advanced',
- ],
- 'config' => [
- 'use_admin_dashboard' => [
- 'label' => 'Use admin dashboard',
- 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Settings page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Settings',
+ 'small_screen' => 'For better a experience on the Settings page,
we recommend you use a larger screen.',
+ 'tabs' => [
+ 'basic' => 'Basic',
+ 'all_settings' => 'All settings',
+ ],
+ 'toasts' => [
+ 'change_saved' => 'Change saved!',
+ 'details' => 'Settings have been modified as per request',
+ 'error' => 'Error!',
+ 'error_load_css' => 'Could not load dist/user.css',
+ 'error_load_js' => 'Could not load dist/custom.js',
+ 'error_save_css' => 'Could not save CSS',
+ 'error_save_js' => 'Could not save JS',
+ 'thank_you' => 'Thank you for your support.',
+ 'reload' => 'Reload your page for full functionalities.',
+ ],
+ 'system' => [
+ 'header' => 'System',
+ 'use_dark_mode' => 'Use dark mode for Lychee',
+ 'language' => 'Language used by Lychee',
+ 'nsfw_album_visibility' => 'Make Sensitive albums visible by default.',
+ 'nsfw_album_explanation' => 'If the album is public, it is still accessible, just hidden from the view and can be revealed by pressing H.',
+ 'cache_enabled' => 'Enable caching of responses.',
+ 'cache_enabled_details' => 'This will significantly speed up the response time of Lychee.
If you are using password protected albums, you should not enable this.',
+ ],
+ 'lychee_se' => [
+ 'header' => 'Lychee SE',
+ 'call4action' => 'Get exclusive features and support the development of Lychee. Unlock the SE edition.',
+ 'preview' => 'Enable preview of Lychee SE features',
+ 'hide_call4action' => 'Hide this Lychee SE registration form. I am happy with Lychee as-is. :)',
+ 'hide_warning' => 'If enabled, the only way to register your license key will be via the More tab above. Changes are applied on page reload.',
+ ],
+ 'dropbox' => [
+ 'header' => 'Dropbox',
+ 'instruction' => 'In order to import photos from your Dropbox, you need a valid drop-ins app key from their website.',
+ 'api_key' => 'Dropbox API Key',
+ 'set_key' => 'Set Dropbox Key',
+ ],
+ 'gallery' => [
+ 'header' => 'Gallery',
+ 'photo_order_column' => 'Default column used for sorting photos',
+ 'photo_order_direction' => 'Default order used for sorting photos',
+ 'album_order_column' => 'Default column used for sorting albums',
+ 'album_order_direction' => 'Default order used for sorting albums',
+ 'aspect_ratio' => 'Default aspect ratio for album thumbs',
+ 'photo_layout' => 'Layout for pictures',
+ 'album_decoration' => 'Show decorations on album cover (sub-album and/or photo count)',
+ 'album_decoration_direction' => 'Align album decorations horizontally or vertically',
+ 'photo_overlay' => 'Default image overlay information',
+ 'license_default' => 'Default license used for albums',
+ 'license_help' => 'Need help choosing?',
+ ],
+ 'geolocation' => [
+ 'header' => 'Geo-location',
+ 'map_display' => 'Display the map given GPS coordinates',
+ 'map_display_public' => 'Allow anonymous users to access the map',
+ 'map_provider' => 'Defines the map provider',
+ 'map_include_subalbums' => 'Includes pictures of the sub albums on the map',
+ 'location_decoding' => 'Use GPS location decoding',
+ 'location_show' => 'Show location extracted from GPS coordinates',
+ 'location_show_public' => 'Anonymous users can access the extracted location from GPS coordinates',
+ 'gps_coordinate_display' => 'Display the GPS coordinates',
+ 'gps_coordinate_display_public' => 'Allow anonymous users to access the GPS coordinates',
+ ],
+ 'cssjs' => [
+ 'header' => 'Custom CSS & Js',
+ 'change_css' => 'Change CSS',
+ 'change_js' => 'Change JS',
+ ],
+ 'all' => [
+ 'old_setting_style' => 'Old settings style',
+ 'expert_settings' => 'Expert Mode',
+ 'change_detected' => 'Some settings changed.',
+ 'save' => 'Save',
+ 'back_to_settings' => 'Back to grouped settings',
+ ],
+ 'tool_option' => [
+ 'disabled' => 'disabled',
+ 'enabled' => 'enabled',
+ 'discover' => 'discover',
+ ],
+ 'groups' => [
+ 'general' => 'General',
+ 'system' => 'System',
+ 'modules' => 'Modules',
+ 'advanced' => 'Advanced',
+ ],
+ 'config' => [
+ 'use_admin_dashboard' => [
+ 'label' => 'Use admin dashboard',
+ 'help' => 'Replace the nested admin submenu with a single link to the new admin dashboard page.',
+ ],
+ ],
];
diff --git a/lang/zh_TW/sharing.php b/lang/zh_TW/sharing.php
index 5408487c925..1fd7f8a60ca 100644
--- a/lang/zh_TW/sharing.php
+++ b/lang/zh_TW/sharing.php
@@ -1,39 +1,39 @@
'分享',
- 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
- 'album_title' => 'Album title',
- 'username' => 'Username',
- 'no_data' => 'Sharing list is empty.',
- 'share' => 'Share',
- 'add_new_access_permission' => 'Add a new access permission',
- 'permission_deleted' => 'Permission deleted!',
- 'permission_created' => 'Permission created!',
- 'propagate' => 'Propagate',
- 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
- 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
- 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
- 'propagate_warning' => 'This action cannot be undone.',
- 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
- 'permission_updated' => 'Propagation successful! Permission updated!',
- 'bluk_share' => 'Bulk share',
- 'bulk_share_instr' => 'Select multiple albums and users to share with.',
- 'albums' => 'Albums',
- 'users' => 'Users',
- 'no_users' => 'No selectable users.',
- 'no_albums' => 'No selectable albums.',
- 'grants' => [
- 'read' => 'Grants read access',
- 'original' => 'Grants access to original photo',
- 'download' => 'Grants download',
- 'upload' => 'Grants upload',
- 'edit' => 'Grants edit',
- 'delete' => 'Grants delete',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Sharing page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '分享',
+ 'info' => 'This page gives an overview of and the ability to edit the sharing rights associated with albums.',
+ 'album_title' => 'Album title',
+ 'username' => 'Username',
+ 'no_data' => 'Sharing list is empty.',
+ 'share' => 'Share',
+ 'add_new_access_permission' => 'Add a new access permission',
+ 'permission_deleted' => 'Permission deleted!',
+ 'permission_created' => 'Permission created!',
+ 'propagate' => 'Propagate',
+ 'propagate_help' => 'Propagate the current access permissions to all descendants
(sub-albums and their respective sub-albums etc)',
+ 'propagate_default' => 'By default, existing permissions (album-user)
are updated and the missing ones added.
Additional permissions not present in this list are left untouched.',
+ 'propagate_overwrite' => 'Overwrite the existing permissions instead of updating.
This will also remove all permissions not present in this list.',
+ 'propagate_warning' => 'This action cannot be undone.',
+ 'permission_overwritten' => 'Propagation successful! Permission overwritten!',
+ 'permission_updated' => 'Propagation successful! Permission updated!',
+ 'bluk_share' => 'Bulk share',
+ 'bulk_share_instr' => 'Select multiple albums and users to share with.',
+ 'albums' => 'Albums',
+ 'users' => 'Users',
+ 'no_users' => 'No selectable users.',
+ 'no_albums' => 'No selectable albums.',
+ 'grants' => [
+ 'read' => 'Grants read access',
+ 'original' => 'Grants access to original photo',
+ 'download' => 'Grants download',
+ 'upload' => 'Grants upload',
+ 'edit' => 'Grants edit',
+ 'delete' => 'Grants delete',
+ ],
];
diff --git a/lang/zh_TW/statistics.php b/lang/zh_TW/statistics.php
index d9c91519746..7b5f86e6a00 100644
--- a/lang/zh_TW/statistics.php
+++ b/lang/zh_TW/statistics.php
@@ -1,63 +1,63 @@
'統計資料',
- 'preview_text' => '這是 Lychee 的統計資料頁預覽 SE.
顯示的數據是隨機生成,並不代表你的伺服器。',
- 'no_data' => '沒有使用者資料在伺服器上。',
- 'collapse' => '折叠相本大小',
- 'total' => [
- 'total' => '匯總',
- 'albums' => '相本',
- 'photos' => '相片',
- 'size' => '大小',
- ],
- 'table' => [
- 'username' => '擁有者',
- 'title' => '標題',
- 'photos' => '相片',
- 'descendants' => '子項目',
- 'size' => '大小',
- ],
- 'punch_card' => [
- 'title' => '活動紀錄',
- 'photo-taken' => '%d 拍攝相片',
- 'photo-taken-in' => '%d 拍攝相片在 %d',
- 'photo-uploaded' => '%d 上傳相片',
- 'photo-uploaded-in' => '%d 上傳相片在 %d',
- 'with-exif' => '包含可交換圖像文件格式 (exif) 數據',
- 'less' => '少量',
- 'more' => '大量',
- 'tooltip' => '%d 相片在 %s',
- 'created_at' => '上傳日期',
- 'taken_at' => '可交換圖像文件格式(exif) 日期',
- 'caption' => '每欄代表一星期。',
- ],
- 'metrics' => [
- 'header' => '即時數據',
- 'preview_text' => '這是 Lychee 即時數據預覽 SE. 這是隨機生成的數據,並不代表你的伺服器。',
- 'a_visitor' => '訪客',
- 'visitors' => '%d 訪客',
- 'visit_singular' => '%1$s 已閱 %2$s',
- 'favourite_singular' => '%1$s 標示為最愛 %2$s',
- 'download_singular' => '%1$s 已下載 %2$s',
- 'shared_singular' => '%1$s 已分享 %2$s',
- 'visit_plural' => '%1$s 已閱 %2$s',
- 'favourite_plural' => '%1$s 標示為最愛 %2$s',
- 'download_plural' => '%1$s 已下載 %2$s',
- 'shared_plural' => '%1$s 已分享 %2$s',
- 'ago' => [
- 'days' => '%d 日前',
- 'day' => '一日前',
- 'hours' => '%d 小時前',
- 'hour' => '一個小時前',
- 'minutes' => '%d 分鐘前',
- 'few_minutes' => '幾分鐘前',
- 'seconds' => '幾秒鐘前',
- ],
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Statistics page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => '統計資料',
+ 'preview_text' => '這是 Lychee 的統計資料頁預覽 SE.
顯示的數據是隨機生成,並不代表你的伺服器。',
+ 'no_data' => '沒有使用者資料在伺服器上。',
+ 'collapse' => '折叠相本大小',
+ 'total' => [
+ 'total' => '匯總',
+ 'albums' => '相本',
+ 'photos' => '相片',
+ 'size' => '大小',
+ ],
+ 'table' => [
+ 'username' => '擁有者',
+ 'title' => '標題',
+ 'photos' => '相片',
+ 'descendants' => '子項目',
+ 'size' => '大小',
+ ],
+ 'punch_card' => [
+ 'title' => '活動紀錄',
+ 'photo-taken' => '%d 拍攝相片',
+ 'photo-taken-in' => '%d 拍攝相片在 %d',
+ 'photo-uploaded' => '%d 上傳相片',
+ 'photo-uploaded-in' => '%d 上傳相片在 %d',
+ 'with-exif' => '包含可交換圖像文件格式 (exif) 數據',
+ 'less' => '少量',
+ 'more' => '大量',
+ 'tooltip' => '%d 相片在 %s',
+ 'created_at' => '上傳日期',
+ 'taken_at' => '可交換圖像文件格式(exif) 日期',
+ 'caption' => '每欄代表一星期。',
+ ],
+ 'metrics' => [
+ 'header' => '即時數據',
+ 'preview_text' => '這是 Lychee 即時數據預覽 SE. 這是隨機生成的數據,並不代表你的伺服器。',
+ 'a_visitor' => '訪客',
+ 'visitors' => '%d 訪客',
+ 'visit_singular' => '%1$s 已閱 %2$s',
+ 'favourite_singular' => '%1$s 標示為最愛 %2$s',
+ 'download_singular' => '%1$s 已下載 %2$s',
+ 'shared_singular' => '%1$s 已分享 %2$s',
+ 'visit_plural' => '%1$s 已閱 %2$s',
+ 'favourite_plural' => '%1$s 標示為最愛 %2$s',
+ 'download_plural' => '%1$s 已下載 %2$s',
+ 'shared_plural' => '%1$s 已分享 %2$s',
+ 'ago' => [
+ 'days' => '%d 日前',
+ 'day' => '一日前',
+ 'hours' => '%d 小時前',
+ 'hour' => '一個小時前',
+ 'minutes' => '%d 分鐘前',
+ 'few_minutes' => '幾分鐘前',
+ 'seconds' => '幾秒鐘前',
+ ],
+ ],
];
diff --git a/lang/zh_TW/tags.php b/lang/zh_TW/tags.php
index b601671b72f..a270d08d607 100644
--- a/lang/zh_TW/tags.php
+++ b/lang/zh_TW/tags.php
@@ -1,24 +1,24 @@
'Tags',
- 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
- 'no_tags' => 'No tags found.',
- 'loading' => 'Loading tags...',
- 'rename' => 'Rename',
- 'merge' => 'Merge',
- 'delete' => 'Delete',
+ /*
+ |--------------------------------------------------------------------------
+ | Tags page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Tags',
+ 'description' => 'Manage your tags here. You can rename, merge, and delete tags.
The number indicates how many photos are associated with that tag.',
+ 'no_tags' => 'No tags found.',
+ 'loading' => 'Loading tags...',
+ 'rename' => 'Rename',
+ 'merge' => 'Merge',
+ 'delete' => 'Delete',
- 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
- 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
+ 'delete_confirm' => 'Are you sure you want to delete the tag “%s”?',
+ 'delete_warning' => 'This action cannot be undone! All photos associated with this tag will no longer have this tag.',
- 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
- 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
+ 'merge_confirm' => 'Are you sure you want to merge the tag “%1$s” into the tag “%2$s”?',
+ 'merge_warning' => 'This action cannot be undone! All photos associated with the source tag will be moved to the destination tag.',
- 'rename_tag' => 'Rename Tag',
+ 'rename_tag' => 'Rename Tag',
];
\ No newline at end of file
diff --git a/lang/zh_TW/toasts.php b/lang/zh_TW/toasts.php
index d9e12bd1346..d4fd2ae21f4 100644
--- a/lang/zh_TW/toasts.php
+++ b/lang/zh_TW/toasts.php
@@ -1,13 +1,13 @@
'錯誤',
- 'success' => '成功',
- 'album_updated' => '相本已更新',
- 'update_failed' => '更新相本失敗',
+ /*
+ |--------------------------------------------------------------------------
+ | Toasts
+ |--------------------------------------------------------------------------
+ */
+ 'error' => '錯誤',
+ 'success' => '成功',
+ 'album_updated' => '相本已更新',
+ 'update_failed' => '更新相本失敗',
];
diff --git a/lang/zh_TW/user-groups.php b/lang/zh_TW/user-groups.php
index 115ecc10ed0..3bfcde86098 100644
--- a/lang/zh_TW/user-groups.php
+++ b/lang/zh_TW/user-groups.php
@@ -1,39 +1,39 @@
'User Groups',
- 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
+ /*
+ |--------------------------------------------------------------------------
+ | User Groups page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'User Groups',
+ 'explanation' => 'User groups allow you to organize users and manage permissions collectively.',
- 'create_group' => 'Create Group',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
+ 'create_group' => 'Create Group',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
- 'loading' => 'Loading groups...',
- 'empty' => 'No groups found.',
+ 'loading' => 'Loading groups...',
+ 'empty' => 'No groups found.',
- 'add_member' => 'Add member...',
- 'empty_group' => 'This group is empty.',
- 'no_permission_members' => 'You do not have the permission to see the members of this group.',
- 'remove_success' => '%s has been removed from %s.',
+ 'add_member' => 'Add member...',
+ 'empty_group' => 'This group is empty.',
+ 'no_permission_members' => 'You do not have the permission to see the members of this group.',
+ 'remove_success' => '%s has been removed from %s.',
- 'confirm_delete_header' => 'Delete Group',
- 'confirm_delete_message' => 'Are you sure you want to delete this group?',
- 'cancel' => 'Cancel',
- 'confirm' => 'Delete',
+ 'confirm_delete_header' => 'Delete Group',
+ 'confirm_delete_message' => 'Are you sure you want to delete this group?',
+ 'cancel' => 'Cancel',
+ 'confirm' => 'Delete',
- 'create' => [
- 'name' => 'Group Name',
- 'description' => 'Description',
- 'users' => 'Users',
- 'cancel' => 'Cancel',
- 'create' => 'Create',
- 'edit' => 'Edit',
+ 'create' => [
+ 'name' => 'Group Name',
+ 'description' => 'Description',
+ 'users' => 'Users',
+ 'cancel' => 'Cancel',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
- 'error_name_required' => 'Group name is required.',
- ],
+ 'error_name_required' => 'Group name is required.',
+ ],
];
diff --git a/lang/zh_TW/users.php b/lang/zh_TW/users.php
index 29e85d15709..c54644fdd76 100644
--- a/lang/zh_TW/users.php
+++ b/lang/zh_TW/users.php
@@ -1,50 +1,50 @@
'Users',
- 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
- 'create' => 'Create a new user',
- 'username' => 'Username',
- 'password' => 'Password',
- 'legend' => 'Legend',
- 'upload_rights' => 'When selected, the user can upload content.',
- 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
- 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
+ /*
+ |--------------------------------------------------------------------------
+ | Users page
+ |--------------------------------------------------------------------------
+ */
+ 'title' => 'Users',
+ 'description' => 'Here you can manage the users of your Lychee installation. You can create, edit and delete users.',
+ 'create' => 'Create a new user',
+ 'username' => 'Username',
+ 'password' => 'Password',
+ 'legend' => 'Legend',
+ 'upload_rights' => 'When selected, the user can upload content.',
+ 'edit_rights' => 'When selected, the user can modify their profile (username, password).',
+ 'upload_trust_level' => 'Upload trust level — controls whether uploads are immediately public.',
- 'quota' => 'When set, the user has a space quota for pictures (in kB).',
- 'user_deleted' => 'User deleted',
- 'user_created' => 'User created',
- 'user_updated' => 'User updated',
- 'change_saved' => 'Change saved!',
- 'create_edit' => [
- 'upload_rights' => 'User can upload content.',
- 'edit_rights' => 'User can modify their profile (username, password).',
- 'admin_rights' => 'User has admin rights.',
- 'upload_trust_level' => 'Upload trust level',
- 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
- 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
- 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
+ 'quota' => 'When set, the user has a space quota for pictures (in kB).',
+ 'user_deleted' => 'User deleted',
+ 'user_created' => 'User created',
+ 'user_updated' => 'User updated',
+ 'change_saved' => 'Change saved!',
+ 'create_edit' => [
+ 'upload_rights' => 'User can upload content.',
+ 'edit_rights' => 'User can modify their profile (username, password).',
+ 'admin_rights' => 'User has admin rights.',
+ 'upload_trust_level' => 'Upload trust level',
+ 'upload_trust_level_check' => 'Check – uploads require admin approval before becoming public.',
+ 'upload_trust_level_monitor' => 'Monitor – upload are publics unless flagged for content.',
+ 'upload_trust_level_trusted' => 'Trusted – uploads are immediately public.',
- 'quota' => 'User has quota limit.',
- 'quota_kb' => 'quota in kB (0 for default)',
- 'note' => 'Admin note (not publically visible)',
- 'create' => 'Create',
- 'edit' => 'Edit',
- ],
- 'invite' => [
- 'button' => 'Invite user',
- 'links_are_not_revokable' => 'Invitation links are not revokable.',
- 'link_is_valid_x_days' => 'This link is valid for %d days.',
- ],
- 'line' => [
- 'owner' => 'Owner',
- 'admin' => 'Admin user',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- ],
+ 'quota' => 'User has quota limit.',
+ 'quota_kb' => 'quota in kB (0 for default)',
+ 'note' => 'Admin note (not publically visible)',
+ 'create' => 'Create',
+ 'edit' => 'Edit',
+ ],
+ 'invite' => [
+ 'button' => 'Invite user',
+ 'links_are_not_revokable' => 'Invitation links are not revokable.',
+ 'link_is_valid_x_days' => 'This link is valid for %d days.',
+ ],
+ 'line' => [
+ 'owner' => 'Owner',
+ 'admin' => 'Admin user',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ ],
];
diff --git a/lang/zh_TW/webhook.php b/lang/zh_TW/webhook.php
index c1d0edf8400..3bad0677250 100644
--- a/lang/zh_TW/webhook.php
+++ b/lang/zh_TW/webhook.php
@@ -7,80 +7,80 @@
*/
return [
- /*
- |--------------------------------------------------------------------------
- | Webhook admin page
- |--------------------------------------------------------------------------
- */
+ /*
+ |--------------------------------------------------------------------------
+ | Webhook admin page
+ |--------------------------------------------------------------------------
+ */
- 'title' => 'Webhooks',
- 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
+ 'title' => 'Webhooks',
+ 'description' => 'Configure outgoing webhooks that are triggered when photos are added, moved, or deleted.',
- // Empty state
- 'no_webhooks' => 'No webhooks configured yet.',
- 'create_first' => 'Create your first webhook',
+ // Empty state
+ 'no_webhooks' => 'No webhooks configured yet.',
+ 'create_first' => 'Create your first webhook',
- // Table columns
- 'col_name' => 'Name',
- 'col_event' => 'Event',
- 'col_method' => 'Method',
- 'col_url' => 'URL',
- 'col_format' => 'Format',
- 'col_enabled' => 'Enabled',
- 'col_actions' => 'Actions',
+ // Table columns
+ 'col_name' => 'Name',
+ 'col_event' => 'Event',
+ 'col_method' => 'Method',
+ 'col_url' => 'URL',
+ 'col_format' => 'Format',
+ 'col_enabled' => 'Enabled',
+ 'col_actions' => 'Actions',
- // Event labels
- 'event_photo_add' => 'Photo Added',
- 'event_photo_move' => 'Photo Moved',
- 'event_photo_delete' => 'Photo Deleted',
+ // Event labels
+ 'event_photo_add' => 'Photo Added',
+ 'event_photo_move' => 'Photo Moved',
+ 'event_photo_delete' => 'Photo Deleted',
- // Payload format labels
- 'format_json' => 'JSON',
- 'format_query_string' => 'Query String',
+ // Payload format labels
+ 'format_json' => 'JSON',
+ 'format_query_string' => 'Query String',
- // Buttons
- 'create' => 'Create Webhook',
- 'edit' => 'Edit',
- 'delete' => 'Delete',
- 'cancel' => 'Cancel',
- 'save' => 'Save',
+ // Buttons
+ 'create' => 'Create Webhook',
+ 'edit' => 'Edit',
+ 'delete' => 'Delete',
+ 'cancel' => 'Cancel',
+ 'save' => 'Save',
- // Form fields
- 'field_name' => 'Name',
- 'field_name_placeholder' => 'e.g. My Webhook',
- 'field_event' => 'Event',
- 'field_method' => 'HTTP Method',
- 'field_url' => 'URL',
- 'field_url_placeholder' => 'https://example.com/hook',
- 'field_format' => 'Payload Format',
- 'field_enabled' => 'Enabled',
- 'field_secret' => 'Secret',
- 'field_secret_placeholder' => 'Leave empty to keep existing secret',
- 'field_secret_header' => 'Secret Header',
- 'field_secret_header_placeholder' => 'X-Webhook-Secret',
- 'field_send_photo_id' => 'Send Photo ID',
- 'field_send_album_id' => 'Send Album ID',
- 'field_send_title' => 'Send Title',
- 'field_send_size_variants' => 'Send Size Variants',
+ // Form fields
+ 'field_name' => 'Name',
+ 'field_name_placeholder' => 'e.g. My Webhook',
+ 'field_event' => 'Event',
+ 'field_method' => 'HTTP Method',
+ 'field_url' => 'URL',
+ 'field_url_placeholder' => 'https://example.com/hook',
+ 'field_format' => 'Payload Format',
+ 'field_enabled' => 'Enabled',
+ 'field_secret' => 'Secret',
+ 'field_secret_placeholder' => 'Leave empty to keep existing secret',
+ 'field_secret_header' => 'Secret Header',
+ 'field_secret_header_placeholder' => 'X-Webhook-Secret',
+ 'field_send_photo_id' => 'Send Photo ID',
+ 'field_send_album_id' => 'Send Album ID',
+ 'field_send_title' => 'Send Title',
+ 'field_send_size_variants' => 'Send Size Variants',
- // Modal titles
- 'modal_create_title' => 'Create Webhook',
- 'modal_edit_title' => 'Edit Webhook',
+ // Modal titles
+ 'modal_create_title' => 'Create Webhook',
+ 'modal_edit_title' => 'Edit Webhook',
- // Delete confirmation
- 'confirm_delete_header' => 'Delete Webhook',
- 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
- 'delete_warning' => 'This action cannot be undone.',
+ // Delete confirmation
+ 'confirm_delete_header' => 'Delete Webhook',
+ 'confirm_delete_message' => 'Are you sure you want to delete the webhook ":name"? This action cannot be undone.',
+ 'delete_warning' => 'This action cannot be undone.',
- // Toasts
- 'created' => 'Webhook created successfully.',
- 'updated' => 'Webhook updated successfully.',
- 'deleted' => 'Webhook deleted successfully.',
- 'error_load' => 'Failed to load webhooks.',
- 'error_save' => 'Failed to save webhook.',
- 'error_delete' => 'Failed to delete webhook.',
+ // Toasts
+ 'created' => 'Webhook created successfully.',
+ 'updated' => 'Webhook updated successfully.',
+ 'deleted' => 'Webhook deleted successfully.',
+ 'error_load' => 'Failed to load webhooks.',
+ 'error_save' => 'Failed to save webhook.',
+ 'error_delete' => 'Failed to delete webhook.',
- // Secret badge
- 'has_secret' => 'Secret set',
- 'no_secret' => 'No secret',
+ // Secret badge
+ 'has_secret' => 'Secret set',
+ 'no_secret' => 'No secret',
];
diff --git a/lang/zh_TW/webshop.php b/lang/zh_TW/webshop.php
index 5bdccb77b9f..632baabbfae 100644
--- a/lang/zh_TW/webshop.php
+++ b/lang/zh_TW/webshop.php
@@ -1,235 +1,235 @@
[
- 'cardHolder' => 'Card Holder',
- 'fullName' => 'Full Name',
- 'expires' => 'Expires',
- 'MM' => 'MM',
- 'YY' => 'YY',
- ],
- 'cardForm' => [
- 'cardNumber' => 'Card Number',
- 'cardName' => 'Card Name',
- 'expirationDate' => 'Expiration Date',
- 'month' => 'Month',
- 'year' => 'Year',
- 'CVV' => 'CVV',
- 'submit' => 'Submit',
- 'invalidCardNumber' => 'Invalid Card Number',
- ],
- 'basketList' => [
- 'basket' => 'Basket',
- 'size' => 'Size',
- 'license' => 'License',
- 'notes' => 'Notes',
- 'removeItem' => 'Remove item',
- 'clearBasket' => 'Clear basket',
- 'total' => 'Total:',
- 'proceedToCheckout' => 'Proceed to Checkout',
- 'emptyBasket' => 'Your basket is empty.',
- ],
- 'checkout' => [
- 'checkout' => 'Checkout',
- 'yourInfo' => 'Your info',
- 'payment' => 'Payment',
- 'confirmation' => 'Confirmation',
- 'next' => 'Next',
- 'back' => 'Back',
- 'thankYou' => 'Thank you for your purchase!',
- 'orderNumber' => 'Your order number is:',
- 'transactionId' => 'Your transaction id is:',
- 'noteWarning' => 'Please',
- 'noteTransactionId' => 'note your transaction id and',
- 'noteOrderNumber' => 'your order number',
- 'noteReason' => 'as you will need them to access your content.',
- 'enjoyPurchase' => 'Enjoy your purchase!',
- 'toMyDownloads' => 'To my downloads',
- 'toTheGallery' => 'To the gallery',
- 'offlineThankYou' => 'Thank you for your purchase!',
- 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
- 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
- ],
- 'orderDownload' => [
- 'order' => 'Order %d',
- 'orderAccessRequired' => 'Order Access Required',
- 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
- 'enterTransactionId' => 'Enter transaction ID',
- 'loadOrder' => 'Load Order',
- 'orderDetails' => 'Order Details',
- 'transactionId' => 'Transaction ID:',
- 'orderSummary' => 'Order Summary',
- 'for' => 'For:',
- 'status' => 'Status:',
- 'total' => 'Total:',
- 'paid' => 'Paid:',
- 'notPaid' => 'not paid',
- 'lastUpdate' => 'Last update:',
- 'items' => 'Items',
- 'deliver' => 'Deliver',
- 'edit' => 'Edit',
- 'view' => 'View',
- 'enterContentUrl' => 'Enter content URL here.',
- 'download' => 'Download',
- 'downloadNotAvailable' => 'Download not available (yet)',
- 'copiedToClipboard' => 'Copied to clipboard',
- 'orderLinkCopied' => 'Order link copied to clipboard',
- 'couldNotCopy' => 'Could not copy to clipboard.',
- 'somethingWentWrong' => 'Something went wrong',
- 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
- ],
- 'status' => [
- 'pending' => 'Pending',
- 'paid' => 'Paid',
- 'offline' => 'Offline',
- 'completed' => 'Completed',
- 'processing' => 'Processing',
- 'failed' => 'Failed',
- 'closed' => 'Closed',
- ],
- 'orderList' => [
- 'orders' => 'Orders',
- 'numStaleOrders' => 'Number of stale orders: %d',
- 'cleanStaleOrders' => 'Clean stale orders',
- 'client' => 'Client',
- 'transactionId' => 'Transaction ID',
- 'status' => 'Status',
- 'amount' => 'Amount',
- ],
- 'purchasablesList' => [
- 'purchasables' => 'Purchasables',
- 'title' => 'Title',
- 'description' => 'Description',
- 'notes' => 'Notes',
- 'prices' => 'Prices',
- ],
- 'disclaimer' => [
- 'title' => 'Disclaimer',
- 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
- 'iUnderstand' => 'I understand',
- ],
- 'infoSection' => [
- 'yourInfo' => 'Your info',
- 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
- 'goToLogin' => 'Go to login',
- 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
- 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
- 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
- 'emailUsageNote' => 'Your email will only be used for order-related communication.',
- 'consentAgreement' => "I agree to the privacy policy and terms of service.",
- ],
- 'errors' => [
- 'emailRequired' => 'Email is required for guest checkout.',
- 'invalidEmail' => 'Please enter a valid email address.',
- 'noData' => 'NO DATA',
- ],
- 'orderLegend' => [
- 'needHelp' => 'Need help?',
- 'legend' => 'Legend:',
- 'pendingDesc' => 'Order is created but not paid yet.',
- 'processingDesc' => 'Payment is being processed.',
- 'offlineDesc' => 'Order is marked as to be paid manually.',
- 'completedDesc' => 'Order has been paid.',
- 'closedDesc' => 'Order has been delivered.',
- 'cancelledDesc' => 'Payment has been cancelled.',
- 'failedDesc' => 'Payment has failed.',
- 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
- 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'offlineStatus' => 'offline',
- 'completedStatus' => 'completed',
- 'closedStatus' => 'closed',
- 'offlineExplanationPart1' => 'An order in the',
- 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
- 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
- 'closedExplanationPart1' => 'Once an order reaches the',
- 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
- ],
- 'orderListAction' => [
- 'markAsPaid' => 'Mark as Paid',
- 'requireAttention' => 'Require Attention',
- 'markAsDelivered' => 'Mark as Delivered',
- 'viewDetails' => 'View Details',
- ],
- 'orderSummary' => [
- 'title' => 'Summary of your order',
- 'size' => 'Size:',
- 'license' => 'License:',
- 'notes' => 'Notes:',
- 'total' => 'Total:',
- ],
- 'paymentForm' => [
- 'selectProvider' => 'Select your payment provider',
- 'selectProviderPlaceholder' => 'Select a payment provider',
- 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
- 'enterInfo' => 'Enter your info for %s',
- ],
- 'paymentInProgress' => [
- 'message' => 'Payment in progess...',
- 'cancel' => 'cancel',
- ],
- 'useOrder' => [
- 'copiedToClipboard' => 'Copied to clipboard',
- 'transactionIdCopied' => 'Transaction ID copied to clipboard',
- ],
- 'albumPurchasable' => [
- 'notPurchasableYet' => 'This album is not purchasable (yet).',
- 'descriptionPlaceholder' => 'Description for clients',
- 'ownerNotePlaceholder' => "Owner's Note",
- 'setPurchasable' => 'Set Purchasable',
- 'setPurchasablePropagate' => 'Set Purchasable and propagate',
- 'disable' => 'Disable',
- 'update' => 'Update',
- 'setAtLeastOnePrice' => 'Set at least one price.',
- 'success' => 'Success',
- 'error' => 'Error',
- 'albumNowPurchasable' => 'Album is now purchasable',
- 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
- ],
- 'pricesInput' => [
- 'licenseType' => 'License Type',
- 'variant' => 'Variant',
- 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
- 'addPrice' => 'Add Price',
- ],
- 'useStepTwo' => [
- 'fakeCardClipboard' => 'Fake card number available in clipboard',
- 'paymentSuccess' => 'Payment processed successfully.',
- 'redirectError' => 'Redirection requested but target is absent.',
- 'finalizationError' => 'Finalization requested but target is absent.',
- 'orderFinalizedSuccess' => 'Order finalized successfully.',
- 'orderFinalizationFailed' => 'Order finalization failed.',
- 'badRequest' => 'Bad Request',
- 'invalidInput' => 'The request was invalid. Please check your input.',
- 'success' => 'Success',
- 'error' => 'Error',
- ],
- 'useMollie' => [
- 'error' => 'Error',
- 'profileNotConfigured' => 'Mollie profile ID is not configured.',
- 'somethingWentWrong' => 'Something went wrong with Mollie.',
- ],
- 'usePaypal' => [
- 'error' => 'Error',
- 'client_id_missing' => 'PayPal client ID is not configured.',
- 'sdkLoadError' => 'PayPal JS SDK Load Error',
- 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
- 'paymentError' => 'PayPal Payment Error',
- 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
- ],
- 'buyMeActions' => [
- 'success' => 'Success',
- 'addedToOrder' => 'Added to order',
- 'photoAddedToOrder' => '%s added to your order for %s',
- ],
- 'cancelledFailed' => [
- 'paymentCancelled' => 'Payment cancelled',
- 'paymentCancelledMessage' => 'Payment has been cancelled.',
- 'paymentFailed' => 'Payment failed',
- 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
- ],
+ /*
+ |--------------------------------------------------------------------------
+ | Webshop page
+ |--------------------------------------------------------------------------
+ */
+ 'card' => [
+ 'cardHolder' => 'Card Holder',
+ 'fullName' => 'Full Name',
+ 'expires' => 'Expires',
+ 'MM' => 'MM',
+ 'YY' => 'YY',
+ ],
+ 'cardForm' => [
+ 'cardNumber' => 'Card Number',
+ 'cardName' => 'Card Name',
+ 'expirationDate' => 'Expiration Date',
+ 'month' => 'Month',
+ 'year' => 'Year',
+ 'CVV' => 'CVV',
+ 'submit' => 'Submit',
+ 'invalidCardNumber' => 'Invalid Card Number',
+ ],
+ 'basketList' => [
+ 'basket' => 'Basket',
+ 'size' => 'Size',
+ 'license' => 'License',
+ 'notes' => 'Notes',
+ 'removeItem' => 'Remove item',
+ 'clearBasket' => 'Clear basket',
+ 'total' => 'Total:',
+ 'proceedToCheckout' => 'Proceed to Checkout',
+ 'emptyBasket' => 'Your basket is empty.',
+ ],
+ 'checkout' => [
+ 'checkout' => 'Checkout',
+ 'yourInfo' => 'Your info',
+ 'payment' => 'Payment',
+ 'confirmation' => 'Confirmation',
+ 'next' => 'Next',
+ 'back' => 'Back',
+ 'thankYou' => 'Thank you for your purchase!',
+ 'orderNumber' => 'Your order number is:',
+ 'transactionId' => 'Your transaction id is:',
+ 'noteWarning' => 'Please',
+ 'noteTransactionId' => 'note your transaction id and',
+ 'noteOrderNumber' => 'your order number',
+ 'noteReason' => 'as you will need them to access your content.',
+ 'enjoyPurchase' => 'Enjoy your purchase!',
+ 'toMyDownloads' => 'To my downloads',
+ 'toTheGallery' => 'To the gallery',
+ 'offlineThankYou' => 'Thank you for your purchase!',
+ 'offlinePaymentMessage' => 'We will get in touch with you shortly via email with the payment instructions.',
+ 'offlineProcessingMessage' => 'We will notify you once your photos are ready to be downloaded.',
+ ],
+ 'orderDownload' => [
+ 'order' => 'Order %d',
+ 'orderAccessRequired' => 'Order Access Required',
+ 'provideTransactionId' => 'Please provide the transaction ID to access your order details.',
+ 'enterTransactionId' => 'Enter transaction ID',
+ 'loadOrder' => 'Load Order',
+ 'orderDetails' => 'Order Details',
+ 'transactionId' => 'Transaction ID:',
+ 'orderSummary' => 'Order Summary',
+ 'for' => 'For:',
+ 'status' => 'Status:',
+ 'total' => 'Total:',
+ 'paid' => 'Paid:',
+ 'notPaid' => 'not paid',
+ 'lastUpdate' => 'Last update:',
+ 'items' => 'Items',
+ 'deliver' => 'Deliver',
+ 'edit' => 'Edit',
+ 'view' => 'View',
+ 'enterContentUrl' => 'Enter content URL here.',
+ 'download' => 'Download',
+ 'downloadNotAvailable' => 'Download not available (yet)',
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'orderLinkCopied' => 'Order link copied to clipboard',
+ 'couldNotCopy' => 'Could not copy to clipboard.',
+ 'somethingWentWrong' => 'Something went wrong',
+ 'couldNotMarkDelivered' => 'Could not mark item as delivered.',
+ ],
+ 'status' => [
+ 'pending' => 'Pending',
+ 'paid' => 'Paid',
+ 'offline' => 'Offline',
+ 'completed' => 'Completed',
+ 'processing' => 'Processing',
+ 'failed' => 'Failed',
+ 'closed' => 'Closed',
+ ],
+ 'orderList' => [
+ 'orders' => 'Orders',
+ 'numStaleOrders' => 'Number of stale orders: %d',
+ 'cleanStaleOrders' => 'Clean stale orders',
+ 'client' => 'Client',
+ 'transactionId' => 'Transaction ID',
+ 'status' => 'Status',
+ 'amount' => 'Amount',
+ ],
+ 'purchasablesList' => [
+ 'purchasables' => 'Purchasables',
+ 'title' => 'Title',
+ 'description' => 'Description',
+ 'notes' => 'Notes',
+ 'prices' => 'Prices',
+ ],
+ 'disclaimer' => [
+ 'title' => 'Disclaimer',
+ 'message' => "Lychee is developed under the MIT license. This means that LycheeOrg is not responsible nor liable for any issues or losses arising from the use of the webshop module and/or the payment processing capabilities. It is critical that you verify and ensure that your setup is working correctly and securely before using it in a production environment.",
+ 'iUnderstand' => 'I understand',
+ ],
+ 'infoSection' => [
+ 'yourInfo' => 'Your info',
+ 'mustBeLoggedIn' => 'You must be logged in to proceed with the checkout.',
+ 'goToLogin' => 'Go to login',
+ 'notLoggedInMessage' => 'You are not logged in! Please provide your email address to continue.',
+ 'loggedInWithEmail' => "You are logged in as %s (%s). You can change your email address if you want to receive order-related communication at a different address.",
+ 'loggedInWithoutEmail' => "You are logged in as %s. You set an email address if you want to receive order-related communication.",
+ 'emailUsageNote' => 'Your email will only be used for order-related communication.',
+ 'consentAgreement' => "I agree to the privacy policy and terms of service.",
+ ],
+ 'errors' => [
+ 'emailRequired' => 'Email is required for guest checkout.',
+ 'invalidEmail' => 'Please enter a valid email address.',
+ 'noData' => 'NO DATA',
+ ],
+ 'orderLegend' => [
+ 'needHelp' => 'Need help?',
+ 'legend' => 'Legend:',
+ 'pendingDesc' => 'Order is created but not paid yet.',
+ 'processingDesc' => 'Payment is being processed.',
+ 'offlineDesc' => 'Order is marked as to be paid manually.',
+ 'completedDesc' => 'Order has been paid.',
+ 'closedDesc' => 'Order has been delivered.',
+ 'cancelledDesc' => 'Payment has been cancelled.',
+ 'failedDesc' => 'Payment has failed.',
+ 'flowsIntro' => 'There are multiple possible order control flows as described bellow:',
+ 'offlineExplanation' => 'An order in the %s status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to %s once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'offlineStatus' => 'offline',
+ 'completedStatus' => 'completed',
+ 'closedStatus' => 'closed',
+ 'offlineExplanationPart1' => 'An order in the',
+ 'offlineExplanationPart2' => 'status indicates that the payment will be handled manually, such as through bank transfer or cash on delivery. The admin of the webshop is responsible for updating the order status to',
+ 'offlineExplanationPart3' => 'once the payment is confirmed by clicking the "Mark as Paid" button in the order details.',
+ 'closedExplanationPart1' => 'Once an order reaches the',
+ 'closedExplanationPart2' => 'status, it is considered finalized and no further actions can be taken.',
+ ],
+ 'orderListAction' => [
+ 'markAsPaid' => 'Mark as Paid',
+ 'requireAttention' => 'Require Attention',
+ 'markAsDelivered' => 'Mark as Delivered',
+ 'viewDetails' => 'View Details',
+ ],
+ 'orderSummary' => [
+ 'title' => 'Summary of your order',
+ 'size' => 'Size:',
+ 'license' => 'License:',
+ 'notes' => 'Notes:',
+ 'total' => 'Total:',
+ ],
+ 'paymentForm' => [
+ 'selectProvider' => 'Select your payment provider',
+ 'selectProviderPlaceholder' => 'Select a payment provider',
+ 'pciCompliant' => 'This payment is %s compliant.
Your card details are processed securely by %s.',
+ 'enterInfo' => 'Enter your info for %s',
+ ],
+ 'paymentInProgress' => [
+ 'message' => 'Payment in progess...',
+ 'cancel' => 'cancel',
+ ],
+ 'useOrder' => [
+ 'copiedToClipboard' => 'Copied to clipboard',
+ 'transactionIdCopied' => 'Transaction ID copied to clipboard',
+ ],
+ 'albumPurchasable' => [
+ 'notPurchasableYet' => 'This album is not purchasable (yet).',
+ 'descriptionPlaceholder' => 'Description for clients',
+ 'ownerNotePlaceholder' => "Owner's Note",
+ 'setPurchasable' => 'Set Purchasable',
+ 'setPurchasablePropagate' => 'Set Purchasable and propagate',
+ 'disable' => 'Disable',
+ 'update' => 'Update',
+ 'setAtLeastOnePrice' => 'Set at least one price.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ 'albumNowPurchasable' => 'Album is now purchasable',
+ 'albumNoLongerPurchasable' => 'Album is no longer purchasable',
+ ],
+ 'pricesInput' => [
+ 'licenseType' => 'License Type',
+ 'variant' => 'Variant',
+ 'duplicateError' => 'There are duplicate prices (same license type and size variant).',
+ 'addPrice' => 'Add Price',
+ ],
+ 'useStepTwo' => [
+ 'fakeCardClipboard' => 'Fake card number available in clipboard',
+ 'paymentSuccess' => 'Payment processed successfully.',
+ 'redirectError' => 'Redirection requested but target is absent.',
+ 'finalizationError' => 'Finalization requested but target is absent.',
+ 'orderFinalizedSuccess' => 'Order finalized successfully.',
+ 'orderFinalizationFailed' => 'Order finalization failed.',
+ 'badRequest' => 'Bad Request',
+ 'invalidInput' => 'The request was invalid. Please check your input.',
+ 'success' => 'Success',
+ 'error' => 'Error',
+ ],
+ 'useMollie' => [
+ 'error' => 'Error',
+ 'profileNotConfigured' => 'Mollie profile ID is not configured.',
+ 'somethingWentWrong' => 'Something went wrong with Mollie.',
+ ],
+ 'usePaypal' => [
+ 'error' => 'Error',
+ 'client_id_missing' => 'PayPal client ID is not configured.',
+ 'sdkLoadError' => 'PayPal JS SDK Load Error',
+ 'sdkLoadErrorDetail' => 'Failed to load the PayPal JS SDK script',
+ 'paymentError' => 'PayPal Payment Error',
+ 'paymentErrorDetail' => 'An error occurred during the PayPal payment process.',
+ ],
+ 'buyMeActions' => [
+ 'success' => 'Success',
+ 'addedToOrder' => 'Added to order',
+ 'photoAddedToOrder' => '%s added to your order for %s',
+ ],
+ 'cancelledFailed' => [
+ 'paymentCancelled' => 'Payment cancelled',
+ 'paymentCancelledMessage' => 'Payment has been cancelled.',
+ 'paymentFailed' => 'Payment failed',
+ 'paymentFailedMessage' => 'We were not able to confirm your payment. Please try again or contact support if the problem persists.',
+ ],
];