こちらは2024年12月の社内LT会で使用したものです。
問題
- 英語辛い!
- 英語難しい!
- 英語分からない!
問題1: 品詞・時制
xxx.userLogin // これは何?
// userのlogin状態
xxx.userLogin = false;
// userをloginさせる
xxx.userLogin = (user: User) => {
// loginしたuser
xxx.userLogin = user;
// こう書くのが推奨されている
xxx.isUserLoggedIn = False;
xxx.loginUser = (user: User) => {
xxx.loggedInUser = user;
問題2: 文法
// タスクが完了したか
function isTaskCompleted(): boolean {
// ユーザーがタスクを実行したか
function hasUserExecutedTask(): boolean {
// タスクが実行されたことがあるか
function hasTaskbeenExecuted(): bookean { // ???
// Userが選択されたか Userは選択される側
function isUserSelected(): boolean {
// Userが選択しているか Userは選択する側
function isUserSelecting(): boolean {
// Userが選択を行ったか Userは選択する側
function hasUserSelected(): boolean {
// Userが選択されたことがあるか Userは選択される側
function hasUserbeenSelected(): boolean { // ???
問題3: 語彙・語形変化
// ?
function hasUserSpoken(): boolean {
// ?
let datum = 0;
// ?
function retrieveInfo(): Info {
// これは分かる
function completionTransfar(): void {
// spokenはspeakの過去分詞形
function hasUserSpoken(): boolean {
// datumはdataの単数形(dataが複数形)
let data = [datum, datum, datum]
// retrieveは「手に入れる」 fetchみたいな
function retrieveInfo(): Info {
// completionは名詞 completeが動詞 あとtransf"e"r
function completeTransfer(): void {
解決策
そうだ、
エスペラントを使おう!
Esperantoとは
人工言語
・計画言語
の一つ。
世界中の人が使える共通語を目指して作られた言語たちの中でも、
現在一番広く普及している。(世界100万人くらい?)
Esperanto の特徴
- アルファベットだけで表記できる
- 一応
ŝ
ĝ
のような文字を使うが、sx
gx
で代用可能
- 一応
- 文法が簡単で規則的
- 語彙も割と規則的に予想できる
実際にやってみる
まずはEsperantoの文法から
名詞は語幹+o
- タスク: tasko
- あいさつ: saluto
- ログイン: ensaluto
- 世界: mondo
動詞の基本形は語幹+i
- 利用する(こと): uzi
- ログインする(こと): ensaluti
- ある・である(こと): esti
実際に動詞を使う場合は、現在時制「-as」で終わることが多い
- 利用する: uzas
- ログインする: ensalutas
- ある・である: estas
「○○が(主語)」ではなく「○○を(目的語)」を明示する(対格)ために-onにする
- タスクを: taskon
- ユーザーを: uzanton
- あいさつを: saluton = こんにちは!
形容詞は語幹+a
- 赤い: ruĝa/rugxa
- 計算機の: komptila
(名詞の最後を-aにして「○○の」という意味で使うこともある)
「○○する・している」は-anta
- 計算中の: kalkulanta
「○○する・している人」は-anto
- ユーザー: uzanto
- 管理者: administranto
実例
実例1
xxx.UzantoEnsaluto // ユーザーのログイン
// Cxu ~: ○○かどうか
// ~inta: ○○した、し終わった(形容)
xxx.cxuUzantoEstasEnsalutinta // ユーザーがログインしたか
// ~ig: ○○させる(自動詞の他動詞化)
xxx.EnsalutigiUzanton // ユーザーをログインさせる
実例2
// タスクが完了したか
// Kompliti: 完了する・終わらせる
// -ig: ○○する(他動詞の自動詞化)
// -ita: ○○され終えた、されてしまった
function cxuTaskoEstasKompletigita(): boolean {
// ユーザーがタスクを実行したか
// Plenumi: 実行する
// -is: ○○した(過去形)
function CxuUzantoPlenumisTaskon(): boolean {
// タスクが実行されたことがあるか
// ※ Estis=Est-is: あった・であった
// ※ Plenumita=Plenum-ita: 実行され終えた
function CxuTaskoEstisPlenumita(): boolean {
// Elekti: 選ぶ
function cxuUzantoEstasElektita(): boolean {
function cxuUzantoElektas(): boolean {
function cxuUzantoElektis(): boolean {
function cxuUzantoEstisElektita(): boolean {
// あるいはoni: 誰か・何者か を使って
function cxuOniElektisUzanton: boolean {
// Iam: ~~ことがある、いつだか、時々
function cxuOniElektisUzantonIam: boolean {
実例3
// Paroli: 話す、しゃべる
function CxuUzantoParolis(): boolean {
// -j: 複数形
let datumoj = [datumo, datumo, datumo]
// akiri: 手に入れる
function akiriInformon(): Info {
// transigon: 移送を・移動を
function kompletigiTransigon(): void {
まとめ
そんなに良くないかも。
英語勉強するしかないかも。
辛い
おまけ
console.log("saluton, mondo!");