There aren’t many language translation resources in open source, creative commons, or public domain. I was thinking about how I might start one and remembered that the English Wiktionary has many Spanish words. However, they are only linked in one direction, from the Spanish word to the English word.

How to find the Spanish word? One way is Spanish Wikipedia. For instance on the Instrumentos musicales por clasificación page, there are these words, which are on the English Wiktionary with the corresponding English words:

It seems like this could be used to bootstrap an open source translation dictionary.

Here’s a small experiment inspired by literate programming, future languages that aren’t plain text, and the occasional need for the same thing to be implemented in different languages. The idea is that code could can as an outline in a rich text editor and then be converted step by step into code. In the first step is psuedocode that reads well, at least to me, and at the end are working examples in JavaScript and Python.

Step 1

  • for each number n from 1 to 100, inclusive
    • let s be an empty string
    • if n is evenly divisible by 3, append “Fizz” to s
    • if n is evenly divisible by 5, append “Buzz” to s
    • if s is empty, print n
    • if s is not empty, print s

Step 2 (JavaScript)

  • for (let n=1; n <= 100; n++)
    • let s = ”
    • if (n % 3 == 0) s += ‘Fizz’
    • if (n % 5 == 0) s += ‘Buzz’
    • if (s == ”) console.log(n)
    • if (s != ”) console.log(s)

Step 2 (Python)

  • for n in range(1, 101)
    • s = ”
    • if n % 3 == 0
      • s += ‘Fizz’
    • if n % 5 == 0
      • s += ‘Buzz’
    • if s == ”
      • print(n)
    • if s != ”
      • print(s)

Step 3 (JavaScript)

for (let n = 1; n <= 100; n++) {
  let s = ''
  if (n % 3 == 0) s += 'Fizz'
  if (n % 5 == 0) s += 'Buzz'
  if (s == '') console.log(n)
  if (s != '') console.log(s)
}

Step 3 (Python)

for n in range(1, 101):
    s = ''
    if n % 3 == 0:
        s += 'Fizz'
    if n % 5 == 0:
        s += 'Buzz'
    if s == '':
        print(n)
    if s != '':
        print(s)

Long ago I realized that it’s often better not to quit a suspected bad idea, but to explore it and learn from it. @substack just gave me more insight into this:

Don’t unpublish your bad ideas. The best argument against a bad idea is to implement it well.

James Halliday (@substack)

The last sentence is key, and applies to more than published bad ideas. In web development, if it is indeed a bad idea, you’re more likely to learn from it, than to cause harm. If it’s a good idea that seems like it’s a bad idea, which turns out to be a good idea, it might be a really good idea.