Convert a passage with variables into a string and then place in a variable

Twine Version:
Harlowe 3.1

If I have a passage like the following which is repeated multiple times within a story with the $sun variable and $dayNumber for example in constant flux…

:PassageName:

The (if: $sun <5)[dim](if: $sun >= 5)[bright] sun illuminated the plains on day $dayNumber.

Is there a way to transfer that passage above into a string then into a variable to fix it so that whether or not the variables $sun and $dayNumber changed in the story the text of the ‘exported’ or ‘fixed’ string would remain unchanged.
Like in excel when you copy and paste the text but not the formula?

eg:

(set: $Monday to "The dim sun illuminated the plains on day 2.")

(print: $Monday)

I tried…

(set: $Monday to (passage: "PassageName")'s source)

but I’m pretty sure that copied the variable names and ‘formulas’ not the variable ‘results’, as it were.

I also tried this…

(set: $sun to 3)
(set: $dayNumber to 4)
|MONDAY>[The (if: $sun <5)[dim](if: $sun >= 5)[bright] sun illuminated the plains on day $dayNumber.]


(set: $Monday to ?MONDAY)

(print: $Monday)

(set: $sun to 8)
(set: $dayNumber to 5)

<!--Regardless of variable changes the below should remain as it was set in  the hook.
(print: $Monday)

}

I feel like I might be making this harder than it needs to be.
Many thanks for any assistance!

I was making it harder than it needed to be. The answer came while pottering in the kitchen. You just put it directly in a string…

(set: $sun to 3)
(set: $dayNumber to 4)

(set: $Monday to "The (if: $sun <5)[dim](if: $sun >= 5)[bright] sun illuminated the plains on day $dayNumber.]")

(print: $Monday)

<!--variables change-->
(set: $sun to 8)
(set: $dayNumber to 5)

<!--Regardless of variable changes the below should remain as it was set in the string variable.-->

(print: $Monday)