Giter VIP home page Giter VIP logo

Comments (21)

Tonnanto avatar Tonnanto commented on May 26, 2024 1

@paperrain the localisation of BasicQuest has been improved. Quests will be fully translatable in the next update.
Some properties containing the titles of quests as well as some unique plural forms have been added to the localisation files.

If you can find the time to update the Spanish localisation file I would be very thankful! <3

For information on how plural forms of Minecraft items can be supported, have a look [here].(https://github.com/Tonnanto/BasicQuests/blob/main/.github/contributing.md).

from basicquests.

paperrain avatar paperrain commented on May 26, 2024 1

@paperrain the localisation of BasicQuest has been improved. Quests will be fully translatable in the next update. Some properties containing the titles of quests as well as some unique plural forms have been added to the localisation files.

If you can find the time to update the Spanish localisation file I would be very thankful! <3

For information on how plural forms of Minecraft items can be supported, have a look [here].(https://github.com/Tonnanto/BasicQuests/blob/main/.github/contributing.md).

I'll update it as soon as I can, thanks

from basicquests.

paperrain avatar paperrain commented on May 26, 2024 1

@paperrain the localisation of BasicQuest has been improved. Quests will be fully translatable in the next update. Some properties containing the titles of quests as well as some unique plural forms have been added to the localisation files.

If you can find the time to update the Spanish localisation file I would be very thankful! <3

For information on how plural forms of Minecraft items can be supported, have a look [here].(https://github.com/Tonnanto/BasicQuests/blob/main/.github/contributing.md).

Updated @Tonnanto , just need to check if everything is correct when I test it.

# {0} - player name, {1} - amount
log.playerReceivedRewards = ¡{0} recibiendo {1, number} recompensas de misiones!
log.questSkipsReset = Se han restablecido las misiones.

quest.singular = Misión
quest.plural = Misiones
skip.none = skips
skip.singular = skip
skip.plural = skips

permissions.commandNotAllowed = No puedes utilizar este comando.
permissions.actionNotAllowed = No puedes hacer eso.

# {0} - command usage
commands.usage = Uso: {0}

commands.questAlreadyCompleted = Ya has completado esta misión.
commands.questAlreadySkipped = Ya has saltado esta misión.
# {0} - player name
commands.playerNotFound = El jugador {0} no fue encontrado o no está conectado.
commands.questPlayerNotFound = No se ha podido localizar la instancia de QuestPlayer - Se recomienda recargar el servidor
commands.clickQuestToComplete = Haz clic en la misión que quieres completar.
commands.clickQuestToSkip = Haga clic en la misión que desea omitir.
commands.clickToCompleteTooltip = Haz clic para completar
commands.clickToSkipTooltip = Haz clic para omitirla
# {0} - player name
commands.clickQuestToCompleteForOther = Haz clic en la misión que quieres completar para {0}.
# {0} - player name
commands.clickQuestTSkipForOther = Haga clic en la misión que desea omitir para {0}.

# {0} - quest index
player.questAtIndexNotFound = No se ha encontrado ninguna misión en el índice {0}.
# {0} - quest index
player.questAtIndexCompleted = La misión {0} ha sido completada.
# {0} - quest index
player.questAtIndexSkipped = La misión {0} ha sido omitida.
# {0} - player name, {1} - quest index
player.otherPlayersQuestAtIndexCompleted = La misión de {0} {1} ha sido completada.
# {0} - player name, {1} - quest index
player.otherPlayersQuestAtIndexSkipped = {0} {1}. La misión ha sido omitida.
# {0} - quest.singular or quest.plural
player.newQuestReceived = Nueva {0} recibida
# {0} - formatted duration
player.noSkipsLeftInfo = No puedes omitir más misiones. - Se reinician en {0}
# {0} - amount, {1} - skip.singular or skip.plural
player.skipsLeftInfo = {0, number} {1} restante para hoy.

quests.collectReward = ¡Recoge la recompensa!
quests.questCompleted = ¡Misión completada!
quests.questProgress = ¡Progreso de la misión!
# {0} - player name
quests.completionBroadcast = {0} ¡Ha completado una misión!
quests.completed = ¡Completada!
quests.reward = Recompensa
quests.clickToCollectRewardTooltip = Haz clic para recibir todas las recompensas pendientes
# {0} - command
quests.receiveRewardInfo = ¡Haz clic arriba o usa {0} para recibir tu recompensa!
quests.noQuestsFound = ¡No se han encontrado misiones!
quests.yourQuests = Tus misiones
quests.questsAndRewards = Tus misiones y recompensas
quests.questsHaveBeenReset = Tus misiones han sido restablecidas.
# {0} - amount
quests.left = {0} restantes

rewards.showRewards = Mostrar recompensas
rewards.clickToShowRewardsTooltip = Haz clic para mostrar las recompensas
rewards.rewardInventoryTitle = ¡Recompensa!
# {0} - formatted amount
rewards.moneyRewardReceived = Se ha añadido {0} a tu cuenta.
# {0} - amount
rewards.xpRewardReceived = Has recibido {0} XP.
rewards.itemRewardReceived = Abriendo innventario de recompensas...
rewards.noRewardAvailable = ¡No hay recompensas disponibles!
# {0} - amount
rewards.more = + {0} más..


# The following properties

# {0} - amount, {1} - material
quest.breakBlock.plural = Rompe {0} {1}s
# {0} - material
quest.breakBlock.singular = Rompe 1 {0}

# {0} - amount, {1} - material
quest.chopWood.plural = Corta {0} {1}s
# {0} - amount
quest.chopWood.any.plural = Corta {0} troncos

# {0} - material
quest.chopWood.singular = Corta 1 {0}
quest.chopWood.any.singular = Cortar 1 tronco

# {0} - amount, {1} - material, {2} - enchantment, {3} - level
quest.enchantItem.plural = Encanta un/a {0} {1}s con {2} {3}+
# {0} - amount, {1} - material, {2} - enchantment
quest.enchantItem.plural.withoutLevel = Encanta un/a {0} {1}s con {2}

# {0} - material, {1} - enchantment, {2} - level
quest.enchantItem.singular = Encanta un/a {0} con {1} {2}+
# {0} - material, {1} - enchantment
quest.enchantItem.singular.withoutLevel = Encanta un/a {0} con {1}

# {0} - amount, {1} - material
quest.enchantItem.any.plural = Encanta {0} {1}s
# {0} - material
quest.enchantItem.any.singular = Encanta un/a {0}

# {0} - amount, {1} - entity
quest.killEntity.plural = Mata {0} {1}
# {0} - entity
quest.killEntity.singular = Mata 1 {0}

# {0} - structure
quest.findStructure = Busca {0}

# Localized structure names
# Most languages can be found on the wiki: https://minecraft.fandom.com/
quest.findStructure.structure.village = una Villa
quest.findStructure.structure.mineshaft = una Mineshaft
quest.findStructure.structure.fortress = una Fortaleza del Nether
quest.findStructure.structure.stronghold = una Fortaleza
quest.findStructure.structure.jungle_pyramid = una Pirámide de la selva
quest.findStructure.structure.ocean_ruin = una Ruina oceánica
quest.findStructure.structure.desert_pyramid = una Pirámide del desierto
quest.findStructure.structure.igloo = un Iglú
quest.findStructure.structure.swamp_hut = una Cabaña del pantano
quest.findStructure.structure.monument = un Monumento oceánico
quest.findStructure.structure.end_city = una Ciudad del End
quest.findStructure.structure.mansion = una Mansión del bosque
quest.findStructure.structure.buried_treasure = un Tesoro enterrado
quest.findStructure.structure.shipwreck = un Barco naufragado
quest.findStructure.structure.pillager_outpost = un Puesto de control de saqueadores
quest.findStructure.structure.ruined_portal = un Portal en ruinas
quest.findStructure.structure.bastion_remnant = un Remanente del bastión
quest.findStructure.structure.ancient_city = una Ciudad antigua

# {0} - goal
quest.gainLevel.plural = Sube de nivel {0} veces
quest.gainLevel.singular = Sube de nivel 1 vez

# {0} - amount, {1} - material
quest.harvestBlock.plural = Cosecha {0} {1}
# {0} - material
quest.harvestBlock.singular = Cosecha 1 {0}

# {0} - amount, {1} - material
quest.mineBlock.plural = Mina {0} {1}
# {0} - material
quest.mineBlock.singular = Mina 1 {0}

# {0} - goal
quest.reachLevel = Alcanza el nivel {0}

# {0} - villager type, {1} - amount
quest.villagerTrade.plural = Comercia con un {0} {1} veces
# {0} - villager type
quest.villagerTrade.singular = Comercia con un {0} 1 vez

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Awesome! Thanks a lot :)
Will be included in the next update

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

You are a hero! 😃
I added your file and built the plugin. Feel free to test 👍🏼
BasicQuests-0.3.2-SNAPSHOT.jar.zip

from basicquests.

paperrain avatar paperrain commented on May 26, 2024

EDIT: Nevermind, I'm stupid (testing on old version of my server)

The translation looks good, if I see anything I will edit it and I will notify you.

The only thing is that from what I saw, this should use the correct language, now there is a mixture of Spanish and English because it doesn't download the Spanish language.

Note: Don't look at the edit history of this message. LOL

Error onload:

Error occurred while enabling BasicQuests v0.3.2 (Is it up to date?)
java.lang.RuntimeException: THERE IS NO LOCALE NAMED es
	at de.stamme.basicquests.util.L10n.init(L10n.java:139) ~[?:?]
	at de.stamme.basicquests.Main.onEnable(Main.java:88) ~[?:?]
	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[spigot-api-1.19.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:342) ~[spigot-api-1.19.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-api-1.19.1-R0.1-SNAPSHOT.jar:?]
	at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugin(CraftServer.java:523) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugins(CraftServer.java:437) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:584) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:403) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:255) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:968) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:293) ~[spigot-1.19.1-R0.1-SNAPSHOT.jar:3560-Spigot-2183145-8f36472]
	at java.lang.Thread.run(Thread.java:833) [?:?]

