summaryrefslogtreecommitdiff
path: root/l10ntools/source/lngmerge.cxx
diff options
context:
space:
mode:
authorZolnai Tamás <zolnaitamas2000@gmail.com>2013-03-15 15:42:05 +0100
committerZolnai Tamás <zolnaitamas2000@gmail.com>2013-03-16 12:27:32 +0100
commit15a13bafccb96e6ab0cc5a23af6dd46715fa22c5 (patch)
tree91b93ddc0f731aec2d5b19f1895545550872a119 /l10ntools/source/lngmerge.cxx
parent516118b515fb577b1cc40e4b8d7dc06919b64675 (diff)
Get rid of generating temporary sdf file
Working: 1. Localize add header to po files. 2. Executables append po entries to po files. 3. Localize delete entryless po files and empty directories Plus a bunch of clean up. Change-Id: I58e300eaee4cee948203cc9d3e642ca9462d0d26
Diffstat (limited to 'l10ntools/source/lngmerge.cxx')
-rw-r--r--l10ntools/source/lngmerge.cxx38
1 files changed, 13 insertions, 25 deletions
diff --git a/l10ntools/source/lngmerge.cxx b/l10ntools/source/lngmerge.cxx
index 71f68effccdf..001ff83b2111 100644
--- a/l10ntools/source/lngmerge.cxx
+++ b/l10ntools/source/lngmerge.cxx
@@ -80,20 +80,15 @@ LngParser::~LngParser()
delete pLines;
}
-sal_Bool LngParser::CreateSDF(const rtl::OString &rSDFFile,
- const rtl::OString &rPrj, const rtl::OString &rRoot)
+sal_Bool LngParser::CreatePO( const rtl::OString &rPOFile )
{
Export::InitLanguages( false );
aLanguages = Export::GetLanguages();
- std::ofstream aSDFStream(
- rSDFFile.getStr(), std::ios_base::out | std::ios_base::trunc);
- if (!aSDFStream.is_open()) {
- nError = SDF_COULD_NOT_OPEN;
+ PoOfstream aPOStream( rPOFile, PoOfstream::APP );
+ if (!aPOStream.isOpen()) {
+ std::cerr << "Ulfex error: Can't open po file:" << rPOFile.getStr() << "\n";
}
- nError = SDF_OK;
- rtl::OString sActFileName(
- common::pathnameToken(sSource.getStr(), rRoot.getStr()));
size_t nPos = 0;
sal_Bool bStart = true;
@@ -113,16 +108,15 @@ sal_Bool LngParser::CreateSDF(const rtl::OString &rSDFFile,
sID = sGroup;
}
else {
- WriteSDF( aSDFStream , Text , rPrj , rRoot , sActFileName , sID );
+ WritePO( aPOStream , Text , sSource , sID );
}
}
- aSDFStream.close();
+ aPOStream.close();
return true;
}
-void LngParser::WriteSDF(std::ofstream &aSDFStream,
- OStringHashMap &rText_inout, const rtl::OString &rPrj,
- const rtl::OString &rRoot, const rtl::OString &rActFileName,
+void LngParser::WritePO(PoOfstream &aPOStream,
+ OStringHashMap &rText_inout, const rtl::OString &rActFileName,
const rtl::OString &rID)
{
@@ -135,15 +129,9 @@ void LngParser::WriteSDF(std::ofstream &aSDFStream,
if ( sAct.isEmpty() && !sCur.isEmpty() )
sAct = rText_inout[ rtl::OString("en-US") ];
- rtl::OString sOutput( rPrj ); sOutput += "\t";
- if (rRoot.getLength())
- sOutput += rActFileName;
- sOutput += "\t0\t";
- sOutput += "LngText\t";
- sOutput += rID; sOutput += "\t\t\t\t0\t";
- sOutput += sCur; sOutput += "\t";
- sOutput += sAct; sOutput += "\t\t\t\t";
- aSDFStream << sOutput.getStr() << '\n';
+ Export::writePoEntry(
+ "Ulfex", aPOStream, rActFileName, "LngText",
+ rID, OString(), OString(), sAct);
}
}
}
@@ -173,7 +161,7 @@ void LngParser::ReadLine(const rtl::OString &rLine_in,
}
sal_Bool LngParser::Merge(
- const rtl::OString &rSDFFile,
+ const rtl::OString &rPOFile,
const rtl::OString &rDestinationFile)
{
Export::InitLanguages( true );
@@ -184,7 +172,7 @@ sal_Bool LngParser::Merge(
}
nError = LNG_OK;
- MergeDataFile aMergeDataFile( rSDFFile, sSource, false, true );
+ MergeDataFile aMergeDataFile( rPOFile, sSource, false, true );
rtl::OString sTmp( Export::sLanguages );
if( sTmp.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("ALL")) )
Export::SetLanguages( aMergeDataFile.GetLanguages() );