poi-plugin-senka-ledger 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja-JP.md +38 -0
- package/README.ko-KR.md +38 -0
- package/README.md +34 -47
- package/README.zh-CN.md +82 -0
- package/README.zh-TW.md +38 -0
- package/assets/icon.svg +1 -0
- package/i18n/en-US.json +75 -0
- package/i18n/ja-JP.json +75 -0
- package/i18n/ko-KR.json +75 -0
- package/i18n/zh-CN.json +75 -1
- package/i18n/zh-TW.json +75 -1
- package/index.js +32 -4
- package/package.json +7 -6
- package/src/adapter.js +11 -2
- package/src/export.js +8 -6
- package/src/i18n.js +41 -0
- package/src/icon.js +10 -0
- package/src/layout.js +41 -0
- package/src/ledger.js +7 -4
- package/src/model.js +1 -0
- package/src/panel.js +80 -53
- package/src/ranking.js +58 -0
- package/src/styles.js +21 -0
package/README.ja-JP.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 戦果手帳 · Senka Ledger
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md)
|
|
4
|
+
|
|
5
|
+
**poi 12.0.1** 向けのローカル戦果記録プラグインです。ノート、しおり、目盛りを組み合わせた独自アイコンを使用します。表示言語は poi に従い、日本語・英語・簡体字中国語・繁体字中国語・韓国語に対応します。
|
|
6
|
+
|
|
7
|
+
## 使い方
|
|
8
|
+
|
|
9
|
+
1. poi のプラグイン管理で `poi-plugin-senka-ledger` をインストールするか、[GitHub Releases](https://github.com/asparagusThief/poi-plugin-senka-ledger/releases) の `.tgz` を使用します。
|
|
10
|
+
2. 有効化後に母港へ移動し、提督経験値の基準を取得します。月別カレンダーの日付を選ぶと時間別画面を開き、時間を選ぶと通常戦果の明細を絞り込みます。
|
|
11
|
+
3. 通常戦果は各戦闘の提督経験値 `× 7 / 10000` で換算します。EO・任務戦果は上部の集計だけに表示します。
|
|
12
|
+
4. ゲーム内のランキングで自分の項目と必要な順位のページを開きます。プラグインの「ランキング戦果」を展開すると、自分と 1・5・20・100・500・501 位の戦果、差、読取時刻を確認できます。
|
|
13
|
+
|
|
14
|
+
ランキングは活動記録とは別に保存され、日別・時間別の増分には入りません。未読取の順位は空欄になり、同名で本人か判別できない場合は自分と見なしません。月初 03:00 JST より前に読み取ったランキングは前月に属します。通常のゲーム応答を観測するだけで、ランキング要求やゲーム操作は行いません。データ不足・形式変更時に新しい値を推測表示しません。
|
|
15
|
+
|
|
16
|
+
## 画面と保存
|
|
17
|
+
|
|
18
|
+
メイン画面と「ウィンドウで開く」の両方で独立してスクロールできます。狭い画面では操作欄と集計を折り返し、幅のある表とカレンダーは横にスクロールできます。日付・時刻・数値は中央寄せで、色の凡例はありません。プラグイン ID をパッケージ名に揃え、タブ見出しを修正し、旧版のウィンドウ・ピン・お気に入り設定を引き継ぎます。
|
|
19
|
+
|
|
20
|
+
ローカル未記録の経験値増加は発生可能期間として別に保持し、ログイン当日やその時間には計上しません。外部で獲得した EO・任務戦果は推定しません。活動集計は選択した時間帯の暦日・暦月に基づき、ランキングの引継ぎ・月末締切・任務の翌月繰越は計算しません。利用開始前の戦闘明細は復元できません。
|
|
21
|
+
|
|
22
|
+
対応する定期戦果任務は `854, 888, 893, 872, 284, 845, 903` の 7 件です。
|
|
23
|
+
|
|
24
|
+
ログは `APPDATA_PATH/senka-ledger/<アカウントID>.jsonl` に追記・同期保存します。Windows では通常 `%APPDATA%\poi\senka-ledger\` です。token、パスワード、応答全体、他プレイヤーの名前は保存しません。破損時は元ファイルを保持して書き込みを停止し、同じ保存先への書き込みは一つの poi に限定します。
|
|
25
|
+
|
|
26
|
+
月別 CSV と全件 JSON バックアップに対応します。復元する際はすべての poi を終了して `.jsonl` を戻してください。JSON の `journal` が元ログ本文です。画面からのインポート機能はまだありません。0.1.x の記録も読み込めます。
|
|
27
|
+
|
|
28
|
+
## 開発
|
|
29
|
+
|
|
30
|
+
Node.js 20+。ビルドや追加の実行依存は不要で、poi の React・アイコンライブラリを使用します。
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
npm run check
|
|
34
|
+
npm test
|
|
35
|
+
npm run pack:local
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
成果物は `dist/` に出力されます。ソースからのインストールは `scripts/install-local.ps1` を使います。既存のプラグインは上書きしません。[English README](README.md) に詳細と参考資料があります。MIT ライセンス。
|
package/README.ko-KR.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 전과 수첩 · Senka Ledger
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md)
|
|
4
|
+
|
|
5
|
+
**poi 12.0.1**용 로컬 전과 기록 플러그인입니다. 수첩, 책갈피, 눈금을 조합한 독자적인 아이콘을 사용합니다. poi의 언어 설정에 따라 한국어, 영어, 일본어, 중국어 간체 및 번체를 표시합니다.
|
|
6
|
+
|
|
7
|
+
## 사용 방법
|
|
8
|
+
|
|
9
|
+
1. poi 플러그인 관리에서 `poi-plugin-senka-ledger`를 설치하거나 [GitHub Releases](https://github.com/asparagusThief/poi-plugin-senka-ledger/releases)의 `.tgz` 파일을 설치합니다.
|
|
10
|
+
2. 활성화 후 모항에 들어가 제독 경험치 기준을 받습니다. 월별 달력의 날짜를 누르면 시간별 화면으로 이동하고, 시간을 누르면 일반 전과 상세를 필터링합니다.
|
|
11
|
+
3. 일반 전과는 각 전투의 제독 경험치 `× 7 / 10000`으로 계산합니다. EO와 임무 전과는 상단 집계에만 표시합니다.
|
|
12
|
+
4. 게임 내 순위 목록에서 자신의 항목과 필요한 순위 페이지를 엽니다. 플러그인의 순위 전과 영역을 펼치면 자신과 1·5·20·100·500·501위의 전과, 차이, 조회 시각을 확인할 수 있습니다.
|
|
13
|
+
|
|
14
|
+
순위 스냅샷은 활동 기록과 별도로 저장되며 날짜별·시간별 증가량에 합산되지 않습니다. 조회하지 않은 항목은 비워 두고, 같은 이름으로 자신을 구별할 수 없으면 자신의 항목으로 간주하지 않습니다. 월초 일본 시간 03:00 이전의 순위는 전월에 속합니다. 일반 게임 응답만 관찰하며 순위를 자동 요청하거나 게임을 조작하지 않습니다. 데이터가 부족하거나 형식이 바뀌면 새로운 점수를 추측해 표시하지 않습니다.
|
|
15
|
+
|
|
16
|
+
## 화면과 데이터
|
|
17
|
+
|
|
18
|
+
메인 패널과 새 창 열기 모두 독립적으로 스크롤됩니다. 좁은 화면에서는 조작부와 집계가 줄바꿈되며, 넓은 표와 달력은 가로로 스크롤할 수 있습니다. 날짜·시각·전과 숫자는 가운데 정렬되며 색상 범례는 없습니다. 플러그인 ID를 패키지 이름과 통일해 탭 제목을 수정하고 기존 창·고정·즐겨찾기 설정을 이전합니다.
|
|
19
|
+
|
|
20
|
+
로컬 미기록 경험치 증가량은 발생 가능 구간으로 별도 표시하며 로그인한 날짜나 시간에 합산하지 않습니다. 외부 EO·임무 보상은 추정하지 않습니다. 활동 집계는 선택한 시간대의 날짜·월을 사용하며 공식 순위의 이월, 월말 마감, 임무의 다음 달 반영은 계산하지 않습니다. 기록을 시작하기 전의 개별 전투는 복원할 수 없습니다.
|
|
21
|
+
|
|
22
|
+
지원하는 정기 전과 임무는 `854, 888, 893, 872, 284, 845, 903`의 7개입니다.
|
|
23
|
+
|
|
24
|
+
계정별 로그는 `APPDATA_PATH/senka-ledger/<계정ID>.jsonl`에 추가 및 동기 저장됩니다. Windows의 기본 위치는 `%APPDATA%\poi\senka-ledger\`입니다. token, 비밀번호, 전체 응답, 다른 플레이어의 이름을 저장하지 않습니다. 로그 손상 시 원본을 보존하고 기록을 중지하며, 동일 폴더에는 한 poi만 기록할 수 있습니다.
|
|
25
|
+
|
|
26
|
+
월별 CSV 및 전체 JSON 백업을 지원합니다. 복원하려면 모든 poi를 닫고 원래 `.jsonl` 파일을 돌려놓으세요. JSON의 `journal` 필드가 원본 로그 텍스트입니다. 화면에서 가져오기 기능은 아직 없으며 0.1.x 기록도 읽을 수 있습니다.
|
|
27
|
+
|
|
28
|
+
## 개발
|
|
29
|
+
|
|
30
|
+
Node.js 20+가 필요합니다. 별도 빌드나 실행 의존성 없이 poi의 React 및 아이콘 라이브러리를 사용합니다.
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
npm run check
|
|
34
|
+
npm test
|
|
35
|
+
npm run pack:local
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
패키지는 `dist/`에 생성됩니다. 소스 설치에는 `scripts/install-local.ps1`을 사용하며 기존 플러그인을 덮어쓰지 않습니다. 자세한 규칙과 참고 자료는 [English README](README.md)를 참조하세요. MIT 라이선스입니다.
|
package/README.md
CHANGED
|
@@ -1,72 +1,59 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Senka Ledger
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
A local senka ledger for **poi 12.0.1** with daily history, hourly details and ranking snapshots. The original notebook icon is provided as SVG and registered in poi's icon library.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Features
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- A monthly calendar opens into daily and hourly views. Every tile shows its value; date, time and score are centered.
|
|
10
|
+
- Normal senka comes from each battle's Admiral EXP, using `EXP × 7 / 10000`. EO and quest rewards appear only in the top summaries.
|
|
11
|
+
- Unobserved EXP gains retain their possible interval and are excluded from login-day and login-hour activity. Unobserved EO and quest rewards are not inferred.
|
|
12
|
+
- Ranking snapshots show your own score and positions **1, 5, 20, 100, 500 and 501**, when those pages have been observed. Ranking scores are separate from activity totals.
|
|
13
|
+
- Independent scrolling works in poi's main panel and its **Open in window** portal. Narrow layouts wrap controls and summaries; wide tables and calendars can scroll horizontally without overlapping text.
|
|
14
|
+
- Follows poi's language: English, Simplified Chinese, Traditional Chinese, Japanese or Korean. CSV headers, battle details and storage errors are localized as well.
|
|
15
|
+
- Account-separated append-only journals, previous months, CSV export and complete JSON backup.
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
## Preview
|
|
12
18
|
|
|
13
|
-
|
|
19
|
+
The screenshots use synthetic data.
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
- **未定位增量**:总提督经验增长超过本场奖励的部分,记录「上次观测 → 本次观测」区间。可能来自其他客户端、插件关闭或漏包;无法仅凭差额判定具体原因。
|
|
17
|
-
- **不把发现时间当获得时间**:未定位记录只含经验产生的普通战果,不进入登录当天、登录小时或每日色块。本月内区间单列;跨月区间在相关月份显示区间总额,不分摊,也不能跨月相加。
|
|
18
|
-
- **首次使用**:总经验只建立基准,不把账号终身经验折算为本月战果。如果首次观测就是出击结算,可以记录该场明确给出的奖励。
|
|
19
|
-
- **EO**:直接响应中的 `api_get_exmap_rate` / `api_get_eo_rate` 按响应时刻记账,只在顶部汇总,不进入日历、小时色块或逐笔明细。不再根据地图完成状态推断未在本地记录的 EO,旧版日志中的此类记录也不展示。
|
|
20
|
-
- **任务**:仅在 poi 的成功领取响应后记账,支持任务 ID `854, 888, 893, 872, 284, 845, 903`。按日本时间 3/6/9/12 月 1 日 05:00 重置去重周期。其他战果任务尚未支持;其他客户端领取的任务奖励无法从经验差恢复。
|
|
21
|
+

|
|
21
22
|
|
|
22
|
-
|
|
23
|
+

|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
## Install and use
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
Install **`poi-plugin-senka-ledger`** in poi's plugin manager, or install the `.tgz` from [GitHub Releases](https://github.com/asparagusThief/poi-plugin-senka-ledger/releases).
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
2. 选择账号、月份和日本/中国时区。默认日本时间,原始日志统一保存 UTC 毫秒。
|
|
30
|
-
3. 默认显示月度日历,每个日期色块直接显示当日普通战果;点击日期进入二级界面,查看 24 个小时的色块与数值。点击小时可筛选普通战果明细,「返回月览」回到日历。
|
|
31
|
-
4. 月度和每日页面的顶部显示总战果、普通战果、EO 战果与任务战果。EO 和任务不出现在逐笔明细中;未在本地记录的增量只显示经验差额的区间、发现时间与数值。
|
|
32
|
-
5. 「导出本月 CSV」顶部保留月度汇总,下方只有普通战果明细与涉及该月的经验未定位区间;「备份全部 JSON」包含该账号完整原始日志,与旧版数据兼容。
|
|
29
|
+
Enable the plugin and visit the home port to establish a live EXP baseline. Select a month, click a date, then click an hour to filter the normal-senka details. EO and quest rewards remain in the summaries.
|
|
33
30
|
|
|
34
|
-
|
|
31
|
+
For ranking data, **open the ranking list inside the game** and visit the relevant pages, including your own entry. Expand the ranking section in the plugin to inspect scores and read times. The plugin observes normal game responses; it does not send ranking requests or operate the game. Same-name entries are not treated as yours when identity is ambiguous. Old snapshots keep their read time. At the start of a month, ranking responses read before 03:00 JST remain associated with the previous month.
|
|
35
32
|
|
|
36
|
-
|
|
33
|
+
The plugin ID now matches the package name, correcting poi's active-plugin heading. Window, pin and favorite preferences from the previous ID are migrated. The journal location is unchanged.
|
|
37
34
|
|
|
38
|
-
|
|
35
|
+
## Data and limits
|
|
39
36
|
|
|
40
|
-
|
|
37
|
+
Journals live at `APPDATA_PATH/senka-ledger/<accountID>.jsonl`, normally `%APPDATA%\poi\senka-ledger\` on Windows. Every accepted record is appended and flushed to disk. Tokens, passwords, complete responses and other players' names are not stored. One writer owns each data directory; damaged or incomplete records pause writing while preserving the original file.
|
|
41
38
|
|
|
42
|
-
|
|
39
|
+
History starts when recording starts. Earlier individual battles cannot be recovered from the game. Cross-month EXP gaps are shown as intervals, without assigning them to a particular month. Activity totals use natural calendar days/months in the selected time zone; they do not calculate ranking carryover, monthly deadlines or deferred quest rewards.
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
& .\scripts\install-local.ps1
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
自定义 poi 数据目录可传 `-PoiDataDirectory '你的路径'`。安装脚本在目标已存在时停止,不覆盖任何现有插件。重启 poi,在插件设置中启用「战果手账 / Senka Ledger」,然后重新进入母港。
|
|
49
|
-
|
|
50
|
-
也可使用 `dist/poi-plugin-senka-ledger-0.1.2.tgz` 通过 poi 的本地插件安装功能安装。在源码目录执行 `npm run pack:local` 后会生成此文件。
|
|
41
|
+
Seven regular quarterly senka quests are supported: `854, 888, 893, 872, 284, 845, 903`. Other quests are not inferred. The ranking decoder follows the current observed obfuscated response format; invalid or insufficient data is not displayed as a new score. A game update may require decoder changes.
|
|
51
42
|
|
|
52
|
-
|
|
43
|
+
Back up the data folder before replacing a damaged journal. To restore, close all poi instances and restore the original `<accountID>.jsonl` file. A JSON backup's `journal` field contains that exact text. There is no in-app import yet. Version 0.1.x journals remain readable.
|
|
53
44
|
|
|
54
|
-
|
|
45
|
+
## Development
|
|
55
46
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
同一数据目录只允许一个写入实例。异常退出留下的锁在确认进程不存在后自动恢复;若锁中的进程号已被其他进程复用,需要在关闭全部 poi 后手动移走 `.writer-lock`。日志存在损坏或未写完的末行时,只加载损坏前的有效数据并暂停该账号写入,保留文件供恢复,界面显示异常。
|
|
59
|
-
|
|
60
|
-
## 开发验证
|
|
61
|
-
|
|
62
|
-
需要 Node.js 20 或更新版本:
|
|
47
|
+
Node.js 20+; no build step or extra runtime dependencies. React and the icon library come from poi.
|
|
63
48
|
|
|
64
49
|
```powershell
|
|
65
|
-
npm
|
|
66
|
-
npm
|
|
67
|
-
npm
|
|
50
|
+
npm run check
|
|
51
|
+
npm test
|
|
52
|
+
npm run pack:local
|
|
53
|
+
# Optional source installation; refuses to overwrite an existing plugin.
|
|
54
|
+
& .\scripts\install-local.ps1
|
|
68
55
|
```
|
|
69
56
|
|
|
70
|
-
|
|
57
|
+
The package is generated in `dist/`. `scripts/preview.js <React-18-UMD-directory> <output.html>` creates a synthetic browser preview; it never opens a real journal. It supports all five languages, a real React portal window and layout stress cases.
|
|
71
58
|
|
|
72
|
-
|
|
59
|
+
References: [poi](https://github.com/poooi/poi), [Ranking Calc](https://www.npmjs.com/package/poi-plugin-senka-calc). This is an independent implementation and icon design. MIT license.
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# 战果手账 · Senka Ledger
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md)
|
|
4
|
+
|
|
5
|
+
面向 **poi 12.0.1** 的独立本地插件。按事件保存战果增量,可查看往月、每日、每小时及排名战果快照。界面跟随 poi 语言,支持简体中文、繁体中文、日本语、English 和 한국어。
|
|
6
|
+
|
|
7
|
+
采用原创手账、书签与刻度图标。插件 ID 已与包名统一,修正 poi 插件栏仍显示上一个插件的问题;自动迁移旧版的窗口、置顶与收藏设置。主面板及「在新窗口打开」都有独立滚动区域,窄面板下控件和汇总会换行,较宽的表格、日历可横向滚动。
|
|
8
|
+
|
|
9
|
+
## 界面预览
|
|
10
|
+
|
|
11
|
+
下图均使用模拟数据。
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
## 统计方式
|
|
18
|
+
|
|
19
|
+
- **本地确认**:出击结算的 `api_get_exp × 7 / 10000`,以及直接观测到的 EO、成功领取的常设季常战果任务奖励。
|
|
20
|
+
- **未定位增量**:总提督经验增长超过本场奖励的部分,记录「上次观测 → 本次观测」区间。可能来自其他客户端、插件关闭或漏包;无法仅凭差额判定具体原因。
|
|
21
|
+
- **不把发现时间当获得时间**:未定位记录只含经验产生的普通战果,不进入登录当天、登录小时或每日色块。本月内区间单列;跨月区间在相关月份显示区间总额,不分摊,也不能跨月相加。
|
|
22
|
+
- **首次使用**:总经验只建立基准,不把账号终身经验折算为本月战果。如果首次观测就是出击结算,可以记录该场明确给出的奖励。
|
|
23
|
+
- **EO**:直接响应中的 `api_get_exmap_rate` / `api_get_eo_rate` 按响应时刻记账,只在顶部汇总,不进入日历、小时色块或逐笔明细。不再根据地图完成状态推断未在本地记录的 EO,旧版日志中的此类记录也不展示。
|
|
24
|
+
- **任务**:仅在 poi 的成功领取响应后记账,支持任务 ID `854, 888, 893, 872, 284, 845, 903`。按日本时间 3/6/9/12 月 1 日 05:00 重置去重周期。其他战果任务尚未支持;其他客户端领取的任务奖励无法从经验差恢复。
|
|
25
|
+
|
|
26
|
+
例如:昨天 22:00 总经验为 100000,今天 01:00 本地出击后总经验为 110000,本场经验为 1000。今天 01 时的色块只增加 **0.70**;剩余 **6.30** 作为昨天 22:00 到今天 01:00 的未定位增量单列。
|
|
27
|
+
|
|
28
|
+
这里显示的是按自然日、自然月分组的**活动战果增量估算**,不是官方排名总战果。月末普通战果与 EO 截止、任务顺延、年内继承及官方排名四舍五入等规则不在此汇总中推算。月末截止后的本地活动仍保留,可回看其实际获得时间。
|
|
29
|
+
|
|
30
|
+
## 查看与导出
|
|
31
|
+
|
|
32
|
+
1. 启用插件后进入母港,等待实时账号数据建立基准。插件不会采用 poi 上一次运行缓存的账号或经验。
|
|
33
|
+
2. 选择账号、月份和日本/中国时区。默认日本时间,原始日志统一保存 UTC 毫秒。
|
|
34
|
+
3. 默认显示月度日历,每个日期色块直接显示当日普通战果;点击日期进入二级界面,查看 24 个小时的色块与数值。点击小时可筛选普通战果明细,「返回月览」回到日历。
|
|
35
|
+
4. 月度和每日页面的顶部显示总战果、普通战果、EO 战果与任务战果。EO 和任务不出现在逐笔明细中;未在本地记录的增量只显示经验差额的区间、发现时间与数值。
|
|
36
|
+
5. 「导出本月 CSV」顶部保留月度汇总,下方只有普通战果明细与涉及该月的经验未定位区间;「备份全部 JSON」包含该账号完整原始日志,与旧版数据兼容。
|
|
37
|
+
|
|
38
|
+
## 排名战果
|
|
39
|
+
|
|
40
|
+
在游戏内打开排名列表,查看自己的条目及所需名次所在页。插件自动读取自己的排名战果,以及第 1、5、20、100、500、501 名的快照;点击「排名战果」展开查看差额和每条记录的读取时间。没有读取到的条目留空,重名且无法确认身份时不会认作自己。
|
|
41
|
+
|
|
42
|
+
排名快照单独保存,不参与日历、小时色块或未知经验差额计算。月初日本时间 03:00 前读取的排名归属上个月。仅观察正常游戏响应,不主动请求排名或操作游戏;数据不足或格式变化时不猜测新分数,游戏更新可能需要适配解码逻辑。
|
|
43
|
+
|
|
44
|
+
历史从插件开始记录后积累,保留全部月份。游戏不提供往月逐场历史,因此无法自动恢复安装前的每场出击或其他客户端的准确刷取时刻。本地记录的时刻为 poi 接收到响应的时刻,系统时钟需要准确。
|
|
45
|
+
|
|
46
|
+
## 安装
|
|
47
|
+
|
|
48
|
+
无需编译或额外运行依赖,使用 poi 自带的 React。安装独立包,不会替换原战果计算插件,可同时运行。
|
|
49
|
+
|
|
50
|
+
npm 包名:`poi-plugin-senka-ledger`。在 poi 的插件管理中按此包名安装。也可从 [GitHub Releases](https://github.com/asparagusThief/poi-plugin-senka-ledger/releases) 下载本地插件包。
|
|
51
|
+
|
|
52
|
+
在本目录运行:
|
|
53
|
+
|
|
54
|
+
```powershell
|
|
55
|
+
& .\scripts\install-local.ps1
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
自定义 poi 数据目录可传 `-PoiDataDirectory '你的路径'`。安装脚本在目标已存在时停止,不覆盖任何现有插件。重启 poi,在插件设置中启用「战果手账 / Senka Ledger」,然后重新进入母港。
|
|
59
|
+
|
|
60
|
+
也可使用 `dist/poi-plugin-senka-ledger-0.2.0.tgz` 通过 poi 的本地插件安装功能安装。在源码目录执行 `npm run pack:local` 后会生成此文件。
|
|
61
|
+
|
|
62
|
+
## 数据与备份
|
|
63
|
+
|
|
64
|
+
数据位于 poi 的 `APPDATA_PATH/senka-ledger/<账号ID>.jsonl`,Windows 通常是 `%APPDATA%\poi\senka-ledger\`。每个账号独立日志,逐笔追加并同步到磁盘;重启时重放日志,不按月份覆盖或清零。保存少量必要数值与标签,不保存 API token、完整响应、密码或游戏操作。
|
|
65
|
+
|
|
66
|
+
停用、更新或卸载插件前建议备份整个 `senka-ledger` 数据文件夹。手动恢复时,关闭所有 poi 实例后将原始 `<账号ID>.jsonl` 放回数据目录。导出 JSON 的 `journal` 字段保存同一份原始日志文本,可原样恢复到相应账号文件;目前没有界面导入功能。
|
|
67
|
+
|
|
68
|
+
同一数据目录只允许一个写入实例。异常退出留下的锁在确认进程不存在后自动恢复;若锁中的进程号已被其他进程复用,需要在关闭全部 poi 后手动移走 `.writer-lock`。日志存在损坏或未写完的末行时,只加载损坏前的有效数据并暂停该账号写入,保留文件供恢复,界面显示异常。
|
|
69
|
+
|
|
70
|
+
## 开发验证
|
|
71
|
+
|
|
72
|
+
需要 Node.js 20 或更新版本:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
npm.cmd run check
|
|
76
|
+
npm.cmd test
|
|
77
|
+
npm.cmd run pack:local
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
测试覆盖跨日、跨月、跨年、重连、首次基准、联合舰队、未知增量、本场奖励缺失、重复响应、EO 对账、任务周期、时区分组、多账号、重启恢复与日志损坏。提供模拟数据预览生成器 `scripts/preview.js`;预览数据不写入真实账号文件。
|
|
81
|
+
|
|
82
|
+
参考核对:[poi 12.0.1](https://github.com/poooi/poi/releases/tag/v12.0.1)、[现有战果计算插件](https://www.npmjs.com/package/poi-plugin-senka-calc)(5.6.2)。本插件为独立实现,未修改或覆盖现有插件。
|
package/README.zh-TW.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 戰果手帳 · Senka Ledger
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md)
|
|
4
|
+
|
|
5
|
+
適用於 **poi 12.0.1** 的本機戰果記錄插件。原創手帳、書籤與刻度圖示;介面跟隨 poi,支援繁體中文、簡體中文、日語、英語與韓語。
|
|
6
|
+
|
|
7
|
+
## 使用方式
|
|
8
|
+
|
|
9
|
+
1. 在 poi 插件管理安裝 `poi-plugin-senka-ledger`,或從 [GitHub Releases](https://github.com/asparagusThief/poi-plugin-senka-ledger/releases) 安裝 `.tgz`。
|
|
10
|
+
2. 啟用後進入母港,建立即時提督經驗基準。月曆色塊顯示每日一般戰果,點日期進入每小時色塊,再點小時篩選明細。
|
|
11
|
+
3. EO、任務戰果只在頂端彙總。一般戰果依本場提督經驗 `× 7 / 10000` 換算。
|
|
12
|
+
4. 在遊戲內開啟排名列表,查看自己的條目與需要的名次頁面;展開插件的「排名戰果」,可查看自己及第 1、5、20、100、500、501 名的快照、差額與讀取時間。
|
|
13
|
+
|
|
14
|
+
排名資料與活動增量分開保存,不會加入日曆或小時統計。未讀取的條目留空,重名而無法辨識時不當作自己。月初日本時間 03:00 前讀取的排名歸屬上個月。只觀察正常遊戲回應,不主動請求排名或操作遊戲;資料不足、格式改變時不猜測新分數。
|
|
15
|
+
|
|
16
|
+
## 視窗、語言與資料
|
|
17
|
+
|
|
18
|
+
主面板與「在新視窗開啟」均有獨立捲動區域;窄面板下控制項會換行,較寬的表格與日曆可橫向捲動。日期、時間與戰果數字置中顯示,沒有色階圖例。插件 ID 已統一為套件名稱,修正插件欄標題,並遷移舊版視窗、釘選與收藏設定。
|
|
19
|
+
|
|
20
|
+
未在本機記錄的經驗增量只列可能發生區間,不算進登入當天或登入小時;不推測外部 EO 或任務獎勵。活動彙總按所選時區的自然日、自然月分組,不計算官方排名繼承、月末截止或任務順延。歷史從開始記錄後累積,不能補回之前逐場出擊。
|
|
21
|
+
|
|
22
|
+
支援 7 項常設季常戰果任務:`854, 888, 893, 872, 284, 845, 903`。
|
|
23
|
+
|
|
24
|
+
各帳號日誌位於 `APPDATA_PATH/senka-ledger/<帳號ID>.jsonl`,Windows 通常為 `%APPDATA%\poi\senka-ledger\`。逐筆追加並同步至磁碟,不存 token、密碼、完整回應或其他玩家名稱。損壞日誌保留原檔並暫停寫入。同一資料夾只允許一個寫入實例。
|
|
25
|
+
|
|
26
|
+
可匯出本月 CSV 與完整 JSON 備份。還原時先關閉全部 poi,再放回原始 `.jsonl`;JSON 的 `journal` 欄位就是原始日誌文字,目前沒有介面匯入。相容 0.1.x 的資料。
|
|
27
|
+
|
|
28
|
+
## 開發
|
|
29
|
+
|
|
30
|
+
Node.js 20+,不需編譯或額外執行依賴,使用 poi 的 React 與圖示庫。
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
npm run check
|
|
34
|
+
npm test
|
|
35
|
+
npm run pack:local
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
安裝包輸出至 `dist/`。原始碼安裝腳本為 `scripts/install-local.ps1`,已有插件時不覆寫。詳細規則與參考請見 [English README](README.md)。MIT 授權。
|
package/assets/icon.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><title>Senka Ledger</title><path fill="#159985" fill-rule="nonzero" d="M16 4H48A8 8 0 0 1 56 12V52A8 8 0 0 1 48 60H16A8 8 0 0 1 8 52V12A8 8 0 0 1 16 4ZM18 10A4 4 0 0 0 14 14V50A4 4 0 0 0 18 54H46A4 4 0 0 0 50 50V14A4 4 0 0 0 46 10H18ZM34 4H44V26L39 22L34 26V4ZM21 30H43V34H21ZM21 40H25V47H21ZM29 38H33V47H29ZM37 36H41V47H37Z"/></svg>
|
package/i18n/en-US.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Senka Ledger": "Senka Ledger",
|
|
3
|
+
"recording": "Recording",
|
|
4
|
+
"waiting": "Waiting for game data",
|
|
5
|
+
"storageError": "Storage error",
|
|
6
|
+
"account": "Account",
|
|
7
|
+
"month": "Month",
|
|
8
|
+
"timezone": "Time zone",
|
|
9
|
+
"japan": "Japan UTC+9",
|
|
10
|
+
"china": "China UTC+8",
|
|
11
|
+
"current": "Current",
|
|
12
|
+
"exportCSV": "Export month CSV",
|
|
13
|
+
"backupJSON": "Back up all JSON",
|
|
14
|
+
"back": "Back to month",
|
|
15
|
+
"prevDay": "Previous day",
|
|
16
|
+
"nextDay": "Next day",
|
|
17
|
+
"monthTotal": "Monthly total",
|
|
18
|
+
"dayTotal": "Daily total",
|
|
19
|
+
"normal": "Normal senka",
|
|
20
|
+
"eo": "EO senka",
|
|
21
|
+
"quest": "Quest senka",
|
|
22
|
+
"daily": "Daily normal senka",
|
|
23
|
+
"hourly": "Hourly normal senka",
|
|
24
|
+
"dayDetail": "Daily details",
|
|
25
|
+
"hourDetail": "{{hour}} · Details",
|
|
26
|
+
"viewAll": "View full day",
|
|
27
|
+
"time": "Time",
|
|
28
|
+
"experience": "Admiral EXP",
|
|
29
|
+
"senka": "Senka",
|
|
30
|
+
"map": "Map",
|
|
31
|
+
"empty": "No records",
|
|
32
|
+
"unknown": "Unrecorded EXP gains",
|
|
33
|
+
"interval": "Possible interval",
|
|
34
|
+
"detected": "Observed at",
|
|
35
|
+
"shown": "{{count}} records · latest {{limit}} shown",
|
|
36
|
+
"rankTitle": "Ranking senka",
|
|
37
|
+
"rankNo": "Rank",
|
|
38
|
+
"rankScore": "Senka",
|
|
39
|
+
"rankGap": "From you",
|
|
40
|
+
"rankReadAt": "Read at",
|
|
41
|
+
"rankSelf": "You",
|
|
42
|
+
"rankWaiting": "Open the in-game ranking to read its scores.",
|
|
43
|
+
"rankPending": "Not read",
|
|
44
|
+
"weekdays": [
|
|
45
|
+
"Mon",
|
|
46
|
+
"Tue",
|
|
47
|
+
"Wed",
|
|
48
|
+
"Thu",
|
|
49
|
+
"Fri",
|
|
50
|
+
"Sat",
|
|
51
|
+
"Sun"
|
|
52
|
+
],
|
|
53
|
+
"node": "Node {{node}}",
|
|
54
|
+
"unknownMap": "Unknown map",
|
|
55
|
+
"local": "Local",
|
|
56
|
+
"unlocated": "Unlocated",
|
|
57
|
+
"source": "Source",
|
|
58
|
+
"kind": "Type",
|
|
59
|
+
"csvTime": "Recorded / observed at",
|
|
60
|
+
"from": "Interval start",
|
|
61
|
+
"to": "Interval end",
|
|
62
|
+
"invalidLock": "Invalid storage lock. Check .writer-lock.",
|
|
63
|
+
"locked": "Another poi instance is recording. Close that instance first.",
|
|
64
|
+
"invalidAccount": "Invalid account ID.",
|
|
65
|
+
"storageNotReady": "Storage is not ready.",
|
|
66
|
+
"corrupt": "Journal line {{line}} is damaged or incomplete. The file was preserved and writing is paused.",
|
|
67
|
+
"saveFailed": "Saving failed; writing is paused: {{message}}",
|
|
68
|
+
"official": "Your ranking score",
|
|
69
|
+
"ownRank": "Your rank",
|
|
70
|
+
"readAt": "Read at {{time}}",
|
|
71
|
+
"preview": "Sample data",
|
|
72
|
+
"normalKind": "Normal",
|
|
73
|
+
"eoKind": "EO",
|
|
74
|
+
"questKind": "Quest"
|
|
75
|
+
}
|
package/i18n/ja-JP.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Senka Ledger": "戦果手帳",
|
|
3
|
+
"recording": "記録中",
|
|
4
|
+
"waiting": "ゲームデータ待機中",
|
|
5
|
+
"storageError": "保存エラー",
|
|
6
|
+
"account": "アカウント",
|
|
7
|
+
"month": "月",
|
|
8
|
+
"timezone": "時間帯",
|
|
9
|
+
"japan": "日本 UTC+9",
|
|
10
|
+
"china": "中国 UTC+8",
|
|
11
|
+
"current": "現在",
|
|
12
|
+
"exportCSV": "月別 CSV を出力",
|
|
13
|
+
"backupJSON": "全 JSON を保存",
|
|
14
|
+
"back": "月別に戻る",
|
|
15
|
+
"prevDay": "前日",
|
|
16
|
+
"nextDay": "翌日",
|
|
17
|
+
"monthTotal": "今月の戦果",
|
|
18
|
+
"dayTotal": "当日の戦果",
|
|
19
|
+
"normal": "通常戦果",
|
|
20
|
+
"eo": "EO 戦果",
|
|
21
|
+
"quest": "任務戦果",
|
|
22
|
+
"daily": "日別の通常戦果",
|
|
23
|
+
"hourly": "時間別の通常戦果",
|
|
24
|
+
"dayDetail": "当日の明細",
|
|
25
|
+
"hourDetail": "{{hour}} · 明細",
|
|
26
|
+
"viewAll": "一日分を表示",
|
|
27
|
+
"time": "記録時刻",
|
|
28
|
+
"experience": "提督経験値",
|
|
29
|
+
"senka": "戦果",
|
|
30
|
+
"map": "海域",
|
|
31
|
+
"empty": "記録なし",
|
|
32
|
+
"unknown": "ローカル未記録の経験値戦果",
|
|
33
|
+
"interval": "発生した可能性のある期間",
|
|
34
|
+
"detected": "検出時刻",
|
|
35
|
+
"shown": "{{count}} 件中、最新 {{limit}} 件を表示",
|
|
36
|
+
"rankTitle": "ランキング戦果",
|
|
37
|
+
"rankNo": "順位",
|
|
38
|
+
"rankScore": "戦果",
|
|
39
|
+
"rankGap": "自分との差",
|
|
40
|
+
"rankReadAt": "読取時刻",
|
|
41
|
+
"rankSelf": "自分",
|
|
42
|
+
"rankWaiting": "ゲーム内のランキングを開くと読み取ります。",
|
|
43
|
+
"rankPending": "未読取",
|
|
44
|
+
"weekdays": [
|
|
45
|
+
"月",
|
|
46
|
+
"火",
|
|
47
|
+
"水",
|
|
48
|
+
"木",
|
|
49
|
+
"金",
|
|
50
|
+
"土",
|
|
51
|
+
"日"
|
|
52
|
+
],
|
|
53
|
+
"node": "マス {{node}}",
|
|
54
|
+
"unknownMap": "海域不明",
|
|
55
|
+
"local": "ローカル確認",
|
|
56
|
+
"unlocated": "時刻不明",
|
|
57
|
+
"source": "取得元",
|
|
58
|
+
"kind": "種類",
|
|
59
|
+
"csvTime": "記録・検出時刻",
|
|
60
|
+
"from": "期間開始",
|
|
61
|
+
"to": "期間終了",
|
|
62
|
+
"invalidLock": "保存ロックが無効です。.writer-lock を確認してください。",
|
|
63
|
+
"locked": "別の poi が記録中です。先にその poi を閉じてください。",
|
|
64
|
+
"invalidAccount": "アカウント ID が無効です。",
|
|
65
|
+
"storageNotReady": "保存先は未初期化です。",
|
|
66
|
+
"corrupt": "ログの {{line}} 行目が破損または未完了です。元ファイルを保持し、書き込みを停止しました。",
|
|
67
|
+
"saveFailed": "保存に失敗し、書き込みを停止しました:{{message}}",
|
|
68
|
+
"official": "自分のランキング戦果",
|
|
69
|
+
"ownRank": "自分の順位",
|
|
70
|
+
"readAt": "読取:{{time}}",
|
|
71
|
+
"preview": "サンプルデータ",
|
|
72
|
+
"normalKind": "通常",
|
|
73
|
+
"eoKind": "EO",
|
|
74
|
+
"questKind": "任務"
|
|
75
|
+
}
|
package/i18n/ko-KR.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Senka Ledger": "전과 수첩",
|
|
3
|
+
"recording": "기록 중",
|
|
4
|
+
"waiting": "게임 데이터 대기 중",
|
|
5
|
+
"storageError": "저장 오류",
|
|
6
|
+
"account": "계정",
|
|
7
|
+
"month": "월",
|
|
8
|
+
"timezone": "시간대",
|
|
9
|
+
"japan": "일본 UTC+9",
|
|
10
|
+
"china": "중국 UTC+8",
|
|
11
|
+
"current": "현재",
|
|
12
|
+
"exportCSV": "월별 CSV 내보내기",
|
|
13
|
+
"backupJSON": "전체 JSON 백업",
|
|
14
|
+
"back": "월별 보기로",
|
|
15
|
+
"prevDay": "이전 날",
|
|
16
|
+
"nextDay": "다음 날",
|
|
17
|
+
"monthTotal": "이번 달 전과",
|
|
18
|
+
"dayTotal": "당일 전과",
|
|
19
|
+
"normal": "일반 전과",
|
|
20
|
+
"eo": "EO 전과",
|
|
21
|
+
"quest": "임무 전과",
|
|
22
|
+
"daily": "날짜별 일반 전과",
|
|
23
|
+
"hourly": "시간별 일반 전과",
|
|
24
|
+
"dayDetail": "당일 상세",
|
|
25
|
+
"hourDetail": "{{hour}} · 상세",
|
|
26
|
+
"viewAll": "하루 전체 보기",
|
|
27
|
+
"time": "기록 시각",
|
|
28
|
+
"experience": "제독 경험치",
|
|
29
|
+
"senka": "전과",
|
|
30
|
+
"map": "해역",
|
|
31
|
+
"empty": "기록 없음",
|
|
32
|
+
"unknown": "로컬 미기록 경험치 전과",
|
|
33
|
+
"interval": "발생 가능 구간",
|
|
34
|
+
"detected": "확인 시각",
|
|
35
|
+
"shown": "{{count}}건 중 최근 {{limit}}건 표시",
|
|
36
|
+
"rankTitle": "순위 전과",
|
|
37
|
+
"rankNo": "순위",
|
|
38
|
+
"rankScore": "전과",
|
|
39
|
+
"rankGap": "자신과의 차이",
|
|
40
|
+
"rankReadAt": "조회 시각",
|
|
41
|
+
"rankSelf": "자신",
|
|
42
|
+
"rankWaiting": "게임 내 순위 목록을 열면 읽어 옵니다.",
|
|
43
|
+
"rankPending": "조회 전",
|
|
44
|
+
"weekdays": [
|
|
45
|
+
"월",
|
|
46
|
+
"화",
|
|
47
|
+
"수",
|
|
48
|
+
"목",
|
|
49
|
+
"금",
|
|
50
|
+
"토",
|
|
51
|
+
"일"
|
|
52
|
+
],
|
|
53
|
+
"node": "노드 {{node}}",
|
|
54
|
+
"unknownMap": "해역 미상",
|
|
55
|
+
"local": "로컬 확인",
|
|
56
|
+
"unlocated": "시각 미상",
|
|
57
|
+
"source": "출처",
|
|
58
|
+
"kind": "종류",
|
|
59
|
+
"csvTime": "기록 또는 확인 시각",
|
|
60
|
+
"from": "구간 시작",
|
|
61
|
+
"to": "구간 끝",
|
|
62
|
+
"invalidLock": "저장 잠금이 잘못되었습니다. .writer-lock을 확인하세요.",
|
|
63
|
+
"locked": "다른 poi가 전과를 기록 중입니다. 해당 인스턴스를 먼저 닫으세요.",
|
|
64
|
+
"invalidAccount": "잘못된 계정 ID입니다.",
|
|
65
|
+
"storageNotReady": "저장소가 준비되지 않았습니다.",
|
|
66
|
+
"corrupt": "로그 {{line}}번째 줄이 손상되었거나 미완료입니다. 원본을 보존하고 기록을 중지했습니다.",
|
|
67
|
+
"saveFailed": "저장에 실패하여 기록을 중지했습니다: {{message}}",
|
|
68
|
+
"official": "자신의 순위 전과",
|
|
69
|
+
"ownRank": "자신의 순위",
|
|
70
|
+
"readAt": "조회: {{time}}",
|
|
71
|
+
"preview": "예시 데이터",
|
|
72
|
+
"normalKind": "일반",
|
|
73
|
+
"eoKind": "EO",
|
|
74
|
+
"questKind": "임무"
|
|
75
|
+
}
|
package/i18n/zh-CN.json
CHANGED
|
@@ -1 +1,75 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"Senka Ledger": "战果手账",
|
|
3
|
+
"recording": "记录中",
|
|
4
|
+
"waiting": "等待游戏数据",
|
|
5
|
+
"storageError": "存储异常",
|
|
6
|
+
"account": "账号",
|
|
7
|
+
"month": "月份",
|
|
8
|
+
"timezone": "时区",
|
|
9
|
+
"japan": "日本 UTC+9",
|
|
10
|
+
"china": "中国 UTC+8",
|
|
11
|
+
"current": "当前",
|
|
12
|
+
"exportCSV": "导出本月 CSV",
|
|
13
|
+
"backupJSON": "备份全部 JSON",
|
|
14
|
+
"back": "返回月览",
|
|
15
|
+
"prevDay": "前一天",
|
|
16
|
+
"nextDay": "后一天",
|
|
17
|
+
"monthTotal": "本月战果",
|
|
18
|
+
"dayTotal": "当日战果",
|
|
19
|
+
"normal": "普通战果",
|
|
20
|
+
"eo": "EO 战果",
|
|
21
|
+
"quest": "任务战果",
|
|
22
|
+
"daily": "每日普通战果",
|
|
23
|
+
"hourly": "每小时普通战果",
|
|
24
|
+
"dayDetail": "当日明细",
|
|
25
|
+
"hourDetail": "{{hour}} · 明细",
|
|
26
|
+
"viewAll": "查看全天",
|
|
27
|
+
"time": "记录时间",
|
|
28
|
+
"experience": "提督经验",
|
|
29
|
+
"senka": "战果",
|
|
30
|
+
"map": "海域",
|
|
31
|
+
"empty": "暂无记录",
|
|
32
|
+
"unknown": "未在本地记录的增量",
|
|
33
|
+
"interval": "可能发生区间",
|
|
34
|
+
"detected": "发现于",
|
|
35
|
+
"shown": "共 {{count}} 笔 · 显示最新 {{limit}} 笔",
|
|
36
|
+
"rankTitle": "排名战果",
|
|
37
|
+
"rankNo": "名次",
|
|
38
|
+
"rankScore": "战果",
|
|
39
|
+
"rankGap": "与你的差额",
|
|
40
|
+
"rankReadAt": "读取时间",
|
|
41
|
+
"rankSelf": "自己",
|
|
42
|
+
"rankWaiting": "在游戏内打开排名列表后读取。",
|
|
43
|
+
"rankPending": "尚未读取",
|
|
44
|
+
"weekdays": [
|
|
45
|
+
"一",
|
|
46
|
+
"二",
|
|
47
|
+
"三",
|
|
48
|
+
"四",
|
|
49
|
+
"五",
|
|
50
|
+
"六",
|
|
51
|
+
"日"
|
|
52
|
+
],
|
|
53
|
+
"node": "节点 {{node}}",
|
|
54
|
+
"unknownMap": "海域未知",
|
|
55
|
+
"local": "本地确认",
|
|
56
|
+
"unlocated": "未定位",
|
|
57
|
+
"source": "来源",
|
|
58
|
+
"kind": "种类",
|
|
59
|
+
"csvTime": "记录或发现时间",
|
|
60
|
+
"from": "区间起点",
|
|
61
|
+
"to": "区间终点",
|
|
62
|
+
"invalidLock": "存储锁无效,请检查 .writer-lock。",
|
|
63
|
+
"locked": "另一个 poi 实例正在记录战果,请先关闭另一实例。",
|
|
64
|
+
"invalidAccount": "账号 ID 无效。",
|
|
65
|
+
"storageNotReady": "存储尚未初始化。",
|
|
66
|
+
"corrupt": "记录第 {{line}} 行损坏或未写完,已保留原文件并暂停写入。",
|
|
67
|
+
"saveFailed": "保存失败,已暂停写入:{{message}}",
|
|
68
|
+
"official": "自己的排名战果",
|
|
69
|
+
"ownRank": "自己的名次",
|
|
70
|
+
"readAt": "读取于 {{time}}",
|
|
71
|
+
"preview": "模拟数据",
|
|
72
|
+
"normalKind": "普通",
|
|
73
|
+
"eoKind": "EO",
|
|
74
|
+
"questKind": "任务"
|
|
75
|
+
}
|