It's normal that doesn't show any reward?
imagen
imagen

And you can skip completed missions
imagen

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

The error on load should be fixed by using "es_es" as a locale for Minecraft items. Like so:

# ...
locale: es

# ...
minecraft-items-locale: es_es

Usually rewards should be displayed.
The plugin did not manage to download the correct Minecraft localisation file, which is why the rewards cannot be displayed correctly. Adjusting the locale like above should fix everything :)

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Besides that I should display the default English rewards if the localised ones could not be loaded :)
Also I will make more clear on how the locales need to be formatted.
Thanks for your effort!

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

I just realised that it is possible that your config.yml file did not update with the new properties, since the plugin version has not changed.

If that is the case you should delete the config.yml to have it regenerated. Or use the config file here.

from basicquests.

paperrain avatar paperrain commented on May 26, 2024

I just realised that it is possible that your config.yml file did not update with the new properties, since the plugin version has not changed.

If that is the case you should delete the config.yml to have it regenerated. Or use the config file here.

Yes, my bad forgot to update the config. Perfect now! It was necessary to regenerate everything

imagen

It seems that everything is well translated, if I see any mistakes I will let you know.
I have fixed the plural of a few things that I saw wrong

# {0} - player name, {1} - amount
log.playerReceivedRewards = ¡{0} recibiendo {1, number} recompensas de misiones!
log.questSkipsReset = Se han restablecido las misiones.

