Example #1
0
// SessionManager must be read-locked
Call::Call(SessionManager *_sManager, unsigned int _id, unsigned int _client, unsigned int _translator, string lang)
: sManager(_sManager),
  id(_id),
  client(_client),
  translator(_translator),
  state(INIT),
  start_time(0), end_time(0), accounted(0),
  cost(0),
  price(0),
  client_balance(0)
{
	pthread_mutex_init(&mutex, 0);
	Session *cs = sManager->findSessionByUser(_client);
	if (!cs)
		throw logic_error("Client session not found.");
	if (!dynamic_cast<Client *>(cs->getUser()) || 
		(!TRANSLATORS_CALL && dynamic_cast<Translator *>(cs->getUser())))
		throw logic_error("Client not found.");
	Client *c = dynamic_cast<Client *>(cs->getUser());
	clientName = c->getName();
	Session *ts = sManager->findSessionByUser(_translator);
	if (!ts)
		throw logic_error("Translator session not found.");
	Translator *t = dynamic_cast<Translator *>(ts->getUser());
	if (!t)
		throw logic_error("Translator not found.");
	setTranslateLang(lang);
	setClientLang(t->getCommonLang(c));
	price = t->getClientPrice(c, lang);
	translatorName = t->getName();
}
Example #2
0
static bool releaseTranslator(Translator &tor, const QString &qmFileName,
    ConversionData &cd, bool removeIdentical)
{
    tor.reportDuplicates(tor.resolveDuplicates(), qmFileName, cd.isVerbose());

    if (cd.isVerbose())
        printOut(LR::tr("Updating '%1'...\n").arg(qmFileName));
    if (removeIdentical) {
        if (cd.isVerbose())
            printOut(LR::tr("Removing translations equal to source text in '%1'...\n").arg(qmFileName));
        tor.stripIdenticalSourceTranslations();
    }

    QFile file(qmFileName);
    if (!file.open(QIODevice::WriteOnly)) {
        printErr(LR::tr("lrelease error: cannot create '%1': %2\n")
                                .arg(qmFileName, file.errorString()));
        return false;
    }

    tor.normalizeTranslations(cd);
    bool ok = saveQM(tor, file, cd);
    file.close();

    if (!ok) {
        printErr(LR::tr("lrelease error: cannot save '%1': %2")
                                .arg(qmFileName, cd.error()));
    } else if (!cd.errors().isEmpty()) {
        printOut(cd.error());
    }
    cd.clearErrors();
    return ok;
}
Example #3
0
bool DataModel::load(const QString &fileName, bool *langGuessed, QWidget *parent)
{
    Translator tor;
    ConversionData cd;
    bool ok = tor.load(fileName, cd, QLatin1String("auto"));
    if (!ok) {
        QMessageBox::warning(parent, QObject::tr("Qt Linguist"), cd.error());
        return false;
    }

    Translator::Duplicates dupes = tor.resolveDuplicates();
    if (!dupes.byId.isEmpty() || !dupes.byContents.isEmpty()) {
        QString err = tr("<qt>Duplicate messages found in '%1':").arg(Qt::escape(fileName));
        int numdups = 0;
        foreach (int i, dupes.byId) {
            if (++numdups >= 5) {
                err += tr("<p>[more duplicates omitted]");
                goto doWarn;
            }
            err += tr("<p>* ID: %1").arg(Qt::escape(tor.message(i).id()));
        }
        foreach (int j, dupes.byContents) {
            const TranslatorMessage &msg = tor.message(j);
            if (++numdups >= 5) {
                err += tr("<p>[more duplicates omitted]");
                break;
            }
            err += tr("<p>* Context: %1<br>* Source: %2")
                    .arg(Qt::escape(msg.context()), Qt::escape(msg.sourceText()));
            if (!msg.comment().isEmpty())
                err += tr("<br>* Comment: %3").arg(Qt::escape(msg.comment()));
        }
      doWarn:
        QMessageBox::warning(parent, QObject::tr("Qt Linguist"), err);
    }
Example #4
0
File: qph.cpp Project: mohdpatah/qt
static bool saveQPH(const Translator &translator, QIODevice &dev, ConversionData &)
{
    QTextStream t(&dev);
    t.setCodec(QTextCodec::codecForName("UTF-8"));
    t << "<!DOCTYPE QPH>\n<QPH";
    QString languageCode = translator.languageCode();
    if (!languageCode.isEmpty() && languageCode != QLatin1String("C"))
        t << " language=\"" << languageCode << "\"";
    languageCode = translator.sourceLanguageCode();
    if (!languageCode.isEmpty() && languageCode != QLatin1String("C"))
        t << " sourcelanguage=\"" << languageCode << "\"";
    t << ">\n";
    foreach (const TranslatorMessage &msg, translator.messages()) {
        t << "<phrase>\n";
        t << "    <source>" << protect(msg.sourceText()) << "</source>\n";
        QString str = msg.translations().join(QLatin1String("@"));
        str.replace(QChar(Translator::BinaryVariantSeparator),
                    QChar(Translator::TextVariantSeparator));
        t << "    <target>" << protect(str)
            << "</target>\n";
        if (!msg.comment().isEmpty())
            t << "    <definition>" << protect(msg.comment()) << "</definition>\n";
        t << "</phrase>\n";
    }
    t << "</QPH>\n";
    return true;
}
Example #5
0
Translator Translator::intersection(const Translator &first, const Translator &second){

    multimap <string, string> fst_dict = first.dictionary, snd_dict = second.dictionary;
    multimap <string, string>::iterator fst_it = fst_dict.begin(),
        fst_end = fst_dict.end(), snd_it, snd_curr_key, snd_end = snd_dict.end(),
        fst_stop, snd_stop;
    pair <multimap <string, string>::iterator, multimap<string, string>::iterator> key_range;
    string origin, mid;

    set <string> curr_translations;
    Word curr_entry;

    Translator intersection;

    while(fst_it != fst_end){

        origin = fst_it->first;

        snd_curr_key = snd_dict.find(origin);
        fst_stop = fst_dict.upper_bound(origin);

        if(snd_curr_key != snd_end){  // the key is on the second translator too

            curr_translations.clear();  // empty the translations for this key

            snd_stop = snd_dict.upper_bound(origin);

            for(; fst_it != fst_stop; ++fst_it){  // iterate over the A->B translations

                for(snd_it = snd_curr_key; snd_it != snd_stop; ++snd_it){  // iterate over the C->B

                    if(fst_it->second == snd_it->second){  // translations match

                        curr_translations.insert(fst_it->second);

                    }

                }

            }

            if(not curr_translations.empty()){

                curr_entry = Word(origin, curr_translations);

                intersection.addEntry(curr_entry);

            }

        }

        fst_it = fst_stop;
        
    }

    return intersection;

}
Example #6
0
int main(int argc, char** argv) {
    string impl = "printer";
    const char* script = NULL;
    for (int32_t i = 1; i < argc; i++) {
      if (string(argv[i]) == "-j") {
        impl = "jit";
      } else {
        script = argv[i];
      }
    }
    Translator* translator = Translator::create(impl);

    if (translator == 0) {
        cout << "TODO: Implement translator factory in translator.cpp!!!!" << endl;
        return 1;
    }

    const char* expr = "double x; double y;"
                        "x += 8.0; y = 2.0;"
                        "print('Hello, x=',x,' y=',y,'\n');"
        ;
    bool isDefaultExpr = true;

    if (script != NULL) {
        expr = loadFile(script);
        if (expr == 0) {
            printf("Cannot read file: %s\n", script);
            return 1;
        }
        isDefaultExpr = false;
    }

    Code* code = 0;

    Status* translateStatus = translator->translate(expr, &code);
    if (translateStatus->isError()) {
        uint32_t position = translateStatus->getPosition();
        uint32_t line = 0, offset = 0;
        positionToLineOffset(expr, position, line, offset);
        printf("Cannot translate expression: expression at %d,%d; "
               "error '%s'\n",
               line, offset,
               translateStatus->getError().c_str());
    }

    if (code != NULL) {
        delete code;
    }

    delete translateStatus;
    delete translator;

    if (!isDefaultExpr) {
      delete [] expr;
    }

    return 0;
}
Example #7
0
int main(int argc, char** argv) {
    const char* script = 0;
    std::string mode = INTERPRETE;
    for (int32_t i = 1; i < argc; i++) {
        if (string(argv[i]) == "-d") {
            mode = DISASM;
        } else if (string(argv[i]) == "-j") {
            mode = JIT;
        } else {
            script = argv[i];
        }
    }

    if (script == 0) {
        cout << "Usage: interpreter [-d | -j] <source_file>" << endl;
        return WRONG_ARG_COUNT;
    }

    const char* expr = loadFile(script);
    if (expr == 0) {
        cout << "Cannot read file: " << script << endl;
        return CANNOT_READ_SOURCE;
    }

    Translator* translator = new BytecodeTranslatorImpl();

    Code* code = 0;

    Status* translateStatus = translator->translate(expr, &code);
    if (translateStatus == 0) {
        //todo
    } else if (translateStatus->isError()) {
        uint32_t position = translateStatus->getPosition();
        uint32_t line = 0, offset = 0;
        positionToLineOffset(expr, position, line, offset);
        cout << "Cannot translate expression: expression at " << line << ", " << offset << "; "
             << "error '" << translateStatus->getError().c_str() << "'" << endl;
    } else {
        assert(code != 0);

        if (mode == DISASM) {
            code->disassemble(cout);
        } else if (mode == JIT) {
        } else {
            vector<Var*> t;
            code->execute(t);
        }

        delete code;
    }

    delete translateStatus;
    delete translator;

    return 0;
}
Example #8
0
int mainM()
{
	Player *p1 = new Center("李俊宏");
	p1->attack();
	p1->defence();

	Translator *tl = new Translator("姚明");
	tl->attack();
	tl->defence();
	cin.get();
	return 0;
}
Example #9
0
void MainWindow::on_convertPushButton_clicked()
{
    if (_to==_from)
    {
        QMessageBox::warning(this, tr("Coptic Font Converter"),
                                        tr("Please select different source and destination fonts."),
                                        QMessageBox::Ok);
        return;

    }

    QString text= ui->inputTextEdit->toPlainText();
    QString unicodeText;

    if (_from != UNICODE)
    {
        Translator transFrom;
       switch(_from)
       {
       case CS:
           {

            transFrom.Load("/Developer/cs.csv");

           }
           break;
       default:
           QMessageBox::warning(this, tr("Coptic Font Converter"),
                                           tr("Selected source font is not yet supported."),
                                           QMessageBox::Ok);
           return;
       }
       //if (transFrom == NULL)
       //    QMessageBox::warning(this, tr("Coptic Font Converter"),
       //                                    tr("Error creating source translator."),
       //                                    QMessageBox::Ok);
       unicodeText = transFrom.ToUnicode(text);
    }

    QString destText;

    if(_to != UNICODE)
    {
        //convert from unicode
    }
    else
        destText = unicodeText;

    ui->outputTextEdit->setText(destText);
    ui->outputTextEdit->selectAll();
    ui->outputTextEdit->setFont( QFont("FreeSerifAvvaShenouda",22));
}
Example #10
0
void TwitterWidgetItemMessage::contextMenuEvent(QContextMenuEvent *event) {
	QMenu *menu = createStandardContextMenu(event->pos());
	menu->addMenu(languagesMenu);
	Translator *translator = Translator::getInstance();
	QAction *action = menu->exec(event->globalPos());
	if (actionLanguage.find(action) != actionLanguage.end()) {
		if (actionLanguage[action] == "-") {
			setHtml(QwitTools::prepareMessage(message.text, message.account));
		} else {
			translator->translate(message.text, actionLanguage[action], this);
		}
	}
	delete menu;
}
Example #11
0
// Recursively traverse an eZ Publish directory
static void traverse( const QDir &dir, Translator &fetchedTor, ConversionData cd, UpdateOptions options, bool *fail )
{
    if ( options & Verbose )
        printOut( QObject::tr( "   Checking subdirectory '%1'" ).arg( qPrintable(dir.path()) ) );

    if ( !dir.exists() )
        return;

    const QFileInfoList list = dir.entryInfoList();
    QFileInfo fi;
    for ( int i = 0; i < list.size(); ++i )
    {
        fi = list.at( i );
        if ( fi.fileName().startsWith( "." ) )
        {
            // Do nothing
        }
        else if ( fi.isDir() )
        {
            QDir subdir = dir;
            subdir.setCurrent( subdir.path() + QDir::separator() + fi.fileName() );
            traverse( subdir.currentPath(), fetchedTor, cd, options, fail );
            subdir.setCurrent( dir.path() );
        }
        else
        {
            if ( fi.fileName().endsWith(QLatin1String(".php"), Qt::CaseInsensitive) )
            {
                if ( options & Verbose )
                    printOut( QObject::tr( "      Checking '%1'" ).arg( qPrintable(fi.fileName()) ) );
                if ( !fetchedTor.load(fi.fileName(), cd, QLatin1String("php")) )
                {
                    qWarning( "%s", qPrintable( cd.error() ) );
                    *fail = true;
                }
            }
            else if ( fi.fileName().endsWith(QLatin1String(".tpl"), Qt::CaseInsensitive) )
            {
                if ( options & Verbose )
                    printOut( QObject::tr( "      Checking '%1'" ).arg( qPrintable(fi.fileName()) ) );
                if ( !fetchedTor.load(fi.fileName(), cd, QLatin1String("tpl")) )
                {
                    qWarning( "%s", qPrintable( cd.error() ) );
                    *fail = true;
                }
            }
        }
    }
}
Example #12
0
static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFileNames,
    const QStringList &alienFiles,
    const QString &sourceLanguage, const QString &targetLanguage,
    UpdateOptions options, bool *fail)
{
    QList<Translator> aliens;
    foreach (const QString &fileName, alienFiles) {
        ConversionData cd;
        Translator tor;
        if (!tor.load(fileName, cd, QLatin1String("auto"))) {
            printErr(cd.error());
            *fail = true;
            continue;
        }
        tor.resolveDuplicates();
        aliens << tor;
    }
Example #13
0
File: qph.cpp Project: mohdpatah/qt
bool QPHReader::read(Translator &translator)
{
    m_currentField = NoField;
    QString result;
    while (!atEnd()) {
        readNext();
        if (isStartElement()) {
            if (name() == QLatin1String("source")) {
                m_currentField = SourceField;
            } else if (name() == QLatin1String("target")) {
                m_currentField = TargetField;
            } else if (name() == QLatin1String("definition")) {
                m_currentField = DefinitionField;
            } else {
                m_currentField = NoField;
                if (name() == QLatin1String("QPH")) {
                    QXmlStreamAttributes atts = attributes();
                    translator.setLanguageCode(atts.value(QLatin1String("language")).toString());
                    translator.setSourceLanguageCode(atts.value(QLatin1String("sourcelanguage")).toString());
                }
            }
        } else if (isWhiteSpace()) {
            // ignore these
        } else if (isCharacters()) {
            if (m_currentField == SourceField)
                m_currentSource += text();
            else if (m_currentField == TargetField)
                m_currentTarget += text();
            else if (m_currentField == DefinitionField)
                m_currentDefinition += text();
        } else if (isEndElement() && name() == QLatin1String("phrase")) {
            m_currentTarget.replace(QChar(Translator::TextVariantSeparator),
                                    QChar(Translator::BinaryVariantSeparator));
            TranslatorMessage msg;
            msg.setSourceText(m_currentSource);
            msg.setTranslation(m_currentTarget);
            msg.setComment(m_currentDefinition);
            translator.append(msg);
            m_currentSource.clear();
            m_currentTarget.clear();
            m_currentDefinition.clear();
        }
    }
    return true;
}
Example #14
0
void DialogOptions::loadSettings()
{
    if (!settings->contains("Options/Overwrite mode"))
        radioAskFirst->setChecked(true);
    else {
        if (settings->value("Options/Overwrite mode").toBool())
            radioOverwrite->setChecked(true);
        else
            radioAskFirst->setChecked(true);
    }

    Translator t;
    
    qDebug() << "Lingua corrente " << t.currentLanguage();
    
    int idx = comboLangs->findText(t.currentLanguage(), Qt::MatchExactly);
    comboLangs->setCurrentIndex(idx);
}
Example #15
0
FrameInfo get_frame_info(const FrameId& frame) {
  if (frames.get()) {
    return frames->info_for(frame);
  } else if (translate) {
    return translator.translate(frame);
  } else {
    return FrameInfo(frame.module, frame.offset);
  }
}
Example #16
0
void DialogOptions::setLanguage()
{
    Translator t;
    QString lang;

    if (comboLangs->currentText() == "English")
        lang = "English";
    else
        lang = t.loadTranslationFiles()
            .at(comboLangs->currentIndex())
            .first;

    if (lang != t.loadCurrentTranslationName()) {
        t.saveSettings(lang);

        QMessageBox::warning(0, tr("Warning!"),
                                  tr("Please, restart Converseen to apply current language!"));
    }
}
Example #17
0
/// Uses getopt to read in arguments.
void get_args(int *argc, char ***argv) {
  int c;
  char *err;
  ifstream vdata;

  while ((c = getopt(*argc, *argv, "mwxrfhos:e:l:")) != -1) {
    switch (c) {
    case 'm':
      stage |= metadata;
      break;
    case 'w':
      stage |= wt_coeff;
      break;
    case 'x':
      stage |= reconstruct;
      break;
    case 'l':
      iwt_level = strtol(optarg, &err, 10);
      if (*err) usage();
      break;
    case 'r':
      reduce = true;
      break;
    case 's':
      fields = string(optarg);
      break;
    case 'o':
      one_line=true;
      break;
    case 'f':
      translate = true;
      break;
    case 'e':
      {
        translate = true;
        string exe(optarg);
        if (!exists(exe)) {
          cerr << exe << ": No such file or directory." << endl;
          exit(1);
        }
        translator.set_executable(exe);
      }
      break;
    case 'h':
    default:
      usage();
      break;
    }
  }

  // adjust params
  *argc -= optind;
  *argv += optind;
}
Example #18
0
Translator Translator::compose(const Translator &first, const Translator &second){

    multimap <string, string> fst_dict = first.dictionary, snd_dict = second.dictionary;
    multimap <string, string>::iterator fst_it = fst_dict.begin(),
        fst_end = fst_dict.end(), snd_it, stop;
    pair <multimap <string, string>::iterator, multimap<string, string>::iterator> key_range;
    string origin, mid;

    set <string> curr_translations;
    Word curr_entry;

    Translator composition;

    while(fst_it != fst_end){

        origin = fst_it->first;
        stop = fst_dict.upper_bound(origin);
        curr_translations.clear();  // empty the translations for this key

        for(; fst_it != stop; ++fst_it){

            mid = fst_it->second;

            key_range = snd_dict.equal_range(mid);

            for(snd_it = key_range.first; snd_it != key_range.second; ++snd_it){

                curr_translations.insert(snd_it->second);

            }

        }

        curr_entry = Word(origin, curr_translations);
        composition.addEntry(curr_entry);

    }

    return composition;

}
Example #19
0
File: main.cpp Project: Fale/qtmoko
static bool loadTsFile(Translator &tor, const QString &tsFileName, bool /* verbose */)
{
    ConversionData cd;
    bool ok = tor.load(tsFileName, cd, QLatin1String("auto"));
    if (!ok) {
        qWarning("lrelease error: %s\n", qPrintable(cd.error()));
    } else {
        if (!cd.errors().isEmpty())
            printOut(cd.error());
    }
    return ok;
}
Example #20
0
static bool loadTsFile(Translator &tor, const QString &tsFileName, bool /* verbose */)
{
    ConversionData cd;
    bool ok = tor.load(tsFileName, cd, QLatin1String("auto"));
    if (!ok) {
        printErr(LR::tr("lrelease error: %1").arg(cd.error()));
    } else {
        if (!cd.errors().isEmpty())
            printOut(cd.error());
    }
    cd.clearErrors();
    return ok;
}
Example #21
0
bool loadJava(Translator &translator, const QString &filename, ConversionData &cd)
{
    QFile file(filename);
    if (!file.open(QIODevice::ReadOnly)) {
        cd.appendError(QString::fromLatin1("Cannot open %1: %2")
            .arg(filename, file.errorString()));
        return false;
    }

    yyDefaultContext = cd.m_defaultContext;
    yyInPos = -1;
    yyFileName = filename;
    yyPackage.clear();
    yyScope.clear();
    yyTok = -1;
    yyParenDepth = 0;
    yyCurLineNo = 0;
    yyParenLineNo = 1;

    QTextStream ts(&file);
    QByteArray codecName;
    if (!cd.m_codecForSource.isEmpty())
        codecName = cd.m_codecForSource;
    else
        codecName = translator.codecName(); // Just because it should be latin1 already
    ts.setCodec(QTextCodec::codecForName(codecName));
    ts.setAutoDetectUnicode(true);
    yyInStr = ts.readAll();
    yyInPos = 0;
    yyFileName = filename;
    yyCurLineNo = 1;
    yyParenLineNo = 1;

    parse(&translator);

    // Java uses UTF-16 internally and Jambi makes UTF-8 for tr() purposes of it.
    translator.setCodecName("UTF-8");
    return true;
}
Example #22
0
static bool releaseTranslator(Translator &tor, const QString &qmFileName,
    bool verbose, bool ignoreUnfinished,
    bool removeIdentical, TranslatorSaveMode mode)
{
    Translator::reportDuplicates(tor.resolveDuplicates(), qmFileName, verbose);

    if (verbose)
        printOut(QCoreApplication::tr( "Updating '%1'...\n").arg(qmFileName));
    if (removeIdentical) {
        if ( verbose )
            printOut(QCoreApplication::tr( "Removing translations equal to source text in '%1'...\n").arg(qmFileName));
        tor.stripIdenticalSourceTranslations();
    }

    QFile file(qmFileName);
    if (!file.open(QIODevice::WriteOnly)) {
        qWarning("lrelease error: cannot create '%s': %s\n",
                 qPrintable(qmFileName), qPrintable(file.errorString()));
        return false;
    }

    ConversionData cd;
    tor.normalizeTranslations(cd);
    cd.m_verbose = verbose;
    cd.m_ignoreUnfinished = ignoreUnfinished;
    cd.m_saveMode = mode;
    bool ok = tor.release(&file, cd);
    file.close();

    if (!ok) {
        qWarning("lrelease error: cannot save '%s': %s\n",
                 qPrintable(qmFileName), qPrintable(cd.error()));
        return false;
    } else if (!cd.errors().isEmpty()) {
        printOut(cd.error());
    }
    return true;
}
Example #23
0
// save phones to use in case of loosing connection by one of peers
// SessionManager must be read-locked
int PhoneCall::savePhones()
{
	Session *cs = sManager->findSessionByUser(getClient());
	if (!cs || !cs->getUser())
		return -1;
	Client *c = dynamic_cast<Client *>(cs->getUser());
	if (c &&
		!(!TRANSLATORS_CALL && dynamic_cast<Translator *>(cs->getUser()))) {
		c->lock();
		strncpy(client_phone, c->getPhone(), MAX_PHONE+1);
		c->unlock();
	}
	Session *ts = sManager->findSessionByUser(getTranslator());
	if (!ts || !ts->getUser())
		return -1;
	Translator *t = dynamic_cast<Translator *>(ts->getUser());
	if (t) {
		t->lock();
		strncpy(translator_phone, t->getPhone(), MAX_PHONE+1);
		t->unlock();
	}
	return 0;
}
Example #24
0
PhoneCall::PhoneCall(SessionManager *_sManager, unsigned int _id, unsigned int _client, unsigned int _translator, string lang)
: Call(_sManager, _id, _client, _translator, lang),
  accepted(false),
  request_time(0), confirm_time(0)
{
	client_phone[0] = 0;
	translator_phone[0] = 0;
	Session *cs = sManager->findSessionByUser(client);
	if (!cs)
		throw std::logic_error("Client session not found.");
	Client *c = dynamic_cast<Client *>(cs->getUser());
	if (!c ||
		(!TRANSLATORS_CALL && dynamic_cast<Translator *>(cs->getUser())))
		throw std::logic_error("Client not found.");
	setClientCountry(c->getCountry());
	Session *ts = sManager->findSessionByUser(translator);
	if (!ts)
		throw std::logic_error("Translator session not found.");
	Translator *t = dynamic_cast<Translator *>(ts->getUser());
	if (!t)
		throw std::logic_error("Translator not found.");
	setTranslatorCountry(t->getCountry());
}
//! Update i18 names from english names according to passed translator.
//! The translation is done using gettext with translated strings defined in translations.h
void HipStarMgr::updateI18n(Translator& trans) {
  common_names_map_i18n.clear();
  common_names_index_i18n.clear();
  for (map<int,string>::iterator it(common_names_map.begin());
       it!=common_names_map.end();it++) {
    const int i = it->first;
    const string t(trans.translateUTF8(it->second));
    common_names_map_i18n[i] = t;
    string t_cap = t;
    transform(t.begin(), t.end(), t_cap.begin(), ::toupper);
    common_names_index_i18n[t_cap] = i;
  }
 // starFont = &StelApp::getInstance().getFontManager().getStandardFont(trans.getTrueLocaleName(), fontSize);
}
Example #26
0
DialogOptions::DialogOptions(QWidget *parent) :
    QDialog(parent){
    setupUi(this);

    QString iniPath = QDir::homePath() + "/" + INIFILENAME;

#ifdef Q_WS_WIN
    if ((QSysInfo::windowsVersion() == QSysInfo::WV_VISTA) || (QSysInfo::windowsVersion() == QSysInfo::WV_WINDOWS7)) {
        iniPath = QDir::homePath() + "/AppData/Roaming/Converseen" + INIFILENAME;
    }
#endif

    settings = new QSettings(iniPath, QSettings::IniFormat);

    connect(pushOk, SIGNAL(clicked()), this, SLOT(saveOptions()));
    connect(pushCancel, SIGNAL(clicked()), this, SLOT(close()));

    Translator t;
    for (int i = 0; i < t.loadTranslationFiles().count(); i++)
        comboLangs->addItem(t.loadTranslationFiles().at(i).second);

    comboLangs->addItem("English");
    loadSettings();
}
Example #27
0
File: main.cpp Project: xjohncz/qt5
static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFileNames,
    const QStringList &alienFiles,
    const QString &sourceLanguage, const QString &targetLanguage,
    UpdateOptions options, bool *fail)
{
    for (int i = 0; i < fetchedTor.messageCount(); i++) {
        const TranslatorMessage &msg = fetchedTor.constMessage(i);
        if (!msg.id().isEmpty() && msg.sourceText().isEmpty())
            printErr(LU::tr("lupdate warning: Message with id '%1' has no source.\n")
                     .arg(msg.id()));
    }

    QList<Translator> aliens;
    foreach (const QString &fileName, alienFiles) {
        ConversionData cd;
        Translator tor;
        if (!tor.load(fileName, cd, QLatin1String("auto"))) {
            printErr(cd.error());
            *fail = true;
            continue;
        }
        tor.resolveDuplicates();
        aliens << tor;
    }
Example #28
0
static bool saveQPH(const Translator &translator, QIODevice &dev, ConversionData &)
{
    QTextStream t(&dev);
    t.setCodec(QTextCodec::codecForName("UTF-8"));
    t << "<!DOCTYPE QPH>\n<QPH>\n";
    foreach (const TranslatorMessage &msg, translator.messages()) {
        t << "<phrase>\n";
        t << "    <source>" << protect(msg.sourceText()) << "</source>\n";
        t << "    <target>" << protect(msg.translations().join(QLatin1String("@")))
            << "</target>\n";
        if (!msg.context().isEmpty() || !msg.comment().isEmpty())
            t << "    <definition>" << msg.context() << msg.comment()
                << "</definition>\n";
        t << "</phrase>\n";
    }
    t << "</QPH>\n";
    return true;
}
Element LanguageSetBuiltinImplementation::Translate_( Environment& //environment
                                                    , std::vector<Element> const& parms 
                                                    , Translator& translator
                                                    )
{
    Element out;
    if (2 == parms.size())  
    {
        bool idIsString = false;
        String idString = CastToString(parms[0], idIsString);

        bool valueIsString = false;
        String valueString = CastToString(parms[1], valueIsString);

        if (idIsString && valueIsString)
        {
            translator.SetProperty(idString.Value(), valueString.Value());
            out = valueString; 
        }
    }
    return out;
}
Example #30
0
int main(int argc, char* argv[]){

	std::cout << "loading File...\n";

	Translator translator;

	translator.loadmRNAFromFile("FILE");
	translator.translate();
	translator.printmRNA();

	std::cout << "Partitioning.." << std::endl;
	translator.printCodonStrand();
    std::cout << "translating.." << std::endl;
    translator.printAminoStrand();

	return 0;
}