Add localized labels and buttons for chat input fields in multiple languages, enhancing user interface accessibility and internationalization support.

This commit is contained in:
Torsten Schulz (local)
2025-11-16 13:47:46 +01:00
parent f98288e8c0
commit 4abc966fc0
12 changed files with 170 additions and 5 deletions

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Please type in your nick for the chat:</text>
</message>
<message id="label_gender">
<text>Gender:</text>
</message>
<message id="label_age">
<text>Age:</text>
</message>
<message id="label_country">
<text>Country:</text>
</message>
<message id="button_start_chat">
<text>Start chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Bitte gib deinen Nicknamen für den Chat ein:</text>
</message>
<message id="label_gender">
<text>Geschlecht:</text>
</message>
<message id="label_age">
<text>Alter:</text>
</message>
<message id="label_country">
<text>Land:</text>
</message>
<message id="button_start_chat">
<text>Chat starten</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Please type in your nick for the chat:</text>
</message>
<message id="label_gender">
<text>Gender:</text>
</message>
<message id="label_age">
<text>Age:</text>
</message>
<message id="label_country">
<text>Country:</text>
</message>
<message id="button_start_chat">
<text>Start chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Please type in your nick for the chat:</text>
</message>
<message id="label_gender">
<text>Gender:</text>
</message>
<message id="label_age">
<text>Age:</text>
</message>
<message id="label_country">
<text>Country:</text>
</message>
<message id="button_start_chat">
<text>Start chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Escribe tu nick para el chat:</text>
</message>
<message id="label_gender">
<text>Género:</text>
</message>
<message id="label_age">
<text>Edad:</text>
</message>
<message id="label_country">
<text>País:</text>
</message>
<message id="button_start_chat">
<text>Iniciar chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Veuillez saisir votre pseudo pour le chat&nbsp;:</text>
</message>
<message id="label_gender">
<text>Genre&nbsp;:</text>
</message>
<message id="label_age">
<text>Âge&nbsp;:</text>
</message>
<message id="label_country">
<text>Pays&nbsp;:</text>
</message>
<message id="button_start_chat">
<text>Lancer le chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Inserisci il tuo nick per la chat:</text>
</message>
<message id="label_gender">
<text>Genere:</text>
</message>
<message id="label_age">
<text>Età:</text>
</message>
<message id="label_country">
<text>Paese:</text>
</message>
<message id="button_start_chat">
<text>Avvia chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>チャット用のニックネームを入力してください:</text>
</message>
<message id="label_gender">
<text>性別:</text>
</message>
<message id="label_age">
<text>年齢:</text>
</message>
<message id="label_country">
<text>国:</text>
</message>
<message id="button_start_chat">
<text>チャットを開始</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>กรุณาใส่ชื่อเล่นของคุณสำหรับแชท:</text>
</message>
<message id="label_gender">
<text>เพศ:</text>
</message>
<message id="label_age">
<text>อายุ:</text>
</message>
<message id="label_country">
<text>ประเทศ:</text>
</message>
<message id="button_start_chat">
<text>เริ่มแชท</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>Ilagay ang iyong nick para sa chat:</text>
</message>
<message id="label_gender">
<text>Kasarian:</text>
</message>
<message id="label_age">
<text>Edad:</text>
</message>
<message id="label_country">
<text>Bansa:</text>
</message>
<message id="button_start_chat">
<text>Simulan ang chat</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<messages> <messages>
<message id="label_nick">
<text>请输入用于聊天的昵称:</text>
</message>
<message id="label_gender">
<text>性别:</text>
</message>
<message id="label_age">
<text>年龄:</text>
</message>
<message id="label_country">
<text>国家:</text>
</message>
<message id="button_start_chat">
<text>开始聊天</text>
</message>
<message id="welcome"> <message id="welcome">
<main> <main>
<header> <header>

View File