quest.singular = Misión
quest.plural = Misiones
skip.none = skips
skip.singular = skip
skip.plural = skips

permissions.commandNotAllowed = No puedes utilizar este comando.
permissions.actionNotAllowed = No puedes hacer eso.

# {0} - command usage
commands.usage = Uso: {0}

commands.questAlreadyCompleted = Ya has completado esta misión.
commands.questAlreadySkipped = Ya has saltado esta misión.
# {0} - player name
commands.playerNotFound = El jugador {0} no fue encontrado o no está conectado.
commands.questPlayerNotFound = No se ha podido localizar la instancia de QuestPlayer - Se recomienda recargar el servidor
commands.clickQuestToComplete = Haz clic en la misión que quieres completar.
commands.clickQuestToSkip = Haga clic en la misión que desea omitir.
commands.clickToCompleteTooltip = Haz clic para completar
commands.clickToSkipTooltip = Haz clic para omitirla
# {0} - player name
commands.clickQuestToCompleteForOther = Haz clic en la misión que quieres completar para {0}.
# {0} - player name
commands.clickQuestTSkipForOther = Haga clic en la misión que desea omitir para {0}.

# {0} - quest index
player.questAtIndexNotFound = No se ha encontrado ninguna misión en el índice {0}.
# {0} - quest index
player.questAtIndexCompleted = La misión {0} ha sido completada.
# {0} - quest index
player.questAtIndexSkipped = La misión {0} ha sido omitida.
# {0} - player name, {1} - quest index
player.otherPlayersQuestAtIndexCompleted = La misión de {0} {1} ha sido completada.
# {0} - player name, {1} - quest index
player.otherPlayersQuestAtIndexSkipped = {0} {1}. La misión ha sido omitida.
# {0} - quest.singular or quest.plural
player.newQuestReceived = Nueva {0} recibida
# {0} - formatted duration
player.noSkipsLeftInfo = No puedes omitir más misiones. - Se reinician en {0}
# {0} - amount, {1} - skip.singular or skip.plural
player.skipsLeftInfo = {0, number} {1} restante para hoy.

quests.collectReward = ¡Recoge la recompensa!
quests.questCompleted = ¡Misión completada!
quests.questProgress = ¡Progreso de la misión!
# {0} - player name
quests.completionBroadcast = {0} ¡Ha completado una misión!
quests.completed = ¡Completada!
quests.reward = Recompensa
quests.clickToCollectRewardTooltip = Haz clic para recibir todas las recompensas pendientes
# {0} - command
quests.receiveRewardInfo = ¡Haz clic arriba o usa {0} para recibir tu recompensa!
quests.noQuestsFound = ¡No se han encontrado misiones!
quests.yourQuests = Tus misiones
quests.questsAndRewards = Tus misiones y recompensas
quests.questsHaveBeenReset = Tus misiones han sido restablecidas.
# {0} - amount
quests.left = {0} restantes

rewards.showRewards = Mostrar recompensas
rewards.clickToShowRewardsTooltip = Haz clic para mostrar las recompensas
rewards.rewardInventoryTitle = ¡Recompensa!
# {0} - formatted amount
rewards.moneyRewardReceived = Se ha añadido {0} a tu cuenta.
# {0} - amount
rewards.xpRewardReceived = Has recibido {0} XP.
rewards.itemRewardReceived = Abriendo innventario de recompensas...
rewards.noRewardAvailable = ¡No hay recompensas disponibles!
# {0} - amount
rewards.more = + {0} más..


# Quest Titles:

# {0} - amount, {1} - material
quest.breakBlock.plural = Rompe {0} {1}s
# {0} - material
quest.breakBlock.singular = Rompe 1 {0}

# {0} - amount, {1} - material
quest.chopWood.plural = Corta {0} {1}s
# {0} - amount
quest.chopWood.any.plural = Corta {0} troncos

