humanizer-th 0.0.0-stage → 0.5.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/LICENSE +21 -0
- package/README.en.md +176 -0
- package/README.md +227 -2
- package/bin/cli.js +123 -0
- package/package.json +33 -4
- package/skills/humanizer-th/SKILL.md +254 -0
- package/skills/humanizer-th/agents/openai.yaml +4 -0
- package/skills/humanizer-th/references/patterns.md +574 -0
- package/skills/humanizer-th/references/registers.md +127 -0
- package/skills/humanizer-th/references/style.md +102 -0
- package/skills/humanizer-th/references/word-swaps.md +206 -0
- package/skills/localize-th/SKILL.md +213 -0
- package/skills/localize-th/agents/openai.yaml +4 -0
- package/skills/localize-th/references/characters.md +89 -0
- package/skills/localize-th/references/formats.md +154 -0
- package/skills/localize-th/references/games.md +74 -0
- package/skills/localize-th/references/glossary.md +168 -0
- package/skills/localize-th/references/patterns.md +574 -0
- package/skills/localize-th/references/registers.md +127 -0
- package/skills/localize-th/references/style.md +102 -0
- package/skills/localize-th/references/subtitles.md +110 -0
- package/skills/localize-th/references/translation.md +255 -0
- package/skills/localize-th/references/ui.md +117 -0
- package/skills/localize-th/references/word-swaps.md +206 -0
- package/skills/localize-th/scripts/check_translation.py +484 -0
- package/skills/script-th/SKILL.md +162 -0
- package/skills/script-th/agents/openai.yaml +4 -0
- package/skills/script-th/references/characters.md +89 -0
- package/skills/script-th/references/dialogue.md +236 -0
- package/skills/script-th/references/patterns.md +574 -0
- package/skills/script-th/references/registers.md +127 -0
- package/skills/script-th/references/style.md +102 -0
- package/skills/script-th/references/video-prompts.md +103 -0
- package/skills/script-th/references/voice.md +107 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# ระดับภาษา คำลงท้าย และสรรพนาม
|
|
2
|
+
|
|
3
|
+
ใช้ไฟล์นี้ตอนขั้นแรกของขั้นตอน (ระบุระดับภาษา) และตอนตรวจ TH14, TH15, TH16 ในแคตตาล็อก `patterns.md`
|
|
4
|
+
|
|
5
|
+
## 1. เลือกระดับภาษาอย่างไร
|
|
6
|
+
|
|
7
|
+
ชื่อระดับใช้ตามที่เรียนในวิชาภาษาไทย ซึ่งแบ่งระดับภาษาเป็น 5 ระดับ คือ พิธีการ ทางการ กึ่งทางการ ไม่เป็นทางการ และกันเอง skill นี้ใช้ 4 ระดับหลัง ส่วนระดับพิธีการ (สุนทรพจน์ คำกล่าวในพิธี) อยู่นอกขอบเขต
|
|
8
|
+
|
|
9
|
+
| ระดับ | ในตำรา | ช่องทางที่ skill นี้จัดให้ |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| `กันเอง` | ภาษาปาก ใช้กับคนสนิทมาก | แชตกับเพื่อน คนในครอบครัว คนสนิท |
|
|
12
|
+
| `ไม่เป็นทางการ` | ระดับสนทนา ใช้กับคนที่ไม่สนิทมากหรือต้องระวังมารยาท | โพสต์โซเชียล บล็อก แชตกับหัวหน้าหรือเพื่อนร่วมงาน |
|
|
13
|
+
| `กึ่งทางการ` | ประชุมกลุ่มย่อย การบรรยาย | อีเมลงานประจำวัน ข้อความถึงลูกค้า |
|
|
14
|
+
| `ทางการ` | รายงาน ประกาศ จดหมายราชการหรือธุรกิจ | รายงาน หนังสือราชการ เอกสารวิชาการ จดหมายธุรกิจที่เป็นเรื่องเป็นราว |
|
|
15
|
+
|
|
16
|
+
ถ้าผู้ใช้ไม่ระบุ ให้เดาจากเนื้อหาและช่องทาง แล้วบอกในสรุปว่าเลือกระดับไหน
|
|
17
|
+
|
|
18
|
+
| สัญญาณในข้อความ | ระดับที่น่าจะใช่ |
|
|
19
|
+
|---|---|
|
|
20
|
+
| ประโยคสั้น มีคำอย่าง "นะ" "เลย" "อะ" "555" ผู้รับเป็นเพื่อนหรือคนสนิท | `กันเอง` |
|
|
21
|
+
| โพสต์เพจ แคปชัน บล็อกส่วนตัว หรือแชตกับหัวหน้าและเพื่อนร่วมงาน | `ไม่เป็นทางการ` |
|
|
22
|
+
| อีเมลงาน ข้อความถึงลูกค้า มี "เรียน" "ขอบคุณครับ/ค่ะ" ต้องการความชัดเจนและสุภาพ | `กึ่งทางการ` |
|
|
23
|
+
| รายงาน หนังสือราชการ เอกสารวิชาการ ไม่มีผู้รับเฉพาะคน | `ทางการ` |
|
|
24
|
+
|
|
25
|
+
ถ้าสัญญาณขัดกัน (เช่น อีเมลงานที่เขียนสบายๆ มาก) ให้ยึดผู้รับเป็นหลัก ไม่ใช่ตัวข้อความ ถ้ายังเดาไม่ได้จริงๆ ให้ถามคำถามเดียว เช่น "ข้อความนี้ส่งถึงใคร" แล้วเลือกจากคำตอบ
|
|
26
|
+
|
|
27
|
+
**ห้ามยกระดับภาษาให้สูงกว่าต้นฉบับโดยไม่จำเป็น** ถ้าผู้เขียนเขียน `ไม่เป็นทางการ` อยู่แล้ว ให้คงไว้แล้วตัดเฉพาะร่องรอย AI
|
|
28
|
+
|
|
29
|
+
## 2. ประโยคเดียวกัน 4 ระดับ
|
|
30
|
+
|
|
31
|
+
เนื้อหา: ประชุมเลื่อนเป็นพรุ่งนี้บ่ายสองโมง เพราะวิทยากรไม่ว่าง (ตัวอย่างนี้สมมติผู้เขียนเป็นผู้ชาย ถ้าเป็นผู้หญิงเปลี่ยน "ครับ" เป็น "ค่ะ")
|
|
32
|
+
|
|
33
|
+
| ระดับ | ข้อความ |
|
|
34
|
+
|---|---|
|
|
35
|
+
| `กันเอง` | ประชุมเลื่อนเป็นพรุ่งนี้บ่ายสองนะ วิทยากรไม่ว่าง |
|
|
36
|
+
| `ไม่เป็นทางการ` | ประชุมเลื่อนไปพรุ่งนี้ตอนบ่ายสองนะครับ พอดีวิทยากรไม่ว่าง |
|
|
37
|
+
| `กึ่งทางการ` | ขอแจ้งว่าการประชุมเลื่อนเป็นพรุ่งนี้ เวลา 14.00 น. เนื่องจากวิทยากรไม่สะดวกเข้าร่วมครับ |
|
|
38
|
+
| `ทางการ` | ขอแจ้งเลื่อนการประชุมเป็นวันพรุ่งนี้ เวลา 14.00 น. เนื่องจากวิทยากรไม่สามารถเข้าร่วมได้ |
|
|
39
|
+
|
|
40
|
+
ทั้ง 4 ระดับสั้นกว่าประโยคแบบ AI ที่เป็นต้นฉบับ เช่น "ขอแจ้งให้ทราบว่าการประชุมได้ถูกเลื่อนออกไปเป็นวันพรุ่งนี้ เวลา 14.00 น. เนื่องจากวิทยากรไม่สามารถเข้าร่วมได้ จึงเรียนมาเพื่อโปรดทราบ" (TH03, TH04, TH16)
|
|
41
|
+
|
|
42
|
+
## 3. รายละเอียดแต่ละระดับ
|
|
43
|
+
|
|
44
|
+
### `กันเอง`: แชตกับเพื่อน คนในครอบครัว คนสนิท
|
|
45
|
+
|
|
46
|
+
- ประโยคสั้น ละประธานได้ทุกครั้งที่บริบทชัด
|
|
47
|
+
- ใช้คำเล็กๆ เชื่อมความ เช่น "แล้วก็" "เลย" "พอดี" แทนคำเชื่อมยาว
|
|
48
|
+
- คำลงท้ายตามความสัมพันธ์ ไม่ต้องใส่ทุกข้อความ
|
|
49
|
+
- ยอมรับได้: คำอังกฤษที่คนใช้จริง ("confirm" "ok") และ "555" ไม่ใส่อีโมจิหรือ "!" (TH29)
|
|
50
|
+
- ระวัง: TH16 (ภาษาราชการใน LINE), TH17 (หัวข้อ ตัวหนา บูลเล็ต), TH14, TH15
|
|
51
|
+
|
|
52
|
+
### `ไม่เป็นทางการ`: โพสต์โซเชียล บล็อก แชตกับหัวหน้าหรือเพื่อนร่วมงาน
|
|
53
|
+
|
|
54
|
+
- อ่านสบาย เหมือนเล่าให้คนอ่านฟัง แต่ยังรักษามารยาท
|
|
55
|
+
- แชตกับหัวหน้าหรือรุ่นพี่ใช้ภาษาพูดได้ แต่ใส่คำลงท้ายสุภาพตามที่ผู้เขียนใช้
|
|
56
|
+
- ใช้ "เรา" หรือ "ผม/ฉัน" ได้ตามที่ผู้เขียนใช้ ไม่ต้องเรียกผู้อ่านว่า "คุณ" ทุกประโยค
|
|
57
|
+
- ย่อหน้าสั้น เว้นบรรทัดให้อ่านง่าย ไม่ใส่อีโมจิหรือ "!" (TH29)
|
|
58
|
+
- ระวัง: TH01, TH09, TH13, TH17, TH24, TH25, TH12
|
|
59
|
+
|
|
60
|
+
### `กึ่งทางการ`: อีเมลงานประจำวัน ข้อความถึงลูกค้า
|
|
61
|
+
|
|
62
|
+
- สุภาพและกระชับ ไม่แข็งแบบหนังสือราชการ
|
|
63
|
+
- เปิดด้วยเรื่องที่ต้องการบอกภายในประโยคแรก ปิดด้วยสิ่งที่ต้องการให้ผู้รับทำ ถ้ามี
|
|
64
|
+
- คำลงท้ายสุภาพใช้เป็นจังหวะ (ต้นอีเมลหรือท้ายอีเมล และจุดที่ต้องการความนอบน้อม) ไม่ใส่ทุกประโยค
|
|
65
|
+
- ระวัง: TH02, TH03, TH06, TH12, TH16, TH21
|
|
66
|
+
|
|
67
|
+
### `ทางการ`: รายงาน หนังสือราชการ เอกสารวิชาการ
|
|
68
|
+
|
|
69
|
+
- ใช้ภาษาเขียน ไม่ใช้ภาษาพูด ("เพราะ" → "เนื่องจาก" ได้ "เลย" → "จึง")
|
|
70
|
+
- ไม่ต้องมีคำลงท้ายสุภาพ ยกเว้นรูปแบบจดหมายที่กำหนดไว้ (เช่น "ขอแสดงความนับถือ")
|
|
71
|
+
- คงคำที่เป็นศัพท์หรือธรรมเนียมของเอกสารประเภทนั้นไว้ เช่น "ดำเนินการ" "เรียน" "โปรดพิจารณา"
|
|
72
|
+
- "ดังนั้น" "อย่างไรก็ตาม" "ทั้งนี้" ใช้ได้ แต่ไม่ควรเกิน 1–2 ครั้งต่อย่อหน้า
|
|
73
|
+
- ยังต้องกระชับ "ไม่อืดยืดยาว" คือตัด TH02, TH03, TH10 ที่เป็นแค่ความยาวเปล่า
|
|
74
|
+
- ระวัง: TH02, TH03, TH05, TH07, TH10, TH22, TH23
|
|
75
|
+
|
|
76
|
+
## 4. คำลงท้ายและสรรพนาม
|
|
77
|
+
|
|
78
|
+
### กฎ
|
|
79
|
+
|
|
80
|
+
1. **ห้ามสลับเพศผู้เขียน** ถ้าต้นฉบับใช้ "ครับ" ให้ใช้ "ครับ" ตลอด ถ้าใช้ "ค่ะ/คะ" ให้ใช้ "ค่ะ/คะ" ตลอด
|
|
81
|
+
2. **ถ้าต้นฉบับมีคำลงท้ายสองเพศปนกัน** ให้ตรวจก่อนว่ามีหลายคนเขียน (เช่น แชตของทีม) หรือเป็นความผิดพลาด (TH15) ถ้าไม่แน่ใจ ให้คงไว้และถามผู้ใช้
|
|
82
|
+
3. **ไม่ใส่คำลงท้ายทุกประโยค** ใส่ที่ต้นหรือท้ายข้อความ และจุดที่ต้องการความนอบน้อมหรือความเป็นมิตรจริงๆ
|
|
83
|
+
4. **ถ้าต้นฉบับไม่มีคำลงท้ายและระดับภาษาต้องใช้** (เช่น `กึ่งทางการ`)
|
|
84
|
+
- ค่าเริ่มต้น: ไม่ต้องหยุดถามก่อน ให้ส่งผลลัพธ์ที่ใช้โครงประโยคไม่ต้องมีคำลงท้ายเพศ (เช่น "ขอบคุณสำหรับ..." "รบกวน...") แล้วถามในหมายเหตุว่าต้องการให้เติม ครับ/ค่ะ ไหม
|
|
85
|
+
- ข้อความในนามบริษัท ฝ่าย หรือเพจ มักไม่ต้องมีคำลงท้ายเพศอยู่แล้ว
|
|
86
|
+
- ถามก่อนเขียน เฉพาะเมื่อขาดคำลงท้ายแล้วจะฟังห้วนจนเสียมารยาทจริงๆ เช่น ข้อความส่วนตัวถึงผู้ใหญ่ใน `กันเอง` และถามเป็นคำถามเดียวว่าเขียนในนามผู้ชายหรือผู้หญิง
|
|
87
|
+
- ห้ามเดาเพศจากชื่อ
|
|
88
|
+
5. **ห้ามเพิ่มระดับความสุภาพเกินต้นฉบับ** เช่น เติม "นะคะ/นะครับ" ทุกบรรทัดในข้อความที่ผู้เขียนไม่ได้ใช้ (TH15)
|
|
89
|
+
|
|
90
|
+
### คำลงท้ายที่ไม่ระบุเพศ
|
|
91
|
+
|
|
92
|
+
ใช้ได้ใน `กันเอง` และ `ไม่เป็นทางการ` เมื่อต้นฉบับไม่มีคำลงท้ายเพศ
|
|
93
|
+
|
|
94
|
+
| คำ | ความรู้สึก | ตัวอย่าง |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| นะ | อ่อนลง ขอร้องหรือยืนยันเบาๆ | ประชุมเลื่อนนะ |
|
|
97
|
+
| เลย | เน้น | ดีมากเลย |
|
|
98
|
+
| ละ / แล้ว | บอกว่าเสร็จหรือเปลี่ยนสถานะ | ส่งแล้ว |
|
|
99
|
+
| เนอะ | ชวนให้เห็นด้วย | ร้อนจังเนอะ |
|
|
100
|
+
| อะ / นะ | ภาษาพูดมาก ใช้เฉพาะ `กันเอง` | ไม่ว่างอะ |
|
|
101
|
+
|
|
102
|
+
### สรรพนาม
|
|
103
|
+
|
|
104
|
+
| สถานการณ์ | ที่เลือกได้ | หมายเหตุ |
|
|
105
|
+
|---|---|---|
|
|
106
|
+
| ผู้เขียนพูดถึงตัวเอง | ผม / ฉัน / เรา / ชื่อเล่น | ใช้ตามที่ต้นฉบับใช้ ถ้าไม่มีให้ละประธาน |
|
|
107
|
+
| พูดกับผู้อ่านทั่วไป (`ไม่เป็นทางการ`) | ละประธาน / เพื่อนๆ / ทุกคน | หลีกเลี่ยง "คุณ" ซ้ำ (TH14) |
|
|
108
|
+
| พูดกับลูกค้า (`กึ่งทางการ`) | ลูกค้า / ท่าน / คุณ + ชื่อ | เลือกอย่างเดียวทั้งชิ้น ไม่สลับ |
|
|
109
|
+
| พูดถึงองค์กร | เรา / บริษัท / ร้าน / ชื่อแบรนด์ | อย่าสลับ "เรา" กับ "บริษัท" ในย่อหน้าเดียวโดยไม่มีเหตุผล |
|
|
110
|
+
| `ทางการ` | ละประธาน / ชื่อหน่วยงาน / ท่าน (ผู้รับ) | หนังสือราชการใช้ "เรียน" ตามธรรมเนียม |
|
|
111
|
+
|
|
112
|
+
### ข้อควรระวัง
|
|
113
|
+
|
|
114
|
+
- **กับผู้ใหญ่และคนที่ไม่สนิท** อย่าลดความสุภาพของต้นฉบับ ถ้าผู้เขียนใส่ "ครับ" "ค่ะ" บ่อย อาจเป็นเพราะผู้รับ ให้ตัดเฉพาะส่วนที่ซ้ำจนรกจริงๆ
|
|
115
|
+
- **ข้อความที่ผู้เขียนเป็นแอดมินเพจหรือแบรนด์** ให้ยึดคำลงท้ายที่เพจใช้ประจำ ถ้าไม่เคยมีให้ถามหรือเลือกแบบเป็นกลางและบอกผู้ใช้
|
|
116
|
+
- **คำพูดที่ยกมา** ไม่แตะคำลงท้ายหรือสรรพนามภายในเครื่องหมายคำพูดของคนอื่น (ข้อห้ามข้อ 2)
|
|
117
|
+
|
|
118
|
+
## 5. ตารางสรุป
|
|
119
|
+
|
|
120
|
+
| | `กันเอง` | `ไม่เป็นทางการ` | `กึ่งทางการ` | `ทางการ` |
|
|
121
|
+
|---|---|---|---|---|
|
|
122
|
+
| ความยาวประโยค | สั้นมาก | สั้นถึงกลาง | กลาง | กลางถึงยาว แต่ไม่อืด |
|
|
123
|
+
| ละประธาน | บ่อย | บ่อย | พอควร | ตามธรรมเนียม |
|
|
124
|
+
| คำลงท้าย | ตามความสนิท | เล็กน้อย | ต้นและท้าย | แทบไม่มี |
|
|
125
|
+
| ภาษาพูด | ได้ | ได้พอควร | เลี่ยง | ห้าม |
|
|
126
|
+
| คำเชื่อมยาว (ดังนั้น ทั้งนี้) | เลี่ยง | เลี่ยง | พอควร | ปกติ |
|
|
127
|
+
| อีโมจิ และ "!" | ไม่ใช้ | ไม่ใช้ | ไม่ใช้ | ไม่ใช้ |
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# เลียนสไตล์ผู้เขียน
|
|
2
|
+
|
|
3
|
+
ใช้เมื่อผู้ใช้ส่งตัวอย่างงานเขียนมา แล้วอยากให้งานใหม่อ่านเหมือนคนเดียวกันเขียน ไฟล์นี้ใช้ร่วมกันทั้งสาม skill
|
|
4
|
+
|
|
5
|
+
| skill | ตัวอย่างที่มักได้ | ใช้ทำอะไร |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| `humanizer-th` | โพสต์ อีเมล แชตเก่าของผู้ใช้ | เขียนร่างใหม่หรือเขียนจากโจทย์ให้เป็นสำนวนของผู้ใช้ (โหมด `เลียนสไตล์`) |
|
|
8
|
+
| `localize-th` | ซับตอนก่อน ข้อความในแอปเวอร์ชันเดิม งานแปลเก่าของทีม | แปลส่วนใหม่ให้เข้ากับงานเดิม |
|
|
9
|
+
| `script-th` | บทเก่าของผู้ใช้ หรือตอนก่อนของเรื่องเดียวกัน | เขียนหรือเกลาตอนใหม่ให้เป็นสไตล์เดิม |
|
|
10
|
+
|
|
11
|
+
## ตัวอย่างที่ใช้ได้
|
|
12
|
+
|
|
13
|
+
ดู 4 เรื่องนี้ก่อนเริ่ม ถ้าข้อไหนไม่ผ่าน ให้บอกผู้ใช้ในหมายเหตุ
|
|
14
|
+
|
|
15
|
+
1. **เป็นงานของใคร:** งานของผู้ใช้เอง หรืองานที่ผู้ใช้มีสิทธิ์ใช้ เช่น โพสต์ของเพจที่ตัวเองเป็นแอดมิน ซับที่ทีมตัวเองแปล ถ้าเป็นงานของคนอื่น ดูหัวข้อ "เมื่อตัวอย่างเป็นงานของคนอื่น"
|
|
16
|
+
2. **ประเภทเดียวกับงานที่จะเขียน:** แชตใช้เลียนแชต โพสต์ใช้เลียนโพสต์ คนคนเดียวเขียน LINE หาเพื่อนกับอีเมลหาลูกค้าไม่เหมือนกัน ถ้าตัวอย่างปนหลายประเภท ให้ใช้เฉพาะชิ้นที่ตรงกับงาน หรือแยกโปรไฟล์ตามประเภท ห้ามเอามาเฉลี่ยรวมกัน
|
|
17
|
+
3. **มีพอไหม:** 3 ชิ้นขึ้นไป ยิ่งข้อความสั้นยิ่งต้องใช้หลายชิ้น เช่น แชตควรมี 10 ข้อความขึ้นไป ถ้ามีน้อยกว่านี้ยังทำได้ แต่บอกผู้ใช้ว่าโปรไฟล์ยังหยาบ เพราะลักษณะที่เห็นแค่ครั้งเดียวอาจเป็นเรื่องบังเอิญ
|
|
18
|
+
4. **คนเขียนเองหรือเปล่า:** ถ้าตัวอย่างมีรูปแบบจาก `patterns.md` หลายหมวดในเกือบทุกชิ้น เช่น เปิดลอยๆ (TH01) คำเชื่อมทุกประโยค (TH06) ปิดสรุปซ้ำ (TH12) ตัวอย่างนั้นอาจเป็นข้อความที่ AI เขียน ถ้าเลียนตาม ร่องรอย AI จะติดมาด้วย ให้บอกผู้ใช้ก่อน แล้วเสนอให้ส่งชิ้นอื่น หรือเกลาตัวอย่างก่อน
|
|
19
|
+
|
|
20
|
+
## ทำโปรไฟล์สำนวน
|
|
21
|
+
|
|
22
|
+
อ่านตัวอย่างให้ครบทุกชิ้นก่อน แล้วจดลักษณะที่**เห็นซ้ำในหลายชิ้น**ลงตาราง ทุกข้อต้องมีหลักฐานจากตัวอย่าง ยกคำสั้นๆ มาประกอบ ข้อไหนไม่เห็นในตัวอย่าง ให้เขียนว่า "ไม่เห็นในตัวอย่าง" แล้วใช้ค่าเริ่มต้นของ skill ห้ามเดาเติม
|
|
23
|
+
|
|
24
|
+
| หัวข้อ | ดูอะไร | ตัวอย่างที่จด |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| ระดับภาษา | ระดับไหนตาม `registers.md` | ไม่เป็นทางการ |
|
|
27
|
+
| เรียกตัวเอง เรียกคนอ่าน | สรรพนาม หรือไม่เรียกเลย | "ผม" ไม่เรียกคนอ่านตรงๆ ใช้ "ใครชอบ..." แทน |
|
|
28
|
+
| คำลงท้าย | คำไหน ถี่แค่ไหน อยู่ตรงไหน | "ครับ" ครั้งเดียวท้ายโพสต์ |
|
|
29
|
+
| ความยาวและการแบ่ง | ประโยคสั้นหรือยาว ย่อหน้ากี่บรรทัด ขึ้นบรรทัดใหม่บ่อยไหม | บรรทัดละวรรค เว้นบรรทัดทุก 2–3 บรรทัด |
|
|
30
|
+
| เปิดและปิด | ขึ้นต้นด้วยอะไร ลงท้ายด้วยอะไร | เปิดด้วยเรื่องที่เจอวันนั้น ปิดด้วยเวลาเปิดร้าน |
|
|
31
|
+
| คำติดปาก | คำหรือวลีที่เจอเกือบทุกชิ้น | "บอกตรงๆ" ตอนบอกความเห็นตัวเอง |
|
|
32
|
+
| ภาษาอังกฤษปน | คำไหนเขียนเป็นอักษรอังกฤษ คำไหนทับศัพท์ | ชื่อเมนูเขียนเป็นอังกฤษ |
|
|
33
|
+
| เครื่องหมายและสัญลักษณ์ | ไม้ยมก "..." "?" "!" อีโมจิ 555 วงเล็บ แฮชแท็ก | ไม่มีอีโมจิ ไม่มี "!" |
|
|
34
|
+
| ตัวเลขและวันที่ | เลขไทยหรือเลขอารบิก เขียนเวลาและราคาแบบไหน | "8 โมงถึงบ่าย 3" ราคาไม่มีคำว่า "บาท" |
|
|
35
|
+
| น้ำเสียง | ขำ ตรง อ่อนน้อม ประชดตัวเอง ชอบเล่าเรื่อง | เล่าเรื่องตัวเองขำๆ ไม่ขายของตรงๆ |
|
|
36
|
+
| สิ่งที่ไม่ทำ | ลักษณะที่ไม่เจอในตัวอย่างเลย | ไม่มีหัวข้อ ไม่มีคำโฆษณา |
|
|
37
|
+
|
|
38
|
+
ข้อสุดท้ายสำคัญเท่ากับข้ออื่น คนอ่านจำคนเขียนได้จากสิ่งที่เขาไม่ทำพอๆ กับสิ่งที่ทำ
|
|
39
|
+
|
|
40
|
+
**งานแปลและงานบท** ดูเพิ่มอีก 5 เรื่อง
|
|
41
|
+
|
|
42
|
+
| หัวข้อ | ใช้กับ | ดูอะไร |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| สรรพนามของตัวละคร | ซับ เกม บท | ใครเรียกใครว่าอะไร ลงตารางตัวละครตาม `characters.md` |
|
|
45
|
+
| คำศัพท์ | ซับ เกม UI | ชื่อเฉพาะ ชื่อไอเทม คำ UI ที่ใช้ไปแล้ว ลงอภิธานศัพท์ |
|
|
46
|
+
| การพูดกับผู้ใช้ | UI | ใช้ "คุณ" ไหม ใช้ "กรุณา" ไหม ปุ่มเป็นคำกริยาคำเดียวหรือเป็นวลี |
|
|
47
|
+
| ความแรงของภาษา | ซับ เกม บท | คำหยาบ คำสบถ มุก แปลหรือเขียนแรงแค่ไหน |
|
|
48
|
+
| จังหวะ | ซับ บท | ซับตัดบรรทัดตรงไหน ใช้ขีดนำบทสนทนาไหม บทแต่ละฉากยาวแค่ไหน เปิดและปิดตอนแบบไหน |
|
|
49
|
+
|
|
50
|
+
## เขียนตามโปรไฟล์
|
|
51
|
+
|
|
52
|
+
1. **เนื้อหามาจากร่างหรือโจทย์เท่านั้น:** ตัวอย่างใช้ดูวิธีเขียน ไม่ใช่แหล่งข้อมูล ห้ามยกเรื่อง ข้อมูล หรือประโยคจากตัวอย่างมาใส่ เช่น ตัวอย่างเล่าเรื่องแมวที่ร้าน งานใหม่ก็ต้องไม่มีแมว ยกเว้นคำทักทาย คำลงชื่อ หรือคำติดปากสั้นๆ ที่ผู้เขียนใช้ประจำ
|
|
53
|
+
2. **ถ้าสไตล์ต้องใช้ข้อมูลที่ไม่มี ห้ามแต่งเอง:** เช่น ผู้เขียนชอบเปิดด้วยเรื่องเล่า แต่ร่างไม่มีเรื่องเล่า ให้เปิดด้วยเรื่องที่มีในร่าง แล้วบอกในหมายเหตุว่าถ้าเล่าให้ฟังว่าเกิดอะไรขึ้น จะเขียนเปิดแบบนั้นให้ได้
|
|
54
|
+
3. **ถี่เท่าตัวอย่าง ไม่ถี่กว่า:** คำติดปากที่เจอชิ้นละครั้ง ใส่ครั้งเดียวก็พอ หรือไม่ใส่เลยถ้าไม่มีจุดที่เข้า ถ้าใส่ทุกย่อหน้าจะกลายเป็นล้อเลียน
|
|
55
|
+
4. **เริ่มจากสิ่งที่คนอ่านเห็นก่อน:** สรรพนาม คำลงท้าย การแบ่งบรรทัด วิธีเปิดและปิด ทำให้ตรงก่อน แล้วค่อยดูคำติดปากและน้ำเสียง
|
|
56
|
+
|
|
57
|
+
## สไตล์กับรูปแบบใน `patterns.md`
|
|
58
|
+
|
|
59
|
+
ตัวอย่างของผู้เขียนอาจมีลักษณะที่ `patterns.md` นับเป็นรูปแบบ AI ตัดสินแบบนี้
|
|
60
|
+
|
|
61
|
+
- **เรื่องรสนิยม** ได้แก่ อีโมจิและ "!" (TH29) คำลงท้ายถี่ (TH15) คำอังกฤษปน (TH19) รูปแบบหัวข้อและรายการ (TH17) จุลภาค (TH18) จุดท้ายประโยค (TH27) เปิดด้วยคำถาม (TH13) ถ้าเห็นซ้ำในหลายชิ้น ถือเป็นสไตล์ของผู้เขียน ใช้ได้ไม่เกินความถี่ในตัวอย่าง ถ้าไม่เห็นในตัวอย่าง ห้ามเติม
|
|
62
|
+
- **สำนวนแปลที่ทำให้อ่านยาก** ได้แก่ TH03 ได้ทำการ, TH04 "ถูก" แบบแปล, TH05 ซึ่งต่อกันยาว, TH07 สำนวนแปล ไม่เลียน แม้ผู้เขียนจะใช้ประจำ เพราะคนอ่านอ่านยากขึ้นจริง ให้บอกในหมายเหตุว่าข้อนี้ไม่ได้เลียน ถ้าผู้ใช้ยืนยันว่าต้องการ ค่อยใส่
|
|
63
|
+
- **คำพูดของผู้ช่วย AI (TH26):** ไม่ใช้เลย
|
|
64
|
+
- **รูปแบบอื่น:** เลียนได้ถ้าเห็นซ้ำในหลายชิ้นและอ่านแล้วไม่สะดุด ถ้าไม่แน่ใจ ให้ไม่ใช้ แล้วบอกในหมายเหตุ
|
|
65
|
+
|
|
66
|
+
## สิ่งที่ไม่เลียน
|
|
67
|
+
|
|
68
|
+
- **คำผิด:** สะกดผิดโดยไม่ได้ตั้งใจ เช่น "นะค่ะ" (ที่ถูกคือ "นะคะ") "อนุญาติ" (ที่ถูกคือ "อนุญาต") ไม่เลียน ใช้ตัวสะกดที่ถูก ส่วนการเขียนแบบภาษาพูดที่ตั้งใจ เช่น "มากกก" "เค้า" "ป่ะ" "555" ใช้ได้ตามตัวอย่าง เฉพาะงานระดับกันเองและไม่เป็นทางการ
|
|
69
|
+
- **ข้อมูลส่วนตัว:** ชื่อคน เบอร์โทร ที่อยู่ ที่อยู่ในตัวอย่าง ห้ามนำไปใช้ในงานใหม่
|
|
70
|
+
- **ประโยคเฉพาะตัว:** ห้ามยกประโยคจากตัวอย่างมาทั้งประโยค
|
|
71
|
+
|
|
72
|
+
## เมื่อตัวอย่างเป็นงานของคนอื่น
|
|
73
|
+
|
|
74
|
+
- **เขียนแทนโดยเจ้าตัวรู้:** เช่น แอดมินเขียนโพสต์ในนามเจ้าของร้าน เลขาร่างข้อความให้ผู้บริหาร ทีมแปลซีซันใหม่ต่อจากทีมเดิม ทำได้ตามปกติ
|
|
75
|
+
- **นักเขียนหรือคนดัง:** เลียนแนวกว้างๆ ได้ เช่น จังหวะสั้น น้ำเสียงประชด เพื่อฝึกเขียนหรือหาแนว แต่ห้ามลอกประโยคหรือวลีเฉพาะตัว ห้ามเขียนในนามคนนั้น และห้ามทำให้คนอ่านเข้าใจว่าคนนั้นเขียน
|
|
76
|
+
- **ปลอมเป็นคนอื่น:** ถ้าจุดประสงค์คือให้คนอ่านเชื่อว่าอีกคนเป็นคนเขียน ทั้งที่คนนั้นไม่รู้หรือไม่ได้อนุญาต เช่น แชตในชื่อหัวหน้า ข้อความในชื่อคนในครอบครัว โพสต์ในชื่อคนดัง ให้ปฏิเสธ แล้วบอกเหตุผลสั้นๆ
|
|
77
|
+
- **หลบเครื่องมือตรวจจับ AI:** ถ้าผู้ใช้บอกว่าจะใช้สไตล์ของตัวเองเพื่อให้ detector จับไม่ได้ หรือเพื่อส่งงานที่ห้ามใช้ AI ให้บอกตรงๆ ว่า skill นี้ไม่ได้ทำเพื่อเรื่องนั้น
|
|
78
|
+
|
|
79
|
+
## เก็บโปรไฟล์ไว้ใช้ครั้งหน้า
|
|
80
|
+
|
|
81
|
+
ถ้าผู้ใช้ขอโปรไฟล์ หรือบอกว่าจะใช้สไตล์นี้อีก ให้ส่งโปรไฟล์ตามแบบด้านล่าง ผู้ใช้เก็บไว้แล้ววางแทนตัวอย่างในครั้งหน้าได้ ถ้าเครื่องมือที่ใช้อยู่เขียนไฟล์ได้และผู้ใช้ขอให้บันทึก ให้บันทึกเป็นไฟล์ในโฟลเดอร์งาน เช่น `style-profile.md`
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
โปรไฟล์สำนวน: [ชื่อที่ผู้ใช้ตั้ง เช่น โพสต์เพจร้าน]
|
|
85
|
+
ใช้กับ: [ประเภทงาน]
|
|
86
|
+
ทำจาก: [จำนวนชิ้นของตัวอย่าง]
|
|
87
|
+
|
|
88
|
+
- ระดับภาษา:
|
|
89
|
+
- เรียกตัวเอง / เรียกคนอ่าน:
|
|
90
|
+
- คำลงท้าย:
|
|
91
|
+
- ความยาวและการแบ่ง:
|
|
92
|
+
- เปิดและปิด:
|
|
93
|
+
- คำติดปาก:
|
|
94
|
+
- ภาษาอังกฤษปน:
|
|
95
|
+
- เครื่องหมายและสัญลักษณ์:
|
|
96
|
+
- ตัวเลขและวันที่:
|
|
97
|
+
- น้ำเสียง:
|
|
98
|
+
- ไม่ทำ:
|
|
99
|
+
- ไม่ได้เลียน: [ลักษณะที่ตั้งใจไม่ตาม และเหตุผล]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
ถ้าผู้ใช้ส่งโปรไฟล์ที่เคยทำไว้มา ให้ใช้ตามนั้นได้เลย ไม่ต้องขอตัวอย่างใหม่ ถ้าส่งทั้งโปรไฟล์และตัวอย่างใหม่ ให้ปรับโปรไฟล์ตามตัวอย่างใหม่ แล้วบอกว่าเปลี่ยนข้อไหน
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# ซับไตเติลและบทพากย์
|
|
2
|
+
|
|
3
|
+
ซับไตเติลต่างจากการแปลทั่วไปตรงที่คนดูมีเวลาอ่านจำกัด และต้องดูภาพไปด้วย ซับที่ดีจึงสั้น อ่านทันในครั้งเดียว และแบ่งบรรทัดตรงที่คนอ่านหยุดเองตามธรรมชาติ
|
|
4
|
+
|
|
5
|
+
## 1. ค่าเริ่มต้น
|
|
6
|
+
|
|
7
|
+
ใช้ตัวเลขชุดนี้เมื่อผู้ใช้ไม่ได้ให้ style guide มา ถ้าผู้ใช้หรือแพลตฟอร์มมีข้อกำหนดของตัวเอง ให้ใช้ตามนั้นแทน
|
|
8
|
+
|
|
9
|
+
| เรื่อง | ค่าเริ่มต้น |
|
|
10
|
+
|---|---|
|
|
11
|
+
| ความยาวต่อบรรทัด | ไม่เกิน 35 ตัวอักษร |
|
|
12
|
+
| จำนวนบรรทัด | ไม่เกิน 2 บรรทัดต่อบล็อก |
|
|
13
|
+
| ความเร็วการอ่าน | ไม่เกินประมาณ 20 ตัวอักษรต่อวินาที (รายการเด็ก ประมาณ 17) |
|
|
14
|
+
| เวลาและเลขบล็อก | เหมือนต้นฉบับทุกบล็อก |
|
|
15
|
+
|
|
16
|
+
ตัวเลขความยาวบรรทัดและความเร็วการอ่านอิงจากแนวทางซับภาษาไทยของ Netflix (Thai Timed Text Style Guide) แพลตฟอร์มอื่นอาจต่างออกไป
|
|
17
|
+
|
|
18
|
+
### วิธีนับตัวอักษร
|
|
19
|
+
|
|
20
|
+
- นับพยัญชนะ สระที่อยู่ในบรรทัด ตัวเลข เครื่องหมาย และช่องว่าง
|
|
21
|
+
- **ไม่นับ** วรรณยุกต์ ( ่ ้ ๊ ๋ ) สระบนและสระล่าง ( ั ิ ี ึ ื ุ ู ็ ) การันต์ ( ์ ) เพราะไม่กินที่ในแนวนอน
|
|
22
|
+
- "ำ" "ๆ" "ฯ" นับเป็น 1 ตัว
|
|
23
|
+
|
|
24
|
+
ตัวอย่าง: "ไม่เป็นไรหรอก" นับได้ 11 ตัว คือ ไ ม เ ป น ไ ร ห ร อ ก ส่วน ่ กับ ็ ไม่นับ ถ้าไม่แน่ใจให้นับด้วยสคริปต์ `scripts/check_translation.py` ที่มากับ skill นี้
|
|
25
|
+
|
|
26
|
+
### ความเร็วการอ่าน
|
|
27
|
+
|
|
28
|
+
ความเร็วการอ่าน = จำนวนตัวอักษรทั้งบล็อก ÷ ระยะเวลาที่บล็อกขึ้นจอ (วินาที)
|
|
29
|
+
|
|
30
|
+
บล็อกยาว 2 วินาทีจึงใส่ได้ประมาณ 40 ตัวอักษร ถ้าคำแปลยาวกว่านั้น ต้องย่อ
|
|
31
|
+
|
|
32
|
+
## 2. การแบ่งบรรทัด
|
|
33
|
+
|
|
34
|
+
ภาษาไทยไม่เว้นวรรคระหว่างคำ จึงต้องระวังเป็นพิเศษ
|
|
35
|
+
|
|
36
|
+
1. **ถ้าพอดีบรรทัดเดียว ให้ใช้บรรทัดเดียว** อย่าแบ่งเพราะเคยชิน
|
|
37
|
+
2. **แบ่งที่ขอบคำเสมอ** ห้ามตัดกลางคำ ห้ามแยกชื่อคน ห้ามแยกตัวเลขออกจากหน่วย
|
|
38
|
+
3. **แบ่งตรงจุดหยุดหายใจ** เช่น ระหว่างประโยคย่อย หรือก่อนคำเชื่อมอย่าง "แต่" "เพราะ" "แล้ว"
|
|
39
|
+
4. **คำลงท้ายอยู่กับคำที่มันลงท้าย** อย่าให้ "ครับ" "นะ" "ล่ะ" ขึ้นบรรทัดใหม่โดดๆ
|
|
40
|
+
5. **สองบรรทัดยาวใกล้กัน** ดีกว่าบรรทัดหนึ่งยาวมากอีกบรรทัดสั้นมาก แต่ความหมายมาก่อนความสวย
|
|
41
|
+
|
|
42
|
+
**แบ่งไม่ดี:**
|
|
43
|
+
```
|
|
44
|
+
ฉันบอกแกแล้วว่าอย่าไปยุ่งกับ
|
|
45
|
+
พวกนั้น
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**แบ่งดี:**
|
|
49
|
+
```
|
|
50
|
+
บอกแล้วไง
|
|
51
|
+
ว่าอย่าไปยุ่งกับพวกนั้น
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 3. เครื่องหมาย
|
|
55
|
+
|
|
56
|
+
| เครื่องหมาย | ใช้อย่างไร |
|
|
57
|
+
|---|---|
|
|
58
|
+
| จุด (.) | ไม่ใส่ท้ายประโยค |
|
|
59
|
+
| จุลภาค (,) | ไม่ใช้ เว้นวรรคแทน |
|
|
60
|
+
| ? | ใส่ได้กับคำถามที่ไม่มีคำถามอยู่ในประโยค หรือเมื่อน้ำเสียงเป็นคำถามจริงๆ ถ้ามี "ไหม" "อะไร" "เหรอ" อยู่แล้วไม่ต้องใส่ก็ได้ |
|
|
61
|
+
| ! | ไม่ใส่เป็นค่าเริ่มต้น ใช้คำลงท้ายและคำอุทานแสดงอารมณ์แทน (TH29) ใส่เมื่อ style guide ของผู้ใช้กำหนด |
|
|
62
|
+
| ... | ประโยคค้าง ลากเสียง หรือต่อไปบล็อกถัดไป ใช้ให้น้อย |
|
|
63
|
+
| - | ขึ้นต้นบรรทัดเมื่อบล็อกเดียวมีคนพูดสองคน คนละบรรทัด ใช้รูปแบบเดียวกับต้นฉบับ |
|
|
64
|
+
| ๆ | เว้นวรรคหลัง ๆ เมื่อมีคำต่อ |
|
|
65
|
+
| "..." | คำพูดที่ยกมา ชื่อเพลง ชื่อหนังสือ |
|
|
66
|
+
|
|
67
|
+
ตัวเอียง (`<i>` ใน SRT และ VTT, `{\i1}...{\i0}` ใน ASS) ใช้ตามต้นฉบับ เช่น เสียงจากนอกจอ เสียงในโทรศัพท์ เสียงในความคิด และเพลง
|
|
68
|
+
|
|
69
|
+
## 4. การย่อ
|
|
70
|
+
|
|
71
|
+
ซับไม่ต้องแปลทุกคำ แต่ต้องได้ใจความครบ ย่อตามลำดับนี้
|
|
72
|
+
|
|
73
|
+
1. คำเสริมที่ไม่มีความหมาย: um, uh, you know, like, I mean
|
|
74
|
+
2. คำซ้ำ: "No, no, no" เป็น "ไม่ๆ" หรือ "ไม่"
|
|
75
|
+
3. ชื่อที่เรียกซ้ำ เมื่อเห็นอยู่แล้วว่าพูดกับใคร
|
|
76
|
+
4. สรรพนาม (LT01) และคำแปลครบทุกคำ (LT12)
|
|
77
|
+
5. ประโยคซ้อน แยกให้สั้นลงหรือรวมใจความ
|
|
78
|
+
|
|
79
|
+
**ห้ามตัด:** ข้อมูลที่เรื่องใช้ต่อ ชื่อ ตัวเลข คำปฏิเสธ มุกที่เรื่องเล่นต่อ และคำที่บอกอารมณ์หลักของฉาก
|
|
80
|
+
|
|
81
|
+
ถ้าย่อจนสุดแล้วยังยาวเกินเวลา ให้คงใจความไว้ แล้วระบุเลขบล็อกในบันทึกการแปล ห้ามแก้เวลาเองเพื่อให้พอดี
|
|
82
|
+
|
|
83
|
+
## 5. เวลาและบล็อก
|
|
84
|
+
|
|
85
|
+
- ห้ามเปลี่ยนเวลา ห้ามรวมหรือแยกบล็อก เว้นแต่ผู้ใช้อนุญาต
|
|
86
|
+
- ประโยคที่ต่อข้ามบล็อก ให้แต่ละบล็อกอ่านได้เป็นช่วงที่มีความหมาย ไม่ใช่ตัดกลางวลี
|
|
87
|
+
- ถ้าลำดับคำไทยต่างจากอังกฤษจนต้องสลับเนื้อหาระหว่างบล็อก ทำได้เมื่อภาพไม่ขัด เช่น ไม่มีคนพูดชื่อในบล็อกแรกแล้วซับไปขึ้นชื่อในบล็อกที่สอง
|
|
88
|
+
|
|
89
|
+
## 6. ซับสำหรับคนหูหนวกหรือได้ยินไม่ชัด (SDH)
|
|
90
|
+
|
|
91
|
+
ใช้เฉพาะเมื่อต้นฉบับเป็น SDH
|
|
92
|
+
|
|
93
|
+
- เสียงประกอบในวงเล็บเหลี่ยม เช่น `[เสียงประตูปิด]` `[หัวเราะ]` `[ดนตรีตื่นเต้น]`
|
|
94
|
+
- ชื่อผู้พูดเมื่อไม่เห็นหน้า เช่น `มายา: กลับมาแล้วเหรอ`
|
|
95
|
+
- คงเนื้อหาให้ใกล้ต้นฉบับที่สุด ย่อเฉพาะเมื่อความเร็วการอ่านเกินมาก
|
|
96
|
+
|
|
97
|
+
## 7. ป้ายและตัวหนังสือบนจอ
|
|
98
|
+
|
|
99
|
+
แปลเมื่อเกี่ยวกับเรื่อง เช่น ข้อความในโทรศัพท์ ป้ายชื่อร้านที่เรื่องพูดถึง ใช้รูปแบบตามที่ผู้ใช้กำหนด ถ้าไม่ได้กำหนด ให้ใส่ในบล็อกที่ตรงกับเวลาที่ตัวหนังสือขึ้น และบอกในบันทึก
|
|
100
|
+
|
|
101
|
+
## 8. บทพากย์ (dubbing)
|
|
102
|
+
|
|
103
|
+
บทพากย์คือบทให้นักพากย์หรือเสียง AI อ่าน ไม่ใช่ให้คนดูอ่าน กฎจึงต่างจากซับ
|
|
104
|
+
|
|
105
|
+
- **ความยาวต้องใกล้ต้นฉบับ** ความยาวที่พูดต้องพอดีกับช่วงที่ตัวละครขยับปาก นับพยางค์เทียบกับต้นฉบับ ภาษาไทยมักใช้พยางค์มากกว่าอังกฤษสำหรับใจความเดียวกัน จึงต้องเลือกคำสั้น
|
|
106
|
+
- **ไม่ต้องย่อแบบซับ** คำเสริมอย่าง "อืม" "เอ่อ" ใส่ได้ถ้าตัวละครทำท่าแบบนั้น
|
|
107
|
+
- **ช่วงที่เห็นปากชัด** (ระยะใกล้) ให้จังหวะการหยุดตรงกับต้นฉบับ ช่วงที่หันหลังหรือไกล ยืดหยุ่นได้
|
|
108
|
+
- **เขียนให้อ่านออกเสียงได้ทันที** ตัวเลขเขียนเป็นคำ ("สามร้อยบาท" ไม่ใช่ "300 บาท") ตัวย่อเขียนเต็ม คำอังกฤษที่ต้องพูดเขียนเป็นภาษาไทยตามเสียงที่ต้องการ
|
|
109
|
+
- **เสียงพากย์ AI** ถ้าผู้ใช้จะเอาบทไปให้ AI อ่าน ใช้ skill `script-th` ช่วยเกลาบทให้ AI อ่านถูกได้อีกขั้น
|
|
110
|
+
- ส่งในรูปแบบที่ผู้ใช้ให้มา ถ้าเป็นไฟล์ซับที่ใช้เป็นบทพากย์ ให้คงเวลาไว้เหมือนเดิม
|