I write patch for plural forms of translated texts. It solves second
problem from report by Heikki:

http://archives.postgresql.org/pgadmin-hackers/2009-05/msg00017.php

It use "wxPLURAL" instead "_". I also change "stringextract" script to
know this. Following steps required when patche is aplied:
- regenerate POT template
- merge it with PO files
PO files must have set Plural-Forms correctly, e.g. for czech it si:
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;
\n"
You can find it in gettext documentation (section 10.2.5) or create new
PO file from POT by msginit with appropriate param -l.

Marek
diff -r -c pgadmin3.svn/pgadmin/ctl/ctlSQLBox.cpp pgadmin3.new/pgadmin/ctl/ctlSQLBox.cpp
*** pgadmin3.svn/pgadmin/ctl/ctlSQLBox.cpp	2009-06-10 11:04:52.000000000 +0200
--- pgadmin3.new/pgadmin/ctl/ctlSQLBox.cpp	2009-06-10 11:32:17.000000000 +0200
***************
*** 192,198 ****
      GotoPos(initialPos);
  
      wxString msg;
!     msg.Printf(_("%d replacements made."), count);
      wxMessageBox(msg, _("Replace all"));
  
      if (count)
--- 192,198 ----
      GotoPos(initialPos);
  
      wxString msg;
!     msg.Printf(wxPLURAL("%d replacement made.", "%d replacements made.", count), count);
      wxMessageBox(msg, _("Replace all"));
  
      if (count)
diff -r -c pgadmin3.svn/pgadmin/db/pgQueryThread.cpp pgadmin3.new/pgadmin/db/pgQueryThread.cpp
*** pgadmin3.svn/pgadmin/db/pgQueryThread.cpp	2009-06-10 11:05:04.000000000 +0200
--- pgadmin3.new/pgadmin/db/pgQueryThread.cpp	2009-06-10 12:24:14.000000000 +0200
***************
*** 145,158 ****
              insertedOid=PQoidValue(res);
              if (insertedOid && insertedOid != (OID)-1)
                  appendMessage(wxString::Format(_("Query inserted one row with OID %d.\n"), insertedOid));
! 			else
!                 appendMessage(wxString::Format(_("Query result with %d rows will be returned.\n"), PQntuples(result)));
              continue;
          }
          if (lastResult)
          {
              if (PQntuples(lastResult))
!                 appendMessage(wxString::Format(_("Query result with %d rows discarded.\n"), PQntuples(lastResult)));
              PQclear(lastResult);
          }
          lastResult=res;
--- 145,160 ----
              insertedOid=PQoidValue(res);
              if (insertedOid && insertedOid != (OID)-1)
                  appendMessage(wxString::Format(_("Query inserted one row with OID %d.\n"), insertedOid));
!             else
!                 appendMessage(wxString::Format(wxPLURAL("Query result with %d row will be returned.\n", "Query result with %d rows will be returned.\n", 
!                     PQntuples(result)), PQntuples(result)));
              continue;
          }
          if (lastResult)
          {
              if (PQntuples(lastResult))
!                 appendMessage(wxString::Format(wxPLURAL("Query result with %d row discarded.\n", "Query result with %d rows discarded.\n", 
!                     PQntuples(lastResult)), PQntuples(lastResult)));
              PQclear(lastResult);
          }
          lastResult=res;
diff -r -c pgadmin3.svn/pgadmin/frm/frmEditGrid.cpp pgadmin3.new/pgadmin/frm/frmEditGrid.cpp
*** pgadmin3.svn/pgadmin/frm/frmEditGrid.cpp	2009-06-10 11:05:04.000000000 +0200
--- pgadmin3.new/pgadmin/frm/frmEditGrid.cpp	2009-06-10 12:31:40.000000000 +0200
***************
*** 387,393 ****
          if (limit <= 0)
              cbLimit->SetValue(_("No limit"));
          else
!                 cbLimit->SetValue(wxString::Format(_("%i rows"), limit));
      }
  }
  
--- 387,393 ----
          if (limit <= 0)
              cbLimit->SetValue(_("No limit"));
          else
!             cbLimit->SetValue(wxString::Format(wxPLURAL("%i row", "%i rows", limit), limit));
      }
  }
  
***************
*** 668,674 ****
          {
              int copied;
              copied = sqlGrid->Copy();
!             SetStatusText(wxString::Format(_("Data from %d rows copied to clipboard."), copied));
          }
      }
  }
