~s-cecilio/lenmus/v5.3

« back to all changes in this revision

Viewing changes to langtool/src/command.cpp

  • Committer: cecilios
  • Date: 2007-05-19 11:39:03 UTC
  • Revision ID: svn-v4:2587a929-2f0e-0410-ae78-fe6f687d5efe:trunk:236

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//--------------------------------------------------------------------------------------
2
 
//    LenMus Phonascus: The teacher of music
3
 
//    Copyright (c) 2002-2007 Cecilio Salmeron
4
 
//
5
 
//    This program is free software; you can redistribute it and/or modify it under the
6
 
//    terms of the GNU General Public License as published by the Free Software Foundation;
7
 
//    either version 3 of the License, or (at your option) any later version.
8
 
//
9
 
//    This program is distributed in the hope that it will be useful, but WITHOUT ANY
10
 
//    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11
 
//    PARTICULAR PURPOSE.  See the GNU General Public License for more details.
12
 
//
13
 
//    You should have received a copy of the GNU General Public License along with this
14
 
//    program. If not, see <http://www.gnu.org/licenses/>.
15
 
//
16
 
//
17
 
//    For any comment, suggestion or feature request, please contact the manager of
18
 
//    the project at cecilios@users.sourceforge.net
19
 
//
20
 
//-------------------------------------------------------------------------------------
21
 
 
22
 
#ifdef __GNUG__
23
 
#pragma implementation "command.h"
24
 
#endif
25
 
 
26
 
// for (compilers that support precompilation, includes "wx/wx.h".
27
 
#include "wx/wxprec.h"
28
 
 
29
 
#ifdef __BORLANDC__
30
 
#pragma hdrstop
31
 
#endif
32
 
 
33
 
#ifndef WX_PRECOMP
34
 
#include "wx/wx.h"
35
 
#endif
36
 
 
37
 
#include "command.h"
38
 
#include "ebook_processor.h"
39
 
 
40
 
 
41
 
// All actions that is posible to do via command line
42
 
 
43
 
void CmdCompileBook(wxString sBook, wxString sOut, wxString sLangs, wxString sLocalePath)
44
 
{
45
 
    //
46
 
    // Compiles the specified eBook, for the specified list of languages
47
 
    // Compiled eBooks are stored in specified folder
48
 
    // params:
49
 
    //      -c      [compile ebook]
50
 
    //      -book: <full-path>
51
 
    //      -out: <full-path>
52
 
    //      <lang-list> or 'all'
53
 
    //
54
 
    // example:
55
 
    //      langtool -c -book ..\books\src\L1_MusicReading.xml -out ..\books es en nl
56
 
    //
57
 
 
58
 
    wxMessageBox(
59
 
        wxString::Format(_T("Compliling eBook '%s' for languages '%s'. Output will\n")
60
 
                        _T("be left in folder '%s'"), sBook.c_str(), sLangs.c_str(), sOut.c_str() ));
61
 
 
62
 
    //Get book name
63
 
    const wxString sBookName = sBook;
64
 
    //LogMessage(_T("Preparing to process eMusicBook %s\n"), rOptions.sSrcPath );
65
 
 
66
 
    // Get languages
67
 
    //bool fLanguage[eLangLast];
68
 
 
69
 
    int nDbgOpt = 0;
70
 
    //if (rOptions.fDump) nDbgOpt |= eDumpTree;
71
 
    //if (rOptions.fLogTree) nDbgOpt |= eLogTree;
72
 
    lmEbookProcessor oEBP(nDbgOpt, (wxTextCtrl*)NULL);
73
 
    //Loop to use each selected language
74
 
    //for(int i=0; i < eLangLast; i++)
75
 
    for(int i=0; i < 1; i++)
76
 
    {
77
 
        //if (fLanguage[i]) {
78
 
        if (true)
79
 
        {
80
 
            wxLocale* pLocale = (wxLocale*)NULL;
81
 
            //wxString sLang = g_tLanguages[i].sLang;
82
 
            //wxString sCharCode = g_tLanguages[i].sCharCode;
83
 
            wxString sLang = _T("es");
84
 
            wxString sCharCode = _T("iso-8859-1");
85
 
            if (i != 0)
86
 
            {
87
 
                pLocale = new wxLocale();
88
 
                wxString sNil = _T("");
89
 
                //wxString sLangName = g_tLanguages[i].sLangName;
90
 
                wxString sLangName = _T("Spanish");
91
 
 
92
 
                pLocale->Init(_T(""), sLang, _T(""), true, true);
93
 
                pLocale->AddCatalogLookupPathPrefix( sLocalePath );
94
 
                wxString sCatalogName = sBookName + _T("_") + pLocale->GetName();
95
 
                pLocale->AddCatalog(sCatalogName);
96
 
 
97
 
                //LogMessage(_T("Locale changed to %s language (using %s)."),
98
 
                //            pLocale->GetName(), sCatalogName + _T(".mo\n") );
99
 
            }
100
 
            //if (m_pOptMenu->IsChecked(MENU_UTF8)) sCharCode = _T("utf-8");
101
 
            oEBP.GenerateLMB(sBook, sLang, sCharCode);
102
 
 
103
 
            if (i != 0) delete pLocale;
104
 
        }
105
 
    }
106
 
    return;
107
 
 
108
 
}