Skip to content

Commit

Permalink
Translate previews
Browse files Browse the repository at this point in the history
  • Loading branch information
iamgio committed Sep 5, 2018
1 parent c6e6c6a commit df4cca7
Show file tree
Hide file tree
Showing 12 changed files with 118 additions and 46 deletions.
33 changes: 32 additions & 1 deletion src/assets/lang/lang_en.properties
Expand Up @@ -42,4 +42,35 @@ preview.animated_text=Animated text preview
preview.animated_text.delay_prompt=Delay (ms)
preview.animated_text.count_prompt=Count
preview.animated_text.frames_prompt=Frames
preview.animated_text.play=Play
preview.animated_text.play=Play
preview.armor=Armor preview
preview.bossbar=Bossbar preview
preview.bossbar.text_prompt=Text
preview.chat=Chat preview
preview.chat.text_prompt=Text
preview.gui=GUI preview
preview.gui.title_default=GUI
preview.gui.title_prompt=Title
preview.gui.clear=Clear
preview.gui.slot=Slot
preview.gui.item=item
preview.lore=Lore preview
preview.lore.title_prompt=Title
preview.lore.lore_prompt=Lore
preview.lore.title_default=Item
preview.mobbar=Mob-bar preview
preview.mobbar.text_prompt=Text
preview.motd=MOTD preview
preview.motd.title_default=Minecraft Server
preview.motd.title_prompt=Title
preview.motd.first_prompt=First
preview.motd.second_prompt=Second
preview.scoreboard=Scoreboard preview
preview.scoreboard.title_default=Scoreboard
preview.scoreboard.title_prompt=Title
preview.scoreboard.lines_prompt=Lines
preview.sign=Sign preview
preview.sign.line_prompt=Line $1
preview.title=Title preview
preview.title.title_prompt=Title
preview.title.subtitle_prompt=Subtitle
37 changes: 34 additions & 3 deletions src/assets/lang/lang_it.properties
Expand Up @@ -36,10 +36,41 @@ updater.checking=Controllando gli aggiornamenti...
updater.no_update=Hai già l'ultima versione!
updater.yes=Sì
updater.no=No
preview.actionbar=Anteprima dell'actionbar
preview.actionbar=Anteprima - Actionbar
preview.actionbar.text_prompt=Testo
preview.animated_text=Anteprima del testo animato
preview.animated_text=Anteprima - Testo animato
preview.animated_text.delay_prompt=Ritardo (millisecondi)
preview.animated_text.count_prompt=Ripetizioni
preview.animated_text.frames_prompt=Frame
preview.animated_text.play=Avvia
preview.animated_text.play=Avvia
preview.armor=Anteprima - Armatura
preview.bossbar=Anteprima - Bossbar
preview.bossbar.text_prompt=Testo
preview.chat=Anteprima - Chat
preview.chat.text_prompt=Testo
preview.gui=Anteprima - GUI
preview.gui.title_default=Inventario
preview.gui.title_prompt=Titolo
preview.gui.clear=Cancella
preview.gui.slot=Slot
preview.gui.item=oggetto
preview.lore=Anteprima - Lore
preview.lore.title_prompt=Titolo
preview.lore.lore_prompt=Lore
preview.lore.title_default=Oggetto
preview.mobbar=Anteprima - Mob-bar
preview.mobbar.text_prompt=Testo
preview.motd=Anteprima - MOTD
preview.motd.title_default=Minecraft Server
preview.motd.title_prompt=Titolo
preview.motd.first_prompt=Primo
preview.motd.second_prompt=Secondo
preview.scoreboard=Anteprima - Scoreboard
preview.scoreboard.title_default=Scoreboard
preview.scoreboard.title_prompt=Titolo
preview.scoreboard.lines_prompt=Linee
preview.sign=Anteprima - Cartello
preview.sign.line_prompt=Linea $1
preview.title=Anteprima - Titolo
preview.title.title_prompt=Titolo
preview.title.subtitle_prompt=Sottotitolo
Expand Up @@ -7,7 +7,7 @@ import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.ArmorPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import java.util.*
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -17,7 +17,6 @@ class ArmorPreview : DropMenuAction() {
override fun onAction(area: EditorArea, x: Double, y: Double) {
val textfield = TextField()
textfield.isEditable = false
Locale.setDefault(Locale.ENGLISH)
val picker = ColorPicker(if(area.selection.length == 0) Color.RED else try {
Color.valueOf(toHex(area.selectedText.toInt()))
} catch(e: Exception) {
Expand All @@ -26,7 +25,7 @@ class ArmorPreview : DropMenuAction() {
textfield.text = toDecimal(picker.value.toString()).toString()
picker.valueProperty().addListener {_ -> textfield.text = toDecimal(picker.value.toString()).toString()}
picker.prefWidth = textfield.prefWidth
val menu = ColoredTextPreviewMenu("Armor preview", ArmorPreviewImage(picker.value), listOf(textfield, picker))
val menu = ColoredTextPreviewMenu(translate("preview.armor"), ArmorPreviewImage(picker.value), listOf(textfield, picker))
picker.valueProperty().addListener {_ ->
menu.image.background.paint = picker.value
}
Expand Down
@@ -1,11 +1,12 @@
package org.chorusmc.chorus.menus.drop.actions.previews

import javafx.scene.control.TextField
import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.BossBarPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import javafx.scene.control.TextField
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -14,8 +15,8 @@ class BossBarPreview : DropMenuAction() {

override fun onAction(area: EditorArea, x: Double, y: Double) {
val textfield = TextField(area.selectedText)
textfield.promptText = "Text"
val menu = ColoredTextPreviewMenu("Boss bar preview", BossBarPreviewImage(area.selectedText), listOf(textfield))
textfield.promptText = translate("preview.bossbar.text_prompt")
val menu = ColoredTextPreviewMenu(translate("preview.bossbar"), BossBarPreviewImage(area.selectedText), listOf(textfield))
textfield.textProperty().addListener {_ ->
menu.image.flows[0] = ChatParser(textfield.text, true).toTextFlow()
}
Expand Down
@@ -1,13 +1,14 @@
package org.chorusmc.chorus.menus.drop.actions.previews

import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.ChatPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import eu.iamgio.libfx.timing.WaitingTimer
import javafx.scene.control.ScrollPane
import javafx.scene.control.TextArea
import javafx.util.Duration
import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.ChatPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -23,8 +24,8 @@ class ChatPreview : DropMenuAction() {
scrollpane.childrenUnmodifiable.forEach {it.isCache = false}
}, Duration(300.0))
textArea.prefHeight = 80.0
textArea.promptText = "Text"
val menu = ColoredTextPreviewMenu("Chat preview", ChatPreviewImage("\n"), listOf(textArea))
textArea.promptText = translate("preview.chat.text_prompt")
val menu = ColoredTextPreviewMenu(translate("preview.chat"), ChatPreviewImage("\n"), listOf(textArea))
menu.image.flows = generateFlowList(textArea, menu.image as ChatPreviewImage)
textArea.textProperty().addListener {_ ->
menu.image.flows = generateFlowList(textArea, menu.image)
Expand Down
Expand Up @@ -24,6 +24,7 @@ import org.chorusmc.chorus.nodes.popup.LocalTextPopup
import org.chorusmc.chorus.util.colorPrefix
import org.chorusmc.chorus.util.makeFormal
import org.chorusmc.chorus.util.toFlowList
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -39,13 +40,13 @@ class GUIPreview : DropMenuAction() {
when {
area.selectedText.startsWith(colorPrefix) -> area.selectedText
area.selection.length > 0 -> colorPrefix + "8" + area.selectedText
else -> colorPrefix + "8GUI"
else -> colorPrefix + "8" + translate("preview.gui.title_default")
}
)
textfield.promptText = "Title"
textfield.promptText = translate("preview.gui.title_prompt")
val rows = Spinner<Int>(1, 6, if(grid == null) 1 else grid!!.rows)
val image = GUIPreviewImage(textfield.text, rows.value)
val button = Button("Clear")
val button = Button(translate("preview.gui.clear"))
button.setOnAction {
grid!!.members.forEach {it.clear()}
grid = Grid(textfield)
Expand All @@ -57,7 +58,7 @@ class GUIPreview : DropMenuAction() {
grid = Grid(textfield)
}
updateMembers(grid!!, rows.value, image)
val menu = ColoredTextPreviewMenu("GUI preview", image, listOf(textfield, rows, button))
val menu = ColoredTextPreviewMenu(translate("preview.gui"), image, listOf(textfield, rows, button))
textfield.textProperty().addListener {_ ->
menu.image.flows = listOf(ChatParser(textfield.text, true, 32).toTextFlow(false)).toFlowList()
updateMembers(grid!!, rows.value, image)
Expand Down Expand Up @@ -192,7 +193,7 @@ private class GridMember(private val n: Int, private val x: Int, private val y:
}

private fun updatePopupText(popup: LocalTextPopup) {
popup.text = "Slot: $n, X: $x, Y: $y${if(item != null) ", item: ${item!!.name}:$meta" else ""}"
popup.text = "${translate("preview.gui.slot")}: $n, X: $x, Y: $y${if(item != null) ", ${translate("preview.gui.item")}: ${item!!.name}:$meta" else ""}"
}

val image: ImageView?
Expand Down
Expand Up @@ -11,6 +11,7 @@ import org.chorusmc.chorus.menus.coloredtextpreview.previews.LorePreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import org.chorusmc.chorus.util.toFlowList
import org.chorusmc.chorus.util.translate
import org.chorusmc.chorus.util.withStyleClass

/**
Expand All @@ -19,7 +20,8 @@ import org.chorusmc.chorus.util.withStyleClass
class LorePreview : DropMenuAction() {

override fun onAction(area: EditorArea, x: Double, y: Double) {
val title = TextField("Item")
val title = TextField(translate("preview.lore.title_default"))
title.promptText = translate("preview.lore.title_prompt")
val textArea = TextArea(area.selectedText)
textArea.isCache = false
WaitingTimer().start({
Expand All @@ -28,9 +30,9 @@ class LorePreview : DropMenuAction() {
scrollpane.childrenUnmodifiable.forEach {it.isCache = false}
}, Duration(500.0))
textArea.prefHeight = 80.0
textArea.promptText = "Lore"
textArea.promptText = translate("preview.lore.lore_prompt")
val image = LorePreviewImage(title.text, area.selectedText)
val menu = ColoredTextPreviewMenu("Lore preview", image, listOf(title, textArea))
val menu = ColoredTextPreviewMenu(translate("preview.lore"), image, listOf(title, textArea))
val background = image.background
background.width = 450.0
background.height = image.flows.size * 21.0 + 18
Expand Down
Expand Up @@ -6,20 +6,21 @@ import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.MotdPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import org.chorusmc.chorus.util.translate

/**
* @author Gio
*/
class MOTDPreview : DropMenuAction() {

override fun onAction(area: EditorArea, x: Double, y: Double) {
val title = TextField("Minecraft Server")
val title = TextField(translate("preview.motd.title_default"))
val first = TextField(area.selectedText)
val second = TextField()
title.promptText = "Title"
first.promptText = "First"
second.promptText = "Second"
val menu = ColoredTextPreviewMenu("MOTD preview", MotdPreviewImage(title.text, first.text), listOf(title, first, second))
title.promptText = translate("preview.motd.title_prompt")
first.promptText = translate("preview.motd.first_prompt")
second.promptText = translate("preview.motd.second_prompt")
val menu = ColoredTextPreviewMenu(translate("preview.motd"), MotdPreviewImage(title.text, first.text), listOf(title, first, second))
title.textProperty().addListener {_ ->
menu.image.flows[0] = ChatParser(title.text, true).toTextFlow(false)
}
Expand Down
@@ -1,11 +1,12 @@
package org.chorusmc.chorus.menus.drop.actions.previews

import javafx.scene.control.TextField
import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.MobBarPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import javafx.scene.control.TextField
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -14,8 +15,8 @@ class MobBarPreview : DropMenuAction() {

override fun onAction(area: EditorArea, x: Double, y: Double) {
val textfield = TextField(area.selectedText)
textfield.promptText = "Text"
val menu = ColoredTextPreviewMenu("Mob bar preview", MobBarPreviewImage(area.selectedText), listOf(textfield))
textfield.promptText = translate("preview.mobbar.text_prompt")
val menu = ColoredTextPreviewMenu(translate("preview.mobbar"), MobBarPreviewImage(area.selectedText), listOf(textfield))
textfield.textProperty().addListener {_ ->
menu.image.flows[0] = ChatParser(textfield.text, true).toTextFlow()
}
Expand Down
@@ -1,25 +1,27 @@
package org.chorusmc.chorus.menus.drop.actions.previews

import eu.iamgio.libfx.timing.WaitingTimer
import javafx.scene.control.ScrollPane
import javafx.scene.control.TextArea
import javafx.scene.control.TextField
import javafx.util.Duration
import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.ScoreboardPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import org.chorusmc.chorus.util.toFlowList
import org.chorusmc.chorus.util.translate
import org.chorusmc.chorus.util.withStyleClass
import eu.iamgio.libfx.timing.WaitingTimer
import javafx.scene.control.ScrollPane
import javafx.scene.control.TextArea
import javafx.scene.control.TextField
import javafx.util.Duration

/**
* @author Gio
*/
class ScoreboardPreview : DropMenuAction() {

override fun onAction(area: EditorArea, x: Double, y: Double) {
val title = TextField("Scoreboard")
val title = TextField(translate("preview.scoreboard.title_default"))
title.promptText = translate("preview.scoreboard.title_prompt")
val textArea = TextArea(area.selectedText)
textArea.isCache = false
WaitingTimer().start({
Expand All @@ -28,8 +30,8 @@ class ScoreboardPreview : DropMenuAction() {
scrollpane.childrenUnmodifiable.forEach {it.isCache = false}
}, Duration(500.0))
textArea.prefHeight = 80.0
textArea.promptText = "Text"
val menu = ColoredTextPreviewMenu("Scoreboard preview", ScoreboardPreviewImage(title.text, area.selectedText), listOf(title, textArea))
textArea.promptText = translate("preview.scoreboard.lines_prompt")
val menu = ColoredTextPreviewMenu(translate("preview.scoreboard"), ScoreboardPreviewImage(title.text, area.selectedText), listOf(title, textArea))
title.textProperty().addListener {_ ->
menu.image.flows[0] = ChatParser(title.text, true).toTextFlow().withStyleClass("minecraft-scoreboard-title-preview-flow")
}
Expand Down
Expand Up @@ -7,6 +7,7 @@ import org.chorusmc.chorus.menus.coloredtextpreview.previews.SignPreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import org.chorusmc.chorus.util.colorPrefix
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -23,10 +24,10 @@ class SignPreview : DropMenuAction() {
else -> colorPrefix + "0" + area.selectedText
}
)
textfield.promptText = "Line ${it + 1}"
textfield.promptText = translate("preview.sign.line_prompt", (it + 1).toString())
textfields += textfield
}
val menu = ColoredTextPreviewMenu("Sign preview", SignPreviewImage(textfields[0].text), textfields)
val menu = ColoredTextPreviewMenu(translate("preview.sign"), SignPreviewImage(textfields[0].text), textfields)
textfields.forEachIndexed { index, textfield ->
textfield.textProperty().addListener {_ ->
menu.image.flows[index] = ChatParser(textfield.text, true).toTextFlow()
Expand Down
@@ -1,11 +1,12 @@
package org.chorusmc.chorus.menus.drop.actions.previews

import javafx.scene.control.TextField
import org.chorusmc.chorus.editor.EditorArea
import org.chorusmc.chorus.menus.coloredtextpreview.ColoredTextPreviewMenu
import org.chorusmc.chorus.menus.coloredtextpreview.previews.TitlePreviewImage
import org.chorusmc.chorus.menus.drop.actions.DropMenuAction
import org.chorusmc.chorus.minecraft.chat.ChatParser
import javafx.scene.control.TextField
import org.chorusmc.chorus.util.translate

/**
* @author Gio
Expand All @@ -15,9 +16,9 @@ class TitlePreview : DropMenuAction() {
override fun onAction(area: EditorArea, x: Double, y: Double) {
val title = TextField(area.selectedText)
val subtitle = TextField()
title.promptText = "Title"
subtitle.promptText = "Subtitle"
val menu = ColoredTextPreviewMenu("Title preview", TitlePreviewImage(area.selectedText), listOf(title, subtitle))
title.promptText = translate("preview.title.title_prompt")
subtitle.promptText = translate("preview.title.subtitle_prompt")
val menu = ColoredTextPreviewMenu(translate("preview.title"), TitlePreviewImage(area.selectedText), listOf(title, subtitle))
title.textProperty().addListener {_ ->
menu.image.flows[0] = ChatParser(title.text, true).toTextFlow()
}
Expand Down

0 comments on commit df4cca7

Please sign in to comment.