# {0} - material
quest.chopWood.singular = Corta 1 {0}
quest.chopWood.any.singular = Cortar 1 tronco

# {0} - amount, {1} - material, {2} - enchantment, {3} - level
quest.enchantItem.plural = Encanta un/a {0} {1}s con {2} {3}+
# {0} - amount, {1} - material, {2} - enchantment
quest.enchantItem.plural.withoutLevel = Encanta un/a {0} {1}s con {2}

# {0} - material, {1} - enchantment, {2} - level
quest.enchantItem.singular = Encanta un/a {0} con {1} {2}+
# {0} - material, {1} - enchantment
quest.enchantItem.singular.withoutLevel = Encanta un/a {0} con {1}

# {0} - amount, {1} - material
quest.enchantItem.any.plural = Encanta {0} {1}s
# {0} - material
quest.enchantItem.any.singular = Encanta un/a {0}

# {0} - amount, {1} - entity
quest.killEntity.plural = Mata {0} {1}s
# {0} - entity
quest.killEntity.singular = Mata 1 {0}

# {0} - structure
quest.findStructure = Busca {0}

# Localized structure names
# Most languages can be found on the wiki: https://minecraft.fandom.com/
quest.findStructure.structure.village = una Villa
quest.findStructure.structure.mineshaft = una Mineshaft
quest.findStructure.structure.fortress = una Fortaleza del Nether
quest.findStructure.structure.stronghold = una Fortaleza
quest.findStructure.structure.jungle_pyramid = una Pirámide de la selva
quest.findStructure.structure.ocean_ruin = una Ruina oceánica
quest.findStructure.structure.desert_pyramid = una Pirámide del desierto
quest.findStructure.structure.igloo = un Iglú
quest.findStructure.structure.swamp_hut = una Cabaña del pantano
quest.findStructure.structure.monument = un Monumento oceánico
quest.findStructure.structure.end_city = una Ciudad del End
quest.findStructure.structure.mansion = una Mansión del bosque
quest.findStructure.structure.buried_treasure = un Tesoro enterrado
quest.findStructure.structure.shipwreck = un Barco naufragado
quest.findStructure.structure.pillager_outpost = un Puesto de control de saqueadores
quest.findStructure.structure.ruined_portal = un Portal en ruinas
quest.findStructure.structure.bastion_remnant = un Remanente del bastión
quest.findStructure.structure.ancient_city = una Ciudad antigua

# {0} - goal
quest.gainLevel.plural = Sube de nivel {0} veces
quest.gainLevel.singular = Sube de nivel 1 vez

# {0} - amount, {1} - material
quest.harvestBlock.plural = Cosecha {0} {1}s
# {0} - material
quest.harvestBlock.singular = Cosecha 1 {0}

# {0} - amount, {1} - material
quest.mineBlock.plural = Mina {0} {1}s
# {0} - material
quest.mineBlock.singular = Mina 1 {0}

# {0} - goal
quest.reachLevel = Alcanza el nivel {0}

# {0} - villager type, {1} - amount
quest.villagerTrade.plural = Comercia con un {0} {1} veces
# {0} - villager type
quest.villagerTrade.singular = Comercia con un {0} 1 vez

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Great! Spanish players will be thankful :D

I will close the issue for now. Let me know if there is anything you want to add or change.
You could also add pull requests if you want future contributions to appear on your profile ;)

Thanks a lot <3

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Hello again ;)

BasicQuests has been getting a major overhaul of everything message related.
Part of this was moving all the messages from .properties files to .yaml files living in the plugin folder.
The next version of the plugin will allow admins to completely customise and format all messages within the plugin.

But I still need to migrate the Spanish translation to a .ymlfile. Also, some texts and phrases have been added or changed.

No rush on this one but I would greatly appreciate if you could help me out again <3
Here is the english messages_en.yml file, which can be used as a starting point.
A spanish messages_es.yml file exists already but it is outdated and incomplete.
You would have to use the english one as a template, especially when it comes to formatting.
Everything in the item-pluralsections is completely optional any only needs to be added if the language requires it.

If there are any questions about the placeholders or formatting of messages feel free to ask! There is a lot more going on than in the recent localization files.

The next version will bring some great improvements to the plugin :)

You're a hero

from basicquests.

paperrain avatar paperrain commented on May 26, 2024

Hello again ;)

BasicQuests has been getting a major overhaul of everything message related. Part of this was moving all the messages from .properties files to .yaml files living in the plugin folder. The next version of the plugin will allow admins to completely customise and format all messages within the plugin.

But I still need to migrate the Spanish translation to a .ymlfile. Also, some texts and phrases have been added or changed.

No rush on this one but I would greatly appreciate if you could help me out again <3 Here is the english messages_en.yml file, which can be used as a starting point. A spanish messages_es.yml file exists already but it is outdated and incomplete. You would have to use the english one as a template, especially when it comes to formatting. Everything in the item-pluralsections is completely optional any only needs to be added if the language requires it.

If there are any questions about the placeholders or formatting of messages feel free to ask! There is a lot more going on than in the recent localization files.

The next version will bring some great improvements to the plugin :)

You're a hero

Hello, I translated all from messages_en.yml
Here you have 😏

