Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • Server sided localized messages
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 0
SirWindfield

Server sided localized messages

By SirWindfield, January 14, 2018 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

SirWindfield    0

SirWindfield

SirWindfield    0

  • Tree Puncher
  • SirWindfield
  • Members
  • 0
  • 10 posts
Posted January 14, 2018

I have ported a clientside mod to be server side only. The last thing that does not work is the chat messages that get sent to the client. After googling some time I found out that I18N only works on the client  side. 

Is there some way to load the lang files server side, get the matching locale from the player and then load the key from the matching lang file?

 

Another question that is similar to this one. I tried formatting the text and making it dynamic by including placeholders: "Some string needs {} argument". But that doesn't work. I couldn't find any information on placeholders within the localization framework.

Would someone tell me the right placeholder syntax to make the following call possible? 

new TextComponentTranslation("key", argumentOfTypeString);

 

Thanks for the help,

Wf

  • Quote

Share this post


Link to post
Share on other sites

Abastro    123

Abastro

Abastro    123

  • World Shaper
  • Abastro
  • Forge Modder
  • 123
  • 1075 posts
Posted January 14, 2018
1 hour ago, SirWindfield said:

Is there some way to load the lang files server side

No, the only way you can use will be using server resourcepacks(the one which is only applied when the user allows it). Languages are considered as resources, so you can't modify it with the server-only mod. Also you can't get the server locale.

1 hour ago, SirWindfield said:

Another question that is similar to this one. I tried formatting the text and making it dynamic by including placeholders: "Some string needs {} argument". But that doesn't work. I couldn't find any information on placeholders within the localization framework.

Would someone tell me the right placeholder syntax to make the following call possible? 


new TextComponentTranslation("key", argumentOfTypeString);

 

You need to specify details like {} on lang file.

For the translation component "key", you set something like 'key=the string is {}'.

  • Quote

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Share this post


Link to post
Share on other sites

SirWindfield    0

SirWindfield

SirWindfield    0

  • Tree Puncher
  • SirWindfield
  • Members
  • 0
  • 10 posts
Posted January 14, 2018
28 minutes ago, Abastro said:

No, the only way you can use will be using server resourcepacks(the one which is only applied when the user allows it). Languages are considered as resources, so you can't modify it with the server-only mod. Also you can't get the server locale.

You need to specify details like {} on lang file.

For the translation component "key", you set something like 'key=the string is {}'.

That's what I did. I have written 

key=Some string and some value {}

and then I created a new instance as shown above. I expected that the {} gets replaced by the argumentOfTypeString but that wasn't the case.

I always get this output: "You need the following item to enter {}: {}!"

I can show you the lang file and the code if you want to.

new TextComponentTranslation("chat.message.missing_key", dimensionName, itemName)
chat.message.missing_key=You need the following item to enter {}: {}!

The second one being the lang file and the first one the Java file that sends the player a message using EntityPlayer#sendMessage.

 

Any idea why this is happening?

  • Quote

Share this post


Link to post
Share on other sites

SirWindfield    0

SirWindfield

SirWindfield    0

  • Tree Puncher
  • SirWindfield
  • Members
  • 0
  • 10 posts
Posted January 14, 2018
33 minutes ago, Abastro said:

You need to specify details like {} on lang file.

For the translation component "key", you set something like 'key=the string is {}'.

So there is no way to actually have placeholders within lang files and replace them duriing runtime?

  • Quote

Share this post


Link to post
Share on other sites

Draco18s    2414

Draco18s

Draco18s    2414

  • Reality Controller
  • Draco18s
  • Members
  • 2414
  • 15996 posts
Posted January 14, 2018

https://dzone.com/articles/java-string-format-examples

The translation system runs the result through String.format

  • Quote

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Share this post


Link to post
Share on other sites

Abastro    123

Abastro

Abastro    123

  • World Shaper
  • Abastro
  • Forge Modder
  • 123
  • 1075 posts
Posted January 14, 2018

As Draco said, you can use %s for that. (I didn't know whether '{}' works or not - I always use %s)

In my experience, anything beyond %s doesn't work.

 

And as far as I know it's hard to change lang file on the fly(during runtime). You'll need reflection hackery. Why do you need it?

  • Quote

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 0
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Sad Whale
      Game crashes whenever I try to increase the RAM

      By Sad Whale · Posted just now

      Would you mind explaining where I can find the debug.log
    • diesieben07
      Game crashes whenever I try to increase the RAM

      By diesieben07 · Posted 11 minutes ago

      That's not the debug.log.
    • Sad Whale
      Game crashes whenever I try to increase the RAM

      By Sad Whale · Posted 35 minutes ago

      Hopefully this works, if not let me know. hs_err_pid4708.log
    • diesieben07
      Game crashes whenever I try to increase the RAM

      By diesieben07 · Posted 46 minutes ago

      Post the debug.log.
    • Sad Whale
      Game crashes whenever I try to increase the RAM

      By Sad Whale · Posted 52 minutes ago

      Whenever I try to increase the amount of RAM allocated to Minecraft it crashes with exit code 1. I have the latest Java 64-bit update, I've uninstalled and reinstalled both Minecraft and Java and have tried multiple 1.16.5 Forge versions and none of them will allow me to allocate more than the 2 gigs that it already has allocated.
  • Topics

    • Sad Whale
      4
      Game crashes whenever I try to increase the RAM

      By Sad Whale
      Started 52 minutes ago

    • fluiX
      1
      server wont start

      By fluiX
      Started 1 hour ago

    • Luis_ST
      6
      [1.16.5] Help with custom Event

      By Luis_ST
      Started 5 hours ago

    • hammy3502
      1
      [1.16.4] Fluid Flowing Very Oddly

      By hammy3502
      Started 21 hours ago

    • <Gl33p_0r4nge>
      0
      [1.16.4] Screen Render

      By <Gl33p_0r4nge>
      Started 5 hours ago

  • Who's Online (See full list)

    • Sad Whale
    • diesieben07
    • Loganator711
    • therogueegamer
    • Microcellule
    • lupicus
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • Server sided localized messages
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community