Skip to content

Commit a11957e

Browse files
committed
feat(events): dictionary 5 cold actions (duplicate/merge-queue/deployed)
补齐 _translateAction 里之前透传英文的 5 个冷 action,让首页动态、Issue/PR 详情页的事件行走多语言: - marked_as_duplicate / unmarked_as_duplicate:Issue 去重(GitHub 2024 GA) - enqueued / dequeued:GitHub merge queue 2025 后主推的 PR 事件 - deployed:DeploymentEvent 部署事件 改动分布: - 4 语言 arb(app_zh.arb / app_en.arb / app_ja.arb / app_ko.arb)加 5 个 event_action_* 词条 - flutter gen-l10n 重生成 app_localizations_*.dart(含 zh/en/ja/ko 4 份 getter) - lib/common/utils/event_utils.dart 的 _translateAction switch 追加 5 个 case, 命中后不再落入 default 分支的 _logUnknownActionOnce 遥测告警 证据: - test/utils/event_utils_test.dart 追加 5 个 testWidgets case,Event.fromJson 真实 payload 构造 IssuesEvent + marked_as_duplicate / unmarked_as_duplicate、 PullRequestEvent + enqueued / dequeued、 DeploymentEvent + deployed, 断言词典文案出现且原英文 action 不残留在 actionStr/des 里 - 白名单 6 个测试文件(event_utils / issue_timeline_event / markdown_html_transformer / issue_timeline_item / issue_timeline_merge / dynamic_bloc)133 case 全绿 - fvm flutter analyze 零告警 分级:AGENTS.md「纯模型 / 纯工具函数」,flutter analyze + 单测已闭环,不强制真机。
1 parent 0485813 commit a11957e

11 files changed

Lines changed: 251 additions & 0 deletions

