@ihabdevteam/core 0.313.0 → 0.315.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/CHANGELOG.md CHANGED
@@ -7,6 +7,88 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.315.0
11
+
12
+ 말귀가 **영어 화면을 눈으로 열세 쪽** 보고 넘긴 넷((117)~(120)). 넘길 때 *"이 종류가 몇 자리인지는
13
+ 안 셌다"* 를 함께 적어 주어서, **세는 일은 이쪽에서 했다** — 어제 맞춘 그 결이다.
14
+
15
+ ### (117) 영어 복수형 — 화면에 **`1 questions`** 가 떴다
16
+
17
+ 오늘의 듣기 카드에 「국방 — 1 questions」(`training.countQuestions`). 말귀가 아홉을 짚었고 **세어 보니
18
+ 스물넷이 걸렸다** — 뜻으로 가리니 **열여섯**이 복수가 필요했다(`{{count}} of {{max}}` · `{{n}} Syll.`
19
+ 처럼 수 뒤가 명사가 아니거나 줄임말인 여덟은 뺐다). 짚어 준 아홉에 **`(s)` 로 눙쳐 둔 셋**
20
+ (`{{count}} visit(s)` · `run(s)` · `record(s)`)과 넷이 더 있었다.
21
+
22
+ 영어는 `key_one`/`key_other`, **한국어는 밑열쇠 그대로**(꼴이 하나다) — 이 저장소에 이미 있던 꼴을
23
+ 그대로 따랐다(`common.days` · `common.selectedCount`). 긴 문장은 **동사까지** 맞췄다
24
+ (`1 older record was excluded` / `2 older records were excluded`).
25
+
26
+ **사전만 고치면 화면은 안 바뀐다** — i18next 가 가르는 것은 `count` 다. `{{n}}` 열쇠를 부르는 자리
27
+ 셋에 `{ n, count: n }` 을 넘겼다(`formatCount` 로 쉼표를 넣은 글자를 `count` 로 주면 못 가르므로
28
+ **날수를 따로** 넘긴다). 못도 **두 쪽**이다 — 사전 쪽과 **부르는 쪽**. 사전 쪽만 두었다가 부르는
29
+ 쪽을 옛 꼴로 되돌려 보니 **조용했다.**
30
+
31
+ ### (118) 바닥글 영어 주소 오타 — `Siocheong-gil` → `Sicheong-gil`
32
+
33
+ ### (119) 이름표와 값이 **붙어 읽힌다** — 그런데 눈에는 안 보인다
34
+
35
+ 말귀가 `CEOJi-hye Han` · `Supportsupport@ihab.co.kr` 를 보고 넘겼다. 재 보니 **눈으로는 떨어져 있다** —
36
+ `.footer-title` 이 `inline-block; width: 80px` 이고 영어 이름표 중 가장 긴 `Address`·`Support` 도
37
+ 어림 50px 다. **그쪽이 본 것은 그려진 꼴이 아니라 글(textContent)이었다.**
38
+
39
+ **그래도 흠이다 — 다른 흠이다.** 두 `<span>` 사이에 아무것도 없어 **낭독기와 글 긁기**가 붙여 읽는다.
40
+ 한국어도 같다(`대표한지혜`). 빈칸 하나를 둬 그 가름을 **글에** 넣었다(벌리는 일은 CSS 몫 그대로).
41
+
42
+ ### (120) 품사·어종이 한국어로 남았다 — **번역이 숨어 있었다**
43
+
44
+ 영어 화면 낱말 정보 줄이 한 줄 안에서 섞였다(`Grade 3 · 명사 · 혼종어 · … · Homonym 1`).
45
+ **까닭은 번역이 없어서가 아니었다** — 사전에 품사 열셋·어종 넷이 다 있었고 번역하는 함수도 있었다.
46
+ 그 함수가 **`WordTable` 안에만 숨어 있었다.** 밖에서 쓸 수 있는 것은 날 한국어 표(`POS_LABEL`)뿐이라
47
+ 앱이 그것을 썼다.
48
+
49
+ > **공개된 것이 하나뿐이면 쓰는 쪽에 고를 길이 없다.** 번역을 `wordTableLayout` 으로 올려 같이
50
+ > 공개한다 — `posLabels(t)` · `wordTypeLabels(t)` · `WORD_LABEL_I18N_KEYS`. 날 표 둘은 **그대로
51
+ > 내보낸다**(한국어 전체 표기가 필요한 자리가 있다) — 다만 화면에 그릴 때는 새 둘을 쓴다.
52
+
53
+ 못이 **약호마다 두 사전에 말이 있나**를 센다 — 자료에 새 약호가 오면(열쇠표만 늘리면) 운다.
54
+ *분야*(`정보·통신`)는 **안 건드렸다** — 사전 표의 자유 글이라 가짓수가 닫혀 있지 않고, 낱말
55
+ 뜻풀이와 같은 알맹이다(말귀도 그렇게 봤다).
56
+
57
+ ### 이름을 박아 둔 못 하나가 또 걸렸다
58
+
59
+ `badgeLabelOwnership` 이 `nav.badgeInsideLabel` 을 **밑열쇠 이름 그대로** 찾아, 복수형으로 갈리자
60
+ 울었다 — 뜻(*두 사전에 다 있고 자리표 둘을 쓴다*)은 그대로인데 이름만 갈렸다. *밑열쇠 또는 그
61
+ 복수형들*로 보게 고쳤다. **어제 맞춘 그 말이 하루에 두 번 걸렸다** — 이름을 박으면 고치는 쪽이 막힌다.
62
+
63
+ ## 0.314.0
64
+
65
+ ### (116) `LISTEN_IN_NOISE` 의 아이콘 — **폭죽(🎉)을 걷었다**
66
+
67
+ `party-popper` 였다. 넷 중 **첫째만** 그랬고 나머지 셋(`message-square` · `message-square-text` ·
68
+ `align-start-vertical`)은 뜻이 닿는다 — **자리를 채워 두고 안 고친 값**이다. 두 앱이
69
+ `configureTrainingCategories` 를 안 불러 기본값을 쓰므로 회원 `/my-homework` 와 매니저 고객 상세
70
+ 숙제 탭 **양쪽** 숙제 카드에 그대로 나갔고, 네 갈래 중 **가장 많이 쓰이는** 갈래라 치료사가 보는
71
+ 목록이 폭죽밭이었다(말귀_1 실측: DOM 에 `lucide lucide-party-popper`).
72
+
73
+ 같은 화면 안에서도 어긋났다 — **카드 타일은 폭죽인데 열면 실행 창 타일은 멀쩡한 주제 아이콘**이었다.
74
+ `audio-lines` 로 바꿨다(나머지 셋이 모두 '말·글 모양' 계열이라 소리 파형이 갈래를 가장 잘 가른다).
75
+
76
+ ### 자리를 세니 **둘**이었다
77
+
78
+ 말귀는 `utils/categories.ts` 의 `DEFAULT_TRAINING_TYPES` 를 짚었는데, `utils/CategoryData.ts` 에
79
+ `TRAINING_TYPES` 가 **또 한 벌** 있었다 — 그리고 **화면에 나가는 것은 그쪽**이다
80
+ (`translateTrainingTypes` 가 그 목록을 돈다). 짚어 준 쪽만 고쳤으면 **폭죽이 그대로 남았다.**
81
+
82
+ 못(`test/trainingTypeIconsAgree.test.ts`)은 값을 박지 않고 **두 목록이 어긋나지 못하게** 센다 —
83
+ 열쇠·아이콘이 같은가, 뜻이 안 닿는 아이콘(`party-popper` 류)이 없는가, 그 이름이 아이콘 세트에
84
+ 있는가. **값을 박으면 못이 결정을 지키는 것이 아니라 결정을 막는 것**이 되므로 그 쪽으로 안 썼다.
85
+ 놀이터 일곱 자리도 같이 바꿨다(같은 갈래를 그리는 자리들이다).
86
+
87
+ > **아직 안 올린 것 하나** — `getNoiseTypeOptions` 의 '기본'(`defaultNoise`)도 `party-popper` 다.
88
+ > 형제 셋은 `car`(길거리) · `message-square-more`(와글와글) · `coffee`(식당) 로 **그 자리를 그리는데**
89
+ > 첫째만 뜻이 없다 — **같은 꼴, 다른 결정**이다. 보이는 것이 바뀌는 일이라 **사장님께 올린다**
90
+ > (어느 아이콘이 '기본 소음' 을 뜻하는지는 고르는 일이다).
91
+
10
92
  ## 0.313.0
11
93
 
12
94
  **(113)~(115) 를 고치고 나서 코어를 제 손으로 뒤졌다**(사장님 지시 2026-10-10). 말귀가 짚은 셋이 *한 자리*가