This commit is contained in:
AuroraLS3 2023-05-21 07:26:27 +00:00
parent bbc94effa0
commit 043e9355d9
6 changed files with 165 additions and 153 deletions

View File

@ -62,6 +62,8 @@ Webserver:
Alias: alias Alias: alias
# HTTPS is required for Login. # HTTPS is required for Login.
Disable_authentication: false Disable_authentication: false
# Disable /auth/register endpoint
Disable_registration: false
# Cross-Origin Resource Sharing (Requests from non-Plan web pages) # Cross-Origin Resource Sharing (Requests from non-Plan web pages)
# https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS # https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
CORS: CORS:

View File

@ -63,6 +63,8 @@ Webserver:
Alias: alias Alias: alias
# HTTPS is required for Login. # HTTPS is required for Login.
Disable_authentication: false Disable_authentication: false
# Disable /auth/register endpoint
Disable_registration: false
# Cross-Origin Resource Sharing (Requests from non-Plan web pages) # Cross-Origin Resource Sharing (Requests from non-Plan web pages)
# https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS # https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
CORS: CORS:

View File

@ -237,9 +237,9 @@ html:
new: "New:" new: "New:"
unique: "接続したプレイヤーの総数:" unique: "接続したプレイヤーの総数:"
description: description:
newPlayerRetention: "This value is a prediction based on previous players." newPlayerRetention: "この値は、以前のプレイヤーに基づいた予測です。"
noGameServers: "Some data requires Plan to be installed on game servers." noGameServers: "Some data requires Plan to be installed on game servers."
noGeolocations: "Geolocation gathering needs to be enabled in the config (Accept GeoLite2 EULA)." noGeolocations: "位置情報の収集は設定で有効にする必要があります(GeoLite2のEULAに同意してください)。"
noServerOnlinActivity: "オンラインアクティビティを表示するサーバーがありません" noServerOnlinActivity: "オンラインアクティビティを表示するサーバーがありません"
noServers: "データーベース内に登録されたサーバーが見つかりません" noServers: "データーベース内に登録されたサーバーが見つかりません"
noServersLong: 'It appears that Plan is not installed on any game servers or not connected to the same database. See <a href="https://github.com/plan-player-analytics/Plan/wiki">wiki</a> for Network tutorial.' noServersLong: 'It appears that Plan is not installed on any game servers or not connected to the same database. See <a href="https://github.com/plan-player-analytics/Plan/wiki">wiki</a> for Network tutorial.'
@ -266,35 +266,35 @@ html:
noServersOnline: "リクエストを処理するサーバーがオンラインではありません" noServersOnline: "リクエストを処理するサーバーがオンラインではありません"
playerNotSeen: "プレイヤーはこのサーバーでプレイしていません" playerNotSeen: "プレイヤーはこのサーバーでプレイしていません"
serverNotExported: "Server doesn't exist, its data might not have been exported yet." serverNotExported: "Server doesn't exist, its data might not have been exported yet."
serverNotSeen: "Server doesn't exist" serverNotSeen: "サーバーが存在しません"
generic: generic:
none: "なし" none: "なし"
label: label:
active: "よくログインしている" active: "よくログインしている"
activePlaytime: "Active Playtime" activePlaytime: "アクティブなプレイ時間"
activityIndex: "活動指数" activityIndex: "活動指数"
afk: "離席" afk: "離席"
afkTime: "離席時間" afkTime: "離席時間"
all: "全て" all: "全て"
allTime: "全体" allTime: "全体"
alphabetical: "Alphabetical" alphabetical: "アルファベット順"
apply: "Apply" apply: "適用"
asNumbers: "の情報" asNumbers: "の情報"
average: "Average first session length" average: "平均の初回セッション時間"
averageActivePlaytime: "Average Active Playtime" averageActivePlaytime: "平均アクティブプレイ時間"
averageAfkTime: "Average AFK Time" averageAfkTime: "平均AFK時間"
averageChunks: "Average Chunks" averageChunks: "平均チャンク数"
averageCpuUsage: "Average CPU Usage" averageCpuUsage: "平均CPU使用率"
averageEntities: "Average Entities" averageEntities: "平均エンティティ数"
averageKdr: "平均KDR" averageKdr: "平均KDR"
averageMobKdr: "モブに対してのKDR" averageMobKdr: "モブに対してのKDR"
averagePing: "平均Ping値" averagePing: "平均Ping値"
averagePlayers: "Average Players" averagePlayers: "平均プレイヤー数"
averagePlaytime: "平均プレイ時間" averagePlaytime: "平均プレイ時間"
averageRamUsage: "Average RAM Usage" averageRamUsage: "平均メモリ使用量"
averageServerDowntime: "Average Downtime / Server" averageServerDowntime: "平均ダウンタイム / サーバー"
averageSessionLength: "平均接続時間" averageSessionLength: "平均接続時間"
averageSessions: "Average Sessions" averageSessions: "平均セッション"
averageTps: "平均TPS" averageTps: "平均TPS"
averageTps7days: "Average TPS (7 days)" averageTps7days: "Average TPS (7 days)"
banned: "BAN履歴" banned: "BAN履歴"
@ -306,9 +306,9 @@ html:
country: "国/地域" country: "国/地域"
cpu: "CPU" cpu: "CPU"
cpuRam: "CPUとメモリー" cpuRam: "CPUとメモリー"
cpuUsage: "CPU Usage" cpuUsage: "CPU使用率"
currentPlayerbase: "ログインプレイヤー" currentPlayerbase: "ログインプレイヤー"
currentUptime: "Current Uptime" currentUptime: "現状のアップタイム"
dayByDay: "詳細情報" dayByDay: "詳細情報"
dayOfweek: "曜日" dayOfweek: "曜日"
deadliestWeapon: "最もPvPで使用されている武器" deadliestWeapon: "最もPvPで使用されている武器"
@ -322,14 +322,14 @@ html:
favoriteServer: "お気に入りのサーバー" favoriteServer: "お気に入りのサーバー"
firstSession: "初参加" firstSession: "初参加"
firstSessionLength: firstSessionLength:
average: "Average first session length" average: "平均の初回セッション時間"
median: "Median first session length" median: "初回セッション時間の中央値"
geoProjection: geoProjection:
dropdown: "Select projection" dropdown: "投影法を選ぶ"
equalEarth: "Equal Earth" equalEarth: "イコールアース図法"
mercator: "Mercator" mercator: "メルカトル図法"
miller: "Miller" miller: "ミラー図法"
ortographic: "Ortographic" ortographic: "正射図法"
geolocations: "地域" geolocations: "地域"
help: help:
activityIndexBasis: "Activity index is based on non-AFK playtime in the past 3 weeks (21 days). Each week is considered separately." activityIndexBasis: "Activity index is based on non-AFK playtime in the past 3 weeks (21 days). Each week is considered separately."
@ -374,7 +374,7 @@ html:
thresholdUnit: "hours / week" thresholdUnit: "hours / week"
tips: "Tips" tips: "Tips"
usingTheGraph: "Using the Graph" usingTheGraph: "Using the Graph"
hourByHour: "Hour by Hour" hourByHour: "1時間ごと"
inactive: "休止中" inactive: "休止中"
indexInactive: "休止中" indexInactive: "休止中"
indexRegular: "しばしばログインしている" indexRegular: "しばしばログインしている"
@ -382,17 +382,17 @@ html:
insights: "Insights" insights: "Insights"
insights30days: "1ヶ月のパンチボード" insights30days: "1ヶ月のパンチボード"
irregular: "たまにログインしている" irregular: "たまにログインしている"
joinAddress: "Join Address" joinAddress: "参加したサーバーのアドレス"
joinAddresses: "Join Addresses" joinAddresses: "参加したサーバーのアドレス"
kdr: "KDR" kdr: "KDR"
killed: "殺した人" killed: "殺した人"
last24hours: "24時間" last24hours: "24時間"
last30days: "1ヶ月" last30days: "1ヶ月"
last7days: "週間" last7days: "1週間"
lastConnected: "直近の接続" lastConnected: "直近の接続"
lastPeak: "直近のピークタイム" lastPeak: "直近のピークタイム"
lastSeen: "直近のオンライン" lastSeen: "直近のオンライン"
latestJoinAddresses: "Latest Join Addresses" latestJoinAddresses: "最後に参加したサーバーのアドレス"
length: " 長さ" length: " 長さ"
links: "LINKS" links: "LINKS"
loadedChunks: "ロードされたチャンク数" loadedChunks: "ロードされたチャンク数"
@ -403,7 +403,7 @@ html:
lowTpsSpikes: "TPSの低下値" lowTpsSpikes: "TPSの低下値"
lowTpsSpikes7days: "Low TPS Spikes (7 days)" lowTpsSpikes7days: "Low TPS Spikes (7 days)"
maxFreeDisk: "ディスクの最大空き容量" maxFreeDisk: "ディスクの最大空き容量"
medianSessionLength: "Median Session Length" medianSessionLength: "セッションの長さの中央値"
minFreeDisk: "ディスクの最低空き容量" minFreeDisk: "ディスクの最低空き容量"
mobDeaths: "Mobによって殺された回数" mobDeaths: "Mobによって殺された回数"
mobKdr: "Mobに対してのKDR" mobKdr: "Mobに対してのKDR"
@ -416,12 +416,12 @@ html:
networkOnlineActivity: "ネットワーク内の接続状況" networkOnlineActivity: "ネットワーク内の接続状況"
networkOverview: "ネットワーク概要" networkOverview: "ネットワーク概要"
networkPage: "ネットワークページ" networkPage: "ネットワークページ"
new: "New" new: "新規"
newPlayerRetention: "新規プレイヤーの継続率" newPlayerRetention: "新規プレイヤーの継続率"
newPlayers: "新規プレイヤー" newPlayers: "新規プレイヤー"
newPlayers7days: "New Players (7 days)" newPlayers7days: "New Players (7 days)"
nickname: "ニックネーム" nickname: "ニックネーム"
noDataToDisplay: "No Data to Display" noDataToDisplay: "表示するデータがありません"
now: "現在" now: "現在"
onlineActivity: "接続状況" onlineActivity: "接続状況"
onlineActivityAsNumbers: "接続状況の情報" onlineActivityAsNumbers: "接続状況の情報"
@ -429,8 +429,8 @@ html:
operator: "管理者" operator: "管理者"
overview: "概要" overview: "概要"
perDay: "/日" perDay: "/日"
perPlayer: "/プレイヤー(1プレイヤーあたり)" perPlayer: "/プレイヤー(1プレイヤーあたり)"
perRegularPlayer: "/登録済みプレイヤー(1登録済みプレイヤーあたり)" perRegularPlayer: "/登録済みプレイヤー(1登録済みプレイヤーあたり)"
performance: "パフォーマンス" performance: "パフォーマンス"
performanceAsNumbers: "パフォーマンスの情報" performanceAsNumbers: "パフォーマンスの情報"
ping: "Ping" ping: "Ping"
@ -441,7 +441,7 @@ html:
playerList: "プレイヤー一覧" playerList: "プレイヤー一覧"
playerOverview: "プレイヤーの概要" playerOverview: "プレイヤーの概要"
playerPage: "プレイヤーページ" playerPage: "プレイヤーページ"
playerRetention: "Player Retention" playerRetention: "プレイヤー推移"
playerbase: "プレイヤーベース" playerbase: "プレイヤーベース"
playerbaseDevelopment: "登録されているプレイヤーの推移" playerbaseDevelopment: "登録されているプレイヤーの推移"
playerbaseOverview: "Playerbase Overview" playerbaseOverview: "Playerbase Overview"
@ -451,15 +451,15 @@ html:
playersOnlineOverview: "接続状況の概要" playersOnlineOverview: "接続状況の概要"
playtime: "プレイ時間" playtime: "プレイ時間"
plugins: "プラグイン" plugins: "プラグイン"
pluginsOverview: "Plugins Overview" pluginsOverview: "プラグイン一覧"
punchcard: "パンチカード" punchcard: "パンチカード"
punchcard30days: "1ヶ月のパンチボード" punchcard30days: "1ヶ月のパンチボード"
pvpPve: "PvPとPvE" pvpPve: "PvPとPvE"
pvpPveAsNumbers: "PVPとPvEの情報" pvpPveAsNumbers: "PVPとPvEの情報"
query: "Make a query" query: "クエリを作る"
quickView: "クイックビュー" quickView: "クイックビュー"
ram: "RAM" ram: "メモリ"
ramUsage: "RAM Usage" ramUsage: "メモリ使用量"
recentKills: "最近のキル" recentKills: "最近のキル"
recentPvpDeaths: "最近のPVPによる死亡" recentPvpDeaths: "最近のPVPによる死亡"
recentPvpKills: "最近のPVPによるキル" recentPvpKills: "最近のPVPによるキル"
@ -470,102 +470,102 @@ html:
regularPlayers: "よくオンラインのプレイヤー" regularPlayers: "よくオンラインのプレイヤー"
relativeJoinActivity: "オンラインと活動との関係性" relativeJoinActivity: "オンラインと活動との関係性"
retention: retention:
groupByNone: "No grouping" groupByNone: "グルーピング無し"
groupByTime: "Group registered by" groupByTime: "Group registered by"
inAnytime: "any time" inAnytime: "全期間"
inLast180d: "in the last 6 months" inLast180d: "直近6ヶ月"
inLast30d: "in the last 30 days" inLast30d: "直近30日"
inLast365d: "in the last 12 months" inLast365d: "直近12ヶ月"
inLast730d: "in the last 24 months" inLast730d: "直近24ヶ月"
inLast7d: "in the last 7 days" inLast7d: "直近7日"
inLast90d: "in the last 3 months" inLast90d: "直近3ヶ月"
playersRegisteredInTime: "Players who registered" playersRegisteredInTime: "登録日"
retainedPlayersPercentage: "Retained Players %" retainedPlayersPercentage: "Retained Players %"
timeSinceRegistered: "Time since register date" timeSinceRegistered: "登録日からの経過時間"
timeStep: "Time step" timeStep: "時間幅"
secondDeadliestWeapon: "2番目にPvPで使用されている武器" secondDeadliestWeapon: "2番目にPvPで使用されている武器"
seenNicknames: "ニックネーム一覧" seenNicknames: "ニックネーム一覧"
server: "サーバー" server: "サーバー"
serverAnalysis: "サーバーの分析結果" serverAnalysis: "サーバーの分析結果"
serverAsNumberse: "サーバーの状況" serverAsNumberse: "サーバーの状況"
serverCalendar: "Server Calendar" serverCalendar: "サーバーカレンダー"
serverDowntime: "サーバーダウンタイム" serverDowntime: "サーバーダウンタイム"
serverOccupied: "プレイヤーがログインしている時間" serverOccupied: "プレイヤーがログインしている時間"
serverOverview: "サーバーの概要" serverOverview: "サーバーの概要"
serverPage: "サーバーページ" serverPage: "サーバーページ"
serverPlaytime: "各サーバーのプレイ時間" serverPlaytime: "各サーバーのプレイ時間"
serverPlaytime30days: "各サーバーでの1ヶ月のプレイ時間" serverPlaytime30days: "各サーバーでの1ヶ月のプレイ時間"
serverSelector: "Server selector" serverSelector: "サーバーセレクター"
servers: "接続されているサーバー" servers: "接続されているサーバー"
serversTitle: "接続されているサーバー" serversTitle: "接続されているサーバー"
session: "オンライン" session: "オンライン"
sessionCalendar: "Session Calendar" sessionCalendar: "セッションカレンダー"
sessionEnded: " ログアウトした時間" sessionEnded: " ログアウトした時間"
sessionMedian: "平均オンライン" sessionMedian: "平均オンライン"
sessionStart: "接続した時間" sessionStart: "接続した時間"
sessions: "接続履歴" sessions: "接続履歴"
sortBy: "Sort By" sortBy: "並べ替え"
stacked: "Stacked" stacked: "スタックビュー"
themeSelect: "テーマ選択" themeSelect: "テーマ選択"
thirdDeadliestWeapon: "3番目にPvPで使用されている武器" thirdDeadliestWeapon: "3番目にPvPで使用されている武器"
thirtyDays: "1ヶ月" thirtyDays: "1ヶ月"
thirtyDaysAgo: "1ヶ月前" thirtyDaysAgo: "1ヶ月前"
time: time:
date: "Date" date: "日付"
day: "Day" day: ""
days: "Days" days: ""
hours: "Hours" hours: "時間"
month: "Month" month: ""
months: "Months" months: ""
week: "Week" week: ""
weeks: "Weeks" weeks: ""
year: "Year" year: ""
timesKicked: "キック回数" timesKicked: "キック回数"
toMainPage: "メインページに戻る" toMainPage: "メインページに戻る"
total: "Total" total: "合計"
totalActive: "累計活動時間" totalActive: "累計活動時間"
totalAfk: "累計離席時間" totalAfk: "累計離席時間"
totalPlayers: "トータルプレイヤー数" totalPlayers: "合計プレイヤー数"
totalPlayersOld: "全プレイヤー数" totalPlayersOld: "全プレイヤー数"
totalPlaytime: "トータルプレイ時間" totalPlaytime: "合計プレイ時間"
totalServerDowntime: "Total Server Downtime" totalServerDowntime: "サーバーの合計ダウンタイム"
tps: "TPS" tps: "TPS"
trend: "増減" trend: "増減"
trends30days: "1ヶ月間の増減" trends30days: "1ヶ月間の増減"
uniquePlayers: "接続したプレイヤーの総数" uniquePlayers: "接続したプレイヤーの総数"
uniquePlayers7days: "Unique Players (7 days)" uniquePlayers7days: "直近7日間のユニークプレイヤー数"
unit: unit:
percentage: "Percentage" percentage: "パーセンテージ"
playerCount: "Player Count" playerCount: "プレイヤー数"
veryActive: "とてもログインしている" veryActive: "とてもログインしている"
weekComparison: "直近1間での比較" weekComparison: "直近1間での比較"
weekdays: "'月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日'" weekdays: "'月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日'"
world: "ワールドのロード数" world: "ワールドのロード数"
worldPlaytime: "ワールドごとのプレイ時間" worldPlaytime: "ワールドごとのプレイ時間"
worstPing: "最低Ping値" worstPing: "最低Ping値"
xAxis: "X Axis" xAxis: "X"
yAxis: "Y Axis" yAxis: "Y"
login: login:
failed: "Login failed: " failed: "ログインに失敗: "
forgotPassword: "Forgot Password?" forgotPassword: "パスワードを忘れた?"
forgotPassword1: "Forgot password? Unregister and register again." forgotPassword1: "Forgot password? Unregister and register again."
forgotPassword2: "Use the following command in game to remove your current user:" forgotPassword2: "Use the following command in game to remove your current user:"
forgotPassword3: "Or using console:" forgotPassword3: "Or using console:"
forgotPassword4: "After using the command, " forgotPassword4: "After using the command, "
login: "Login" login: "ログイン"
logout: "Logout" logout: "ログアウト"
password: "Password" password: "パスワード"
register: "Create an Account!" register: "アカウントを作ろう!"
username: "Username" username: "ユーザー名"
modal: modal:
info: info:
bugs: "バグ報告" bugs: "バグ報告"
contributors: contributors:
bugreporters: "& Bug reporters!" bugreporters: "そして、バグ報告者のみなさん!"
code: ":プログラミング貢献者 " code: ":プログラミング貢献者 "
donate: "このプラグイン開発に募金して頂いた人々へ特別な感謝を" donate: "このプラグイン開発に募金して頂いた人々へ特別な感謝を"
text: '加えて、以下の<span class="col-plan">素晴らしい人々</span>が開発に貢献しています' text: '加えて、以下の<span class="col-plan">素晴らしい人々</span>が開発に貢献しています'
translator: ":翻訳者 " translator: ":翻訳者 "
developer: "開発者:" developer: "開発者:"
discord: "Discordのサポートチャンネル" discord: "Discordのサポートチャンネル"
license: "「Player Analytics」は以下のライセンスの下、開発されています" license: "「Player Analytics」は以下のライセンスの下、開発されています"
@ -584,12 +584,12 @@ html:
activity: activity:
text: "are in Activity Groups" text: "are in Activity Groups"
banStatus: banStatus:
name: "Ban status" name: "BAN状況"
banned: "Banned" banned: "BAN済"
country: country:
text: "have joined from country" text: "have joined from country"
generic: generic:
allPlayers: "All players" allPlayers: "全てのプレイヤー"
and: "and " and: "and "
start: "of Players who " start: "of Players who "
hasPlayedOnServers: hasPlayedOnServers:
@ -600,11 +600,11 @@ html:
text: "have Plugin boolean value" text: "have Plugin boolean value"
joinAddress: joinAddress:
text: "joined with address" text: "joined with address"
nonOperators: "Non operators" nonOperators: "オペレーターでない"
notBanned: "Not banned" notBanned: "BANされていない"
operatorStatus: operatorStatus:
name: "Operator status" name: "オペレーターステータス"
operators: "Operators" operators: "オペレーター"
playedBetween: playedBetween:
text: "Played between" text: "Played between"
pluginGroup: pluginGroup:
@ -614,51 +614,51 @@ html:
text: "Registered between" text: "Registered between"
skipped: "Skipped" skipped: "Skipped"
title: title:
activityGroup: "Current activity group" activityGroup: "活動時間のグループ"
view: " View:" view: " View:"
filters: filters:
add: "Add a filter.." add: "フィルタを追加する.."
loading: "Loading filters.." loading: "フィルタ読み込み中.."
generic: generic:
are: "`are`" are: "`are`"
label: label:
from: ">from</label>" from: ">from</label>"
makeAnother: "Make another query" makeAnother: "別のクエリを作る"
servers: servers:
all: "using data of all servers" all: "以下に含まれる全てのサーバー"
many: "using data of {number} servers" many: "using data of {number} servers"
single: "using data of 1 server" single: "using data of 1 server"
two: "using data of 2 servers" two: "using data of 2 servers"
to: ">to</label>" to: ">to</label>"
view: "Show a view" view: "ビューを表示"
performQuery: "Perform Query!" performQuery: "クエリを実行!"
results: results:
match: "matched ${resultCount} players" match: "matched ${resultCount} players"
none: "Query produced 0 results" none: "Query produced 0 results"
title: "Query Results" title: "クエリ結果"
title: title:
activity: "Activity of matched players" activity: "Activity of matched players"
activityOnDate: 'Activity on <span id="activity-date"></span>' activityOnDate: 'Activity on <span id="activity-date"></span>'
sessionsWithinView: "Sessions within view" sessionsWithinView: "Sessions within view"
text: "Query<" text: "クエリ<"
register: register:
completion: "Complete Registration" completion: "登録を完了するには"
completion1: "You can now finish registering the user." completion1: "ユーザー登録ができるようになりました"
completion2: "Code expires in 15 minutes" completion2: "このコードは15分で使えなくなります"
completion3: "Use the following command in game to finish registration:" completion3: "ゲームの中で以下のコマンドを実行し、登録を完了させてください:"
completion4: "Or using console:" completion4: "もしくは、サーバーコンソールを使う場合:"
createNewUser: "Create a new user" createNewUser: "新規ユーザーを作成"
error: error:
checkFailed: "Checking registration status failed: " checkFailed: "Checking registration status failed: "
failed: "Registration failed: " failed: "Registration failed: "
noPassword: "You need to specify a Password" noPassword: "パスワードを指定する必要があります"
noUsername: "You need to specify a Username" noUsername: "ユーザー名を指定する必要があります"
usernameLength: "Username can be up to 50 characters, yours is " usernameLength: "Username can be up to 50 characters, yours is "
login: "Already have an account? Login!" login: "もうアカウントがありますか?ログインはこちら!"
passwordTip: "Password should be more than 8 characters, but there are no limitations." passwordTip: "パスワードは8文字以上である必要がありますが、その他の制限はありません。"
register: "Register" register: "登録"
success: "Registered a new user successfully! You can now login." success: "新規ユーザー登録が完了しました!ログインできるようになりました。"
usernameTip: "Username can be up to 50 characters." usernameTip: "ユーザー名は50文字以内で指定します"
text: text:
clickToExpand: "クリックして展開" clickToExpand: "クリックして展開"
comparing15days: "直近15日との比較" comparing15days: "直近15日との比較"

View File

@ -24,16 +24,16 @@
"datatables.net-bs5": "^1.13.4", "datatables.net-bs5": "^1.13.4",
"datatables.net-responsive-bs5": "^2.4.1", "datatables.net-responsive-bs5": "^2.4.1",
"highcharts": "^10.3.3", "highcharts": "^10.3.3",
"i18next": "^22.4.15", "i18next": "^22.5.0",
"i18next-chained-backend": "^4.2.0", "i18next-chained-backend": "^4.2.0",
"i18next-http-backend": "^2.2.0", "i18next-http-backend": "^2.2.1",
"i18next-localstorage-backend": "^4.1.1", "i18next-localstorage-backend": "^4.1.1",
"masonry-layout": "^4.2.2", "masonry-layout": "^4.2.2",
"react": "^18.2.0", "react": "^18.2.0",
"react-bootstrap": "^2.7.4", "react-bootstrap": "^2.7.4",
"react-bootstrap-range-slider": "^3.0.8", "react-bootstrap-range-slider": "^3.0.8",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-i18next": "^12.2.2", "react-i18next": "^12.3.1",
"react-mcjsonchat": "^1.0.0", "react-mcjsonchat": "^1.0.0",
"react-router-dom": "6", "react-router-dom": "6",
"react-scripts": "5.0.1", "react-scripts": "5.0.1",

View File

@ -11,6 +11,7 @@ import ColorSelectorModal from "../../components/modal/ColorSelectorModal";
import {useAuth} from "../../hooks/authenticationHook"; import {useAuth} from "../../hooks/authenticationHook";
import FinalizeRegistrationModal from "../../components/modal/FinalizeRegistrationModal"; import FinalizeRegistrationModal from "../../components/modal/FinalizeRegistrationModal";
import {fetchRegisterCheck, postRegister} from "../../service/authenticationService"; import {fetchRegisterCheck, postRegister} from "../../service/authenticationService";
import {useMetadata} from "../../hooks/metadataHook";
const Logo = () => { const Logo = () => {
return ( return (
@ -43,6 +44,7 @@ const RegisterCard = ({children}) => {
const RegisterForm = ({register}) => { const RegisterForm = ({register}) => {
const {t} = useTranslation(); const {t} = useTranslation();
const {registrationDisabled} = useMetadata();
const [username, setUsername] = useState(''); const [username, setUsername] = useState('');
const [password, setPassword] = useState(''); const [password, setPassword] = useState('');
@ -51,6 +53,12 @@ const RegisterForm = ({register}) => {
register(username, password).then(() => setPassword('')); register(username, password).then(() => setPassword(''));
}, [username, password, setPassword, register]); }, [username, password, setPassword, register]);
if (registrationDisabled) {
return (
<p>{t('html.register.disabled')}</p>
)
}
return ( return (
<form className="user"> <form className="user">
<div className="mb-3"> <div className="mb-3">

View File

@ -1532,10 +1532,10 @@
dependencies: dependencies:
"@swc/helpers" "^0.4.14" "@swc/helpers" "^0.4.14"
"@remix-run/router@1.6.1": "@remix-run/router@1.6.2":
version "1.6.1" version "1.6.2"
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.6.1.tgz#3a3a408481a3796f45223a549c2571517bc8af2d" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.6.2.tgz#bbe75f8c59e0b7077584920ce2cc76f8f354934d"
integrity sha512-YUkWj+xs0oOzBe74OgErsuR3wVn+efrFhXBWrit50kOiED+pvQe2r6MWY0iJMQU/mSVKxvNzL4ZaYvjdX+G7ZA== integrity sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==
"@restart/hooks@^0.4.9": "@restart/hooks@^0.4.9":
version "0.4.9" version "0.4.9"
@ -3711,12 +3711,12 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0" path-type "^4.0.0"
yaml "^1.10.0" yaml "^1.10.0"
cross-fetch@3.1.5, cross-fetch@^3.1.5: cross-fetch@3.1.6, cross-fetch@^3.1.5:
version "3.1.5" version "3.1.6"
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c"
integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== integrity sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==
dependencies: dependencies:
node-fetch "2.6.7" node-fetch "^2.6.11"
cross-spawn@^6.0.5: cross-spawn@^6.0.5:
version "6.0.5" version "6.0.5"
@ -5503,12 +5503,12 @@ i18next-chained-backend@^4.2.0:
dependencies: dependencies:
"@babel/runtime" "^7.19.4" "@babel/runtime" "^7.19.4"
i18next-http-backend@^2.2.0: i18next-http-backend@^2.2.1:
version "2.2.0" version "2.2.1"
resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.2.0.tgz#f77c06dc8e766c7588bb38da2f5fa0614ba67b3f" resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.2.1.tgz#cdb7efbafa46ce8f237d9db443f62514664a3bdf"
integrity sha512-Z4sM7R6tzdLknSPER9GisEBxKPg5FkI07UrQniuroZmS15PHQrcCPLyuGKj8SS68tf+O2aEDYSUnmy1TZqZSbw== integrity sha512-ZXIdn/8NJIBJ0X4hzXfc3STYxKrCKh1fYjji9HPyIpEJfvTvy8/ZlTl8RuTizzCPj2ZcWrfaecyOMKs6bQ7u5A==
dependencies: dependencies:
cross-fetch "3.1.5" cross-fetch "3.1.6"
i18next-localstorage-backend@^4.1.1: i18next-localstorage-backend@^4.1.1:
version "4.1.1" version "4.1.1"
@ -5517,10 +5517,10 @@ i18next-localstorage-backend@^4.1.1:
dependencies: dependencies:
"@babel/runtime" "^7.20.6" "@babel/runtime" "^7.20.6"
i18next@^22.4.15: i18next@^22.5.0:
version "22.4.15" version "22.5.0"
resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.4.15.tgz#951882b751872994f8502b5a6ef6f796e6a7d7f8" resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.0.tgz#16d98eba7c748ab183a36505046b5b91f87e989b"
integrity sha512-yYudtbFrrmWKLEhl6jvKUYyYunj4bTBCe2qIUYAxbXoPusY7YmdwPvOE6fx6UIfWvmlbCWDItr7wIs8KEBZ5Zg== integrity sha512-sqWuJFj+wJAKQP2qBQ+b7STzxZNUmnSxrehBCCj9vDOW9RDYPfqCaK1Hbh2frNYQuPziz6O2CGoJPwtzY3vAYA==
dependencies: dependencies:
"@babel/runtime" "^7.20.6" "@babel/runtime" "^7.20.6"
@ -6934,10 +6934,10 @@ node-domexception@1.0.0:
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
node-fetch@2.6.7: node-fetch@^2.6.11:
version "2.6.7" version "2.6.11"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25"
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==
dependencies: dependencies:
whatwg-url "^5.0.0" whatwg-url "^5.0.0"
@ -8279,10 +8279,10 @@ react-error-overlay@^6.0.11:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb"
integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==
react-i18next@^12.2.2: react-i18next@^12.3.1:
version "12.2.2" version "12.3.1"
resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.2.2.tgz#38a6fad11acf4f2abfc5611bdb6b1918d0f47578" resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7"
integrity sha512-KBB6buBmVKXUWNxXHdnthp+38gPyBT46hJCAIQ8rX19NFL/m2ahte2KARfIDf2tMnSAL7wwck6eDOd/9zn6aFg== integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==
dependencies: dependencies:
"@babel/runtime" "^7.20.6" "@babel/runtime" "^7.20.6"
html-parse-stringify "^3.0.1" html-parse-stringify "^3.0.1"
@ -8347,19 +8347,19 @@ react-refresh@^0.11.0:
integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
react-router-dom@6: react-router-dom@6:
version "6.11.1" version "6.11.2"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.11.1.tgz#af226bae950deb437208a606a47cf5c2d72c55dc" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.11.2.tgz#324d55750ffe2ecd54ca4ec6b7bc7ab01741f170"
integrity sha512-dPC2MhoPeTQ1YUOt5uIK376SMNWbwUxYRWk2ZmTT4fZfwlOvabF8uduRKKJIyfkCZvMgiF0GSCQckmkGGijIrg== integrity sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==
dependencies: dependencies:
"@remix-run/router" "1.6.1" "@remix-run/router" "1.6.2"
react-router "6.11.1" react-router "6.11.2"
react-router@6.11.1: react-router@6.11.2:
version "6.11.1" version "6.11.2"
resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.11.1.tgz#6e58458c03e16834dda2b433c6adb9e7c2b1d7a8" resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.11.2.tgz#006301c4da1a173d7ad76b7ecd2da01b9dd3837a"
integrity sha512-OZINSdjJ2WgvAi7hgNLazrEV8SGn6xrKA+MkJe9wVDMZ3zQ6fdJocUjpCUCI0cNrelWjcvon0S/QK/j0NzL3KA== integrity sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==
dependencies: dependencies:
"@remix-run/router" "1.6.1" "@remix-run/router" "1.6.2"
react-scripts@5.0.1: react-scripts@5.0.1:
version "5.0.1" version "5.0.1"