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

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

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

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

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

Собственно, интересно, как можно сделать свое приложение мультиязычным?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 21:36     Консольное приложение на нескольких языках
Посмотрите здесь:

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

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

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

Консольное приложение, история - C++
А можно как-нибудь сделать так, чтобы у консольного приложения была более длинная история? Мне надо вывести на экран много информации (в...

Полноэкранное консольное приложение - C++
Здравствуйте! Вопрос состоим в следующем: как запустить консольное приложение в полноэкранном режиме? Есть ли какая-то функция для...

Консольное приложение, функции - C++
Доброго времени суток. Создал консольное приложение. Всё работает, но неверно ведётся подсчёт. Помогите пожалуйста разобраться в чём моя...

Вылетает консольное приложение - C++
При написании любой даже самой простой задачи или программы, а также в дальнейшем запуске консольное приложение(командная строка, программа...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 21:52     Консольное приложение на нескольких языках #2
Дай код твоего приложения (если оно у тебя есть)
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
23.03.2013, 22:07     Консольное приложение на нескольких языках #3
akk, написать длл.
Цитата Сообщение от akk Посмотреть сообщение
мультиязычным?
Как это понять?
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 22:15  [ТС]     Консольное приложение на нескольких языках #4
Цитата Сообщение от go Посмотреть сообщение
Как это понять?
При запуске приложение спрашивает на каком языке взаимодействовать с пользователем, т е к примеру на русском введите 1 или на английском введите 2.
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;
    }
}
Как-то так
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 22:28  [ТС]     Консольное приложение на нескольких языках #6
Спасибо, но так делать не вариант, это для каждого языка, свою ветку вести надо, если бы как то через файл сделать.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
23.03.2013, 22:39     Консольное приложение на нескольких языках #7
везде пихаю Qt))) тут он как нельзя подойдёт - есть функция tr в которую передаются выражения требующие перевода, потом нужно подключить файлы с переводами этих выражений и можно переключать языки
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 22:43  [ТС]     Консольное приложение на нескольких языках #8
А без qt ни как?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.03.2013, 23:05     Консольное приложение на нескольких языках #9
сам создай файл, сам его и читай
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
23.03.2013, 23:06     Консольное приложение на нескольких языках #10
Можно в текстовых файлах хранить языки. В коде будут переменные, считывающие слова из определенного файла.

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

Не по теме:

поздно)

Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
23.03.2013, 23:09     Консольное приложение на нескольких языках #11
как я понял ты хочешь иметь txt файлы с фразами на разных языках?
нужен контейнер в который загружаются строки, соответственно при выборе языка - выбирается файл строки которого будут загружаться в контейнер, а в необходимых местах в программе выводятся ячейки контейнера
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341
23.03.2013, 23:12  [ТС]     Консольное приложение на нескольких языках #12
BumerangSP, Кудаив, можно пример кода, пожалуйста.
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" и прописать в них нужные строки. Думаю, реализация ясна
Kastaneda
Форумчанин
Эксперт С++
4511 / 2853 / 227
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 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;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 23:32     Консольное приложение на нескольких языках
Еще ссылки по теме:

Консольное приложение C++ не работает - C++
Всем доброго времени суток. вот начал изучать язык C++. попробовал написать простейшее консольное приложение в Visual studio 2012....

Зависат консольное приложение - C++
задача если слово &quot;А&quot; есть в файлах из заданной папки то вывести номер файла в котором есть это слово слово &quot;А&quot;считывается с клавиатуры...

LAN и консольное приложение - C++
Здравствуйте, заинтересовал такой вопрос: а можно ли написать 2 приложения на С++ и между ними что-то типа чата.. 1й клиент отправляет...

не запускается рабочее консольное приложение - C++
доброго всем. win 10 64. Перестали запускаться рабочие консольные приложения, скомпилированные давным-давно. При запуске exe-шника из...

CodeBlocks - не запускается консольное приложение - C++
Привет всем. Скачал CodeBlocks , создаю консольное приложение(автоматом создается Hello world) , нажимаю Run , Build and run и ничего...


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

Или воспользуйтесь поиском по форуму:
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);
   }
Yandex
Объявления
23.03.2013, 23:32     Консольное приложение на нескольких языках
Ответ Создать тему
Опции темы

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