To me, the paradigm only works if both sides are labeled in both states.
Light [* ] Dark
This is essentially how a physical switch would be labeled, and is the best way to prevent ambiguity - the current state is the label that the switch is closest to.But most implementations don’t do that. And I can understand why, because the following…
Show Notifications Yes [* ] No
…is a bit awkward looking.