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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Локализация java приложения ? 
V
    Опции темы
filipp76
Дата 21.12.2011, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 4.4.2007
Где: Украина, Киев

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



Есть задача локализовать приложение на несколько языков, есть какие-то стандартные методы в Java чтоб сделать это быстро ? Понятно можно добавить миллион проверок каких-то настроек отвечающих за язык но это слишком не удобно и долго ( Уверен кто-то сталкивался, как реализовали ?
PM MAIL WWW ICQ   Вверх
mstalker26
Дата 21.12.2011, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я так понимаю, http://docs.oracle.com/javase/tutorial/i18n/ уже прочитали  smile ?
--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
filipp76
Дата 21.12.2011, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 4.4.2007
Где: Украина, Киев

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



Цитата(mstalker26 @ 21.12.2011,  18:06)
Я так понимаю, http://docs.oracle.com/javase/tutorial/i18n/ уже прочитали  smile ?

Пытался но тяжело понять без нормальных примеров. Может есть у кого маленький пример ?

PM MAIL WWW ICQ   Вверх
Skynin
Дата 21.12.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

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



PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
filipp76
Дата 21.12.2011, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 4.4.2007
Где: Украина, Киев

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



Тонна текста на англ языке и ничего не понятно. Кода бы кусочек -  вот так пишем настройки, вот так читаем, тут храним строки.
PM MAIL WWW ICQ   Вверх
Skynin
Дата 21.12.2011, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

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



Где ж там тонна английского?

Короткий текстик программы до.
Потом после. 
Файлики там прилагаются. Чтобы посмотреть где и как хранятся строки.
Куда уж короче.

Добавлено через 8 минут и 20 секунд
Кстати, задал вопрос гуглу
Локализация java приложения

Он дал шпаргалку, на этом же форуме. На русском.
И еще парочку.
типа Локализация и ресурсы

Вы бы не ленились, а гуглили получше. Тема то избитая много лет.


PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
filipp76
Дата 21.12.2011, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 4.4.2007
Где: Украина, Киев

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



Цитата(Skynin @ 21.12.2011,  22:24)
Где ж там тонна английского?

Короткий текстик программы до.
Потом после. 
Файлики там прилагаются. Чтобы посмотреть где и как хранятся строки.
Куда уж короче.

Добавлено @ 22:32
Кстати, задал вопрос гуглу
Локализация java приложения

Он дал шпаргалку, на этом же форуме. На русском.
И еще парочку.
типа Локализация и ресурсы

Вы бы не ленились, а гуглили получше. Тема то избитая много лет.

Спасибо попытаюсь понять что к чему но пока вижу что проще добавить свои настройки и хранить строки по своему.
PM MAIL WWW ICQ   Вверх
BoneDragon
Дата 25.12.2011, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пользуюсь самописной библиотекой GetText (написана на Scala, но думаю несложно перенести в Java).
Не так громоздко как в Яве, плюс удобные инструменты типа xgettext, poedit.
PM MAIL   Вверх
jk1
Дата 25.12.2011, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

 пока вижу что проще добавить свои настройки и хранить строки по своему. 

Цитата

Пользуюсь самописной библиотекой GetText


До каких только ведосипедов не доводит людей нежелание слегка почитать доки... smile 


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
BoneDragon
Дата 25.12.2011, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



давно почитал и сравнил. Поэтому и перешел на Gettext. По сравнению с ним явовский велосипед - кривой самокат, с квадратными колесами, взять хотя бы метод доступа к строкам в бандлах по наименованию и использование громоздкого messages.getString("hello_message") вместо краткого tr("Hello !").

Это сообщение отредактировал(а) BoneDragon - 25.12.2011, 16:59
PM MAIL   Вверх
Amp
Дата 10.1.2012, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



После чтения документации я кстати тоже полез искать порт gettext под java. 
PM MAIL   Вверх
BoneDragon
Дата 10.1.2012, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот парсер на Scala (примитивный, но работает), может кому-то пригодится: https://bitbucket.org/edartuz/muprog/src/6d...l/GetText.scala
PM MAIL   Вверх
CHEM_Eugene
Дата 19.1.2012, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Моя поделка:

Код

public class CoreLabels {

    private static Locale[] supportedLocales = { Locale.ENGLISH,
            new Locale("ru") };

    public static String FILE;

    public static String OPEN_PROJECTS;

    public static String OPEN_IN_BROWSER;
    
    public static String SHOW_LINKS_OF_URL;

    static {
        resolve(CoreLabels.class);
    }

    protected static void resolve(Class<?> resource) {
        ResourceBundle labels = ResourceBundle.getBundle(
                resource.getSimpleName(), supportedLocales[0]);
        for (Field field : resource.getFields()) {
            try {
                field.set(null, new String(labels.getString(field.getName())
                        .getBytes("ISO-8859-1"), "UTF-8"));
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}


Ну и соответственно имеются файлы CoreLabels_ru.properties и CoreLabels_en.properties в каталоге, указанном в classpath. В коде нет никаких messages.getString("hello_message"). Это заменяется на ColreLabels.HELLO_MESSAGE
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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