generic:
    prefix: "&6Misiones &8>&f "
    usage: "Uso: {0}"
    unknown-command: "El comando &6{0}&f no existe."
    no-permission: "No tienes &6permisos&f para hacer eso."
    player-not-found: "No se ha podido encontrar al jugador &6{0}."
    skip:
        none: "skips"
        singular: "skip"
        plural: "skips"
    quest:
        singular: "Misión"
        plural: "Misiones"
commands:
    skip:
        header: "&6&m+&8&m                     &6 Saltar misión &8&m                     &6&m+"
        header-other: "&6&m+&8&m                     &6 Saltar misión &8&m                     &6&m+"
        footer: "\nHaga clic en la &6misión&f que desea &6saltar&f."
        footer-other: "\nHaga clic en la &6misión&f que desea &6saltar&f para &6{0}&f."
        format: "[&a{0}](hover=&6Haga clic aquí&f para saltar la misión run_command=/quests skip {1}{2} clicked {3})"
        not-found: "La misión &6{0}&f no pudo ser encontrada."
        skipped: "La misión &6{0}&f se ha omitido."
        skipped-other: "&6La misión &6{1}&f del jugador &6{0}&f ha sido omitida."
        already-skipped: 'Ya has "saltado" esta misión.'
        remaining: "Tienes &a{0, number}&f {1} restantes para hoy."
        none: "No te quedan mas &6saltos de misión&f por hoy. El reinicio ocurre en &6{0}&f."
    complete:
        header: "&6&m+&8&m                  &6 Misión completada &8&m                  &6&m+"
        header-other: "&6&m+&8&m                  &6 Misión Completada &8&m                  &6&m+"
        footer: "\nHaga clic en la &6misión&f que desee completar."
        footer-other: "\nHaga clic en la &6misión&f que desee completar para &6{0}&f."
        format: "[&6{0}](hover=&6Haga clic aquí&f para completar la misión run_command=/quests complete {1}{2} clicked {3})"
        success: "La misión &6{0}&f ha sido completada."
        success-other: "La misión &6{1}&f del jugador &6{0}&f ha sido completada."
        already-completed: "Esa misión ya ha sido &6completada&f."
        not-found: "La misión &6{0}&f no pudo ser encontrada."
    reward:
        inventory-title: "&aRecompensas de misión"
        rewards:
            xp: "Has recibido &6{0}&f XP."
            money: "&6{0}&f se ha añadido a tu cuenta."
            item: "Se ha abierto el inventario de &6recompensas&f."
        none: "No hay &6recompensas&f disponibles."
    reset:
        success: "Tus misiones han sido &6restablecidas&f."
        success-self: "Has &6restablecido&f tus misiones."
        success-other: "Has restablecido las misiones de &6{0}"
        success-global: "Has reseteado las misiones &6globalmente&f."
        global: "Las misiones han sido globalmente &6restablecidas&f."
    show:
        header: "&6&m+&8&m                    &6 Misiones activas &8&m                    &6&m+"
        footer: "\n[&6Haga clic aquí&f para mostrar las recompensas.](hover=Haga clic para ver las recompensas run_command=/quests show rewards)"
        header-rewards: "&6&m+&8&m                  &6 Misiones & Recompensas &8&m                  &6&m+"
        none: "No se han encontrado &6misiones&f."
    scoreboard:
        show: "El ScoreBoard de misiones se ha &aACTIVADO&f."
        hide: "El ScoreBoard de misiones se ha  &cDESACTIVADO&f."
        disabled: "El ScoreBoard esta &cdeshabilitado&f."
    reload:
        success: "BasicQuests se ha &6recargado&f correctamente."
quest:
    format: "&7> &e{0} &7(&a{1}&7)"
    rewards:
        header: "\n  &aRecompensa:"
        format: "\n  &f+ {0}"
    progress:
        remaining: "{0} restantes"
        completed: "Completado"
events:
    broadcast:
        quest-complete: "{0} ha completado la misión: &6{1}"
    player:
        new-quest:
            singular: "&6&m+&8&m                     &6 Nueva misión &8&m                     &6&m+"
            plural: "&6&m+&8&m                     &6 Nueva misión &8&m                     &6&m+"
        quest-completed: "&6¡Misión completada!"
        receive-reward: "&6[Clic aquí](hover=&6Clic aquí&f para recibir las recompensas pendientes run_command=/quests reward)&f o escribe &6/quests reward&f para recibir tu recompensa."
    log:
        skips-reset: "Los &6saltos de misión&f han sido restablecidos."
        received-rewards: "&6{0}&f recibió  &6{1, number}&f recompensas de misión."
scoreboard:
    title: "&6&m+&8&m              &6 Misión &8&m              &6&m+"
    more: "&7... &6{0}&7 más líneas"
placeholder:
    more: "&7+ &6{0}&7 más..."
    quest-progress: "&a({0})&r"
