Hmmm. For translation strings with variables, it's better to pass the variable to the translation string, instead of appending to the end -- this helps in case we need to change the text of the string, and the variable is no longer right at the end. so the way to do this is:

    $class->ml( 'setting.stickyentry.error.duplicate', { stickyid => $i } )

And then have your text string be:

    setting.stickyentry.error.duplicate=etc etc [[stickyid]] etc etc etc