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."
.."|n%s replaces any characters or words you typed in a chatbox according to your replacement rules and text. The replacement is done before the text is send to other players/in the target channel. "
.."It does not change text other players have written in the chat, but the text they will see from you. Its purpose is to simulate a speaking disability of your toon and to strengthen immersion in roleplay."
.."|n|nOf course it can be used for many other things, too (trollifier, abbreviations, nick names, etc.). A extensive description of all options, the general replacement workflow and a lot of examples can be found on the next tabs."
.."|n|n"..cYellow("Contact")
.."|nPlease report errors and your experiences directly as a comment on the project website at "..cPrefix("CurseForge").." ("..cHyperlink("https://www.curseforge.com/wow/addons/grichelde").."). "
.."You are encouraged to attach screenshots of error messages and your mappings. An overview of all your mappings is shnown by using the command "..cPrefix("\"/gri mappings\"").." and copy it out. "
.."|nI'm looking forward for your feedback and reports."
.."|n|n"..cYellow("Thanks")
.."|Many thanks to my beta testers "..cPrefix("Chamera")..", "..cPrefix("Tabenoca").." and "..cPrefix("Nordraka")..", and very special thanks to "..cPrefix("Shinue").." for the inspiration and hilarious moments."
.."|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\"").."."
.."|nAll other consecutive replacements are skipped, when the current mapping matched. When the current mapping does not match, 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."