I often find myself asking this too. Should meaningful punctuation be part of the translatable text, or can it be safely suffixed outside?
You've not said what platforms you're developing for, so I can only come at this from my experience (web apps).
A good source of translation examples can be found in the WordPress community. These are used on millions of websites and you will find several cases of an ellipsis used in this context. e.g. the text "Saving..."
to indicate progress, or "Read more..."
to indicate that something follows on.
In these cases the punctuation is part of the translatable text, so I downloaded a few translations in non-latin scripts to see what they did with it:
Japanese, which uses different full-stops to western languages keeps the style of the source text:
続きを読む...
Arabic and Hebrew (which read right-to-left) both use the same punctuation, but simply render in reverse. Your platform (e.g. browser) should handle the text direction:
قراءة المزيد...
להמשך קריאה...
Also Thai, Indonesian, Sinhalese ... I could go on:
อ่านเพิ่มเติม...
Baca selanjutnya...
තවදුරටත් කියවන්න...
So it seems it's a common convention, but that doesn't necessarily mean you should hard-code it.
Worth noting that WordPress includes many hard-coded uses of an ellipsis for use when long text is truncated. Not quite the same use case as "Save As...", but interesting that such an international project would confidently use it in this way.
Personally I've often made the decision to suffix the punctuation in case I want to change it later without invalidating translations. I'm yet to find this is a problem, but there's always tomorrow.
Having separate strings in your translation table is obviously the safest thing to do. It also offers translators some discretion over the slightly different contexts (i.e. between button and title).
Side note: The triple dot used above isn't a true ellipsis. That's an academic point here I think.