Skip to content

Commit db22f23

Browse files
him0claude
andauthored
feat: Google IMEと同等の日付変換フォーマットを追加 (#276)
* feat: Google IMEと同等の日付変換フォーマットを追加 「きょう」「きのう」「あした」などの日付変換に以下のフォーマットを追加: - ハイフン区切り(2026-01-12) - ゼロ埋めなし漢字表記(2026年1月12日) - 和暦表記(令和8年1月12日) - 曜日のみ(月曜日) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: フィードバックを受けてゼロ埋めあり漢字表記を廃止 他のIMEとのfeature alignmentを考慮し、ゼロ埋めあり(2026年01月12日)を削除して ゼロ埋めなし(2026年1月12日)のみを採用 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: 日付変換フォーマットの実装を統合 - 3つのflatMapブロックを1つに統合 - CalendarTypeを配列の要素として明示的に指定 - MM/dd → M/d、MM月dd日(E) → M月d日(E)(ゼロ埋めなし) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: 日付変換フォーマットの優先度を連番に整理 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * style: 配列結合演算子のフォーマットを調整 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 53e3730 commit db22f23

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

Core/Sources/Core/InputUtils/SegmentsManager.swift

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -355,13 +355,21 @@ public final class SegmentsManager {
355355

356356
/// 日付・時刻変換を事前に入れておく
357357
let dynamicShortcuts: [DicdataElement] =
358-
[("MM/dd", -18), ("yyyy/MM/dd", -18.1), ("MM月dd日(E)", -18.2), ("yyyy年MM月dd日", -18.3)].flatMap { (format, value: PValue) in
358+
[
359+
("M/d", -18, DateTemplateLiteral.CalendarType.western),
360+
("yyyy/MM/dd", -18.1, .western),
361+
("yyyy-MM-dd", -18.2, .western),
362+
("M月d日(E)", -18.3, .western),
363+
("yyyy年M月d日", -18.4, .western),
364+
("Gyyyy年M月d日", -18.5, .japanese),
365+
("E曜日", -18.6, .western)
366+
].flatMap { (format, value: PValue, type) in
359367
[
360-
.init(word: DateTemplateLiteral(format: format, type: .western, language: .japanese, delta: "-2", deltaUnit: 60 * 60 * 24).export(), ruby: "オトトイ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
361-
.init(word: DateTemplateLiteral(format: format, type: .western, language: .japanese, delta: "-1", deltaUnit: 60 * 60 * 24).export(), ruby: "キノウ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
362-
.init(word: DateTemplateLiteral(format: format, type: .western, language: .japanese, delta: "0", deltaUnit: 1).export(), ruby: "キョウ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
363-
.init(word: DateTemplateLiteral(format: format, type: .western, language: .japanese, delta: "1", deltaUnit: 60 * 60 * 24).export(), ruby: "アシタ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
364-
.init(word: DateTemplateLiteral(format: format, type: .western, language: .japanese, delta: "2", deltaUnit: 60 * 60 * 24).export(), ruby: "アサッテ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value)
368+
.init(word: DateTemplateLiteral(format: format, type: type, language: .japanese, delta: "-2", deltaUnit: 60 * 60 * 24).export(), ruby: "オトトイ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
369+
.init(word: DateTemplateLiteral(format: format, type: type, language: .japanese, delta: "-1", deltaUnit: 60 * 60 * 24).export(), ruby: "キノウ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
370+
.init(word: DateTemplateLiteral(format: format, type: type, language: .japanese, delta: "0", deltaUnit: 1).export(), ruby: "キョウ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
371+
.init(word: DateTemplateLiteral(format: format, type: type, language: .japanese, delta: "1", deltaUnit: 60 * 60 * 24).export(), ruby: "アシタ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value),
372+
.init(word: DateTemplateLiteral(format: format, type: type, language: .japanese, delta: "2", deltaUnit: 60 * 60 * 24).export(), ruby: "アサッテ", cid: CIDData.固有名詞.cid, mid: MIDData.一般.mid, value: value)
365373
]
366374
} + [
367375
// 月

0 commit comments

Comments
 (0)