--- 668,676 ----
          {
              int copied;
              copied = sqlGrid->Copy();
!             SetStatusText(wxString::Format(
!                 wxPLURAL("Data from %d row copied to clipboard.", "Data from %d rows copied to clipboard.", copied), 
!                 copied));
          }
      }
  }
***************
*** 1062,1071 ****
          return;
  
      wxString prompt;
!     if (i == 1)
!         prompt.Printf(_("Are you sure you wish to delete the selected row?"));
!     else
!         prompt.Printf(_("Are you sure you wish to delete the %d selected rows?"), i);
  
      wxMessageDialog msg(this, prompt, _("Delete rows?"), wxYES_NO | wxICON_QUESTION);
      if (msg.ShowModal() != wxID_YES)
--- 1064,1070 ----
          return;
  
      wxString prompt;
!     prompt.Printf(wxPLURAL("Are you sure you wish to delete the selected row?", "Are you sure you wish to delete the %d selected rows?", i));
  
      wxMessageDialog msg(this, prompt, _("Delete rows?"), wxYES_NO | wxICON_QUESTION);
      if (msg.ShowModal() != wxID_YES)
***************
*** 1088,1094 ****
              i > 0 &&
              show_continue_message)
          {
!             wxMessageDialog msg(this, wxString::Format(_("There was an error deleting the previous record.\nAre you sure you wish to delete the remaining %d rows ?"), i), _("Delete more records ?"), wxYES_NO | wxICON_QUESTION);
              if (msg.ShowModal() != wxID_YES)
                  break;
              else
--- 1087,1096 ----
              i > 0 &&
              show_continue_message)
          {
!             wxMessageDialog msg(this, wxString::Format(wxPLURAL(
!                 "There was an error deleting the previous record.\nAre you sure you wish to delete the remaining %d row?", 
!                 "There was an error deleting the previous record.\nAre you sure you wish to delete the remaining %d rows?", 
!                 i), i), _("Delete more records ?"), wxYES_NO | wxICON_QUESTION);
              if (msg.ShowModal() != wxID_YES)
                  break;
              else
***************
*** 1099,1105 ****
  
      sqlGrid->EndBatch();
  
!     SetStatusText(wxString::Format(_("%d rows."), sqlGrid->GetTable()->GetNumberStoredRows()), 0);
  }
  
  
--- 1101,1107 ----
  
      sqlGrid->EndBatch();
  
!     SetStatusText(wxString::Format(wxPLURAL("%d row.", "%d rows.", sqlGrid->GetTable()->GetNumberStoredRows()), sqlGrid->GetTable()->GetNumberStoredRows()), 0);
  }
  
  
***************
*** 1318,1324 ****
          toolsMenu->Enable(MNU_REMOVESORT, true);
          return;
      }
!     SetStatusText(wxString::Format(_("%d rows."), thread->DataSet()->NumRows()), 0);
  
      sqlGrid->BeginBatch();
  
--- 1320,1326 ----
          toolsMenu->Enable(MNU_REMOVESORT, true);
          return;
      }
!     SetStatusText(wxString::Format(wxPLURAL("%d row.", "%d rows.", thread->DataSet()->NumRows()), thread->DataSet()->NumRows()), 0);
  
      sqlGrid->BeginBatch();
  
***************
*** 3082,3088 ****
  
  editGridLimitedFactory::editGridLimitedFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar, int limit) : editGridFactoryBase(list)
  {
!     mnu->Append(id, wxString::Format(_("View Top %i Rows"), limit), _("View a limited number of rows in the selected object."));
      rowlimit = limit;
      context = false;
  }
--- 3084,3090 ----
  
  editGridLimitedFactory::editGridLimitedFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar, int limit) : editGridFactoryBase(list)
  {
!     mnu->Append(id, wxString::Format(wxPLURAL("View Top %i Row", "View Top %i Rows", limit), limit), _("View a limited number of rows in the selected object."));
      rowlimit = limit;
      context = false;
  }
diff -r -c pgadmin3.svn/pgadmin/frm/frmExport.cpp pgadmin3.new/pgadmin/frm/frmExport.cpp
*** pgadmin3.svn/pgadmin/frm/frmExport.cpp	2009-06-10 11:05:04.000000000 +0200
--- pgadmin3.new/pgadmin/frm/frmExport.cpp	2009-06-10 12:14:06.000000000 +0200
***************
*** 287,293 ****
      file.Close();
  
      if (skipped)
