If parameters are present in the property value, then the value will be passed as a pattern to java.text.MessageFormat.
This means that single quotes are used for escaping. Thus to keep a quote visible, it must be duplicated:
'{0}' → {0}''{0}'' → '$value$'
When using choice format, nested formats are evaluated as formats themselves, and second double quotes are required.
When passing 1:
{0, choice, 0#no|#1''{0}'' file} → {0} files{0, choice, 0#no|#1''''{0}'''' file} → '$number_of_files$' files