Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
#1

Консольное приложение на нескольких языках - C++

23.03.2013, 21:36. Просмотров 923. Ответов 20
Метки нет (Все метки)

Собственно, интересно, как можно сделать свое приложение мультиязычным?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 21:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Консольное приложение на нескольких языках (C++):

консольное приложение (при запуске приложение открывалось на весь экран) - C++
Как сделать, чтобы при запуске приложение открывалось на весь экран?

Написание программ на нескольких языках программирования - C++
Написание программ на нескольких языках программирования - слышал, что так можно делать. А как? (Просто для интереса спросил.)

Как писать программу на нескольких языках программирования? - C++
Что за прикол? Я в Википедии смотрю там разные популярные проги, а там написано по несколько языков программирования на которых они...

Консольное приложение на С++ - C++
народ помогите плиз решить проблему написал игру под консоль. типа змейки как добавить функцию типа рестарт (если проиграл или выиграл)...

Консольное приложение на С++ - C++
Задание такое: 1. Розробити функцію, що повертає абсолютне значення частки від ділення першого Желательно вот по этому примеру: ...

Консольное приложение - C++
как можно поставить обработчики на нажатие клавишь ctrl+c и того типа

20
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 21:52 #2
Дай код твоего приложения (если оно у тебя есть)
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
23.03.2013, 22:07 #3
akk, написать длл.
Цитата Сообщение от akk Посмотреть сообщение
мультиязычным?
Как это понять?
1
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 22:15  [ТС] #4
Цитата Сообщение от go Посмотреть сообщение
Как это понять?
При запуске приложение спрашивает на каком языке взаимодействовать с пользователем, т е к примеру на русском введите 1 или на английском введите 2.
0
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 22:21 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    setlocale(0,""); //русский язык в консоли
    string a;
    int n = 0;
    cout << "Выберите язык (0 - Русский) (1 - Английский): ";
    cin >> n;
    if(n == 0) {
        cout << "Введите ваше имя: ";
        cin >> a;
        cout << "Привет, " << a;
    }
 
    else if(n == 1) {
        cout << "Enter your name: ";
        cin >> a;
        cout << "Hello, " << a;
    }
 
    else {
        return 0;
    }
}
Как-то так
1
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 22:28  [ТС] #6
Спасибо, но так делать не вариант, это для каждого языка, свою ветку вести надо, если бы как то через файл сделать.
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
23.03.2013, 22:39 #7
везде пихаю Qt))) тут он как нельзя подойдёт - есть функция tr в которую передаются выражения требующие перевода, потом нужно подключить файлы с переводами этих выражений и можно переключать языки
2
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 22:43  [ТС] #8
А без qt ни как?
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.03.2013, 23:05 #9
сам создай файл, сам его и читай
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
23.03.2013, 23:06 #10
Можно в текстовых файлах хранить языки. В коде будут переменные, считывающие слова из определенного файла.

Добавлено через 22 секунды

Не по теме:

поздно)

1
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
23.03.2013, 23:09 #11
как я понял ты хочешь иметь txt файлы с фразами на разных языках?
нужен контейнер в который загружаются строки, соответственно при выборе языка - выбирается файл строки которого будут загружаться в контейнер, а в необходимых местах в программе выводятся ячейки контейнера
2
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 23:12  [ТС] #12
BumerangSP, Кудаив, можно пример кода, пожалуйста.
0
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 23:25 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
int main() {
    setlocale(0, ""); //русский язык в консоли
 
    string str;
    vector<string> v;
 
    int n = 0;
    cout << "Введите язык (1 - русский; 2 - английский): ";
    cin >> n;
 
    if(n == 1) {
        ifstream rus("Rus.txt");
        while(!rus.eof()) {
            getline(rus, str);
            v.push_back(str);
        }
    }
 
    if(n == 2) {
        ifstream en("En.txt");
        while(!en.eof()) {
            getline(en, str);
            v.push_back(str);
        }
    }
 
    for(int i = 0; i < v.size(); ++i) {
        cout << endl << v[i];
    }
}
Надо создать файлы "Rus.txt" и "En.txt" и прописать в них нужные строки. Думаю, реализация ясна
1
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,273
Записей в блоге: 2
Завершенные тесты: 1
23.03.2013, 23:29 #14
Выше уже писали про файлы, расжую по-подробней.
Я видел как люди делают так:
есть функция, определяющая дефолтный язык в ОС, назовем ее getLanguage(). Есть файлы, например ru.txt и en.txt, которые содержат нечто подобное
ru.txt
Код
hello: привет
en.txt
Код
hello: hello
в зависимости от того, что вернула getLanguage() открывается тот или иной файл, потом они парсятся (если файлы держать в каком-нибудь xml или json, то можно взять готовый парсер) и создаются строки
C++
1
std::string hello = getString ("hello"); // getString() функция абстрактного парсера
ну а потом просто
C++
1
std::cout << hello;
2
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
23.03.2013, 23:32 #15
sovaz1997, тогда уж так как-то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    int n = 0;
    const char* lng;
    cout << "Ââåäèòå ÿçûê (1 - ðóññêèé; 2 - Г*Г*ãëèéñêèé): ";
    cin >> n;
    switch(n)
    {
    case 1: lng = "Rus.txt";
      break;
     case 2: lng = "Eng.txt";
       break;
     default: lng = "Eng.txt";    
     }
     
    ifstream lang(lng);    
   while(!lang.eof()) {
     getline(lang, str);
   v.push_back(str);
   }
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 23:32
Привет! Вот еще темы с ответами:

консольное приложение - C++
Помогите разобраться с задачкой! Написать на С++ код консольного приложения, реализующий в главной функции ввод с клавиатуры в...

Консольное приложение - C++
Здравствуйте! Имеется консольное приложение, которое при наборе команды &quot;start&quot; выполняет запуск программы. Проблема в том, что пока я...

Консольное приложение + DDE - C++
Здравствуйте, товарищи! Есть необходимость написать консольное приложение для работы по DDE с клиентом. До этого писал подобное...

Консольное приложение. sizeof; - C++
Здравствуйте, хочу создать программу &quot;ConsoleAppliction&quot;, которая будет выводить в консоли либо 4, либо 2. (Иными словами будет говорить о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
23.03.2013, 23:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru