feat: redirects screen
- golem15.seo.redirects list and form (UI-SPEC C8): chain rows marked, status, match, origin and chain filters, the navigation item lands here - a field-less extension on the controller refuses a loop with redirects.loop on target, answers the chain notice and records history - the status dropdown posts text, read through RedirectStatus
This commit is contained in:
@@ -2,6 +2,7 @@ plugin:
|
||||
name: SEO
|
||||
description: Search engine metadata for every content type, URL rules and global SEO settings.
|
||||
nav:
|
||||
redirects: Redirects
|
||||
seo: SEO
|
||||
history: History
|
||||
rules: URL rules
|
||||
@@ -199,3 +200,40 @@ redirects:
|
||||
regex_invalid: "This is not a valid regular expression: :error"
|
||||
source_invalid: "Start the address with /. Use * only in a pattern."
|
||||
source_taken: "Another redirect already uses this address and match."
|
||||
new: "New redirect"
|
||||
list_title: "Redirects"
|
||||
name: "Redirect"
|
||||
source: "From"
|
||||
source_comment: "Exact: /old-post. Pattern: /old/* (the matched part replaces * in the target). Regex: ^/p/(\\d+)$ (use $1 in the target)."
|
||||
match: "Match"
|
||||
match_exact: "Exact"
|
||||
match_pattern: "Pattern"
|
||||
match_regex: "Regex"
|
||||
target: "To"
|
||||
target_comment: "A path or a full URL. Leave empty for 410 Gone."
|
||||
status: "Status"
|
||||
status_301: "301 Moved permanently"
|
||||
status_302: "302 Found (temporary)"
|
||||
status_410: "410 Gone"
|
||||
query: "Query string"
|
||||
query_ignore: "Ignore it"
|
||||
query_pass: "Pass it to the target"
|
||||
ignore_case: "Ignore letter case"
|
||||
trailing_slash: "Match with and without a trailing slash"
|
||||
note: "Note"
|
||||
origin: "Origin"
|
||||
origin_manual: "Manual"
|
||||
origin_slug: "Address change"
|
||||
origin_import: "Import"
|
||||
origin_mcp: "MCP"
|
||||
origin_notfound: "404 log"
|
||||
updated: "Updated"
|
||||
state_chain: "Chain"
|
||||
filter_chain: "Chains"
|
||||
filter_chain_only: "Only chains"
|
||||
filter_chain_hide: "Hide chains"
|
||||
list_empty: "No redirects yet. Create one, import a CSV file, or create one from the 404 log."
|
||||
delete_confirm: "Delete this redirect? Its source address will return 404 again. You can undo it in History."
|
||||
delete_selected_confirm:
|
||||
one: "Delete :count redirect? Its source address will return 404 again. You can undo it in History."
|
||||
other: "Delete :count redirects? Their source addresses will return 404 again. You can undo it in History."
|
||||
|
||||
@@ -2,6 +2,7 @@ plugin:
|
||||
name: SEO
|
||||
description: Metadane dla wyszukiwarek we wszystkich typach treści, reguły adresów i globalne ustawienia SEO.
|
||||
nav:
|
||||
redirects: Przekierowania
|
||||
seo: SEO
|
||||
history: Historia zmian
|
||||
rules: Reguły adresów
|
||||
@@ -203,3 +204,42 @@ redirects:
|
||||
regex_invalid: "To nie jest poprawne wyrażenie regularne: :error"
|
||||
source_invalid: "Zacznij adres od /. Używaj * tylko we wzorcu."
|
||||
source_taken: "Inne przekierowanie już używa tego adresu i dopasowania."
|
||||
new: "Nowe przekierowanie"
|
||||
list_title: "Przekierowania"
|
||||
name: "Przekierowanie"
|
||||
source: "Z adresu"
|
||||
source_comment: "Dokładny: /stary-wpis. Wzorzec: /stare/* (dopasowana część zastępuje * w celu). Regex: ^/p/(\\d+)$ (użyj $1 w celu)."
|
||||
match: "Dopasowanie"
|
||||
match_exact: "Dokładne"
|
||||
match_pattern: "Wzorzec"
|
||||
match_regex: "Regex"
|
||||
target: "Na adres"
|
||||
target_comment: "Ścieżka lub pełny adres. Zostaw puste dla 410 Gone."
|
||||
status: "Kod"
|
||||
status_301: "301 Przeniesiono na stałe"
|
||||
status_302: "302 Przeniesiono tymczasowo"
|
||||
status_410: "410 Usunięto"
|
||||
query: "Parametry adresu"
|
||||
query_ignore: "Ignoruj"
|
||||
query_pass: "Przekaż do celu"
|
||||
ignore_case: "Ignoruj wielkość liter"
|
||||
trailing_slash: "Dopasuj z ukośnikiem na końcu i bez"
|
||||
note: "Notatka"
|
||||
origin: "Pochodzenie"
|
||||
origin_manual: "Ręcznie"
|
||||
origin_slug: "Zmiana adresu"
|
||||
origin_import: "Import"
|
||||
origin_mcp: "MCP"
|
||||
origin_notfound: "Dziennik 404"
|
||||
updated: "Zaktualizowano"
|
||||
state_chain: "Łańcuch"
|
||||
filter_chain: "Łańcuchy"
|
||||
filter_chain_only: "Tylko łańcuchy"
|
||||
filter_chain_hide: "Ukryj łańcuchy"
|
||||
list_empty: "Nie ma jeszcze przekierowań. Utwórz je, zaimportuj plik CSV lub utwórz je z dziennika 404."
|
||||
delete_confirm: "Usunąć to przekierowanie? Jego adres źródłowy znowu zwróci 404. Możesz to cofnąć w Historii zmian."
|
||||
delete_selected_confirm:
|
||||
one: "Usunąć :count przekierowanie? Jego adres źródłowy znowu zwróci 404. Możesz to cofnąć w Historii zmian."
|
||||
few: "Usunąć :count przekierowania? Ich adresy źródłowe znowu zwrócą 404. Możesz to cofnąć w Historii zmian."
|
||||
many: "Usunąć :count przekierowań? Ich adresy źródłowe znowu zwrócą 404. Możesz to cofnąć w Historii zmian."
|
||||
other: "Usunąć :count przekierowania? Ich adresy źródłowe znowu zwrócą 404. Możesz to cofnąć w Historii zmian."
|
||||
|
||||
Reference in New Issue
Block a user