I want to write a computer program and draw flowcharts that will "Anglicize" the pronunciation of Spanish text of select consonants for English speakers learning Spanish to pronounce the words.

For most of the letters, the pronunciation is same.

For others letters, the rules are quite consistent.

But in some cases, there is more than one pronunciation (c, j, l, s, x, and z).

Here is my list:

c (before "e" or "i") = ? (th or s)
g (before "e" or "i") = h
h = [silent - nothing]
j = h
j (before "e" or "i") = ? (dh or l)
l = ? (dh or l)
ll = y
r (beginning of a word) = rr
s = ? (th or s)
v = b
x = ? (kth or ks)
x (some proper names) = h
z (usually only before "a", "o", or "u") = ? (th or s)
z (usually only before "a", "o", or "u", after a voiced consonant) = ? (dh or l)

What rules can I build into the program to find out where "c" is to be pronounced as "th" and where as "s"?

Likewise, what rules can I build into the program to find out where "s" is to be pronounced as "th" and where as "s"?

  • You seem to have set out the rules yourself so this is really more of a programming question than about the Spanish Language itself.
    – mdewey
    Dec 14, 2021 at 13:38
  • 4
    The rules on whether to pronounce "s", "z" and "ce, ci" as /s/ or /th/ depend on the region (dialect) and not on the word. The regions are described here.
    – wimi
    Dec 14, 2021 at 17:09
  • @wimi I know that the pronunciation does not depend on the word as I have heard people from all regions say "gracias".
    – Arunabh
    Dec 16, 2021 at 16:30
  • 3
    @ArunabhBhattacharya then what is your question? You can make your software ask for the region and then output the sound based on the entered region and the map in the linked question. How is this question different from the question I linked?
    – wimi
    Dec 16, 2021 at 23:49
  • 2
    v <--> b
    – aerobiomat
    Dec 20, 2021 at 13:14

1 Answer 1


This may work as a first approximation that covers a high percentage of the cases.

You may need to configure your software for different variants like "distinción", "seseo", "ceceo", "yeismo"...

c before e or i
  - "distinción" or "ceceo": th
  - "seseo": s
  - before e or i: no English equivalent. Like German ch.
  - before a, e, o: like gas, get, got
  - "gue...", "gui...": like get, guitar
h: silent
j: (normal case) no English equivalent. Like German ch.
  - y sound in some foreign names
ll: y (normal case, "yeismo")
  - traditional: Less used, hard to pronounce and explain. Forget it.
  - Argentina: sh
ñ: no English equivalent. Similar to "ñam"->"yum". Like French gn.
q in "que...", "qui...": like kelt, king
r: like Scottish r
  - "distinción" or "seseo": s
  - "ceceo": th
v: b
w: u (normal case)
  - b (common in names, like "Wenceslao", "watio")
x: x (normal case)
  - Spanish j in some cases
  - sh in some cases
y: y (normal case)
  - Argentina: sh
  - at the end of a word: like Spanish vocal i
  - "distinción" or "ceceo": th
  - "seseo": s

There are lots of more specific variants, including how my own mother pronounced some words. But using "Occam's computational razor" (dividing the percentage of correctly predicted cases by the size of the algorithm), adding more cases won't likely improve such metric.


Not the answer you're looking for? Browse other questions tagged or ask your own question.