Merge branch 'lang-fix' into 'main'

Lang fix

See merge request cse1105/2025-2026/teams/csep-team-76!78
This commit is contained in:
Oskar Rasieński 2026-01-22 01:21:43 +01:00
commit 5915b658e6
10 changed files with 116 additions and 22 deletions

View file

@ -85,6 +85,9 @@ public class FoodpalApplicationCtrl implements LocaleAware {
@FXML
private ToggleButton favouritesOnlyToggle;
@FXML
private Button manageIngredientsButton;
private List<Recipe> allRecipes = new ArrayList<>();
@FXML
@ -297,6 +300,9 @@ public class FoodpalApplicationCtrl implements LocaleAware {
removeRecipeButton.setText(getLocaleString("menu.button.remove.recipe"));
cloneRecipeButton.setText(getLocaleString("menu.button.clone"));
recipesLabel.setText(getLocaleString("menu.label.recipes"));
favouritesOnlyToggle.setText(getLocaleString("menu.button.favourites"));
manageIngredientsButton.setText(getLocaleString("menu.button.ingredients"));
}
@Override
@ -565,7 +571,7 @@ public class FoodpalApplicationCtrl implements LocaleAware {
var root = pair.getValue();
var stage = new javafx.stage.Stage();
stage.setTitle("Nutrition values view");
stage.setTitle(getLocaleString("menu.ingredients.title"));
stage.initModality(javafx.stage.Modality.APPLICATION_MODAL);
stage.setScene(new javafx.scene.Scene(root));
stage.showAndWait();

View file

@ -1,11 +1,16 @@
package client.scenes.Ingredient;
import client.scenes.nutrition.NutritionDetailsCtrl;
import client.utils.LocaleAware;
import client.utils.LocaleManager;
import client.utils.server.ServerUtils;
import commons.Ingredient;
import jakarta.inject.Inject;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.control.TextInputDialog;
@ -19,10 +24,18 @@ import java.util.logging.Logger;
//TODO and check for capital letter milk and MILK are seen as different
public class IngredientListCtrl {
public class IngredientListCtrl implements LocaleAware {
private final ServerUtils server;
private final LocaleManager localeManager;
private final Logger logger = Logger.getLogger(IngredientListCtrl.class.getName());
@FXML
public Label ingredientsLabel;
public Button addButton;
public Button refreshButton;
public Button deleteButton;
public Button closeButton;
@FXML
private ListView<Ingredient> ingredientListView;
@FXML
@ -31,12 +44,28 @@ public class IngredientListCtrl {
@Inject
public IngredientListCtrl(
ServerUtils server,
LocaleManager localeManager,
NutritionDetailsCtrl nutritionDetailsCtrl
) {
this.server = server;
this.localeManager = localeManager;
this.nutritionDetailsCtrl = nutritionDetailsCtrl;
}
@Override
public void updateText() {
ingredientsLabel.setText(getLocaleString("menu.label.ingredients"));
addButton.setText(getLocaleString("menu.button.add"));
refreshButton.setText(getLocaleString("menu.button.refresh"));
deleteButton.setText(getLocaleString("menu.button.delete"));
closeButton.setText(getLocaleString("menu.button.close"));
}
@Override
public LocaleManager getLocaleManager() {
return this.localeManager;
}
@FXML
public void initialize() {
ingredientListView.setCellFactory(list -> new ListCell<>() {
@ -60,6 +89,7 @@ public class IngredientListCtrl {
refresh();
}
@FXML
private void addIngredient() {
TextInputDialog dialog = new TextInputDialog();
@ -86,7 +116,6 @@ public class IngredientListCtrl {
}
}
@FXML
private void refresh() {
try {

View file

@ -41,6 +41,7 @@ public class LangSelectMenuCtrl implements LocaleAware {
String lang = langSelectMenu.getSelectionModel().getSelectedItem();
logger.info("Switching locale to " + lang);
manager.setLocale(Locale.of(lang));
initializeComponents();
}
@Override

View file

@ -15,16 +15,16 @@
<Insets top="12" right="12" bottom="12" left="12"/>
</padding>
<Label text="Ingredients" style="-fx-font-size: 18px; -fx-font-weight: bold;"/>
<Label fx:id="ingredientsLabel" text="Ingredients" style="-fx-font-size: 18px; -fx-font-weight: bold;"/>
<ListView fx:id="ingredientListView" VBox.vgrow="ALWAYS"/>
<ButtonBar>
<buttons>
<Button text="Add" onAction="#addIngredient"/>
<Button text="Refresh" onAction="#refresh"/>
<Button text="Delete" onAction="#deleteSelected"/>
<Button text="Close" onAction="#close"/>
<Button fx:id="addButton" text="Add" onAction="#addIngredient"/>
<Button fx:id="refreshButton" text="Refresh" onAction="#refresh"/>
<Button fx:id="deleteButton" text="Delete" onAction="#deleteSelected"/>
<Button fx:id="closeButton" text="Close" onAction="#close"/>
</buttons>
</ButtonBar>
</VBox>

View file

@ -16,6 +16,8 @@ menu.label.preparation=Preparation
menu.button.add.recipe=Add Recipe
menu.button.add.ingredient=Add Ingredient
menu.button.add.step=Add Step
menu.button.favourites=Favourites
menu.button.ingredients=Ingredients
menu.button.remove.recipe=Remove Recipe
menu.button.remove.ingredient=Remove Ingredient
@ -25,10 +27,19 @@ menu.button.edit=Edit
menu.button.clone=Clone
menu.button.print=Print recipe
menu.ingredients.title=Nutrition value
menu.button.add=Add
menu.button.refresh=Refresh
menu.button.delete=Delete
menu.button.close=Close
menu.search=Search...
menu.label.selected-langs=Languages
lang.en.display=English
lang.nl.display=Dutch
lang.pl.display=Polish
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e
lang.tr.display=Turkish

View file

@ -16,6 +16,8 @@ menu.label.preparation=Preparation
menu.button.add.recipe=Add Recipe
menu.button.add.ingredient=Add Ingredient
menu.button.add.step=Add Step
menu.button.favourites=Favourites
menu.button.ingredients=Ingredients
menu.button.remove.recipe=Remove Recipe
menu.button.remove.ingredient=Remove Ingredient
@ -25,12 +27,19 @@ menu.button.edit=Edit
menu.button.clone=Clone
menu.button.print=Print recipe
menu.ingredients.title=Nutrition value
menu.button.add=Add
menu.button.refresh=Refresh
menu.button.delete=Delete
menu.button.close=Close
menu.search=Search...
menu.label.selected-langs=Languages
lang.en.display=English
lang.nl.display=Nederlands
lang.pl.display=Polski
lang.nl.display=Dutch
lang.pl.display=Polish
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e
lang.tr.display=Turkish

View file

@ -10,26 +10,35 @@ button.ok=Ok
button.cancel=Annuleren
menu.label.recipes=Recepten
menu.label.ingredients=Ingrediënten
menu.label.ingredients=Ingrediënten
menu.label.preparation=Bereiding
menu.button.add.recipe=Recept toevoegen
menu.button.add.ingredient=Ingrediënt toevoegen
menu.button.add.ingredient=Ingrediënt toevoegen
menu.button.add.step=Stap toevoegen
menu.button.favourites=Favorieten
menu.button.ingredients=Ingrediënten
menu.button.remove.recipe=Recept verwijderen
menu.button.remove.ingredient=Ingrediënt verwijderen
menu.button.remove.ingredient=Ingrediënt verwijderen
menu.button.remove.step=Stap verwijderen
menu.button.edit=Bewerken
menu.button.clone=Dupliceren
menu.button.print=Recept afdrukken
menu.ingredients.title=Voedingswaarden
menu.button.add=Toevoegen
menu.button.refresh=Verversen
menu.button.delete=Verwijderen
menu.button.close=Sluiten
menu.label.selected-langs=Talen
menu.search=Zoeken...
lang.en.display=English
lang.en.display=Engels
lang.nl.display=Nederlands
lang.pl.display=Polski
lang.pl.display=Pools
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e
lang.tr.display=Turks

View file

@ -16,6 +16,8 @@ menu.label.preparation=Przygotowanie
menu.button.add.recipe=Dodaj przepis
menu.button.add.ingredient=Dodaj składnik
menu.button.add.step=Dodaj instrukcję
menu.button.favourites=Ulubione
menu.button.ingredients=Składniki
menu.button.remove.recipe=Usuń przepis
menu.button.remove.ingredient=Usuń składnik
@ -25,12 +27,19 @@ menu.button.edit=Edytuj
menu.button.clone=Duplikuj
menu.button.print=Drukuj przepis
menu.ingredients.title=wartości odżywcze
menu.button.add=Dodaj
menu.button.refresh=Odśwież
menu.button.delete=Usuń
menu.button.close=Zamknij
menu.search=Szukaj...
menu.label.selected-langs=Języki
lang.en.display=English
lang.nl.display=Nederlands
lang.en.display=Inglisz
lang.nl.display=Holenderski
lang.pl.display=Polski
lang.tok.display=toki pona
lang.tr.display=T\u00FCrk\u00E7e
lang.tr.display=Turecki

View file

@ -16,6 +16,8 @@ menu.label.preparation=nasin pi pali moku ni
menu.button.add.recipe=o pali e lipu moku sin
menu.button.add.ingredient=o pali e kipisi moku sin
menu.button.add.step=o pali e nasin pi pali moku ni
menu.button.favourites=ijo pi pona mute tawa sina
menu.button.ingredients=kipisi moku mute
menu.button.remove.recipe=o weka e lipu moku ni
menu.button.remove.ingredient=o weka e kipisi moku ni
@ -25,6 +27,13 @@ menu.button.edit=o pali
menu.button.clone=o sama
menu.button.print=o tawa lon lipu
menu.ingredients.title=nanpa moku
menu.button.add=o pali
menu.button.refresh=o pali sin
menu.button.delete=o weka
menu.button.close=o pini
menu.search=o alasa
menu.label.selected-langs=toki wile

View file

@ -16,6 +16,8 @@ menu.label.preparation=Haz\u0131rl\u0131k
menu.button.add.recipe=Tarif Ekle
menu.button.add.ingredient=Malzeme Ekle
menu.button.add.step=Ad\u0131m Ekle
menu.button.favourites=Favoriler
menu.button.ingredients=Malzemeler
menu.button.remove.recipe=Tarifi Sil
menu.button.remove.ingredient=Malzemeyi Sil
@ -25,6 +27,15 @@ menu.button.edit=D\u00FCzenle
menu.button.clone=Kopyala
menu.button.print=Tarifi Yazd\u0131r
menu.ingredients.title=besin değerleri
menu.button.add=Ekle
menu.button.refresh=yenilemek
menu.button.delete=sil
menu.button.close=kapat
menu.search=Arama...
menu.label.selected-langs=Diller
lang.en.display=\u0130ngilizce