Автор: ruzik 3.4.2011, 19:38
Здравствуйте, как я пониманию с помощью класса QTranslator можно создать свой переводчик, я нашел подходящий метод(translate) только вот он принимает не QString а const char *, а не подскажите как перевести QString в Char + как правильно послать массив char в виде аргумента, насколько я знаю так нельзя, да и если попробовать то выдает ошибку, например
trans = new QTranslator;
char * text[5];
for(int a=0;a<=4;a++)
{
text[a] = new char;
}
*text[0] = 'h';
*text[1] = 'o';
*text[2] = 'u';
*text[3] = 's';
*text[4] = 'e';
label->setText(trans->translate(text,text));
Выдает:
Ошибка 1 error C2664: QString QTranslator::translate(const char *,const char *,const char *) const: невозможно преобразовать параметр 1 из 'char *[5]' в 'const char *' c:\Documents and Settings\rustam\Мои документы\Visual Studio 2008\Projects\Translator\Translator\translator.cpp 28
Автор: Litkevich Yuriy 3.4.2011, 20:39
Цитата(ruzik @ 3.4.2011, 22:38)
как я пониманию с помощью класса QTranslator можно создать свой переводчик
этот класс предназначен для перевода, а не создания переводчика. Читай http://doc.crossplatform.ru/qt/4.5.0/i18n.html
Автор: abc 3.4.2011, 21:07
Цитата(ruzik @ 3.4.2011, 20:38)
char * text[5];
это массив пяти указателей, а от тебя хочут указатель на char:
char * text=new char[5];
text[0] = 'h';
можно так, но можно просто объявить массив:
char a[2]={'h','o'};
a - это указатель на первый элемент массива,
в функцию такого вида
func(const * char)
можно его передать так:
func(a);
в функции можно получить букву 'o' так:
a[1]
а можно так:
*(a+1)
Автор: ruzik 4.4.2011, 16:08
Цитата
этот класс предназначен для перевода, а не создания переводчика.
А в чем разница?
Автор: Litkevich Yuriy 4.4.2011, 18:12
Цитата(ruzik @ 4.4.2011, 19:08)
А в чем разница?
он загружает имеющийся перевод в программу, почитай по ссылке, там подробности.
Автор: ruzik 4.4.2011, 18:56
А тогда можно ли вообще реализовать переводчик, и если да то как
Автор: Litkevich Yuriy 5.4.2011, 13:06
Цитата(ruzik @ 4.4.2011, 21:56)
А тогда можно ли вообще реализовать переводчик, и если да то как
объясни как он должен работать (использоваться)
Автор: ruzik 5.4.2011, 13:41
Подается текст, исходный язык и тот в который надо перевести, в принципе я нашел что-то похожее - метод
QString translate ( const char * context, const char * sourceText, const char * disambiguation, int n ) const