quests:
    break-block:
        plural: "Rompe {0} {1}s"
        singular: "Rompe 1 {0}"
    chop-wood:
        any:
            plural: "Corta {0} Troncos"
            singular: "Corta 1 Tronco"
        plural: "Corta {0} {1}s"
        singular: "Corta 1 {0}"
    enchant-item:
        any:
            plural: "Encanta {0} {1}s"
            singular: "Encanta un/a {0}"
        plural:
            generic: "Encanta {0} {1}s con {2} {3}+"
            withoutLevel: "Encanta {0} {1}s con {2}"
        singular:
            generic: "Encanta un/a {0} con {1} {2}+"
            withoutLevel: "Encanta un/a {0} con {1}"
    find-structure:
        generic: "Encuentra {0}"
        structure:
            ancient_city: una Ciudad antigua
            bastion_remnant: un Remanente del bastión
            buried_treasure: un Tesoro enterrado
            desert_pyramid: una Pirámide del desierto
            end_city: una Ciudad del End
            fortress: una Fortaleza del Nether
            igloo: un Iglú
            jungle_pyramid: una Pirámide de la selva
            mansion: una Mansión del bosque
            mineshaft: una Mineshaft
            monument: un Monumento oceánico
            ocean_ruin: una Ruina oceánica
            pillager_outpost: un Puesto de control de saqueadores
            ruined_portal: un Portal en ruinas
            shipwreck: un Barco naufragado
            stronghold: una Fortaleza
            swamp_hut: una Cabaña del pantano
            village: una Villa
    gain-level:
        plural: "Sube de nivel {0} veces"
        singular: "Sube de nivel 1 vez"
    harvest-block:
        plural: "Cosecha {0} {1}"
        singular: "Cosecha 1 {0}"
        item-plural:
            default: "{0}s"
            bamboo: "Bambú"
            cactus: "Cactus"
            cocoa_beans: "Semillas de cacao"
            kelp: "Alga"
            potato: "Patatas"
            sugar_cane: "Caña de Azucar"
            sweet_berries: "Bayas dulces"
            wheat: "Trigo"
    kill-entity:
        plural: "Mata {0} {1}s"
        singular: "Mata 1 {0}"
        item-plural:
            default: "{0}s"
            drowned: "Ahogado"
            enderman: "Endermen"
            sheep: "Oveja"
            witch: "Bruja"
    mine-block:
        plural: "Mina {0} {1}"
        singular: "Mina 1 {0}"
    reach-level: "Alcanza el nivel {0}"
    villager-trade:
        plural: "Comercia con un {0} {1} veces"
        singular: "Comercia con un {0} 1 vez"

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Perfect! Thank you :)
I have noticed that item-plural has been used for the exact same items as in the English file.
Was that intended? I think there will be some errors in the quest names :)

How plurals work:

To create the title of a quest the plugin

  1. First checks if it's plural or singular
  2. if it is plural it uses the plural format and replaces the first placeholder {0} with the amount.
  3. For the second placeholder {1} it will create a plural version of the item name:
    • Does the item have an explicit plural form in the item-plural section? Then use it
    • If not use the default value from the item-plural and put the singular item name in the placeholder
    • if no default exists just use the singular item name.

Examples:

A harvest-block quest with 12 Wheat would be:
"Cosecha 12 Trigo" (plural form has been explicitly set)

A harvest-block quest with 15 Carrots would be:
"Cosecha 15 <singular_carrot_name>s" (s at the end because of default: "{0}s")

And a kill-entity quest with 10 cows would be:
"Mata 10 <singular_cow_name>ss" (one s because of default: "{0}s"the other one because of plural: "Mata {0} {1}s")

Hope that makes sense ^^

Testing:

If you have the time feel free to test around ;)
The cool thing is: You can change all the values in the lang/messages.es.yml file once the plugin has been loaded.
Once you changed the values use /quests reload to apply the changes.

BasicQuests-0.3.2-SNAPSHOT.jar.zip

from basicquests.

paperrain avatar paperrain commented on May 26, 2024

Perfect! Thank you :) I have noticed that item-plural has been used for the exact same items as in the English file. Was that intended? I think there will be some errors in the quest names :)

How plurals work:

To create the title of a quest the plugin

1. First checks if it's plural or singular

2. if it is plural it uses the `plural` format and replaces the first placeholder `{0}` with the amount.

3. For the second placeholder `{1}` it will create a plural version of the item name:
   
   * Does the item have an explicit plural form in the `item-plural` section? Then use it
   * If not use the default value from the `item-plural` and put the singular item name in the placeholder
   * if no default exists just use the singular item name.

Examples:

A harvest-block quest with 12 Wheat would be: "Cosecha 12 Trigo" (plural form has been explicitly set)

A harvest-block quest with 15 Carrots would be: "Cosecha 15 <singular_carrot_name>s" (s at the end because of default: "{0}s")

And a kill-entity quest with 10 cows would be: "Mata 10 <singular_cow_name>ss" (one s because of default: "{0}s"the other one because of plural: "Mata {0} {1}s")

Hope that makes sense ^^

Testing:

If you have the time feel free to test around ;) The cool thing is: You can change all the values in the lang/messages.es.yml file once the plugin has been loaded. Once you changed the values use /quests reload to apply the changes.

BasicQuests-0.3.2-SNAPSHOT.jar.zip

The problem is when it is a phrase instead of a word.

