Merge branch 'lang/zh-XX' into 'main'

chore(lang): zh_CN & zh_TW translations into application

Closes #69

See merge request cse1105/2025-2026/teams/csep-team-76!69
This commit is contained in:
Zhongheng Liu 2026-01-23 00:44:02 +01:00
commit e17a75fcd5
14 changed files with 102 additions and 11 deletions

View file

@ -1,5 +1,6 @@
package client.scenes; package client.scenes;
import client.utils.Config;
import client.utils.LocaleAware; import client.utils.LocaleAware;
import client.utils.LocaleManager; import client.utils.LocaleManager;
import com.google.inject.Inject; import com.google.inject.Inject;
@ -46,7 +47,7 @@ public class LangSelectMenuCtrl implements LocaleAware {
@Override @Override
public void initializeComponents() { public void initializeComponents() {
langSelectMenu.getItems().setAll("en", "pl", "nl", "tok", "tr"); langSelectMenu.getItems().setAll(Config.languages);
langSelectMenu.setValue(manager.getLocale().getLanguage()); langSelectMenu.setValue(manager.getLocale().getLanguage());
langSelectMenu.setConverter(new StringConverter<String>() { langSelectMenu.setConverter(new StringConverter<String>() {
@Override @Override

View file

@ -1,5 +1,6 @@
package client.scenes; package client.scenes;
import client.utils.Config;
import client.utils.ConfigService; import client.utils.ConfigService;
import client.utils.LocaleAware; import client.utils.LocaleAware;
import client.utils.LocaleManager; import client.utils.LocaleManager;
@ -54,7 +55,7 @@ public class LanguageFilterCtrl implements LocaleAware {
public void initializeComponents() { public void initializeComponents() {
var items = this.langFilterMenu.getItems(); var items = this.langFilterMenu.getItems();
final List<String> languages = List.of("en", "nl", "pl", "tok", "tr"); final List<String> languages = List.of(Config.languages);
this.selectedLanguages = this.configService.getConfig().getRecipeLanguages(); this.selectedLanguages = this.configService.getConfig().getRecipeLanguages();
this.updateMenuButtonDisplay(); this.updateMenuButtonDisplay();

View file

@ -422,7 +422,7 @@ public class RecipeDetailCtrl implements LocaleAware {
} }
setCurrentlyViewedRecipe(recipe); setCurrentlyViewedRecipe(recipe);
}); });
langSelector.getItems().addAll("en", "nl", "pl", "tok"); langSelector.getItems().addAll(Config.languages);
} }
public void handleAddAllToShoppingList(ActionEvent actionEvent) { public void handleAddAllToShoppingList(ActionEvent actionEvent) {

View file

@ -5,6 +5,7 @@ import java.util.List;
public class Config { public class Config {
private String language = "en"; private String language = "en";
public static String[] languages = {"en", "nl", "pl", "tok", "zhc", "zht"};
private List<String> recipeLanguages = new ArrayList<>(); private List<String> recipeLanguages = new ArrayList<>();
private String serverUrl = "http://localhost:8080"; private String serverUrl = "http://localhost:8080";

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -42,4 +42,6 @@ lang.en.display=English
lang.nl.display=Dutch lang.nl.display=Dutch
lang.pl.display=Polish lang.pl.display=Polish
lang.tok.display=toki pona lang.tok.display=toki pona
lang.tr.display=Turkish lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)

View file

@ -44,4 +44,6 @@ lang.en.display=English
lang.nl.display=Dutch lang.nl.display=Dutch
lang.pl.display=Polish lang.pl.display=Polish
lang.tok.display=toki pona lang.tok.display=toki pona
lang.tr.display=Turkish lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)

View file

@ -43,4 +43,6 @@ lang.en.display=Engels
lang.nl.display=Nederlands lang.nl.display=Nederlands
lang.pl.display=Pools lang.pl.display=Pools
lang.tok.display=toki pona lang.tok.display=toki pona
lang.tr.display=Turks lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)

View file

@ -44,4 +44,6 @@ lang.en.display=Inglisz
lang.nl.display=Holenderski lang.nl.display=Holenderski
lang.pl.display=Polski lang.pl.display=Polski
lang.tok.display=toki pona lang.tok.display=toki pona
lang.tr.display=Turecki lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)

View file

@ -45,3 +45,4 @@ lang.nl.display=toki Netelan
lang.pl.display=toki Posuka lang.pl.display=toki Posuka
lang.tok.display=toki pona lang.tok.display=toki pona
lang.tr.display=toki Tuki lang.tr.display=toki Tuki
lang.zht.display=toki Sonko (tan pi tenpo pini)

View file

@ -40,7 +40,10 @@ menu.label.selected-langs=Diller
menu.shopping.title=Al??veri? listesi menu.shopping.title=Al??veri? listesi
lang.en.display=\u0130ngilizce lang.en.display=English
lang.nl.display=Hollandaca lang.nl.display=Nederlands
lang.pl.display=Leh\u00E7e lang.pl.display=Polski
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)

View file

@ -0,0 +1,38 @@
add.ingredient.title=添加配料
add.recipe.title=创建食谱
add.step.title=添加步骤
add.ingredient.label=配料
add.recipe.label=食谱名称
add.step.label=步骤
button.ok=确认
button.cancel=取消
menu.label.recipes=食谱
menu.label.ingredients=配料
menu.label.preparation=准备步骤
menu.button.add.recipe=创建食谱
menu.button.add.ingredient=添加配料
menu.button.add.step=添加步骤
menu.button.remove.recipe=清除食谱
menu.button.remove.ingredient=清除配料
menu.button.remove.step=清除步骤
menu.button.edit=编辑
menu.button.clone=复制
menu.button.print=打印食谱
menu.search=搜索
menu.label.selected-langs=语言
lang.en.display=English
lang.nl.display=Nederlands
lang.pl.display=Polski
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)

View file

@ -0,0 +1,38 @@
add.ingredient.title=添加配料
add.recipe.title=創建食譜
add.step.title=添加步驟
add.ingredient.label=配料
add.recipe.label=食譜名稱
add.step.label=步驟
button.ok=確認
button.cancel=取消
menu.label.recipes=食譜
menu.label.ingredients=配料
menu.label.preparation=制備步驟
menu.button.add.recipe=創建食譜
menu.button.add.ingredient=添加配料
menu.button.add.step=添加步驟
menu.button.remove.recipe=清除食譜
menu.button.remove.ingredient=清除配料
menu.button.remove.step=清除步驟
menu.button.edit=編輯
menu.button.clone=複製
menu.button.print=列印食譜
menu.search=搜索
menu.label.selected-langs=語言
lang.en.display=English
lang.nl.display=Nederlands
lang.pl.display=Polski
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e
lang.zht.display=中文(台灣)
lang.zhc.display=中文(中国大陆)