annotate src/translate.js.luan @ 77:e8219cec281f default tip

minor
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 01 Sep 2025 09:26:58 -0600
parents 3c60bc17403e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
74
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Parsers = require "luan:Parsers.luan"
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local json_string = Parsers.json_string or error()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local Io = require "luan:Io.luan"
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local Http = require "luan:http/Http.luan"
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local Shared = require "site:/lib/Shared.luan"
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 local languages = Shared.languages or error()
76
3c60bc17403e remove ai
Franklin Schmidt <fschmidt@gmail.com>
parents: 74
diff changeset
9 local Translator = require "site:/lib/claude/Translator.luan"
74
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 local translate = Translator.translate or error()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 return function()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 local msg = Http.request.parameters.msg or error()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 local text = Http.request.parameters.text or error()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 local language = Http.request.parameters.language or error()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 language = languages[language] or error()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 text = translate(text,language)
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 Io.stdout = Http.response.text_writer()
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 %>
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 translated('<%=msg%>',<%=json_string(text)%>);
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 <%
64e35a92d163 add translation
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 end