|
Локализация на трех языках: en, ru, kz
#38003125
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Здравствуйте. Подскажите пожалуйста как сделать на примере Интернационализацию текста (Локализация на трех языках: en, ru, kz)
Если можно не большой код примера для программы хотя бы для одного языка. Результат должен иметь выбор на трех языках.
Выводит: 1. 2.
Knight , name = Arthur
armorItems = [WEAPON { id = 5 name = Dagger, price= 50.0, weight = 0.3}, ARMOR { id = 3 name = Gloves, price = 200.0, weight = 0.5}, ARMOR { id = 2 name = Boots, price = 270.0, weight = 1.0}, WEAPON { id = 6 name = Shield, price= 100.0, weight = 1.5}, WEAPON { id = 7 name = Sword, price= 150.0, weight = 2.0}, ARMOR { id = 4 name = Helmet, price = 300.0, weight = 2.5}, ARMOR { id = 1 name = Armor, price = 500.0, weight = 5.0}]}
class Main
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. 38. 39. 40.
package kz.epam.dresstheknight;
import java.util.ArrayList;
import java.util.List;
import kz.epam.dresstheknight.armory.ArmorItem;
import kz.epam.dresstheknight.armory.ArmorType;
import kz.epam.dresstheknight.armory.Knight;
import kz.epam.dresstheknight.armory.impl.ArmoryItem;
/**
*
* @author user
* @param описываем класс Main
*/
public class Main {
protected static int id = 0; // ID нашего рыцаря
protected static java.lang.String name = "Arthur"; //Имя нашего рыцаря
protected static Knight knight = null; //Ссылка на объект рыцарь
protected static List<ArmorItem> items = null; //Амуниция нашего рыцаря
public static void main(java.lang.String[] args) {
knight = new Knight(name); //Создаём объект "рыцаря".
items = new ArrayList<ArmorItem>(); //Создаём объект "список амуниции"
//Добавляем амуницию в список
items.add(new ArmoryItem(1, "Armor", 500, 5, ArmorType.ARMOR));//Передаётся указатель на созданный объект
items.add(new ArmoryItem(2, "Boots", 270, 1, ArmorType.ARMOR));//Передаётся указатель на созданный объект
items.add(new ArmoryItem(3, "Gloves", 200, 0.5, ArmorType.ARMOR));//Передаётся указатель на созданный объект
items.add(new ArmoryItem(4, "Helmet", 300, 2.5, ArmorType.ARMOR));//Передаётся указатель на созданный объект
items.add(new ArmoryItem(5, "Dagger", 50, 0.3, ArmorType.WEAPON));//Передаётся указатель на созданный объект
items.add(new ArmoryItem(6, "Shield", 100, 1.5, ArmorType.WEAPON));//Передаётся указатель на созданный объект
items.add(new ArmoryItem(7, "Sword", 150, 2, ArmorType.WEAPON));//Передаётся указатель на созданный объект
//Добавляем спсок амуниции нашему объекту "рыцарь"
knight.setArmorItems(items);//Передача указателя на созданный объект
//Выводим в консоль всё то, что у нас получилось.
//При вызове функции println происходит вызов метода toString() класса knight
System.out.println(knight);
}
}
class ArmorItem
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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
package kz.epam.dresstheknight.armory;
/**
*
* @author user
*
*/
/**
* @param описываем абстрактный класс ArmorItem
*/
public abstract class ArmorItem {
/**
* @param описываем поля класса
*/
protected int id;
protected java.lang.String name;
protected double price;
protected double weight;
protected ArmorType type;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return this.price;
}
public void setPrice(double price) {
this.price = price;
}
public void setWeight(double weight) {
this.weight = weight;
}
public double getWeight() {
return this.weight;
}
}
class ArmorItemWeightComparator 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.
package kz.epam.dresstheknight.armory;
import java.util.Comparator;
/**
*
* @author user
* @param описываем класс ArmorItemWeightComparator c интерфейсом implements
* Comparator
*/
public class ArmorItemWeightComparator implements Comparator<ArmorItem> {
/**
*
* @param переопределение метода compare c параметрами
*/
@Override
public int compare(ArmorItem o1, ArmorItem o2) {
if (o1.getWeight() > o2.getWeight()) {
return 1;
} else if (o1.getWeight() < o2.getWeight()) {
return -1;
} else {
return 0;
}
}
}
enum ArmorType
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
package kz.epam.dresstheknight.armory;
/**
*
* @author user
* @param описываем класс enum ArmorType
*/
public enum ArmorType {
WEAPON, ARMOR
}
class Knight
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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81.
package kz.epam.dresstheknight.armory;
import java.util.Collections;
import java.util.List;
/**
*
* @author user
* @param описываем класс Knight
*/
public class Knight {
protected List<ArmorItem> armorItems;
protected java.lang.String name;
/**
*
* @param описываем конструктор Knight без параметров
*/
public Knight() {
this.armorItems = null;
this.name = null;
}
/**
*
* @param описываем конструктор Knight с параметрами
*/
public Knight(java.lang.String name) {
this.armorItems = null;
this.name = name;
}
/**
*
* @param описываем метод getId
*/
/**
*
* @param описываем метод getName
*/
public java.lang.String getName() {
return this.name;
}
/**
*
* @param описываем метод setName с параметрами
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @param описываем метод getArmorItems класса коллекции ArmorItem
*/
public List<ArmorItem> getArmorItems() {
return this.armorItems;
}
/**
*
* @param описываем метод setArmorItems класса коллекции ArmorItem с
* параметрами
*/
public void setArmorItems(List<ArmorItem> armorItems) {
this.armorItems = armorItems;
Collections.sort(this.armorItems, new ArmorItemWeightComparator());
}
/**
*
* @param переопределение метода toString класса Khight
*/
@Override
public java.lang.String toString() {
return "Knight " + ", name = " + this.name + "\n" + "\t armorItems = " + this.armorItems + '}';
}
}
class ArmoryItem
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. 38. 39.
package kz.epam.dresstheknight.armory.impl;
import kz.epam.dresstheknight.armory.ArmorItem;
import kz.epam.dresstheknight.armory.ArmorType;
/**
*
* @author user
* @param описываем класс ArmoryItem наследованный от класса ArmorItem
*/
public class ArmoryItem extends ArmorItem {
/**
*
* @param описываем конструктор класса ArmoryItem с параметрами
*/
public ArmoryItem(int id, java.lang.String name, double price, double weight, ArmorType type) {
this.id = id;
this.name = name;
this.price = price;
this.weight = weight;
this.type = type;
}
/**
*
* @param переопределение метода toString объекта ArmorType
*/
@Override
public java.lang.String toString() {
if (this.type == ArmorType.ARMOR) {
return "ARMOR {" + " id = " + this.id + " name = " + this.name + ", price = " + this.price + ", weight = " + this.weight + '}';
} else if (this.type == ArmorType.WEAPON) {
return "WEAPON {" + " id = " + this.id + " name = " + this.name + ", price= " + this.price + ", weight = " + this.weight + '}';
} else {
return "{" + " id = " + this.id + " name = " + this.name + ", price = " + this.price + ", weight = " + this.weight + '}';
}
}
}
|
|
|