Almost every piece of text contained within Catfish has what's known as a language string attached to it. The language string is basically a set of characters (letters, numbers etc.) which the system "reads" and uses to populate most text fields.
If you navigate to Admin -> Configuration -> Languages you will see that Catfish supports multiple languages, all of which have string resources which you can view by clicking their respective View string resources button.
Once you click on "View string resources" for the language you wish to edit, you will come to a page which lists every language string used on your storefront. In the screenshot below, and for the purposes of this example, I have selected "English" as this is the language I primarily use on my storefront.
Note: Each language has its own set of language strings and as such, changing the string for one language will not affect the strings for another.
As you will be able to see, there are a lot of language strings present and all of these can be edited or removed entirely.
For this example, I will be changing the "Log out" link at the top of my storefront's page, as shown below.
Rather than look through the many pages of language strings, I am going to search for the one I need by filtering the results by language strings which have a value that matches "Log out". In order to do this, you need to click on the filter icon I have highlighted in the following screenshot.
Note: Whilst it is possible to filter by Resource Name as well as Value, it is often easier to search by the value as this is what you will see and what you will be changing.
Once you have clicked this button, the following menu will appear:
The first dropdown list contains the following filter types:
Is equal to - This will return any language strings whose value perfectly matches what you put in the field below it. If there is a single character different, including a missing space, then the result will not be returned. For example, if I were to enter "Log out" then it would return the language string I am looking for. However, if I were to enter "Logout" it would not return anything as there is not a language string with a value matching "Logout".
Is not equal to - This option does the exact opposite to the previous one, it will return every string with a value that does not perfectly match what you enter in the field below. For example, if you were to enter "Log out" it would return every language string except for the one relating to "Log out".
Starts with - This will return all strings with a value which starts with what you enter in the field below. For example, if you were to choose this option and enter the letter "A" it would return all language strings that start with A.
Contains - This will return all language strings whose values contain the entered characters at any point in their value. This means that if you were to enter "Log" or "out" then the language string relating to "Log out" will return.
Ends with - This will return all language strings whose values end with what you enter into the field. For example, if you were to enter "." it would return all strings whose values end with a full stop.
As I know the exact text of the string I am looking for, I will be searching the value using the Is equal to option, and entering "Log out" into the field, as shown in the screenshot below.
Now, if you click Filter, it will return all results which match the filtration criteria I have just set, as shown in the following screenshot.
Now all you need to do is click "Edit" and change the value of the field to whatever you want it to be. For this example, I will be changing it from "Log out" to "Sign out" and save my changes by clicking "Update"
Note: Whilst it is indeed possible to change the Resource Name of the language string, it is not advised to do so as this could interfere with the system and cause the string to not load correctly.
As you can see in the following screenshot, the text has now changed from "Log out" to "Sign out"