mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-10-28 06:20:07 +01:00
parent
6cd77fd7fd
commit
cff7fffe92
@ -8,7 +8,9 @@ package com.djrapitops.plan.system.locale.lang;
|
|||||||
public enum GenericLang implements Lang {
|
public enum GenericLang implements Lang {
|
||||||
YES("Positive", "Yes"),
|
YES("Positive", "Yes"),
|
||||||
NO("Negative", "No"),
|
NO("Negative", "No"),
|
||||||
UNKNOWN("Unknown", "Unknown");
|
UNKNOWN("Unknown", "Unknown"),
|
||||||
|
TODAY("Today", "'Today'"),
|
||||||
|
YESTERDAY("Yesterday", "'Yesterday'");
|
||||||
|
|
||||||
private final String identifier;
|
private final String identifier;
|
||||||
private final String defaultValue;
|
private final String defaultValue;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting;
|
package com.djrapitops.plan.utilities.formatting;
|
||||||
|
|
||||||
import com.djrapitops.plan.data.store.objects.DateHolder;
|
import com.djrapitops.plan.data.store.objects.DateHolder;
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
import com.djrapitops.plan.utilities.formatting.time.*;
|
import com.djrapitops.plan.utilities.formatting.time.*;
|
||||||
|
|
||||||
@ -33,12 +34,12 @@ public class Formatters {
|
|||||||
private final PercentageFormatter percentageFormatter;
|
private final PercentageFormatter percentageFormatter;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public Formatters(PlanConfig config) {
|
public Formatters(PlanConfig config, Locale locale) {
|
||||||
yearLongFormatter = new YearFormatter(config);
|
yearLongFormatter = new YearFormatter(config, locale);
|
||||||
dayLongFormatter = new DayFormatter(config);
|
dayLongFormatter = new DayFormatter(config, locale);
|
||||||
clockLongFormatter = new ClockFormatter(config);
|
clockLongFormatter = new ClockFormatter(config, locale);
|
||||||
secondLongFormatter = new SecondFormatter(config);
|
secondLongFormatter = new SecondFormatter(config, locale);
|
||||||
iso8601NoClockLongFormatter = new ISO8601NoClockFormatter(config);
|
iso8601NoClockLongFormatter = new ISO8601NoClockFormatter(config, locale);
|
||||||
|
|
||||||
yearFormatter = new DateHolderFormatter(yearLongFormatter);
|
yearFormatter = new DateHolderFormatter(yearLongFormatter);
|
||||||
dayFormatter = new DateHolderFormatter(dayLongFormatter);
|
dayFormatter = new DateHolderFormatter(dayLongFormatter);
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting.time;
|
package com.djrapitops.plan.utilities.formatting.time;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.Settings;
|
import com.djrapitops.plan.system.settings.Settings;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formatter for a timestamp that only includes a clock.
|
* Formatter for a timestamp that only includes a clock.
|
||||||
*
|
*
|
||||||
@ -10,8 +12,8 @@ import com.djrapitops.plan.system.settings.config.PlanConfig;
|
|||||||
*/
|
*/
|
||||||
public class ClockFormatter extends DateFormatter {
|
public class ClockFormatter extends DateFormatter {
|
||||||
|
|
||||||
public ClockFormatter(PlanConfig config) {
|
public ClockFormatter(PlanConfig config, Locale locale) {
|
||||||
super(config);
|
super(config, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting.time;
|
package com.djrapitops.plan.utilities.formatting.time;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
|
import com.djrapitops.plan.system.locale.lang.GenericLang;
|
||||||
import com.djrapitops.plan.system.settings.Settings;
|
import com.djrapitops.plan.system.settings.Settings;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
import com.djrapitops.plan.utilities.formatting.Formatter;
|
import com.djrapitops.plan.utilities.formatting.Formatter;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@ -17,9 +18,11 @@ import java.util.concurrent.TimeUnit;
|
|||||||
public abstract class DateFormatter implements Formatter<Long> {
|
public abstract class DateFormatter implements Formatter<Long> {
|
||||||
|
|
||||||
protected final PlanConfig config;
|
protected final PlanConfig config;
|
||||||
|
protected final Locale locale;
|
||||||
|
|
||||||
public DateFormatter(PlanConfig config) {
|
public DateFormatter(PlanConfig config, Locale locale) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
this.locale = locale;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -28,7 +31,9 @@ public abstract class DateFormatter implements Formatter<Long> {
|
|||||||
protected String format(long epochMs, String format) {
|
protected String format(long epochMs, String format) {
|
||||||
boolean useServerTime = config.isTrue(Settings.USE_SERVER_TIME);
|
boolean useServerTime = config.isTrue(Settings.USE_SERVER_TIME);
|
||||||
String locale = config.getString(Settings.LOCALE);
|
String locale = config.getString(Settings.LOCALE);
|
||||||
Locale usedLocale = locale.equalsIgnoreCase("default") ? Locale.ENGLISH : Locale.forLanguageTag(locale);
|
java.util.Locale usedLocale = locale.equalsIgnoreCase("default")
|
||||||
|
? java.util.Locale.ENGLISH
|
||||||
|
: java.util.Locale.forLanguageTag(locale);
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat(format, usedLocale);
|
SimpleDateFormat dateFormat = new SimpleDateFormat(format, usedLocale);
|
||||||
TimeZone timeZone = useServerTime ? TimeZone.getDefault() : TimeZone.getTimeZone("GMT");
|
TimeZone timeZone = useServerTime ? TimeZone.getDefault() : TimeZone.getTimeZone("GMT");
|
||||||
dateFormat.setTimeZone(timeZone);
|
dateFormat.setTimeZone(timeZone);
|
||||||
@ -44,9 +49,9 @@ public abstract class DateFormatter implements Formatter<Long> {
|
|||||||
|
|
||||||
long fromStartOfDay = now % TimeUnit.DAYS.toMillis(1L);
|
long fromStartOfDay = now % TimeUnit.DAYS.toMillis(1L);
|
||||||
if (epochMs > now - fromStartOfDay) {
|
if (epochMs > now - fromStartOfDay) {
|
||||||
format = format.replace(pattern, "'Today'");
|
format = format.replace(pattern, locale.getString(GenericLang.TODAY));
|
||||||
} else if (epochMs > now - TimeUnit.DAYS.toMillis(1L) - fromStartOfDay) {
|
} else if (epochMs > now - TimeUnit.DAYS.toMillis(1L) - fromStartOfDay) {
|
||||||
format = format.replace(pattern, "'Yesterday'");
|
format = format.replace(pattern, locale.getString(GenericLang.YESTERDAY));
|
||||||
} else if (epochMs > now - TimeUnit.DAYS.toMillis(5L)) {
|
} else if (epochMs > now - TimeUnit.DAYS.toMillis(5L)) {
|
||||||
format = format.replace(pattern, "EEEE");
|
format = format.replace(pattern, "EEEE");
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting.time;
|
package com.djrapitops.plan.utilities.formatting.time;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.Settings;
|
import com.djrapitops.plan.system.settings.Settings;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
|
||||||
@ -10,8 +11,8 @@ import com.djrapitops.plan.system.settings.config.PlanConfig;
|
|||||||
*/
|
*/
|
||||||
public class DayFormatter extends DateFormatter {
|
public class DayFormatter extends DateFormatter {
|
||||||
|
|
||||||
public DayFormatter(PlanConfig config) {
|
public DayFormatter(PlanConfig config, Locale locale) {
|
||||||
super(config);
|
super(config, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting.time;
|
package com.djrapitops.plan.utilities.formatting.time;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,8 +10,8 @@ import com.djrapitops.plan.system.settings.config.PlanConfig;
|
|||||||
*/
|
*/
|
||||||
public class ISO8601NoClockFormatter extends DateFormatter {
|
public class ISO8601NoClockFormatter extends DateFormatter {
|
||||||
|
|
||||||
public ISO8601NoClockFormatter(PlanConfig config) {
|
public ISO8601NoClockFormatter(PlanConfig config, Locale locale) {
|
||||||
super(config);
|
super(config, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting.time;
|
package com.djrapitops.plan.utilities.formatting.time;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.Settings;
|
import com.djrapitops.plan.system.settings.Settings;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formatter for timestamp which includes seconds as the smallest entry.
|
* Formatter for timestamp which includes seconds as the smallest entry.
|
||||||
*
|
*
|
||||||
@ -10,8 +12,8 @@ import com.djrapitops.plan.system.settings.config.PlanConfig;
|
|||||||
*/
|
*/
|
||||||
public class SecondFormatter extends DateFormatter {
|
public class SecondFormatter extends DateFormatter {
|
||||||
|
|
||||||
public SecondFormatter(PlanConfig config) {
|
public SecondFormatter(PlanConfig config, Locale locale) {
|
||||||
super(config);
|
super(config, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.djrapitops.plan.utilities.formatting.time;
|
package com.djrapitops.plan.utilities.formatting.time;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
import com.djrapitops.plan.system.settings.Settings;
|
import com.djrapitops.plan.system.settings.Settings;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
|
|
||||||
@ -10,8 +11,8 @@ import com.djrapitops.plan.system.settings.config.PlanConfig;
|
|||||||
*/
|
*/
|
||||||
public class YearFormatter extends DateFormatter {
|
public class YearFormatter extends DateFormatter {
|
||||||
|
|
||||||
public YearFormatter(PlanConfig config) {
|
public YearFormatter(PlanConfig config, Locale locale) {
|
||||||
super(config);
|
super(config, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -312,4 +312,6 @@ WebServer - Notify HTTP User Auth || 网页服务器:已禁用
|
|||||||
WebServer - Notify no Cert file || 网页服务器:未找到证书密钥存储文件:${0}
|
WebServer - Notify no Cert file || 网页服务器:未找到证书密钥存储文件:${0}
|
||||||
WebServer FAIL - Port Bind || 未成功初始化网页服务器。端口(${0})是否被占用?
|
WebServer FAIL - Port Bind || 未成功初始化网页服务器。端口(${0})是否被占用?
|
||||||
WebServer FAIL - SSL Context || 网页服务器:SSL 环境初始化失败。
|
WebServer FAIL - SSL Context || 网页服务器:SSL 环境初始化失败。
|
||||||
WebServer FAIL - Store Load || 网页服务器:SSL 证书载入失败。
|
WebServer FAIL - Store Load || 网页服务器:SSL 证书载入失败。
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Zertifikat KeyStor
|
|||||||
WebServer FAIL - Port Bind || WebServer wurde nicht erfolgreich initalisiert. Ist der Port (${0}) schon benutzt?
|
WebServer FAIL - Port Bind || WebServer wurde nicht erfolgreich initalisiert. Ist der Port (${0}) schon benutzt?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialisierung fehlgeschlagen.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialisierung fehlgeschlagen.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Zertifikat konnte nicht geladen werden.
|
WebServer FAIL - Store Load || WebServer: SSL Zertifikat konnte nicht geladen werden.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -311,3 +311,5 @@ WebServer - Notify no Cert file || Web Palvelin: Sertifikaatti A
|
|||||||
WebServer FAIL - Port Bind || Web Palvelin ei käynnistynyt. Onko portti (${0}) käytössä?
|
WebServer FAIL - Port Bind || Web Palvelin ei käynnistynyt. Onko portti (${0}) käytössä?
|
||||||
WebServer FAIL - SSL Context || Web Palvelin: SSL Kontekstin käynnistys ei onnistunut.
|
WebServer FAIL - SSL Context || Web Palvelin: SSL Kontekstin käynnistys ei onnistunut.
|
||||||
WebServer FAIL - Store Load || Web Palvelin: SSL Sertifikaatin lataus ei onnistunut.
|
WebServer FAIL - Store Load || Web Palvelin: SSL Sertifikaatin lataus ei onnistunut.
|
||||||
|
Yesterday || 'Eilen'
|
||||||
|
Today || 'Tänään'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
@ -312,3 +312,5 @@ WebServer - Notify no Cert file || WebServer: Certificate KeySto
|
|||||||
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
WebServer FAIL - Port Bind || WebServer was not initialized successfully. Is the port (${0}) in use?
|
||||||
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
WebServer FAIL - SSL Context || WebServer: SSL Context Initialization Failed.
|
||||||
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
WebServer FAIL - Store Load || WebServer: SSL Certificate loading Failed.
|
||||||
|
Yesterday || 'Yesterday'
|
||||||
|
Today || 'Today'
|
Loading…
Reference in New Issue
Block a user