Using a lang file is still right for this. Some limited amount of HTML in localized strings is fine. You should just make sure to add an L10n comment in the lang file specifying that the string changes per-locale.

As for hiding it if it's not localized, you have two options:

1. Run it through `_` and check if the resulting string is identical to the one you put in.
2. Use CSS to hide the `p` in English.

Something like:

```css
.en-US p.credit {
    display: none;
}
```