Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Локализация на трех языках: en, ru, kz, Интернационализация текста 
:(
    Опции темы
yuriy1985
Дата 17.10.2012, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.10.2012

Репутация: нет
Всего: нет



Здравствуйте. Подскажите пожалуйста как сделать на примере Интернационализацию текста (Локализация на трех языках: 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;
    }
}

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 + '}';
        }
    }
}

PM MAIL   Вверх
brave
Дата 17.10.2012, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 7.3.2010

Репутация: нет
Всего: нет



Хорстманн Java 2, том 2. В главе 5 неплохо описана интернационализация.
PM MAIL   Вверх
yuriy1985
Дата 17.10.2012, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.10.2012

Репутация: нет
Всего: нет



brave спасибо за название книги
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0751 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.