[Mini-Guide]Локализация чего угодно и как угодно

1,087
2
Кхм. Что такое локализация? Локализация - это название того, что выводится на экран в нескольких форматах.
Вот пример:
Код:
#Это ru_RU.lang
item.example.name=Пример
Код:
#This is en_US/en_UK.lang
item.example.name=Example
Но это уже так сказать файл где вы локализируете одну и ту же переменную.
Но как же поступать в этом случае когда мы хотим локализовать текст в GUI или чате (Когда вы выводите информацию в чат)?
Вот так:
Код:
StatCollector.translateToLocal("book.text.1") //Это мы локализируем что либо в переменную
Вот к примеру то, как надо локализировать:
Код:
#ru_RU
book.text.1=Хай, я первый текст в книжке
Код:
#en_US
book.text.1=Hi, i am first text in book
Код:
#fr_FR
book.text.1=Salut, je suis le premier texte dans un livre (Гугл транслате помог)
А дальше в зависимости от того, какой будет выбран язык в игре таким и будет перевод.
В чате тоже самое.
Но там можно применять довольно интересный способ форматирования. Ну как пример можно взять:
Код:
EnumChatFormatting.AQUA //Делает текст голубого цвета.
И вот как можно сделать:
Код:
EnumChatFormatting.ORANGE + "Hi!"
Но лучше так:
Код:
EnumChatFormatting.ORANGE + StatCollector.translateToLocal("txt.withOrange")
Дальше можно посмотреть весь EnumChatFormatting.class и понять некоторые секреты текста:
К примеру Bold, Italic, Deprecated, U. Так же можно сделать в переменной кодовый текст который сделает ваш текст рандомным (Вместо текста будет анимация символов).
Там довольно много чего есть.
Думаю гайд дополнять буду, но вряд ли дополнения будут большие...
Пруфы:
Код:
currenttip.add(EnumChatFormatting.AQUA + StatCollector.translateToLocal("cc.waila.chromaInTile") + ": " + tileEnrg.maxReceive);
qIN0Cf5.png

Это локализация на английском в Waila.
yDIRemJ.png

Это локализация на русском в Waila.
Код:
#ru_RU.lang
cc.waila.chromaInTile=Chroma в тайле
#en_US.lang
cc.waila.chromaInTile=Chroma in Tile
 
1,087
2
Я слова для примера давал, а не сами понятия форматирования.
 
1,239
2
24
жлые модераторы перекинте в учебник,суть изложена коротко и ясно,не поймет только хирург и равен!
 

CumingSoon

Местный стендапер
1,634
12
269
Ну я это уже знал. Единственное не пойму зачем 2 класса для локализации? Устарела версия? Или один из них с плюшками?
 
1,087
2
Oldestkon написал(а):
>флудилка
Не перекинуть же. 
В любой момент я могу скопипастить и сделать эту тему в вопросах
[merge_posts_bbcode]Добавлено: 27.11.2015 08:19:46[/merge_posts_bbcode]

CoomingSoon написал(а):
Ну я это уже знал. Единственное не пойму зачем 2 класса для локализации? Устарела версия? Или один из них с плюшками? 
Какие классы?
 
509
2
329
13
Допустим в моде я сервером отправляю игроку в чат сообщение. Каким образом нужно это сообщение отправить чтобы оно локализовалось?

Например мне нужна следующая локализация:
EN : You found 3 x Apple
RU : Вы нашли 3 х Яблоко
 
1,087
2
Допустим(?), или ты знаешь ответ?
[merge_posts_bbcode]Добавлено: 27.11.2015 14:25:11[/merge_posts_bbcode]

Честно - я сам не знаю. Ибо я ещё не работал с чатом. Однако скоро проверю - если не будет работать по моему варианту - дополню гайдик.
 

CumingSoon

Местный стендапер
1,634
12
269
Я знаю, что там форматирование есть. Так то отправить количество предметов и в локализации заюзать шаблон
 

CumingSoon

Местный стендапер
1,634
12
269
Лично мне кажется, что тут лучше всё заменить на
Код:
EnumChatFormatting.AQUA + StatCollector.translateToLocal("cc.waila.chromaInTile") + ": " + tileEnrg.maxReceive


Код:
StatCollector.translateToLocal("cc.waila.chromaInTile")

А всё остальное форматирование в ланг
 
1,087
2
Лень. Хотя я подумаю. К примеру пока что я не хочу, чтобы цвет текста могли изменять в lang файле :)
 
Сверху