If it is a single word, such as "cow" in Spanish "vaca" the plural goes with an s at the end as in English "cows" in Spanish "vacas" but if it is something like "Oak Log" in Spanish it is "Tronco de Roble", in plural in English "Oak Logs" but in Spanish "Troncos de Roble" the plural goes at the beginning of the word in "Troncos".
imagen

In that case, I think everything should be explicitly translated for mine/chop. I think :P

PD: Sorry is my English is not good

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Okay I think I understand :)

But adding a unique plural form for every item in chop and mine quests is acceptable :)
It's similar with German. Some of the plural forms are very unique and not generalisable.

For Chop Wood Quests it would be:

item-plural:
  acacia_log: "troncos de..."
  birch_log: "troncos de..."
  dark_oak_log: "troncos de..."
  jungle_log: "troncos de..."
  mangrove_log: "troncos de..."
  oak_log: "troncos de..."
  spruce_log: "troncos de..."

and for mine block quests it would be:

item-plural:
  coal_ore: "..."
  iron_ore: "..."
  copper_ore: "..."
  gold_ore: "..."
  diamond_ore: "..."
  emerald_ore: "..."
  lapis_ore: "..."
  redstone_ore: "..."
  nether_quartz_ore: "..."
  nether_gold_ore: "..."
  ancient_debris: "..."

from basicquests.

paperrain avatar paperrain commented on May 26, 2024

You want me to work!!!. Just kidding.

Here you go, fixed and corrected some things. Btw, I love your plugin. I hope you keep updating it for a long time.

generic:
    prefix: "&6Misiones &8>&f "
    usage: "Uso: {0}"
    unknown-command: "El comando &6{0}&f no existe."
    no-permission: "No tienes &6permisos&f para hacer eso."
    player-not-found: "No se ha podido encontrar al jugador &6{0}."
    skip:
        none: "skips"
        singular: "skip"
        plural: "skips"
    quest:
        singular: "Misión"
        plural: "Misiones"
commands:
    skip:
        header: "&6&m+&8&m                     &6 Saltar misión &8&m                     &6&m+"
        header-other: "&6&m+&8&m                     &6 Saltar misión &8&m                     &6&m+"
        footer: "\nHaga clic en la &6misión&f que desea &6saltar&f."
        footer-other: "\nHaga clic en la &6misión&f que desea &6saltar&f para &6{0}&f."
        format: "[&a{0}](hover=&6Haga clic aquí&f para saltar la misión run_command=/quests skip {1}{2} clicked {3})"
        not-found: "La misión &6{0}&f no pudo ser encontrada."
        skipped: "La misión &6{0}&f se ha omitido."
        skipped-other: "&6La misión &6{1}&f del jugador &6{0}&f ha sido omitida."
        already-skipped: 'Ya has "saltado" esta misión.'
        remaining: "Tienes &a{0, number}&f {1} restantes para hoy."
        none: "No te quedan mas &6saltos de misión&f por hoy. El reinicio ocurre en &6{0}&f."
    complete:
        header: "&6&m+&8&m                  &6 Misión completada &8&m                  &6&m+"
        header-other: "&6&m+&8&m                  &6 Misión Completada &8&m                  &6&m+"
        footer: "\nHaga clic en la &6misión&f que desee completar."
        footer-other: "\nHaga clic en la &6misión&f que desee completar para &6{0}&f."
        format: "[&6{0}](hover=&6Haga clic aquí&f para completar la misión run_command=/quests complete {1}{2} clicked {3})"
        success: "La misión &6{0}&f ha sido completada."
        success-other: "La misión &6{1}&f del jugador &6{0}&f ha sido completada."
        already-completed: "Esa misión ya ha sido &6completada&f."
        not-found: "La misión &6{0}&f no pudo ser encontrada."
    reward:
        inventory-title: "&aRecompensas de misión"
        rewards:
            xp: "Has recibido &6{0}&f XP."
            money: "&6{0}&f se ha añadido a tu cuenta."
            item: "Se ha abierto el inventario de &6recompensas&f."
        none: "No hay &6recompensas&f disponibles."
    reset:
        success: "Tus misiones han sido &6restablecidas&f."
        success-self: "Has &6restablecido&f tus misiones."
        success-other: "Has restablecido las misiones de &6{0}"
        success-global: "Has reseteado las misiones &6globalmente&f."
        global: "Las misiones han sido globalmente &6restablecidas&f."
    show:
        header: "&6&m+&8&m                    &6 Misiones activas &8&m                    &6&m+"
        footer: "\n[&6Haga clic aquí&f para mostrar las recompensas.](hover=Haga clic para ver las recompensas run_command=/quests show rewards)"
        header-rewards: "&6&m+&8&m                  &6 Misiones & Recompensas &8&m                  &6&m+"
        none: "No se han encontrado &6misiones&f."
    scoreboard:
        show: "El ScoreBoard de misiones se ha &aACTIVADO&f."
        hide: "El ScoreBoard de misiones se ha  &cDESACTIVADO&f."
        disabled: "El ScoreBoard esta &cdeshabilitado&f."
    reload:
        success: "BasicQuests se ha &6recargado&f correctamente."
