Most commonly used is an **object/destination and infinitive** structure and it sounds good. You could use either an **object/destination** or **infinitive** if it is still clear what the button does. 

> Examples
>
> - "**(Liste) Löschen**" <> "**Delete (List)**"
> - "**Neue Liste (Hinzufügen**)" <> "**(Add) New List**"
> - "**Im Browser (Öffnen)**" <> "**(Open) In Browser**
> - "**Browser Öffnen**" <> "**Open Browser**
> - "**(Datei) Speichern**" <> "**Save (File)"**
> - "**(Datei) Speichern Unter**" <> "**Save (File) As"**

Whether you should capitalize the whole label text or not, I do not know. I just try to be consistent in my programs.

---
**Think of messages like "Click Here" or "Add More Info"**

---

>"**Click Here**"

simply shift it to

>"**Hier Klicken**"

----

>"**Add More Info**"

is a little different

>"**Details Hinzufügen**" literally "*Add Details*" 

"*Infos hinzufügen*" would be informal and "*Informationen hinzufügen*" seems to be long as a button label text at least in my experience.


----

> "**(Bitte) Klicken Sie hier**" "**(Bitte) Ergänzen Sie mehr Informationen**"

These translations do not fit the purpose of button labels. This would - more politely written with "Bitte" - appear in a message box or pop up text, if the user has to click somewhere specific (when you, the programmer, want him to do so) or in the other case, he has to add more information, e.g. the data requires it. I understood your request "**Add More Info**" as "**If you want to add more info click here!**"