Sachverhalt: A. Die 1956 geborene S._ bezieht seit 1992 eine Rente der Invalidenversicherung. Die Alters- und Pensionskasse der Firma X._ AG (nachfolgend: Pensionskasse) anerkannte ein Recht auf Invalidenleistungen aus beruflicher Vorsorge, wobei sich der Anspruch ab 1997 von einer halben auf eine ganze Invalidenrente erhöhte. Ab 1. Juni 2000 kürzte die Pensionskasse die reglementarische Rente von jährlich maximal Fr. 23'136.- (monatlich Fr. 1'928.-) zufolge Überentschädigung auf Fr. 18'519.- (monatlich Fr. 1'543.25). Infolge einer erneuten Überentschädigungsberechnung entrichtete sie ab 1. Mai 2010 noch eine jährliche Rente von Fr. 17'031.- (monatlich Fr. 1'419.25). B. Am 27. August 2010 liess S._ Klage gegen die Pensionskasse erheben mit dem Antrag, diese sei zu verpflichten, ihr für die Zeit vom 1. Juli 2005 bis zum 31. August 2010 den Betrag von Fr. 24'350.50 nachzuzahlen, zuzüglich 5 % Zins ab Klageerhebung, und ab dem 1. September 2010 eine ungekürzte Invalidenrente von Fr. 1'928.- pro Monat auszurichten, zuzüglich 5 % Zins ab dem jeweiligen Verfall. In teilweiser Gutheissung der Klage verpflichtete das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 31. Januar 2012 die Pensionskasse, S._ den Betrag von Fr. 7'468.60 zuzüglich Zins zu 5 % ab dem 27. August 2010 zu bezahlen. Im Mehrbetrag wies es die Klage ab. C. S._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit folgenden Rechtsbegehren: "1. Das Urteil des Versicherungsgerichts des Kantons Zürich vom 31. Januar 2012, Ziff. 1, sei so abzuändern, dass die Beschwerdegegnerin verpflichtet wird, a) der Beschwerdeführerin den Betrag von Fr. 14'452.20, zuzüglich 5 % Verzugszins seit dem 27. August 2010, zu bezahlen, b) der Beschwerdeführerin ab dem 1. September 2010 eine Invalidenrente im Betrag von Fr. 1'768.35, abzüglich der bereits erbrachten Rentenleistungen (Fr. 1'419.25), zuzüglich 5 % Verzugszins auf der Differenz (Fr. 349.10) ab dem jeweiligen Verfall, zu bezahlen. 2. Eventualiter sei das Urteil des Versicherungsgerichts des Kantons Zürich vom 31. Januar 2012, Dispositiv Ziff. 1, so abzuändern, dass die Beschwerdegegnerin verpflichtet wird, a) der Beschwerdeführerin den Betrag von Fr. 10'416.-, zuzüglich 5 % Verzugszins seit dem 27. August 2010, zu bezahlen, b) der Beschwerdeführerin ab dem 1. September 2010 eine Invalidenrente im Betrag von Fr. 1'703.25, abzüglich der bereits erbrachten Rentenleistungen (Fr. 1'419.25), zuzüglich 5 % Verzugszins auf der Differenz (Fr. 284.-) ab dem jeweiligen Verfall, zu bezahlen. 3. Subeventualiter sei das Urteil aufzuheben und die Sache an die Vorinstanz zu neuem Entscheid zurückzuweisen." Die Pensionskasse schliesst auf Abweisung der Beschwerde. Das kantonale Gericht und das Bundesamt für Sozialversicherungen verzichten auf eine Vernehmlassung.