Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. مشکل در ترجمه فارسی در کیوت

مشکل در ترجمه فارسی در کیوت

Scheduled Pinned Locked Moved Persian
8 Posts 2 Posters 4.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Seyyed
    wrote on last edited by
    #1

    p{direction:rtl; text-align:right}. سلام به همه
    من توی ترجمه فارسی به یه مشکلی خوردم توی سایت های مختلف هم فراوون سرچ کردم اما به نتیجه نرسیدم
    اگر من از کنسول اپلیکیشن استفاده کنم با لود فایل "qt_fa.qm " و در ادامه با ساختن ویدجت ها و نامگذاریشان بوسیله tr مشکل حل است.
    اما من دارم از GUI استفاده میکنم. ابتدار در main فایل را لود میکنم و همینطور در mainwindow نیز اینکار را انجام میدم و بعدشم retranslate میکنم اما بازم جواب نگرفتم
    کدی که من نوشتم بصورت زیره:

    // main.cpp

    @#include <QtGui/QApplication>
    #include "mainwindow.h"
    #include "QTranslator"
    #include "QSettings"

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);

    QSettings lanSettings ("Language","21");

    QString lang = lanSettings.value("Language").toString();

    QTranslator *translator = new QTranslator;

    if (lang == "Persian") //For Persian Translate
    translator->load("ControlCenter/Translator/qt_fr.qm");

    else
    translator->load(""); // For English

    a.installTranslator(translator);

    MainWindow w;
    w.showFullScreen();

    return a.exec();
    }@

    // MainWindow.cpp
    @#include "QTranslator"
    .
    .
    .
    void MainWindow::changeEvent(QEvent *e)
    {
    QMainWindow::changeEvent(e);
    switch (e->type()) {
    case QEvent::LanguageChange:
    ui->retranslateUi(this);
    break;
    default:
    break;
    }
    }
    .
    .
    .
    void MainWindow::SetLanguage()
    {
    QSettings lanSettings ("Language","21");
    QStringList langList;
    langList << "English" << "Persian";
    QString language = QInputDialog::getItem(this,"Language", "Select Language:", langList,0);

    if (lanSettings.value("Language").toString() != language) // if (User don’t select previous Language)
    {
    lanSettings.setValue("Language", language);
    DoTranslate(language);
    }
    }
    .
    .
    .
    void MainWindow::DoTranslate(QString language)
    {
    QTranslator translator;
    if (language == "Persian")
    {
    translator.load("qt_fr.qm");
    qApp->installTranslator(&translator);
    }
    else
    {
    translator.load(""); // Default language is English
    qApp->installTranslator(&translator);
    }

    ui->retranslateUi(this);
    DoRetranslate();
    }

    void MainWindow::DoRetranslate()
    {
    ui->push->setText(tr("Open"));
    ui->timeLabel.setText(tr("Time"));
    .
    .
    .
    }
    @

    1 Reply Last reply
    0
    • S Offline
      S Offline
      soroush
      wrote on last edited by
      #2

      @
      #include <QDebug>
      // ...
      qDebug() << translator->load("ControlCenter/Translator/qt_fr.qm");
      // to see if file loads correctly or not
      @

      1 Reply Last reply
      0
      • S Offline
        S Offline
        Seyyed
        wrote on last edited by
        #3

        yes, dear soroush
        file correctly loaded!
        & translator->load ...... return "true"

        because, in main, translating correctly work!

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Seyyed
          wrote on last edited by
          #4

          p{direction:rtl; text-align:right}.
          سلام به دوستان
          من یه نکته ای را می خواستم یادآوری کنم و اونهم اینه که اگر من تو Consol Application اینکار را انجام بدهم همه چی اوکی هست من هم تست کردم. هیچ مشکلی نداره.
          اما وقتی GUI دارم نمی دونم چجوری باید این ترجمه انجام شود من کارهای بالا را انجام دادم اما انگار نه انگار که من دارم retranslate می کنم هیچ اتفاقی نمی افته البته یه اتفاقایی میفته مثلا منوها راست چین میشه و.. اما ویدجت هایی که با tr() بهش عنوان دادم متنش فارسی نمیشه و کماکان انگلیسی می مونه
          یه اتفاق دیگه هم میفته من تویه قسمتی از فرمم از QInputDiolog() استفاده میکنم که اون کلید و دیگر اجزاش اتواتیک درج میشه اونجا با تغییر زبان اوکی و کنسل به تایید و لغو ترجمه میشود فقط در همین پنجره متن ترجمه می شود
          چرا؟؟؟

          1 Reply Last reply
          0
          • S Offline
            S Offline
            soroush
            wrote on last edited by
            #5

            عکس بذار

            1 Reply Last reply
            0
            • S Offline
              S Offline
              soroush
              wrote on last edited by
              #6

              [quote author="Seyyed" date="1361947161"]p{direction:rtl; text-align:right}.
              سلام به دوستان
              من یه نکته ای را می خواستم یادآوری کنم و اونهم اینه که اگر من تو Consol Application اینکار را انجام بدهم همه چی اوکی هست من هم تست کردم. هیچ مشکلی نداره.
              اما وقتی GUI دارم نمی دونم چجوری باید این ترجمه انجام شود من کارهای بالا را انجام دادم اما انگار نه انگار که من دارم retranslate می کنم هیچ اتفاقی نمی افته البته یه اتفاقایی میفته مثلا منوها راست چین میشه و.. اما ویدجت هایی که با tr() بهش عنوان دادم متنش فارسی نمیشه و کماکان انگلیسی می مونه
              یه اتفاق دیگه هم میفته من تویه قسمتی از فرمم از QInputDiolog() استفاده میکنم که اون کلید و دیگر اجزاش اتواتیک درج میشه اونجا با تغییر زبان اوکی و کنسل به تایید و لغو ترجمه میشود فقط در همین پنجره متن ترجمه می شود
              چرا؟؟؟[/quote]

              p{direction:rtl; text-align:right}. خوب؟ مشکل چیه؟

              1 Reply Last reply
              0
              • ? This user is from outside of this forum
                ? This user is from outside of this forum
                Guest
                wrote on last edited by
                #7

                سلام به همه
                وقتی برنامه رو فارسی میکنم اعداد هنوز انگلیسی نشون داده میشن.چی کار باید بکنم؟

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  soroush
                  wrote on last edited by
                  #8

                  [quote author="sima" date="1362173321"]سلام به همه
                  وقتی برنامه رو فارسی میکنم اعداد هنوز انگلیسی نشون داده میشن.چی کار باید بکنم؟[/quote]

                  p{direction:rtl; text-align:right}. در مورد یونیکد مطالعه کن.

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved