diff --git a/Plan/src/main/resources/assets/plan/plan/locale/locale_JA.yml b/Plan/src/main/resources/assets/plan/plan/locale/locale_JA.yml index 0b7d2724f..ccb0a11da 100644 --- a/Plan/src/main/resources/assets/plan/plan/locale/locale_JA.yml +++ b/Plan/src/main/resources/assets/plan/plan/locale/locale_JA.yml @@ -340,23 +340,23 @@ html: activityIndexWeek: "Week {}" examples: "Examples" graph: - labels: "You can hide/show a group by clicking on the label at the bottom." - title: "Graph" - zoom: "You can Zoom in by click + dragging on the graph." + labels: "下部のラベルをクリックすることで、グループの表示/非表示を切り替えられます。" + title: "グラフ" + zoom: "グラフをクリック+ドラッグで拡大できます。" playtimeUnit: "hours" retention: - calculationStep1: "First the data is filtered using '<>' option. Any players with 'registerDate' outside the time range are ignored." - calculationStep2: "Then it is grouped into groups of players using '<0>' option, eg. With '<1>': All players who registered in January 2023, February 2023, etc" - calculationStep3: "Then the '<0>' and '<1>' options select which visualization to render." - calculationStep4: "'<>' controls how many points the graph has, eg. 'Days' has one point per day." - calculationStep5: "On each calculated point all players are checked for the condition." - calculationStep6: "Select X Axis below to see conditions." - calculationStepDate: "This visualization shows the different groups of players that are still playing on your server. The visualization uses lastSeen date. If x < lastSeenDate, the player is visible on the graph." - calculationStepDeltas: "This visualization is most effective using Player Count as the Y Axis. The visualization shows net gain of players (How many players joined minus players who stopped playing). The visualization uses both registered and lastSeen dates. If registerDate < x < lastSeenDate, the player is visible on the graph." - calculationStepPlaytime: "This visualization tells how long the gameplay loop keeps players engaged on your server. The visualization uses playtime. If x < playtime, the player is visible on the graph." - calculationStepTime: "This visualization tells how long people keep coming back to play on the server after they join the first time. The visualization uses timeDifference. If x < timeDifference, the player is visible on the graph." - compareJoinAddress: "Grouping by join address allows measuring advertising campaigns on different sites." - compareMonths: "You can compare different months by changing the '<0>' option to '<1>'" + calculationStep1: "まず、 '<>' を使ってデータをフィルタリングします。範囲外の登録日を持つプレイヤーは無視されます。" + calculationStep2: "次に、 '<0>' を使ってプレイヤーのグループをグループ化します。 '<1>' を使った例: 2023年1月に登録された全プレイヤー、2023年2月に登録された全プレイヤーなど" + calculationStep3: "次に '<0>' と '<1>' のオプションでレンダリングするものを選択します。" + calculationStep4: "'<>' はグラフがいくつのポイントを持つか制御します。例えば、'日' は1日に1ポイントです。" + calculationStep5: "計算されたポイントを元に、全プレイヤーがその条件でチェックされます。" + calculationStep6: "下のX軸を選択すると、条件が表示されます。" + calculationStepDate: "この視覚化は、あなたのサーバーで今も遊んでいるプレイヤーのグループを表示します。可視化には最後にログインした日付が使われます。 x < 最後のログイン日 だった場合、プレイヤーがグラフ上に表示されます。" + calculationStepDeltas: "この視覚化は、Y軸にプレイヤー数を使うのが最も効果的です。可視化には、プレイヤーの純増を示します。(プレイヤーの加入数からしばらく遊んでいないプレイヤー数を引いた値の事です。)この視覚化では、登録日と最終ログイン日を使用します。 登録日 < x < 最終ログイン日 の場合、プレイヤーがグラフ上に表示されます。" + calculationStepPlaytime: "この視覚化は、ゲームプレイのループがあなたのサーバー内でどれだけプレイヤーを飽きさせないかを示します。可視化にはプレイ時間が使用されます。 x < プレイ時間 の場合、プレイヤーがグラフ上に表示されます。" + calculationStepTime: "この視覚化は、サーバーに初めて参加した後、どのぐらいの時間そのサーバーで遊び続けているかを示します。可視化には登録日からの経過時間が使用されます。 x < 登録日からの経過時間 の場合、プレイヤーがグラフ上に表示されます。" + compareJoinAddress: "参加アドレスでグループ化することで、異なるサイトで宣伝した場合の測定が可能になります。" + compareMonths: "'<0>' を '<1>' に変更することで、異なる月を比較することができます。" examples: adCampaign: "Comparing player gain of different ad campaigns using different Join Addresses (anonymized)" deltas: "<> shows net gain of players." @@ -364,19 +364,19 @@ html: plateau: "Comparing player gain of different months. Plateaus suggest there were players Plan doesn't know about. In this example Plan was installed in January 2022." playtime: "Playtime tells how long the gameplay loop keeps players engaged on your server." stack: "Cumulative player gain can be checked with stacked player count as Y axis" - howIsItCalculated: "How it is calculated" - howIsItCalculatedData: "The graph is generated from player data:" - options: "Select the options to analyze different aspects of Player Retention." + howIsItCalculated: "どうやって計算しているのか" + howIsItCalculatedData: "このグラフはプレイヤーのデータから生成されたものです:" + options: "オプションを選択して、プレイヤー推移のさまざまな側面を分析できます。" retentionBasis: "New player retention is calculated based on session data. If a registered player has played within latter half of the timespan, they are considered retained." - testPrompt: "Test it out:" + testPrompt: "試してみよう:" testResult: "Test result" threshold: "Threshold" thresholdUnit: "hours / week" - tips: "Tips" - usingTheGraph: "Using the Graph" + tips: "ヒント" + usingTheGraph: "グラフを使う" hourByHour: "1時間ごと" - inactive: "休止中" - indexInactive: "休止中" + inactive: "非アクティブ" + indexInactive: "非アクティブ" indexRegular: "しばしばログインしている" information: "インフォメーション" insights: "Insights" @@ -546,12 +546,12 @@ html: xAxis: "X軸" yAxis: "Y軸" login: - failed: "ログインに失敗: " + failed: "ログインできません!: " forgotPassword: "パスワードを忘れた?" - forgotPassword1: "Forgot password? Unregister and register again." - forgotPassword2: "Use the following command in game to remove your current user:" - forgotPassword3: "Or using console:" - forgotPassword4: "After using the command, " + forgotPassword1: "パスワードを忘れましたか? アカウントの登録を解除して、再登録してください。" + forgotPassword2: "アカウントを削除するには、ゲーム内でこのコマンドを使用してください:" + forgotPassword3: "もしくは、サーバーの管理画面から行ってください。:" + forgotPassword4: "コマンドを入力した後, " login: "ログイン" logout: "ログアウト" password: "パスワード" @@ -618,7 +618,7 @@ html: view: " View:" filters: add: "フィルタを追加する.." - loading: "フィルタ読み込み中.." + loading: "フィルタを読み込み中.." generic: are: "`are`" label: @@ -725,7 +725,7 @@ plugin: loadedServerInfo: "Server identifier loaded: ${0}" loadingServerInfo: "Loading server identifying information" no: "ない" - today: "'本日'" + today: "'今日'" unavailable: "利用不可" unknown: "不明" yes: "ある" @@ -740,7 +740,7 @@ plugin: webserver: fail: SSLContext: "Webサーバー: SSLコンテキストの初期化に失敗しました。" - certFileEOF: "Webサーバー: 証明書ファイルをロード中にEOFエラーが発生しました (ファイルが殻になっていないか確認してください)" + certFileEOF: "Webサーバー: 証明書ファイルをロード中にEOFエラーが発生しました (ファイルが空になっていないか確認してください)" certStoreLoad: "Webサーバー: SSL証明書のロードに失敗しました" portInUse: "Webサーバー: 初期化が正常に終了しませんでした。ポート番号(${0})は使用されていませんか?" notify: @@ -750,7 +750,7 @@ plugin: certificateExpiresPassed: "Webserver: Certificate has expired, consider renewing the certificate." certificateExpiresSoon: "Webserver: Certificate expires in ${0}, consider renewing the certificate." certificateNoSuchAlias: "Webserver: Certificate with alias '${0}' was not found inside the keystore file '${1}'." - http: "Webサーバー: 証明書が存在ません -> HTTPサーバーを使用します" + http: "Webサーバー: 証明書が存在しません -> HTTPサーバーを使用します" ipWhitelist: "Webサーバー: IPのホワイトリストが有効になっています" ipWhitelistBlock: "Webサーバー: 「${0}」の「${1}」へのアクセスが拒否されました(ホワイトリストには未登録です)" noCertFile: "Webサーバー: 次のパスに保存された認証キーファイルが存在しません: ${0}" diff --git a/react/dashboard/dashboard/package.json b/react/dashboard/dashboard/package.json index 5b8f8d812..b49cbc414 100644 --- a/react/dashboard/dashboard/package.json +++ b/react/dashboard/dashboard/package.json @@ -15,31 +15,31 @@ "@fullcalendar/daygrid": "^5.11.5", "@fullcalendar/react": "^5.11.5", "@highcharts/map-collection": "^2.1.0", - "@testing-library/jest-dom": "^5.16.5", + "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", "axios": "^1.4.0", "bootstrap": "^5.3.0", - "datatables.net": "^1.13.4", + "datatables.net": "^1.13.5", "datatables.net-bs5": "^1.13.4", - "datatables.net-responsive-bs5": "^2.4.1", + "datatables.net-responsive-bs5": "^2.5.0", "highcharts": "^10.3.3", - "i18next": "^22.5.1", - "i18next-chained-backend": "^4.3.0", + "i18next": "^23.2.11", + "i18next-chained-backend": "^4.4.0", "i18next-http-backend": "^2.2.1", "i18next-localstorage-backend": "^4.1.1", "masonry-layout": "^4.2.2", "react": "^18.2.0", - "react-bootstrap": "^2.7.4", + "react-bootstrap": "^2.8.0", "react-bootstrap-range-slider": "^3.0.8", "react-dom": "^18.2.0", - "react-i18next": "^12.3.1", + "react-i18next": "^13.0.2", "react-mcjsonchat": "^1.0.0", "react-router-dom": "6", "react-scripts": "5.0.1", - "sass": "^1.63.3", + "sass": "^1.64.0", "source-map-explorer": "^2.5.2", - "swagger-ui": "^4.19.0", + "swagger-ui": "^5.1.3", "web-vitals": "^3.0.2" }, "scripts": { diff --git a/react/dashboard/dashboard/src/components/cards/query/FilterDropdown.js b/react/dashboard/dashboard/src/components/cards/query/FilterDropdown.js index 698792943..ba8a13457 100644 --- a/react/dashboard/dashboard/src/components/cards/query/FilterDropdown.js +++ b/react/dashboard/dashboard/src/components/cards/query/FilterDropdown.js @@ -52,7 +52,7 @@ const FilterDropdown = ({filterOptions, filters, setFilters}) => {
{t('html.query.filters.add')}
{filterOptions.map(option => ( - addFilter(option)}> + addFilter(option)}> {getReadableFilterName(option)} ))} diff --git a/react/dashboard/dashboard/src/components/cards/query/FilterList.js b/react/dashboard/dashboard/src/components/cards/query/FilterList.js index e26de0a4e..6faa15bc3 100644 --- a/react/dashboard/dashboard/src/components/cards/query/FilterList.js +++ b/react/dashboard/dashboard/src/components/cards/query/FilterList.js @@ -29,7 +29,7 @@ const FilterList = ({filters, setFilters, setAsInvalid, setAsValid}) => { return (