We had exactly this issue. We started with a central text file in our source code to manage our copy and button text. This didn't work so we just started in-lining everything. The first option wasn't creating any efficiency and was difficult to maintain effectively. In the end we have adopted a headless content management system (CMS) which is a really good option.
It allows you to store copy in a structured way. You're developers can access it as JSON while your designers and content team have a UI to update and publish the words without having to involve the tech team. Saves everyone time
We had exactly this issue. We started with a central text file in our source code to manage our copy and button text. This didn't work so we just started in-lining everything. The first option wasn't creating any efficiency and was difficult to maintain effectively. In the end we have adopted a headless content management system (CMS) which is a really good option.
It allows you to store copy in a structured way. You're developers can access it as JSON while your designers and content team have a UI to update and publish the words without having to involve the tech team. Saves everyone time
Here's a blog we wrote about the decision we made
https://www.pilcro.com/blog/headless-cms