i18n-api/src/main/java/com/blackypaw/mc/i18n/TranslationStorage.java
/**
	 * Translates a message.
	 * <p>
	 * Given the language to translate into, the translation key of the message to translate
	 * and optionally an array of arguments to be inserted into the translation this method
	 * will attempt to translate a message for the given locale.
	 * <p>
	 * The given arguments will replace special identifiers inside the actual translation.
	 * The first argument will replace {0}, the second one will replace {1} and so on.
	 * Arguments are converted into strings via their {@link Object#toString()} method.
	 * <p>
	 * If the translation fails for some reason, the function will still return a valid string
	 * which will be no longer than 16 characters so that it won't cause any troubles with
	 * mechanisms like scoreboards. The following abbreviations may be returned:
	 * <ol>
	 * <li>ELOCNL - The specified locale has not yet been loaded (will only be returned if lazy load is disabled)</li>
	 * <li>ENOTRANS - There is no translation for the given translation key in the specified locale</li>
	 * </ol>
	 *
	 * @param locale The language to translate into
	 * @param key    The translation key of the message to be translated
	 * @param args   Optional arguments to be inserted into the translation
	 *
	 * @return The translated string
	 */
Translates a message.

Given the language to translate into, the translation key of the message to translate
and optionally an array of arguments to be inserted into the translation this method
will attempt to translate a message for the given locale.

The given arguments will replace special identifiers inside the actual translation.
The first argument will replace {0}, the second one will replace {1} and so on.
Arguments are converted into strings via their  Object#toString() method.

If the translation fails for some reason, the function will still return a valid string
which will be no longer than 16 characters so that it won't cause any troubles with
mechanisms like scoreboards. The following abbreviations may be returned:

ELOCNL - The specified locale has not yet been loaded (will only be returned if lazy load is disabled)
ENOTRANS - There is no translation for the given translation key in the specified locale


@param locale The language to translate into
@param key    The translation key of the message to be translated
@param args   Optional arguments to be inserted into the translation

@return The translated string
Translates a message . Given the language to translate into the translation key of the message to translate and optionally an array of arguments to be inserted into the translation this method will attempt to translate a message for the given locale . The given arguments will replace special identifiers inside the actual translation . The first argument will replace { 0 } the second one will replace { 1 } and so on . Arguments are converted into strings via their Object#toString () method . If the translation fails for some reason the function will still return a valid string which will be no longer than 16 characters so that it won ' t cause any troubles with mechanisms like scoreboards . The following abbreviations may be returned : ELOCNL - The specified locale has not yet been loaded ( will only be returned if lazy load is disabled ) ENOTRANS - There is no translation for the given translation key in the specified locale @param locale The language to translate into @param key The translation key of the message to be translated @param args Optional arguments to be inserted into the translation @return The translated string
public String translate( Locale locale, String key, Object... args ) {
		String translation = this.getRawTranslation( locale, key );
		if ( args.length > 0 ) {
			for ( int i = 0; i < args.length; ++i ) {
				translation = translation.replaceAll( "\\{" + i + "\\}", args[i].toString() );
			}
		}
		return translation;
	}
public String translate ( Locale locale , String key , Object ... args ) { String translation = this . getRawTranslation ( locale , key ) ; if ( args . length > 0 ) { for ( int i = 0 ; i < args . length ; ++ i ) { translation = translation . replaceAll ( "\\{" + i + "\\}" , args [ i ] . toString ( ) ) ; } } return translation ; }
Translates a message.
Translates a message .