Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2012, 18:39   #1
yuriy1985
Новичок
Джуниор
 
Регистрация: 17.10.2012
Сообщений: 2
По умолчанию Локализация на трех языках: en, ru, kz

Здравствуйте. Подскажите пожалуйста как сделать на примере Интернационализацию текста (Локализация на трех языках: en, ru, kz)
Если можно не большой код примера для программы хотя бы для одного языка. Результат должен иметь выбор на трех языках.

Выводит:
Код:
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
Код:
 

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
Код:
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;
    }
}
yuriy1985 вне форума Ответить с цитированием
Старый 17.10.2012, 18:40   #2
yuriy1985
Новичок
Джуниор
 
Регистрация: 17.10.2012
Сообщений: 2
По умолчанию Локализация на трех языках: en, ru, kz

Прдолжение кода

class ArmorItemWeightComparator
Код:
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
Код:
package kz.epam.dresstheknight.armory;

/**
 *
 * @author user
 * @param описываем класс enum ArmorType
 */
public enum ArmorType {

    WEAPON, ARMOR
}
class Knight
Код:
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
Код:
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 + '}';
        }
    }
}
yuriy1985 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Локализация... maLoy*508 Свободное общение 3 22.09.2011 21:29
Локализация программы через INI, локализация диалоговых сообщений? Человек_Борща Общие вопросы Delphi 1 13.08.2010 13:57
Флаги в языках Pti44ka Помощь студентам 7 22.09.2009 13:00