quest:
    format: "&7> &e{0} &7(&a{1}&7)"
    rewards:
        header: "\n  &aRecompensa:"
        format: "\n  &f+ {0}"
    progress:
        remaining: "{0} restantes"
        completed: "Completado"
events:
    broadcast:
        quest-complete: "{0} ha completado la misión: &6{1}"
    player:
        new-quest:
            singular: "&6&m+&8&m                     &6 Nueva misión &8&m                     &6&m+"
            plural: "&6&m+&8&m                     &6 Nueva misión &8&m                     &6&m+"
        quest-completed: "&6¡Misión completada!"
        receive-reward: "&6[Clic aquí](hover=&6Clic aquí&f para recibir las recompensas pendientes run_command=/quests reward)&f o escribe &6/quests reward&f para recibir tu recompensa."
    log:
        skips-reset: "Los &6saltos de misión&f han sido restablecidos."
        received-rewards: "&6{0}&f recibió  &6{1, number}&f recompensas de misión."
scoreboard:
    title: "&6&m+&8&m              &6 Misión &8&m              &6&m+"
    more: "&7... &6{0}&7 más líneas"
placeholder:
    more: "&7+ &6{0}&7 más..."
    quest-progress: "&a({0})&r"
quests:
    break-block:
        plural: "Rompe {0} {1}s"
        singular: "Rompe 1 {0}"
    chop-wood:
        any:
            plural: "Corta {0} Troncos"
            singular: "Corta 1 Tronco"
        plural: "Corta {0} {1}s"
        singular: "Corta 1 {0}"
        item-plural:
            acacia_log: "Troncos de Acacia"
            birch_log: "Troncos de Abedul"
            dark_oak_log: "Troncos de Roble Oscuro"
            jungle_log: "Troncos de Jungla"
            mangrove_log: "Troncos de Mangle"
            oak_log: "Troncos de Roble"
            spruce_log: "Troncos de Abeto"
    enchant-item:
        any:
            plural: "Encanta {0} {1}s"
            singular: "Encanta un/a {0}"
        plural:
            generic: "Encanta {0} {1}s con {2} {3}+"
            withoutLevel: "Encanta {0} {1}s con {2}"
        singular:
            generic: "Encanta un/a {0} con {1} {2}+"
            withoutLevel: "Encanta un/a {0} con {1}"
    find-structure:
        generic: "Encuentra {0}"
        structure:
            ancient_city: una Ciudad antigua
            bastion_remnant: un Remanente del bastión
            buried_treasure: un Tesoro enterrado
            desert_pyramid: una Pirámide del desierto
            end_city: una Ciudad del End
            fortress: una Fortaleza del Nether
            igloo: un Iglú
            jungle_pyramid: una Pirámide de la selva
            mansion: una Mansión del bosque
            mineshaft: una Mineshaft
            monument: un Monumento oceánico
            ocean_ruin: una Ruina oceánica
            pillager_outpost: un Puesto de control de saqueadores
            ruined_portal: un Portal en ruinas
            shipwreck: un Barco naufragado
            stronghold: una Fortaleza
            swamp_hut: una Cabaña del pantano
            village: una Villa
    gain-level:
        plural: "Sube de nivel {0} veces"
        singular: "Sube de nivel 1 vez"
    harvest-block:
        plural: "Cosecha {0} {1}"
        singular: "Cosecha 1 {0}"
        item-plural:
            default: "{0}s"
            bamboo: "Bambús"
            cactus: "Cactus"
            cocoa_beans: "Semillas de cacao"
            kelp: "Algas"
            potato: "Patatas"
            sugar_cane: "Caña de Azucar"
            sweet_berries: "Bayas dulces"
            wheat: "Trigos"
    kill-entity:
        plural: "Mata {0} {1}s"
        singular: "Mata 1 {0}"
        item-plural:
            default: "{0}s"
            drowned: "Ahogados"
            enderman: "Endermans"
            sheep: "Ovejas"
            witch: "Brujas"
    mine-block:
        plural: "Mina {0} {1}"
        singular: "Mina 1 {0}"
        item-plural:
            coal_ore: "Menas de Carbón"
            iron_ore: "Menas de Hierro"
            copper_ore: "Menas de Cobre"
            gold_ore: "Menas de Oro"
            diamond_ore: "Menas de Diamante"
            emerald_ore: "Menas de Esmeralda"
            lapis_ore: "Menas de Lapislázuli"
            redstone_ore: "Menas de Redstone"
            nether_quartz_ore: "Menas de Cuarzo"
            nether_gold_ore: "Menas de oro del Nether"
            ancient_debris: "Menas de Escombros Ancestrales"
    reach-level: "Alcanza el nivel {0}"
    villager-trade:
        plural: "Comercia con un {0} {1} veces"
        singular: "Comercia con un {0} 1 vez"

from basicquests.

Tonnanto avatar Tonnanto commented on May 26, 2024

Haha.. I felt bad already because I have been changing so much with the messages and always came back to you :D

Thanks a lot for your work though!!
I appreciate the kind words <3

When you have any ideas, suggestions or questions, don't hesitate to let me know :)
Any kind of feedback is welcome.

from basicquests.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.