translated ingredients menu

This commit is contained in:
Oskar Rasieński 2026-01-21 14:34:57 +01:00
commit 969d052230
9 changed files with 78 additions and 13 deletions

View file

@ -564,7 +564,7 @@ public class FoodpalApplicationCtrl implements LocaleAware {
var root = pair.getValue(); var root = pair.getValue();
var stage = new javafx.stage.Stage(); 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.initModality(javafx.stage.Modality.APPLICATION_MODAL);
stage.setScene(new javafx.scene.Scene(root)); stage.setScene(new javafx.scene.Scene(root));
stage.showAndWait(); stage.showAndWait();

View file

@ -1,14 +1,13 @@
package client.scenes.Ingredient; package client.scenes.Ingredient;
import client.scenes.nutrition.NutritionDetailsCtrl; import client.scenes.nutrition.NutritionDetailsCtrl;
import client.utils.LocaleAware;
import client.utils.LocaleManager;
import client.utils.server.ServerUtils; import client.utils.server.ServerUtils;
import commons.Ingredient; import commons.Ingredient;
import jakarta.inject.Inject; import jakarta.inject.Inject;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Alert; import javafx.scene.control.*;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage; import javafx.stage.Stage;
import java.io.IOException; import java.io.IOException;
@ -19,10 +18,18 @@ import java.util.logging.Logger;
//TODO and check for capital letter milk and MILK are seen as different //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 ServerUtils server;
private final LocaleManager localeManager;
private final Logger logger = Logger.getLogger(IngredientListCtrl.class.getName()); 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 @FXML
private ListView<Ingredient> ingredientListView; private ListView<Ingredient> ingredientListView;
@FXML @FXML
@ -31,12 +38,28 @@ public class IngredientListCtrl {
@Inject @Inject
public IngredientListCtrl( public IngredientListCtrl(
ServerUtils server, ServerUtils server,
LocaleManager localeManager,
NutritionDetailsCtrl nutritionDetailsCtrl NutritionDetailsCtrl nutritionDetailsCtrl
) { ) {
this.server = server; this.server = server;
this.localeManager = localeManager;
this.nutritionDetailsCtrl = nutritionDetailsCtrl; 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 @FXML
public void initialize() { public void initialize() {
ingredientListView.setCellFactory(list -> new ListCell<>() { ingredientListView.setCellFactory(list -> new ListCell<>() {
@ -60,6 +83,7 @@ public class IngredientListCtrl {
refresh(); refresh();
} }
@FXML @FXML
private void addIngredient() { private void addIngredient() {
TextInputDialog dialog = new TextInputDialog(); TextInputDialog dialog = new TextInputDialog();
@ -86,7 +110,6 @@ public class IngredientListCtrl {
} }
} }
@FXML @FXML
private void refresh() { private void refresh() {
try { try {

View file

@ -15,16 +15,16 @@
<Insets top="12" right="12" bottom="12" left="12"/> <Insets top="12" right="12" bottom="12" left="12"/>
</padding> </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"/> <ListView fx:id="ingredientListView" VBox.vgrow="ALWAYS"/>
<ButtonBar> <ButtonBar>
<buttons> <buttons>
<Button text="Add" onAction="#addIngredient"/> <Button fx:id="addButton" text="Add" onAction="#addIngredient"/>
<Button text="Refresh" onAction="#refresh"/> <Button fx:id="refreshButton" text="Refresh" onAction="#refresh"/>
<Button text="Delete" onAction="#deleteSelected"/> <Button fx:id="deleteButton" text="Delete" onAction="#deleteSelected"/>
<Button text="Close" onAction="#close"/> <Button fx:id="closeButton" text="Close" onAction="#close"/>
</buttons> </buttons>
</ButtonBar> </ButtonBar>
</VBox> </VBox>

View file

@ -27,6 +27,13 @@ menu.button.edit=Edit
menu.button.clone=Clone menu.button.clone=Clone
menu.button.print=Print recipe 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.search=Search...
menu.label.selected-langs=Languages menu.label.selected-langs=Languages

View file

@ -27,6 +27,13 @@ menu.button.edit=Edit
menu.button.clone=Clone menu.button.clone=Clone
menu.button.print=Print recipe 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.search=Search...
menu.label.selected-langs=Languages menu.label.selected-langs=Languages

View file

@ -27,6 +27,13 @@ menu.button.edit=Bewerken
menu.button.clone=Dupliceren menu.button.clone=Dupliceren
menu.button.print=Recept afdrukken 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.label.selected-langs=Talen
menu.search=Zoeken... menu.search=Zoeken...

View file

@ -27,6 +27,13 @@ menu.button.edit=Edytuj
menu.button.clone=Duplikuj menu.button.clone=Duplikuj
menu.button.print=Drukuj przepis 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.search=Szukaj...
menu.label.selected-langs=Języki menu.label.selected-langs=Języki

View file

@ -27,6 +27,13 @@ menu.button.edit=o pali
menu.button.clone=o sama menu.button.clone=o sama
menu.button.print=o tawa lon lipu 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.search=o alasa
menu.label.selected-langs=toki wile menu.label.selected-langs=toki wile

View file

@ -27,6 +27,13 @@ menu.button.edit=D\u00FCzenle
menu.button.clone=Kopyala menu.button.clone=Kopyala
menu.button.print=Tarifi Yazd\u0131r 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.search=Arama...
menu.label.selected-langs=Diller menu.label.selected-langs=Diller