@@ -255,7 +255,7 @@ void App::createLoginContainer() {
} }
Wt::WLineEdit *App::addUsernameInput(Wt::WGridLayout* contentGrid) { Wt::WLineEdit *App::addUsernameInput(Wt::WGridLayout* contentGrid) {
contentGrid->addWidget(std::make_unique<Wt::WText>("Please type in your nick for the chat: "), 0, 0); contentGrid->addWidget(std::make_unique<Wt::WText>(Wt::WString::tr("label_nick")), 0, 0);
auto userName = contentGrid->addWidget(std::make_unique<Wt::WLineEdit>(), 0, 1); auto userName = contentGrid->addWidget(std::make_unique<Wt::WLineEdit>(), 0, 1);
userName->setTextSize(20); userName->setTextSize(20);
userName->setMaxLength(30); userName->setMaxLength(30);
@@ -263,14 +263,14 @@ Wt::WLineEdit *App::addUsernameInput(Wt::WGridLayout* contentGrid) {
} }
Wt::WComboBox *App::addGenderSelection(Wt::WGridLayout* contentGrid) { Wt::WComboBox *App::addGenderSelection(Wt::WGridLayout* contentGrid) {
contentGrid->addWidget(std::make_unique<Wt::WText>("Gender: "), 1, 0); contentGrid->addWidget(std::make_unique<Wt::WText>(Wt::WString::tr("label_gender")), 1, 0);
auto genderWidget = contentGrid->addWidget(std::make_unique<Wt::WComboBox>(), 1, 1); auto genderWidget = contentGrid->addWidget(std::make_unique<Wt::WComboBox>(), 1, 1);
populateGenderComboBox(genderWidget); populateGenderComboBox(genderWidget);
return genderWidget; return genderWidget;
} }
Wt::WSpinBox *App::addAgeInput(Wt::WGridLayout* contentGrid) { Wt::WSpinBox *App::addAgeInput(Wt::WGridLayout* contentGrid) {
contentGrid->addWidget(std::make_unique<Wt::WText>("Age: "), 2, 0); contentGrid->addWidget(std::make_unique<Wt::WText>(Wt::WString::tr("label_age")), 2, 0);
auto ageWidget = contentGrid->addWidget(std::make_unique<Wt::WSpinBox>(), 2, 1); auto ageWidget = contentGrid->addWidget(std::make_unique<Wt::WSpinBox>(), 2, 1);
ageWidget->setRange(18, 150); ageWidget->setRange(18, 150);
ageWidget->setValue(18); ageWidget->setValue(18);
@@ -278,14 +278,14 @@ Wt::WSpinBox *App::addAgeInput(Wt::WGridLayout* contentGrid) {
} }
Wt::WComboBox *App::addCountrySelection(Wt::WGridLayout* contentGrid) { Wt::WComboBox *App::addCountrySelection(Wt::WGridLayout* contentGrid) {
contentGrid->addWidget(std::make_unique<Wt::WText>("Country: "), 3, 0); contentGrid->addWidget(std::make_unique<Wt::WText>(Wt::WString::tr("label_country")), 3, 0);
auto countryWidget = contentGrid->addWidget(std::make_unique<Wt::WComboBox>(), 3, 1); auto countryWidget = contentGrid->addWidget(std::make_unique<Wt::WComboBox>(), 3, 1);
populateCountryComboBox(countryWidget); populateCountryComboBox(countryWidget);
return countryWidget; return countryWidget;
} }
void App::addStartChatButton(Wt::WGridLayout* contentGrid, Wt::WLineEdit *userName, Wt::WComboBox *country, Wt::WSpinBox *age, Wt::WComboBox *gender) { void App::addStartChatButton(Wt::WGridLayout* contentGrid, Wt::WLineEdit *userName, Wt::WComboBox *country, Wt::WSpinBox *age, Wt::WComboBox *gender) {
auto doLogin = contentGrid->addWidget(std::make_unique<Wt::WPushButton>("Start chat"), 4, 1); auto doLogin = contentGrid->addWidget(std::make_unique<Wt::WPushButton>(Wt::WString::tr("button_start_chat")), 4, 1);
doLogin->clicked().connect([=, this]() { doLogin->clicked().connect([=, this]() {
handleLogin(userName, country, age, gender); handleLogin(userName, country, age, gender);
}); });