L.Debug_Mappings_Hint="The content of this input box is used for debugging purposes only and can be copied. No input from this box will be read or processed."
L.Options_Replacements_Header="All matches on the lefthand side of the arrow \"=>\" will be replaced in activated channels by the text on the righthand side. "
L.Options_Mapping_MatchWhen_Desc="Replacement is only done if the search text matches either |nanywhere (<always>), |nif the search text mantches <as a whole word>, |nolny at the <start of each word>, |nor at the <end of each word>, |nor <only at the start or end of each word> but not in between, |nor only in the middle of each word, but <never at start or end of any word>."
L.Options_Mapping_SearchText_Desc="This text is looked up in your chat input box."
L.Options_Mapping_ReplaceText_Name="Replacement:"
L.Options_Mapping_ReplaceText_Desc="Any match will be replaced with this text."
L.Options_Mapping_ExactCase_Name="exact case"
L.Options_Mapping_ExactCase_Desc="When set, matches must be case-sensitive. Otherwise the case for each letter of the matching text is taken over when replaced."
L.Options_Mapping_Delete_ConfirmText="Delete this replacement mapping?"
L.Options_Help_Group_Name="Help"
L.Options_Help_Group_Desc="Guideance to search patterns and replacement logic."
L.Options_Help_Disclaimer=cYellow("Disclaimer of warranty:").." The addon is provided \"AS IS\" and comes without warranty of any kind of function or correctness (for more details, consult the GPL 3 license). "
.."Also the author is not held responsible for any risk or damage the addon or its use might cause, especially lost of progress or data due to crashes of the WoW client."
L.Options_Help_Tab_Basics_Name="Basics"
L.Options_Help_Tab_Basics_Desc="Some explanatory notes the the basic behaviour."
L.Options_Help_Tab_Expert_Name="Expert"
L.Options_Help_Tab_Expert_Desc="More details on special search options."
L.Options_Help_Tab_Examples_Name="Examples"
L.Options_Help_Tab_Examples_Desc="Templates for particular scenarios."
L.Options_Help_Basics=cYellow("Ordering")
.."|nYou can have an unlimited number of replacements. All mappings will be processed in same order as defined, from top down. "
.."Replacements are also transitive, so consecutive mappings do not work on the original input but the resulting text from the previous replacements. "
.."|nBoth mappings "..cPrefix("\"a\" => \"b\"").." and "..cPrefix("\"b\" => \"c\"").." applied, result in the final text "..cPrefix("\"a\" => \"c\"").."."
.."|n|n"..cYellow("exact case")
.."|nIf \"exact case\" is checked, lower and upper case must match exactly to be replaced, otherwise the mapping is skipped. "
.."If case sensivity is ignored, the case for each letter of the matching text is taken over when replaced. "
.."|nWith mapping "..cPrefix("\"aBcDeF\" => \"uvWXYz\"").." text results in "..cPrefix("\"abcdef\" => \"uvwxyz\"")..", "
.."also "..cPrefix("\"ABCDEF\" => \"UVWXYZ\"").." and "..cPrefix("\"AbCdEf\" => \"UvWxYz\"").."."
.."|nNo other replacements are done, when the current mapping matched. This will skip any other consecutive mappings when hit. When no match ocurred, the remaining mappings are processed as usual."
.."|nIf the replacement is shorter than the actual match, all remaining characters will be skipped. If the replacement is longer, all remaining characters will be appended. "
.."The case of the replaced character is considered as well as the case of the next character in the original text. That way capital case abbreviations and expressions will not be distorted. "
.."|nWith mapping "..cPrefix("\"Body\" => \"Corpse\"").." the input becomes "..cPrefix("\"BODY\" => \"CORPSE\"").." instead of "..cPrefix("\"CORPse\"")..""
.."but still keeps intended exceptions like "..cPrefix("\"BodYGuard\" => \"CorPSEGuard\"").." instead of "..cPrefix("\"CorpseGuard\"")..". "
.."|n|n"..cYellow("On-Demand")
.."|nFor convenience input text in a chatbox can be forcefully replaced, even if the addon or the channel was disabled. "
.."In the chatbox put "..cPrefix("/gri").." or "..cPrefix("/grichelde").." in front of your typed text, you can also include the target channel, "
.."i.e. "..cPrefix("\"/gri /guild hello there\"").." and the active replacements are applied even if the guild channel or global switch was disabled."
.."|nRegEx are very powerful search and replacement patterns commonly used in programming. Technically all searches the addon performs on the input are done with regular expression methods, "
.."however Lua unfortunately does not support full PCRE syntax and is very limited. Nevertheless some patterns can be used like the anchors start of line "..cPrefix("\"^\"").." or end of line "..cPrefix("\"$\"")
..", capturing groups "..cPrefix("\"(hello) (world)\"").."character classes like numbers "..cPrefix("\"%d\"").." or (inversed) sets "..cPrefix("\"[^%p]\"")..". "
.."Capture groups can be accessed in the replacement text with %<number> like in "..cPrefix("\"%2 %1\"").."."
.."|nAlso there are some mappings using RegEx in the Example section."
L.Options_Help_Examples_Note=cYellow("Note:").." This addon does not encourange or intend to hurt or to tease people with speaking disabilities or language disorders. The responsibility rest on the user completely. Please use the features with care and respect to other players."