lib/common/localization/l10n/app_en.arb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,11 @@
686686
"event_action_category_changed": "changed category",
687687
"event_action_resolved": "resolved",
688688
"event_action_unresolved": "unresolved",
689+
"event_action_marked_as_duplicate": "marked as duplicate",
690+
"event_action_unmarked_as_duplicate": "unmarked as duplicate",
691+
"event_action_enqueued": "queued for merge",
692+
"event_action_dequeued": "dequeued from merge",
693+
"event_action_deployed": "deployed",
689694
"option_pr_files": "Files changed",
690695
"pr_files_title": "PR #{number} files changed",
691696
"@pr_files_title": {

lib/common/localization/l10n/app_ja.arb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,11 @@
361361
"event_action_category_changed": "カテゴリ変更",
362362
"event_action_resolved": "解決済みにマーク",
363363
"event_action_unresolved": "解決済みを取り消し",
364+
"event_action_marked_as_duplicate": "重複としてマーク",
365+
"event_action_unmarked_as_duplicate": "重複マークを取り消し",
366+
"event_action_enqueued": "マージキューに追加",
367+
"event_action_dequeued": "マージキューから削除",
368+
"event_action_deployed": "デプロイ済み",
364369
"option_pr_files": "変更ファイル",
365370
"pr_files_title": "PR #{number} の変更ファイル",
366371
"@pr_files_title": {

lib/common/localization/l10n/app_ko.arb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,11 @@
361361
"event_action_category_changed": "카테고리 변경",
362362
"event_action_resolved": "해결됨으로 표시",
363363
"event_action_unresolved": "해결됨 취소",
364+
"event_action_marked_as_duplicate": "중복으로 표시",
365+
"event_action_unmarked_as_duplicate": "중복 표시 해제",
366+
"event_action_enqueued": "병합 큐에 추가",
367+
"event_action_dequeued": "병합 큐에서 제거",
368+
"event_action_deployed": "배포됨",
364369
"option_pr_files": "변경 파일",
365370
"pr_files_title": "PR #{number} 변경 파일",
366371
"@pr_files_title": {

lib/common/localization/l10n/app_localizations.dart

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2178,6 +2178,36 @@ abstract class AppLocalizations {
21782178
/// **'unresolved'**
21792179
String get event_action_unresolved;
21802180

2181+
/// No description provided for @event_action_marked_as_duplicate.
2182+
///
2183+
/// In en, this message translates to:
2184+
/// **'marked as duplicate'**
2185+
String get event_action_marked_as_duplicate;
2186+
2187+
/// No description provided for @event_action_unmarked_as_duplicate.
2188+
///
2189+
/// In en, this message translates to:
2190+
/// **'unmarked as duplicate'**
2191+
String get event_action_unmarked_as_duplicate;
2192+
2193+
/// No description provided for @event_action_enqueued.
2194+
///
2195+
/// In en, this message translates to:
2196+
/// **'queued for merge'**
2197+
String get event_action_enqueued;
2198+
2199+
/// No description provided for @event_action_dequeued.
2200+
///
2201+
/// In en, this message translates to:
2202+
/// **'dequeued from merge'**
2203+
String get event_action_dequeued;
2204+
2205+
/// No description provided for @event_action_deployed.
2206+
///
2207+
/// In en, this message translates to:
2208+
/// **'deployed'**
2209+
String get event_action_deployed;
2210+
21812211
/// No description provided for @option_pr_files.
21822212
///
21832213
/// In en, this message translates to:

lib/common/localization/l10n/app_localizations_en.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,6 +1217,21 @@ class AppLocalizationsEn extends AppLocalizations {
12171217
@override
12181218
String get event_action_unresolved => 'unresolved';
12191219

1220+
@override
1221+
String get event_action_marked_as_duplicate => 'marked as duplicate';
1222+
1223+
@override
1224+
String get event_action_unmarked_as_duplicate => 'unmarked as duplicate';
1225+
1226+
@override
1227+
String get event_action_enqueued => 'queued for merge';
1228+
1229+
@override
1230+
String get event_action_dequeued => 'dequeued from merge';
1231+
1232+
@override
1233+
String get event_action_deployed => 'deployed';
1234+
12201235
@override
12211236
String get option_pr_files => 'Files changed';
12221237

lib/common/localization/l10n/app_localizations_ja.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,6 +1209,21 @@ class AppLocalizationsJa extends AppLocalizations {
12091209
@override
12101210
String get event_action_unresolved => '解決済みを取り消し';
12111211

1212+
@override
1213+
String get event_action_marked_as_duplicate => '重複としてマーク';
1214+
1215+
@override
1216+
String get event_action_unmarked_as_duplicate => '重複マークを取り消し';
1217+
1218+
@override
1219+
String get event_action_enqueued => 'マージキューに追加';
1220+
1221+
@override
1222+
String get event_action_dequeued => 'マージキューから削除';
1223+
1224+
@override
1225+
String get event_action_deployed => 'デプロイ済み';
1226+
12121227
@override
12131228
String get option_pr_files => '変更ファイル';
12141229

lib/common/localization/l10n/app_localizations_ko.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,6 +1208,21 @@ class AppLocalizationsKo extends AppLocalizations {
12081208
@override
12091209
String get event_action_unresolved => '해결됨 취소';
12101210

1211+
@override
1212+
String get event_action_marked_as_duplicate => '중복으로 표시';
1213+
1214+
@override
1215+
String get event_action_unmarked_as_duplicate => '중복 표시 해제';
1216+
1217+
@override
1218+
String get event_action_enqueued => '병합 큐에 추가';
1219+
1220+
@override
1221+
String get event_action_dequeued => '병합 큐에서 제거';
1222+
1223+
@override
1224+
String get event_action_deployed => '배포됨';
1225+
12111226
@override
12121227
String get option_pr_files => '변경 파일';
12131228

lib/common/localization/l10n/app_localizations_zh.dart

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1208,6 +1208,21 @@ class AppLocalizationsZh extends AppLocalizations {
12081208
@override
12091209
String get event_action_unresolved => '撤销已解决';
12101210

1211+
@override
1212+
String get event_action_marked_as_duplicate => '标记为重复';
1213+
1214+
@override
1215+
String get event_action_unmarked_as_duplicate => '取消重复标记';
1216+
1217+
@override
1218+
String get event_action_enqueued => '加入合并队列';
1219+
1220+
@override
1221+
String get event_action_dequeued => '移出合并队列';
1222+
1223+
@override
1224+
String get event_action_deployed => '已部署';
1225+
12111226
@override
12121227
String get option_pr_files => '变更文件';
12131228

lib/common/localization/l10n/app_zh.arb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,11 @@
361361
"event_action_category_changed": "变更分类",
362362
"event_action_resolved": "标记已解决",
363363
"event_action_unresolved": "撤销已解决",
364+
"event_action_marked_as_duplicate": "标记为重复",
365+
"event_action_unmarked_as_duplicate": "取消重复标记",
366+
"event_action_enqueued": "加入合并队列",
367+
"event_action_dequeued": "移出合并队列",
368+
"event_action_deployed": "已部署",
364369
"option_pr_files": "变更文件",
365370
"pr_files_title": "PR #{number} 变更文件",
366371
"@pr_files_title": {

lib/common/utils/event_utils.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,16 @@ class EventUtils {
229229
return l.event_action_resolved;
230230
case 'unresolved':
231231
return l.event_action_unresolved;
232+
case 'marked_as_duplicate':
233+
return l.event_action_marked_as_duplicate;
234+
case 'unmarked_as_duplicate':
235+
return l.event_action_unmarked_as_duplicate;
236+
case 'enqueued':
237+
return l.event_action_enqueued;
238+
case 'dequeued':
239+
return l.event_action_dequeued;
240+
case 'deployed':
241+
return l.event_action_deployed;
232242
default:
233243
_logUnknownActionOnce(rawAction);
234244
return rawAction;

0 commit comments

Comments
 (0)