diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index b4c6979..513cfcc 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -27,6 +27,7 @@
       --msgid-bugs-address=tigervnc-devel@googlegroups.com
       --sort-by-file
       --add-location
+      --add-comments
       ${po_source}
     COMMENT "Updating tigervnc.pot"
     VERBATIM
diff --git a/vncviewer/CConn.cxx b/vncviewer/CConn.cxx
index 23f07b4..a732847 100644
--- a/vncviewer/CConn.cxx
+++ b/vncviewer/CConn.cxx
@@ -183,12 +183,15 @@
   strcat(infoText, scratch);
   strcat(infoText, "\n");
 
+  // TRANSLATORS: Will be filled in with a string describing the
+  // protocol pixel format in a fairly language neutral way
   cp.pf().print(pfStr, 100);
   snprintf(scratch, sizeof(scratch),
            _("Pixel format: %s"), pfStr);
   strcat(infoText, scratch);
   strcat(infoText, "\n");
 
+  // TRANSLATORS: Similar to the earlier "Pixel format" string
   serverPF.print(pfStr, 100);
   snprintf(scratch, sizeof(scratch),
            _("(server default %s)"), pfStr);
@@ -426,6 +429,7 @@
     lastServerEncoding = encoding;
 
   if (!Decoder::supported(encoding)) {
+    // TRANSLATORS: Refers to a VNC protocol encoding type
     vlog.error(_("Unknown rect encoding %d"), encoding);
     throw Exception(_("Unknown rect encoding"));
   }
diff --git a/vncviewer/X11PixelBuffer.cxx b/vncviewer/X11PixelBuffer.cxx
index a779427..29f0f93 100644
--- a/vncviewer/X11PixelBuffer.cxx
+++ b/vncviewer/X11PixelBuffer.cxx
@@ -56,6 +56,8 @@
     if (format[i].depth == fl_visual->depth) break;
 
   if (i == nformats)
+    // TRANSLATORS: "pixmap" is an X11 concept and may not be suitable
+    // to translate.
     throw rfb::Exception(_("Display lacks pixmap format for default depth"));
 
   switch (format[i].bits_per_pixel) {
@@ -65,6 +67,8 @@
     bpp = format[i].bits_per_pixel;
     break;
   default:
+    // TRANSLATORS: "pixmap" is an X11 concept and may not be suitable
+    // to translate.
     throw rfb::Exception(_("Couldn't find suitable pixmap format"));
   }
 
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
index cf52de5..bf4bfb1 100644
--- a/vncviewer/vncviewer.cxx
+++ b/vncviewer/vncviewer.cxx
@@ -460,6 +460,8 @@
 #ifndef WIN32
   /* Specifying -via and -listen together is nonsense */
   if (listenMode && strlen(via.getValueStr()) > 0) {
+    // TRANSLATORS: "Parameters" are command line arguments, or settings
+    // from a file or the Windows registry.
     vlog.error(_("Parameters -listen and -via are incompatible"));
     fl_alert(_("Parameters -listen and -via are incompatible"));
     exit_vncviewer();
