[API] I18N - Translate your plugins easier than ever before!
1.4.0Internationalization API for use with CraftBukkit / Spigot
1.4.0latestUpdate to Version 1.4.0: Added support for Minecraft v1.12Jun 21, 2017 This latest release brings with it support for the latest version of Minecraft, version 1.12! Both the i18n-spigot and the i18n-bungeecord modules have been fully tested under the latest stable versions and are ready to be used in your Minecraft v1.12 projects! Furthermore a small fix has been made to the usage message displayed when performing the "/help language" command. It previously read "Syntax error!" but will now display the command's actual usage.1.3.1Update to Version 1.3.1: Fixed error with ConstantLocaleResolverDec 31, 2016 There was an error when using the CONSTANT locale resolver which would always return null as any player's locale. Bug is fixed and the CONSTANT locale resolver should work again just fine!1.3.0Update to Version 1.3.0: Added support for Minecraft v1.8.3+ and Legacy BuildsDec 7, 2016 Taking up a request to add support for Minecraft versions 1.8.(x) here comes support for said versions under the following restrictions: · For Minecraft versions v1.8.3 and above use I18N's regular builds which you can download from the project's GitHub releases page by following the download link of this resource. · For Minecraft versions below v1.8.3 you must clone the project's source code repository yourself and compile it using maven as follows: Code (Text): mvn -Dlegacy-build=true clean install This is due to the fact that these old versions were relocating the Gson dependency, I18N makes use of. JAR files compiled with the legacy-build flag set to true will append '-legacy' to their plugin version numbers. As a side note: the 4.1.0 release of ProtocolLib does not work when using I18N and Spigot version 1.8. Use version 3.6.4 of ProtocolLib instead (the reason being that one of the relocated classes could not be loaded since its constructor's signature has changed in between versions). Enjoy!1.2.0Update to Version 1.2.0: Multiversion supportDec 6, 2016 I18N does now support all Minecraft versions starting from v1.9. It will load the set of interceptors matching the version the server is running at runtime which means that the interceptors for all versions get readily compiled into the release's JAR file which you may download for all target platforms (BungeeCord and Spigot / CraftBukkit) on the project's GitHub releases page (see external download link). This allows me to make API additions more easily by not having to create separate branches of this library for each supported Minecraft version just so that all supported Minecraft versions will have access to the same feature set provided by I18N. Furthermore, this simplifies the whole process of setting up I18N for server owners as well, so it's a win-win-situation, don't you think?1.1.0Update to Version 1.1.0: Compatibility with Minecraft version 1.11Nov 18, 2016 In accordance to the yesterday's release of Spigot for Minecraft v1.11 I have updated I18N to support v1.11 and its protocol as well. There were two packets used by I18N that had slight version differences in them which means you will have to download the appropriate version for your server (either 1.10 or 1.11). Since no other features have been added, the two versions found here on GitHub for v1.10 and v1.11 respectively are functionally equivalent and may be used interchangeably. Stay tuned! And if you have any suggestions feel free to leave them here!1.0.0Update to Version 1.0.0: First stable API releaseAug 1, 2016 There's been a lot of change and even some API breaks with this update. Yet I do think that this update can make up for that as it finally decouples API from implementation and already puts this distinction to its best with the brand-new BungeeCord port. Also: after some weeks have passed and I was able to adjust the API to according to further suggestions the current API will become fixed and should stay the same for quite some time. Alongside this update I also wrote a bunch of guides on the project's GitHub wiki to make the learning curve even steeper, so make sure to check it out: https://github.com/BlackyPaw/I18N/wiki . I do expect some bugs to occur with this update so do not hesitate to contact me if you should encounter any of them!0.7.1-SNAPSHOTUpdate to Version 0.7.1-SNAPSHOT: Fixed chat formatting bug and enhanced TranslationStorageJul 5, 2016 Fixed a bug related to the formatting of chat messages as pointed out in Issue #4 on GitHub and added a new method to TranslationStorage to allow for manually loading translations if the implementation allows to do so. Only for Minecraft versions 1.10 and later.0.7.0-SNAPSHOTUpdate to Version 0.7.0-SNAPSHOT: Compatibility with Minecraft 1.10.2Jul 2, 2016 Updated to Minecraft version 1.10.2. Due to changes in Minecraft's network protocol this version and all of its successors are only compatible with the 1.10[.2] protocol and no longer with the 1.9.x protocol. As there were no changes in I18N's feature set nor its API you may still use I18N on 1.9.x servers by installing version 0.6.0-SNAPSHOT. All plugins depending on I18N will currently work the same on both server versions as long as the correct version of I18N has been installed.0.6.0-SNAPSHOTUpdate to Version 0.6.0-SNAPSHOT: Added support for translated display names of ItemStacksJun 18, 2016 This new version allows you to translate the display names of ItemStacks so that each player will be presented with the localized name of an item when picking it up even after another player with another language has had it before. The usage is as simple as always: Code (Text): ItemStack stack = new ItemStack( Material.IRON_INGOT, 1 ); ItemMeta meta = stack.getItemMeta(); meta.setDisplayName( this.localizer.inject( "stack.ironingot" ) ); stack.setItemMeta( meta ); .SpoilerTarget">Spoiler: en.properties stack.ironingot=Iron Ingot .SpoilerTarget">Spoiler: de.properties stack.ironingot=Eisenbarren There is one exception to this feature, though: Please make sure that an ItemStack that was previously given to a player who is playing in Creative mode will never leave the player's inventory again, be it by putting the item into any container or dropping it. The reason for this is, that Minecraft will re-create item stacks client-side if a player is in Creative mode and will thus overwrite an internal representation of the item stack with one that is already translated into a specific language. This can lead to unexpected behaviour, so make sure that players in Creative mode cannot get rid of translated items or simply avoid using this feature in Creative mode altogether.0.5.1-SNAPSHOTUpdate to Version 0.5.1-SNAPSHOT: Fixed bug related UTF-8 charactersMay 28, 2016 Fixed a bug related to misinterpreted UTF-8 characters in native language names and default translations.0.5.0-SNAPSHOTUpdate to Version 0.5.0-SNAPSHOT: Added PlayerLanguageSettingEventMay 22, 2016 Using the newly introduced PlayerLanguageSettingEvent you can now grab the language any player has set inside his Minecraft client's language settings menu and make good use of it. It works by capturing the SETTINGS packet the vanilla client sends after joining a server and after changing the language inside the respective menu (thanks to Acquized for pointing this out).0.4.0-SNAPSHOTUpdate to Version 0.4.0-SNAPSHOT: Added PlayerSetLanguageEventMay 14, 2016 By listening to the new PlayerSetLanguageEvent you get a chance of getting notified whenever a player has successfully changed his / her language to a new value. This gives you a chance to resend certain components such as scoreboards to the player as players will not see them in their new language until you resend them manually.0.3.1-SNAPSHOTUpdate to Version 0.3.1-SNAPSHOT: Added support for translating signsMay 12, 2016 You can now translate signs just as easily as all other text I18N currently supports. Players will thus see the very same sign differently depending on their respective native languages.0.3.0-SNAPSHOTUpdate to Version 0.3.0-SNAPSHOT: Added support for nested lists and dictionaries in Yaml filesMay 1, 2016 You can now use nested lists and dictionaries inside your .yml translation files. Translation keys will be concatenated using '.'. See the Translation Storages section of the resource description for an example.0.2.1-SNAPSHOTVersion 0.2.1-SNAPSHOT: YamlTranslationStorageApr 30, 2016 Added support for YAML translation files - you can now put your translation into property-like .yml files and load them with the new YamlTranslationStorage which works the exact same way as the PropertyTranslationStorage!0.1.0-SNAPSHOTApr 23, 2016
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta