四条规则
按这个顺序用,绝大多数词都能切对。
音节核是元音
一个音节必须有一个元音(或双元音)。a、e、o 是强元音,i、u 是弱元音。y 在词尾也当元音(rey、Uruguay)。
两个元音之间有一个辅音 → 归后面
ca-sa、me-sa、a-mi-go。辅音做后一个音节的声母(onset),西语不喜欢音节以辅音收尾。
两个辅音 → 看它们能不能一起当声母
能(塞音/擦音 + l 或 r:bl br cl cr dr fl fr gl gr pl pr tr)→ 整体归后:ha-blar、le-tras。不能 → 前一个留给上一音节:es-tar、cam-po。★ /s/ + 辅音一定跨音节:es-cri-tu-ra、pi-las-tra。
ch / ll / rr 是一个单位
它们是二合字母,不能拆开。pe-rro(不是 per-ro)、co-che、ca-lla-ba。gu / qu 在 e、i 前也是一个单位,里面的 u 不发音:gui-ta-rra、que-so。
双元音还是两个音节
这是西语音节里最容易错的一块,也是中国人最容易读错的地方 —— 它直接决定音节数,进而决定重音落在哪。
算一个音节(双元音)
- 强 + 弱 — ai · au · ei · eu · oi · ou
- ai-re, cau-sa, pei-ne
- 弱 + 强 — ia · ie · io · iu · ua · ue · uo
- puer-ta, tiem-po, agua
- 弱 + 弱 — iu · ui
- ciu-dad, muy
算两个音节(hiatus)
- 两个强元音 — a/e/o 相邻
- po-e-ta, le-er, a-é-re-o
- 带重音的弱元音 + 强元音 — í/ú + a/e/o
- dí-a, pa-ís, ba-úl
- 强元音 + 带重音的弱元音 — a/e/o + í/ú
- o-í-do, re-ír
同一串字母,只差一个重音符
下面六对词字母完全相同。重音符落在弱元音上时,它把两个元音拆成两个音节 —— 词就多出一个音节,也许多出一拍。
| 写法 | 切分 | 音节数 |
|---|---|---|
| seria | se-ria | 2 |
| sería | se-rí-a | 3 |
| sabia | sa-bia | 2 |
| sabía | sa-bí-a | 3 |
| hacia | ha-cia | 2 |
| hacía | ha-cí-a | 3 |
| varia | va-ria | 2 |
| varía | va-rí-a | 3 |
| continua | con-ti-nua | 3 |
| continúa | con-ti-nú-a | 4 |
| aun | aun | 1 |
| aún | a-ún | 2 |
重音落在哪个音节
先切音节,再按三条规则找重音。规则之间是「有符号听符号,没符号按结尾」。
这一页的切分是怎么算的
判据不是我们自己定的。 服务端用开源库 pylabeador 做基准,它实现的正是上面这套「最大 onset 原则」。
为什么前端还要再写一份。 这个站是纯静态的(没有后端),用户输入一个词要立刻看到结果,只能在浏览器里算。
所以有一致性风险,而且错得安静。 两处规则只要差一点,页面给的答案就是错的,而页面上看起来一切正常。⇒ 构建时用 pylabeador 生成期望值,拿 node 跑前端实现,逐词对比,有差异就让构建失败。
校验规模。 当前校验集 270 个词,包括各条规则的边界例子(双元音、三元音、hiatus、辅音簇、rr/ch/ll)和语料里出现过的真实词。
还没覆盖的。 外来词、专有名词、以及拼写与发音脱节的词(whisky 这类)只能按规则推算,可能不准。所以页面上给的结果是「按规则切」,不是「权威答案」。