!         wxLogError(_("Data export incomplete.\n\n%d row(s) contained characters that could not be converted to the local charset.\n\nPlease correct the data or try using UTF8 instead."), skipped);
      else
          wxMessageBox(_("Data export completed successfully."), _("Export data"), wxICON_INFORMATION | wxOK);
  
--- 287,296 ----
      file.Close();
  
      if (skipped)
!         wxLogError(wxPLURAL(
!             "Data export incomplete.\n\n%d row contained characters that could not be converted to the local charset.\n\nPlease correct the data or try using UTF8 instead.", 
!             "Data export incomplete.\n\n%d rows contained characters that could not be converted to the local charset.\n\nPlease correct the data or try using UTF8 instead.", 
!             skipped), skipped);
      else
          wxMessageBox(_("Data export completed successfully."), _("Export data"), wxICON_INFORMATION | wxOK);
  
diff -r -c pgadmin3.svn/pgadmin/frm/frmQuery.cpp pgadmin3.new/pgadmin/frm/frmQuery.cpp
*** pgadmin3.svn/pgadmin/frm/frmQuery.cpp	2009-06-10 11:05:04.000000000 +0200
--- pgadmin3.new/pgadmin/frm/frmQuery.cpp	2009-06-10 12:33:34.000000000 +0200
***************
*** 2106,2114 ****
              }
              else
              {
!                 showMessage(wxString::Format(_("Query returned successfully: %d rows affected, %s ms execution time."),
                      insertedCount, elapsedQuery.ToString().c_str()),
!                     wxString::Format(_("%d rows affected."), insertedCount));
              }
          }
          else
--- 2106,2118 ----
              }
              else
              {
!                 showMessage(wxString::Format(
!                     wxPLURAL(
!                         "Query returned successfully: %d row affected, %s ms execution time.", 
!                         "Query returned successfully: %d rows affected, %s ms execution time.", 
!                         insertedCount),
                      insertedCount, elapsedQuery.ToString().c_str()),
!                     wxString::Format(wxPLURAL("%d row affected.", "%d rows affected.", insertedCount), insertedCount));
              }
          }
          else
***************
*** 2167,2173 ****
  
          if (qi->toFile)
          {
!             SetStatusText(wxString::Format(_("%d rows."), rowsTotal), STATUSPOS_ROWS);
  
              if (rowsTotal)
              {
--- 2171,2177 ----
  
          if (qi->toFile)
          {
!             SetStatusText(wxString::Format(wxPLURAL("%d row.", "%d rows.", rowsTotal), rowsTotal), STATUSPOS_ROWS);
  
              if (rowsTotal)
              {
***************
*** 2192,2202 ****
              {
                  sqlResult->DisplayData(true);
  
!                 showMessage(wxString::Format(_("%d rows retrieved."), sqlResult->NumRows()), _("OK."));
              }
              else
              {
!                 SetStatusText(wxString::Format(_("Retrieving data: %d rows."), rowsTotal), STATUSPOS_MSGS);
                  wxTheApp->Yield(true);
  
                  sqlResult->DisplayData();
--- 2196,2208 ----
              {
                  sqlResult->DisplayData(true);
  
!                 showMessage(wxString::Format(
!                     wxPLURAL("%d row retrieved.", "%d rows retrieved.", sqlResult->NumRows()), 
!                     sqlResult->NumRows()), _("OK."));
              }
              else
              {
!                 SetStatusText(wxString::Format(wxPLURAL("Retrieving data: %d row.", "Retrieving data: %d rows.", rowsTotal), rowsTotal), STATUSPOS_MSGS);
                  wxTheApp->Yield(true);
  
                  sqlResult->DisplayData();
***************
*** 2207,2215 ****
                  msgResult->AppendText(str);
                  msgHistory->AppendText(str);
  
!                 showMessage(wxString::Format(_("%ld rows retrieved."), sqlResult->NumRows()), _("OK."));
              }
!             SetStatusText(wxString::Format(_("%d rows."), rowsTotal), STATUSPOS_ROWS);
          }
      }
  
--- 2213,2221 ----
                  msgResult->AppendText(str);
                  msgHistory->AppendText(str);
  
!                 showMessage(wxString::Format(wxPLURAL("%ld row retrieved.", "%ld rows retrieved.", sqlResult->NumRows()), sqlResult->NumRows()), _("OK."));
              }
!             SetStatusText(wxString::Format(wxPLURAL("%d row.", "%d rows.", rowsTotal), rowsTotal), STATUSPOS_ROWS);
          }
      }
  
***************
*** 2296,2302 ****
          if (statusMsg.Last() == '.')
              statusMsg = statusMsg.Left(statusMsg.Length() - 1);
  
!         SetStatusText(wxString::Format(_("%s (%d asynchronous notifications received)."), statusMsg.c_str(), notifies), STATUSPOS_MSGS);
      }
  
      msgResult->AppendText(wxT("\n"));
--- 2302,2310 ----
          if (statusMsg.Last() == '.')
              statusMsg = statusMsg.Left(statusMsg.Length() - 1);
  
!         SetStatusText(wxString::Format(
!             wxPLURAL("%s (%d asynchronous notification received).", "%s (%d asynchronous notifications received).", notifies),
!             statusMsg.c_str(), notifies), STATUSPOS_MSGS);
      }
  
      msgResult->AppendText(wxT("\n"));
diff -r -c pgadmin3.svn/pgadmin/slony/slNode.cpp pgadmin3.new/pgadmin/slony/slNode.cpp
*** pgadmin3.svn/pgadmin/slony/slNode.cpp	2009-06-10 11:05:10.000000000 +0200
--- pgadmin3.new/pgadmin/slony/slNode.cpp	2009-06-10 12:37:28.000000000 +0200
***************
*** 108,114 ****
      if (!l)
          return true;
  
!     wxMessageDialog dlg(frame, wxString::Format(_("There are %ld event acknowledgements outstanding.\nContinue anyway?"), l),
          _("Events pending"), wxYES_NO | wxNO_DEFAULT);
  
      return dlg.ShowModal() == wxID_YES;
--- 108,115 ----
      if (!l)
          return true;
  
!     wxMessageDialog dlg(frame, wxString::Format(wxPLURAL("There are %ld event acknowledgement outstanding.\nContinue anyway?", 
!         "There are %ld event acknowledgements outstanding.\nContinue anyway?", l), l),
          _("Events pending"), wxYES_NO | wxNO_DEFAULT);
  
      return dlg.ShowModal() == wxID_YES;
diff -r -c pgadmin3.svn/stringextract pgadmin3.new/stringextract
*** pgadmin3.svn/stringextract	2009-06-10 11:05:45.000000000 +0200
--- pgadmin3.new/stringextract	2009-06-10 11:22:39.000000000 +0200
***************
*** 13,60 ****
  
  cp pgadmin3-release.pot pgadmin3.pot
  
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/ctl/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/frm/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/debugger/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/db/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/exceptions/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/expressions/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/statements/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/generators/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/objects/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/utilities/m_apm/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/utilities/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/pgscript/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/agent/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/schema/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/utils/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/slony/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/dlg/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/gqb/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/ui/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/*.cpp
! xgettext -k_ -k__ -j -s -o pgadmin3.pot xtra/pgscript/bin/*.cpp
! 
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/ctl/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/frm/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/debugger/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/db/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/exceptions/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/expressions/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/statements/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/generators/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/objects/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/utilities/mapm-lib/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/utilities/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/pgscript/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/agent/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/schema/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/utils/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/slony/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/dlg/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/gqb/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/*.h
! xgettext -k_ -k__ -j -s -o pgadmin3.pot pgadmin/include/*.h
  
  TMPDIR=`mktemp -d tmpwork` || exit 1
  echo "$TMPDIR"
--- 13,60 ----
  
  cp pgadmin3-release.pot pgadmin3.pot
  
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/ctl/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/frm/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/debugger/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/db/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/exceptions/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/expressions/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/statements/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/generators/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/objects/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/utilities/m_apm/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/utilities/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/pgscript/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/agent/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/schema/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/utils/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/slony/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/dlg/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/gqb/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/ui/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/*.cpp
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot xtra/pgscript/bin/*.cpp
! 
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/ctl/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/frm/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/debugger/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/db/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/exceptions/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/expressions/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/statements/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/generators/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/objects/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/utilities/mapm-lib/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/utilities/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/pgscript/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/agent/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/schema/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/utils/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/slony/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/dlg/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/gqb/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/*.h
! xgettext -k_ -k__ -kwxPLURAL:1,2 -j -s -o pgadmin3.pot pgadmin/include/*.h
  
  TMPDIR=`mktemp -d tmpwork` || exit 1
  echo "$TMPDIR"
-- 
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to