ウオロェデョイ埠頭

lo vrici selciska be la .xopukas.

私がロボットだった頃の話

 私にはロボットだった時代がある。正確には、家庭の合意のもとでロボットとして振る舞った時代がある。

 遠い昔だ。その頃に対する評価や感情はまだ整理できていないが、どうせ死ぬまで整理できないので、ひとまず今感じるままに語っておくべきだと思う。

 幼稚園児~小学校低学年の頃の私は典型的な ADHD+ASD 児の様相を呈していたらしい。とにかく落ち着きが無くて、すべてが退屈で、日に何度もその場から脱走した。教室から脱走して図書室に逃げ込んで、食卓から脱走して子供部屋に逃げ込んで、親や先生から毎日怒られて、聞き飽きた説教からも脱走して空想の世界に逃げ込みたかった。高いところが好きで、木に登って、塀に登った。危ないからやめなさいと怒られた。幼稚園のホールの柱に登れる子は私のほかには1人だけだった。私の好きなことのほとんどは「みんな」にとってどうでもよいことで、私ができなくて困っていることのほとんどは「みんな」にとって簡単なことだった。私は好きなことの話をできずに退屈した。

 物心ついた頃にはすでに、自分は異端で、出来損ないで、「みんな」にできることができないことを「知って」いた。発達障害とか ADHD とか ASD という名前は知らなくても、それが先天的なもので、努力で乗り越えられる域を超えていることも「知って」いた。まだ小学校に入る前の幼児に直面させるにはあまりに残酷な命題かもしれないが、当時の私は幼児なりに、小さな思想家として、一生懸命に考えて理解しようとした。

 そうして私は、怒られるたびに、できないたびに、自己に対する憎悪と軽蔑を深めた。「死にたい」や「自殺」という概念を知る前から、それに匹敵する感情を抱いていた。

 抱えきれない自己への憎悪と軽蔑は、しばらくして珍妙な形に結晶した。それが「私がロボットになること」だった。

 私は私をまともにできない。私は私のできなさを許せない。殺したい。でも私が殺されたら私にされることがされないから困る。機械になりたい。ロボットになりたい。人語を解してその通りに確実に命令を遂行するロボットになりたい。

 小学1年生くらいの頃、私はロボットになると母に言った。「私が言うことを聞けなかったら『[規定の文字列]』で私をオフにして、私の代わりのロボットを呼び覚ましてほしい」という旨を幼い言葉で伝えた。母は、真意を理解してくれていたかはわからないが、とりあえず承諾して「ロボットごっこ」に付き合ってくれた。一度に記憶できる命令は2つまで(後にバージョンアップして4つまでになった)、命令は端的に分かりやすくする、「ちゃんと」や「しっかり」と言わずに具体的な数を使って命令する、命令の実行が終わったら知らせる、などと約束事が増えて、私はときどき私の制御に成功した。

 3年生になるころには「こんなこと周りの誰もやってないし、恥ずかしいことなのではないか?」と思うようになって「ロボット」概念は風化して消えた。でもまだ機械的な私への渇望は残っていたから、私は「まともな私」を開発する「プログラマー」になった。先の予想できる説教を、真剣に聞くふりをしながら、あるいはへらへらと受け流すふりをしながら、低水準の言語に落とし込んで実装した。私は誰に教わるともなく、発達障害者の界隈で頻繁に見る「健常者エミュレータ」概念を自力で見つけていたのだ。天才か? いいえ。

 数年もすれば、深い思考の渦に落ちないですむ方法、自己から目を逸らす方法を知った。教室から脱走もしなくなった(脳内の世界に脱走すればいいので)。人間に褒められることを幸福の条件として重要視しないようになった。依然、学校には行きたくなくて、親からも先生からもたくさん怒られて呆れられ続けたが、もう慣れてしまった。それに甘えてできる限り楽観的に過ごそうとした。社会の一員としては讃えるべきことで、小さな思想家としては軽蔑すべきことだ。

 思い返せば先生や級友から攻撃的な言葉をかけられたこともあった。その中には私が傷つくだけでなく、差別的な、公序良俗に反すると批判すべき発言もたくさんあった。ショーガイシャだの、キチガイだの、IQ がどうの、○組(特別支援学級)に行けだのと。しかしその時の私にはそれを否定する資格が無いと思った。私こそが障害者たる私を誰より強く憎んで、罵倒して、人格や存在そのものを否定して育ったから。

 「ロボット」時代を忘れ、「エミュレータ」の世界観も意識しなくなった、曖昧で穏便な(小さな思想家から見れば無価値な)小学校高学年~高校時代の前半が終わった。

 高校の後半から、進路について考える傍ら、工学言語や哲学的思考に没頭するようになった。私の異端さ、できなさ、怠惰さ、愛着の持てなさ、異常なこだわりが問題として表面化することも増えた。そうしたときに、あの「ロボット」に至るまでの絶望感、自己への嫌悪と軽蔑が、解凍されて私を取り囲んでしまった。

 振り返ればあの時の「ロボット」概念は未来の私の思考・志向を鋭く示唆している。言語の曖昧さや暗黙の了解を嫌って、名言と形式的なものを尊ぶ態度は、工学言語のそれに通じる。かつて命令と仮想の仕様で自分を縛り付けたように、今の私は私の信じた「倫理」で自身の行動を縛ろうとしている。倫理の名のもとで、非倫理と名付けられたものを弾圧している。かつて理解できない全ての他者を「私はロボットで彼らは人間だから互いに共感できない」と言い聞かせて受け入れようとしたように、今は全ての他者を「私の倫理は私以外のものには見えないから」で受け入れようとしている。そうして、心の底では誰も信用していない。

 論理的な言語や厳密な言語を使っても自身の思考がそのようになる訳ではないよね、と言いながらも、本当は言語が私を論理的に厳密にしてくれることを夢見ている。ill-defined な自然言語を直観で(周りより不器用ながら)使えているのに、心の底では「私によって定義されていない語ばかりだ、こんな言語なんて恐ろしくて使えない!」と思っている。工学言語をただの趣味として嗜むふりをしながら、心の底では私の精神を完全記述ロゴパンデクテイトして言語の俎上で操ってその記述に忠実に従う真の自律機械ロボットになることを夢見ている!

 これは傍から見れば異常な考え方なのかもしれないし、自己の外から差し込まれる病的な状態かもしれないが、一部の私にとってはようやく再会した愛しい現実であり、愛してやるべき本来の私だった。

 人間は機械ではない、完全ではない、デジタルではない。人間は自身のソースコードを読んで編集することができない。機械のふりは必ず破綻に終わる。人間は生物の本能には逆らえない。何より、人間には規定された本質がない。実存が本質に先立つ。人間は意図をもって設計されていない。できない私も本質なのだから受け入れて愛するべきだ。

 そんなの、私はよく分かっている。でも私はまだ諦めたくない。

 確かに、ロボットが、エミュレートがどうの、倫理が、本質がどうのとか考えずに生きられた時代が一番幸せだった気がする。実際その生き方がより正しいのかもしれない。でも、ロボットになろうとした幼い私に「その選択は間違っている」と言うのは、何か、非常につまらない気がする。

 もしも、その夢を追いかけるうちに私の夢が損なわれる可能性が大きくなれば(例えば私が自殺を企図(志望ではない)したり、私に敵意のない他者を深く傷つけたり、私が思索を続けられるだけの能力と環境を失いそうになったら)、その時に諦めればいい。諦めて、希頂語のように、楽しい存在として蘇ればいい。やろうと思えばきっとできる。だって私は機械ではなく人間だから。

 「私の中の人間を殺してロボットになりたい」という幼い私の夢を、今の私はまだ捨てたくない。まだ捨てずにいられる。幻を見るのもいい。過去の夢に縋るのもいい。間違うのもいい。だって私は機械ではなく人間だから!

 

 

希頂語が見せた光明

️ℹ️ できれば「シディン・アホがみせたグォァンミンッエ」と読んでください。

 数か月前、大きな書店に出向いたときに言語学のコーナーにノシロ語の本があったのを思い出した。その時は買おうか迷ったが結局買わなかった。
 これはただの印象だが、以前に Web で入門講座を見たときに全角と半角の英数字が入り乱れて非常に読みづらく、読むのにかかる処理コストが高すぎると感じた。書籍版でもまあそんな感じだったので見送った。申し訳ない。

 世には、国際語になるべく設計された言語がある。そしてその中には、国際語としてあるまじき妙な仕様をぶち込まれたアホな言語がある。(本当に申し訳ないが、私にはそのように見えてしまう。)
 その類のさらに極端な例として思い浮かぶものが、ポリエスポ (Poliespo) と希頂シディン語 (Shiddin, Xdi8 Aho) だ。ポリエスポはエスペラント子孫イードで、作者のたどった経歴がネタにされることが多い。名前は "複統合的ポリシンセティックエスペラント" に由来する。2や ⿻pw *1という特徴的()な字母があることもよくネタにされている。

 希頂語は中国で作られた人工言語だ。実験的言語に分類されるが、当初は国際語として世界に広まることを意図していた。漢字に1対1で対応する読みを与えて、中国語を字母アルファベット化しようとしたものだ。希頂字母シディンフンザオムには、数字の1や8に似たものも、既存のラテン文字キリル文字のどれにも似ないものもあり、実用は困難だ。同音の漢字は減ったが無くなってはいない。文法は中国語と異なる独自のものになる予定だったが、今のところ定義されていない。*2

 私の感覚では、ポリエスポ、ノシロ語、希頂語の3言語は近い位置にプロットされる。いわば「国際語として設計されたが、(少なくとも一見して)とても国際語として受け入れられない仕様を持つ言語」三銃士である。

 この中で私は希頂語が最も好きだ。存在を知ったのは高校生の時だった。不用意に海の向こうの社区コミュニティに干渉してしまうのを恐れて、ほとんど Twitter などで言及せずに陰からB站ビリビリを観測していた。

 希頂語に対して抱く感情は、尊敬や愛着というよりは親近感だ。私自身を見る感覚と似ているが、そこには底なし沼を覗くような恐怖や嫌悪感がない。

 希頂語を設計した黄雀飛氏はその当初の目的について「中国語を国際的に通用する言語にし、中国文化を世界に広めること」と語り、その動機に「漢民族としての誇り」を挙げていた。誇り。生まれと血への誇り。非常に共同体ゲマシャ的だ。私はゲマシャ的・偶然的・身体的な形質を自分の同一性や誇りのなかに含めてしまうことをひどく嫌い、恐れているので、黄氏が当然のように綴った「漢民族としての誇り」という言葉を見た時はその異文化ファンゲさに動揺した。

 だが、その動揺する私も、自身の哲学、倫理、誇りをゲマシャ性・身体性から断ち切れていない。むしろ平均的な人間よりもそれの結びつきが強いかもしれない。私の知らない設計者ロ・プラトによって設計され、食物に、月経に、天候に、発達特性に、知能に振り回されてめちゃくちゃになるように生まれるべくして生まれた。脳の檻の鉄格子に頭を打ち付けて、時には自ら鉄格子に突っ込んで。気づいたら右手に硬めの紙のようなものが握られていたり、音叉を刺されて一緒に震えたりした。多くの人は脳の檻の鉄格子にはっきりと触れたことがないらしい。人は私を見て「普通だね」と、あるいは「異常だね」と言った。

 極度の完璧主義と極度の飽き性が拮抗するオワリの身体性を制御することに必死になっていたら、こんなに皆から遅れてしまった。追いつくどころか、これ以上引き離されないようにするのすら難しいだろう。このまま寂しいところで、恥と罪を抱えて生きていくのだろう。私は、私から見てまっとうな私である限り、地獄から逃れられない。そのような諦めの気分が私の根底に流れている。

 そのようなオワっている人間として、1990年前後から2020年前半までの希頂語が辿った道には、僭越ながらも共感できる気がする。希頂語は多くが「霊感」に基づいて設計され、実用に適さない奇妙な形に生まれた。

 だが、希頂語は、そのまま埋もれているわけではなかった。

 とあるネット民によって掬い/救い上げられて知名度を上げ、社区コミュニティを形成し、冗談言語・架空言語の性質を帯びて蘇り、今や中国の人工言語の中でも屈指の盛り上がりを見せている。黄氏の「漢民族としての誇り」の話はどこへやら。そうして今知られるシュールでコミカルな希頂語がある。*3

 サルトルは「(ひとの)実存は本質に先立つ」という言葉を残した。意思疎通の道具や芸術作品であるという「本質」が先立つとされる人工言語でも、その言葉のように動くことがあるという(私から見た)事実は、ある種の希望を抱かせる。私もそのように自己の本質を求める底なし沼から解放されて楽しい存在になれるだろうか。なれるかもしれない。私の在り方とか自我とかそういうものを規定するのも私である以上、それらから逃れる道もきっとある。そのように思っていいような気がする。

 これが、私が希頂語に対して妙なアイドゥを感じる理由なのだろう。取るに足らない換語リレクスだとか、失敗した国際語だとか言って終わりにするのはもったいない。新しい希頂語のアホらしさやシュールさの中には、かつての希頂語が求めた燃える灯火シディン・アホ光明グォァンミンッエが確かにある。

 希頂語はいぞ。存在もいかもしれないぞ。
 少なくともこの瞬間の私はそう思う。

 

 終

2024.3.3

*1:「⿻pw」…… 漢字構成記述文字で漢字以外を記述するのは暴挙?

*2:「文法が定義されていない」…… 希頂維基シディンウィキに「希顶语本身是未完成的人工语言,因为虽有语音和词汇,但语法缺乏定义(=希頂語は未完成の人工言語である。なぜなら、音韻と語彙はあるが、文法の定義を欠いている)」とある。

*3:「今知られる希頂語」…… 黄氏は今の希頂語の在り方を割と受け入れているようで、希頂シディン社区コミュニティによる同人誌『希頂学通訊』にも寄稿したりして何かいろいろやっているようだ。

mabla増し増しチョモランマ

⚠️ この文章には怪文書,空想,ウオロェデョイが含まれます。

 

 右手には硬めの紙のようなものが握られていた。それに視線を落として確かめるのがあまりに面倒だったから,指でそれの輪郭を確かめた。名刺より小さい,おそらく長方形の何かだ。

 それは交通機関を利用するためのものとか,或いは料理を提供されるためのものとかだろうか,と思った。或いは他の何かかもしれない。

 辺りには濃い霧が広がって,遠くの崖の黒も空の白も混ざり合って中和されている。どこにも境界線がない感じが好きだ。私はそれを典型的なペイントソフトのエアブラシツールで再現することが可能かを考えはじめた。

 初心者向けのデジタルイラスト講座で「エアブラシツールを使うな」と言っている講師があったのを思い出した。1つのツールの使用を全否定するとはなかなかラディカルだ。しかしエアブラシを使うなと言いたい気持ちは分かる。要は,あのようなɅ型の分布で塗られた形は自然界にあまり存在しないから,あれを使うと大抵は下手に見えてしまうのだ。経験的に――あるいは脳内の3Dレンダラー的に――エアブラシの中心が塗られる面の外部にある場合などを除いて,エアブラシを使うべきではない。多分。光学的な論証はまだできないしする気がない。

 まで考えたところで,何か私ではない意図に不意に接続された。意図が,私のすぐ左横に座礁――音も字も似ていたから間違えたけど,これは本来言いたかった単語より的確な気がする――座標,を得て,意図さんとなって私に干渉してきた。

 戸惑って固まっていると,意図さんは催促するように何かの台詞を唱えた。よく聞き取れなかったが何かの物理的オブジェクトを求めているようだ。現在の私が譲渡可能なのは右手にある硬めの紙だけだったのでとりあえずそれを差し出した。それを受け取ってまた早口で何か言ってきた。相変わらず何を言っているのかわからない。考える。口調から驚きや困惑の色は見えなかったので私の先ほどの行動は正解だったのだろう。とすると,あの小さな紙だけでは情報が足りないから何かを問うているのだろうか,

――忍辱増し増し.iasai増し増しmabla増し増しチョモランマ。

 考える間もなく私は知らない音列を口に出した。意図さんは問い返してこない。私は無意識に正解のうちの1つを引き当ててしまった。困った。受理されてしまう。確定されてしまう。文脈も意味も知らないのに。責任を持てないのに。

 その知らない呪文を音韻ループから文字に起こして眺めて必死に考える。特に誰からも声をかけられなかったので1日ほど立ったまま考えてしまった。今になってようやく,それを知っているような遠い感覚にピントが合ってきた。その呪文は言わば,840回繰り返し私に向けて唱えられた呪詛の,短いハッシュだ。直感する。ファンシーな音列の糖衣が隠す,見えない割には存在しすぎなものの質感。鈍くて柔らかいが,凝縮されて腕の肉をやすやすと切るそれ,の質感。乾いて粉になった古い血を新しい血が包んで融かしている。私は腕からその血の連続体で過去と接続する。連続体のあちらこちらが発火して,存在しない言語でログを綴りはじめる。私以外の誰にも読めないのに。読んでも何にもならないのに。

 私の意思は抵抗を失って,その罅割れ,隙間から,連続体を成すものたちの熱運動やログや発火が押し寄せてきた。意味を失った情報の滝の音と,天球をホワイトノイズで塗りつぶしたような真っ白がある。

 統語がほぐされていくので正しそうな文を作るのも困難だが,その困難さはもはや私を本質的に障害しなかった。私が接続して通信している過去が 発火してログを綴っている という状態と,ログが 連続体の発火を利用して 私と通信している という状態,の間には――それどころか,過去なmablaから成る連続体が ログを接続によってチョモランマする発火的な私と 等しいという状態,などとの間にも――大した違いは無くなってしまったから。

 つまり私はもう何も考えなくていいのだ。

 さっきまでうるさいと思っていた滝の轟音も,すべてをかき消して包み込んでくれるから,たまらなく優しいものに思えた。なにより,この音は膨大な数の分子が完璧な物理法則に従って動くことで生じるけれど,物理学を何も知らない乱数発生器にさえ模倣できてしまう。やっぱり大した違いは無いのだ。考えなくていい。

 そう思うと急に眠くなってきた。私は接続されたまま眠ることにした。

 もしもまた目が覚めることがあればその前には既に何かがどうにかなっているだろう。楽譜に無い841回目をどう弾けばいいかを,きっと私は知っている。

 

 終

2024.2.4

マイクラのイスクイル3版が見たい・第2報

 

 Attalönt! (再びこんにちは!)

 諸事情があって前報から20日間も日が開いてしまいましたが、私は諦めていませんよ。ということで第2報です。

1  文字列に連番を振ろう

 翻訳の続きをする前に、スプシに修正すべきところがあります。

 これまで文字列の番号を「作業」シートの行番号で呼んでいましたが、これでは2から始まって気持ち悪いので、1始まりに直します。といっても1列目を削除するわけにもいかないので、番号用の列を新設することにします。現在の A 列の左に1列挿入して、新しい A2 セルに「=sequence(6538)」と入れると1から6538までの番号がずばーっと順に出力されます。一撃必殺だぜ。*1,1))))」は A1 セルの内容を1文字ずつに分けてくれます。」

 これで列が1つ増えたので、今は ID が B列、日本語訳が C 列、修飾部が D 列、被修飾部が E 列になりました。今のシートはこんな感じになっています。

番号を付けた後の「作業」シート

 前報で訳したものの番号も修正します。以下のようになります。

#4  heixtàwîl「完了」addServer.add
#500  ňčʰwapʰaló「竹」block.minecraft.bamboo
#501  ct'al ňčʰwapʰioló「竹ブロック」block.minecraft.bamboo_block
#1244  umxhál ulté'šk「本棚」block.minecraft.bookshelf
#1465  amtʰal「土」block.minecraft.dirt
#1466  ekas amtʰiasülf「土の道」block.minecraft.dirt_path
#1498  ek'ás「炎」block.minecraft.fire
#1511  âčp'al「ガラス」block.minecraft.glass
#1605  špalíupš「レバー」block.minecraft.lever
#1721  ošpalirčiupš orţniól「オークのボタン」block.minecraft.oak_button

2  翻訳作業

 まず前報の修正が2か所あります。*2

  1. 文法書第4章5節 の公式例語 uçtál opʰiol を受けて、#1721「オークのボタン」を ošpalirčiupš orţniól → ošpalirčiupš orţniol と修正します。orţniól では FML の持つ「木製品」と CPS 格の「~製の」で意味が二重になってしまうためです。
  2.  #500「竹」ňčʰwapʰaló → ňčʰwapʰaluttái、#501「竹ブロック」ct'al ňčʰwapʰioló → ct'al ňčʰwapʰioluttái と修正します。同格の役割を持つ Cx が取るのは SCH format よりも ESS case の方が意味的に自然であり、イスクイル4の学習者が同様の表現を多く用いているためです。

2.1  木材・木製品

 第1報 で ošpalirčiupš orţniól「オークのボタン」を造語したので、これと同じ「[木材名] の [ブロック・アイテム名]」の形のものを一気に造語してしまいましょう。

 

 まずはブロック・アイテム名の部分から。

 「ボタン」「レバー」は訳してあるので、残りは「ドア」「トラップドア」「フェンス」「フェンスゲート」「葉」「原木」「木」「樹皮を剥いだ原木」「板材」「感圧板」「苗木」「ハーフブロック」「階段」「看板」「吊り看板」「壁に付けられた看板」「壁に付けられた吊り看板」の17個です。

 形状・挙動・用途などのうちどれに焦点を当てるかで悩むものもありますが、とりあえず直感に頼って造語してみます。

  • âč'âţmalaù「ドア」(出入口のための板) *3
  • kdamxhaloptaú「トラップドア」(捕獲のための偽の床) *4
  • uţmaçtaláuk「フェンス」(棒状のものを使った壁) *5
  • eč'ál uţmaçte'rļáuk「フェンスゲート」(フェンスの関門) *6
  • epʰaňš「葉」(葉の塊) *7
  • opʰas「原木」(木の幹の一部) *8
  • opʰas ukfoutļaln「木」(硬化した表皮で覆われた原木) *9
  • opʰas ukfëus「樹皮を剥いだ原木」(硬化した表皮のない原木) *10
  • act'ál「板材」(中空のキューブ) *11
  • edyauçtalék「感圧板」(センサー床) *12
  • pʰalepʰ「苗木」(若い木)
  • aksuct'aló「ハーフブロック」(中空の1/2キューブ) *13
  • etnaňš「階段」(階段の一部) *14
  • êltoļmalaù「看板」(記述のための板)
  • êltoļmalaù uxhtʰaxpourļo「吊り看板」(鉄鎖付きの看板) *15
  • êltoļmalaù çtâ’ùsök「壁に付けられた看板」(壁にある看板)
  • êltoļmalaù uxhtʰaxpourļo çtâ’ùsök「壁に付けられた吊り看板」(壁にある鉄鎖付きの看板)

 さて、Minecraft ver1.20 では木に類するものとして「オーク」「トウヒ」「シラカバ」「ジャングル」「アカシア」「ダークオーク」「マングローブ「桜」「竹」、それと巨大化した「真紅のキノコ」「歪んだキノコ」の計11個があります。

 この中で初歩的なものは「オーク」「トウヒ」「シラカバ」「桜」です。これらは -pʰ- の活用を踏襲した固有の語根 -rţn-, -ršp-, -rţk-, -nç- を持っているため、P2S1/IFL で「~の木(wood)」を表せます。これに CPS 格とデフォルトの Ca 接辞を与えれば、orţniol「オークの」のようになります。これと複合語根とか carrier とかを使って下の11語を訳します。

  • orţniol「オークの」
  • oršpiol「トウヒの」
  • orţkiol「シラカバの」
  • opʰiol pʰaems「ジャングルの」(ジャングルで採れた木の)
  • opupʰioluttai Akakia「アカシアの」 *16
  • olxhairţniolo「ダークオーク(=濃い茶色のオーク) の」
  • opʰiol pʰaemss klüat’önļá「マングローブの」(河口部の(相互依存的な)ジャングルで採れた木の)
  • oňčʰwapʰioluttai「竹の」*17
  • onçiol「桜の」
  • îxt'aicniolöküxešo「真紅の」(暗い赤の巨大なキノコの"幹"部分の)
  • îtļaicniolöküxešo「歪んだ」(歪んだ巨大なキノコの"幹"部分の)

 はい。あとはこれらを組み合わせて作業シートに反映させるだけです。

 ほとんどの対象ブロック名は都合の良い位置で D, E 列に区切られていますが、D 列「壁に掛けられた○○(木材名)の」・E 列「[看板/吊り看板]」となっている箇所だけは「○○の」「壁に掛けられた[看板/吊り看板]」に修正する必要があります。F, G 列で regexreplace を使って適当に処理して D, E 列に「値のみペースト」してやるだけでいいですね。*18

 新しく「構成要素」シートを作ってA列に日本語、B列に椅3訳を並べて書き、VLOOKUP 関数でアレをアレします。(もう全ての変更について詳細に書くのが面倒になってしまいました)

 ついでに列を整理しました。整理後のシートはこんな感じです:

A列:番号
B列:ID
C列:日本語
D列:日本語の「Aの」部分(「オークの」);「の」で分かれない場合は空欄
E列:日本語の「B」部分(「感圧板」);「の」で分かれない場合はC列のコピー
F列:最終的な椅3訳;K列の(K列が空欄ならJ列の)コピー
G列:翻訳の進捗;未着手=0, 一部翻訳済=1, 翻訳済=2
H列:イスクイルの前部要素;E列の内容を「構成要素」シートからVLOOKUPで検索
I列:イスクイルの後部要素;D列の内容を「構成要素」シートからVLOOKUPで検索
J列:"H列 (半角空白) I列";欠けた部分は "_" で置換
K列:個別のイスクイル訳;J列の合成結果に問題がある場合に代用する

 で、私はこれから ①構成要素を訳してH列とI列を埋めてJ列の結果を表示させる、② それに問題があればK列に直接翻訳結果を書きこむ、の2つを行えばいいわけです。なお、D列とE列はすでに計算結果を「値のみペースト」されて文字列データが直接入った状態になっているため調整ができます。*19

 作業シートの該当箇所はこんな感じになりました。

「作業」シートの該当部分。木材系が一気に埋まった

 今回で161個のブロック名が新たに翻訳されました。計6538個のうち171個が完了していて、残りは6367個ですね。お疲れさまでした。

 ではでは、Attàlûk~

2024.1.28

 

 以下、脚注

*1:SEQUENCE 関数…… 等差数列を配列の形で出力するのに使う関数です。今回のように番号を振るのにも使いますが、第1報 で登場した ARRAYFORMULA 関数と合わせて配列数式内で使うと有能さが爆増します。例えば「=arrayformula(mid(A1,sequence(len(A1

*2:「前報の修正」…… 語の一部をこねている間にこれまで確定した文法範疇が頭から溢れて変なミスをしたり、後になって微妙に認識が違うことが判明したりするので、見直し・推敲は必須です。

*3:âč'âţmalaù「ドア」…… -č'-「出入口」よりも P1S2/FML -ňk- から作る方が建築物の要素に限定されるので具体的で良さそうだが、-č'- の派生で表現できると明記してあるのでそちらに従うべきか。困る。

*4:kdamxhaloptaú「トラップドア」…… 「ドア」だけど見た目はむしろ床だし「垂直出入りのドア」的な表現も厳しそうなので trapdoor の名を信用してこうしました。「言うほど捕獲のために使われてなくね」とか言わないで。

*5:uţmaçtaláuk「フェンス」…… どこに焦点を当てるか迷いました。防護の機能か、領地などの境界に使われることか、飛び越えられないことか、など。まあ無難なところです。ちなみに木のフェンスに対応する石造のブロックは「石の壁」ですが、これはフェンスよりも硬いし隙間が少なくて防護壁っぽいので -qt'- を使いたいです。

*6:eč'ál uţmaçte'tļáuk「フェンスゲート」…… これも微妙なところです。「ドア」「トラップドア」に比べてやや機能に重点を当てた表現です。一応「フェンス」部分に物質感はあるので許してほしい。「フェンス」は連ねて使われている想定なので SEG です。

*7:epʰast「葉」…… 葉ブロックは、同質な複数の同じ葉からなる塊(COH)です。

*8:opʰas「原木」…… IFL なので、板材とは違って立ち木から取ってきた一部という感じがします。

*9:opʰas ukfoutļaln「木」…… 難しい。そのまま「木」と呼ぶわけにもいかないが「覆われた」はこれで良いのか微妙。

*10:opʰas ukfëutļ「樹皮を剥いだ原木」…… こういうときに abessive(欠格) が便利。

*11:act'ál「板材」…… -ct'- は INF にすることで「中空の/外形だけの」を表せます。実際、原木から板材を作るときにアイテム数が4倍になることを考えると中空で間違いないでしょう。便利ですね。

*12:edyauçtalék「感圧板」……「圧力」はスルーです。まあ通じるでしょう。

*13:aksuct'aló「ハーフブロック」…… Cx と Cr を逆転させた「中空のキューブの1/2」か迷いましたが、語根が「板材」と同じ方がいい気がしたのでこちらにしました。

*14:語根 -tn- は 公式例文 では COH+PRX で使われているので1段で UNI なのでしょう。1個の階段ブロックは2段分ですが対をなすものではないので DPX にしない方がよさそうです。

*15:êltoļmalaù uxhtʰaxpourļó「吊り看板」…… 「鎖」は「輪の連なったもの」とします。

*16:opupʰioluttai Akakia「アカシアの」…… 語根になければとりあえず学名をラテン語読みで借用します。opupʰioluttai の部分では「竹」と同様の essive incorporation(と名付けておきます) を用います。

*17:「竹」は語根がありますが活用が -pʰ- と違うので、-pʰ- に Cx として埋め込んで強引に ňčʰwapʰalo「(woodとしての)竹」を作ります。

*18:「regexreplace を使って適当に処理して」…… 私は regexreplace を気に入っているため、 客観的に見て他により簡便な方法がある時や正規表現を使うべきでない時も regexreplace を使う傾向にあります。regexreplace・正規表現の乱用を許さない方はお帰りください。

*19:例えば「ハーフブロック」については、中空だと考えられるもの(木など)と、中実?だと考えられるもの(石など)で訳語を分ける必要があるため前者を「中空ハーフブロック」にしたりしています。

マイクラのイスクイル3版が見たい・第1報

 Attál!

 マイクラこと Minecraft は多言語対応がやたらと充実しています。多くの自然言語のほか、エスペラント・トキポナ・ロジバンを含むいくつかの人工言語にも対応しています。それも非公式の MOD ではなく、公式が出しているのがまた凄い。

 しかし、残念ながらイスクイル版はありません!悲しいですね。「ロジバンはあるのにどうして……」と謎のライバル意識由来の悔しさすら覚えると言っても過言ではない。*1

 ならば私の手で作……ることはできなくとも、作ろうと試みることくらいはしておきたいものです。

 このシリーズ(第2報が出ればの話ですが)では、1人のよわよわイスクイル3学習者が手探りで Minecraft のイスクイル3の言語ファイルを作ろうと試みる過程を、備忘録も兼ねてゆるゆると綴っていきます。もしかしたら、イスクイル3学習者の方や、自身の好きな言語でマイクラをやってみたいというマイナー自然言語人工言語学習者・人工言語作者の方のお役に立てるかもしれません。

1  翻訳の準備

1.1  日本語版のファイルを探す

 私の母語であり私が最も長い時間マイクラの表示言語にしていた日本語版をもとにイスクイル版を作るのが簡単そうなので、日本語版のファイルを探すところから始まります。

 PCのシステムに慣れている人ならしないような、エクスプローラー内での情けない右往左往の後、とりあえずそれらしきものを発見。

日本語版のファイル。6539行目までずっとこんな感じ

 メッセージや警告表示、ブロック・アイテム名、設定項目名など、マイクラで現れるあらゆる言語表示のIDと値がずらーっと同じ形で並んでいます。全部で6538項目ありました。バージョン情報は探しても見つかりませんでしたが「竹ブロック」などがあるところから考えるとおそらく 1.20 でしょう(雑)。

 ディレクトリ上でくねくねしていたらロジバン版も見つけました。

こちらはロジバン版

 ロジバン版は日本語版より少なく3700項目しかありません。実際にロジバンでプレイしているときに訳されていない(英語の)テキストがちらほら見つかったので、1.20には完全対応していないようです。

1.2  作業用スプシを整える

 日本語版を見ながらイスクイルに訳していくわけですが、このまま VSCode で書き換えるよりも、表計算ツールのスプシこと Google Sheets (Google スプレッドシート) を使う方が早そうなので、そちらで草案を生やしていきます。

 まずは VSCode 上で全てを選択してコピーし、新しいシートの A1 セルに Ctrl+Shift+V で値のみペーストすると、文字列がずらずらーっと入ります。このシートはこれ以上編集せず原典としてとっておきたいので「シートを保護」しておきます。現時点で「原典」シートはこんな感じになっています。

「原典」シート。A6539 セルまでずっとこの調子で書かれています

 さて、実際に翻訳作業をするためのシート、「作業」シートを作りましょう。

 新しいシートを作成して、A列はラベルとして固定します。

 次に、A2 セルに「='原典'!$A2」と書きます。するとそこに「原典」の A2 の中身である「accessibility.onboarding.accessibility.button: "アクセシビリティ設定…",」が出てきます。

 ……が、どうせならもっと見やすい形にしましょう。

 「原典」のデータは全て「ID: "日本語訳",」の形で書かれています。コロンやクォーテーションを取り払って、ID と日本語訳の部分だけを A 列と B 列に分けて表示できれば、もう少し見やすくなりそうです。

ID・名前を左右で分けたいの図

 このような場面では 正規表現(Regurar Explession) が役に立ちます!*2

 正規表現で検索して置換する関数 regexreplace さんがここにいます。かれの理解できる呪文にして頼んでみましょう。まずは ID を抜き出すほうから。先ほど式を入れた A2 セルを、

  =regexreplace('原典'!$A2,"^(.*)\:.*$","$1")

と書き換えてみます。*3 *4

 そこには「accessibility.onboarding.accessibility.button」と表示されます。無事に ID を抜き出すことができました。右の日本語訳のほうも B2 セルに「=regexreplace('原典'!$A2,"^.*\:\s.(.*).,$","$1")」と打ち込むと出ます。

 

 さて。これを下まで伸ばすと全てのセルに表示できますが、面倒なので A2, B2 の指揮をそれぞれ「=arrayformula(regexreplace('原典'!$A2:A6539,"^(.*)\:.*$","$1"))」と「=arrayformula(regexreplace('原典'!$A2:A6539,"^.*\:\s.(.*).,$","$1"))」にします。これで同様の表示を得ることができます。*5

 あと、「アカシアのフェンス」とか「赤色の羊毛」みたいな「N1の N2」という形のブロック名が大量にあります。後のことを考えるとこれらを「N1の」と「N2」に分けたものを表示しておきたいですね。

 ブロック名の部分は468~2179行目なので、C468 セルに「=arrayformula(regexreplace(B468:B2179,"^(.*)の?"&D468:D2179&"$","$1"))」、D468 セルに「=arrayformula(regexreplace(B468:B2179,"^.+の([^の]+)$","$1"))」と入れれば分けることができます(「の」がない場合は D 列にすべて表示されます)。*6

「N1のN2」を分けるとこうなる

 最後に出てきた "の" のところで二分するだけの簡易的なものですから、常に正しく分析されるわけではありません。例えば 2004 行目の「壁に付けられたトウヒの-吊り看板」は構文的には正確な分け方ではありませんし、平仮名の "の" が助詞以外でも使われる可能性もあります。しかし、少数の例外は後で処理すればいいので、今はこれで視覚的に単純化できたことを喜びましょう。

1.3  ちょっとだけ造語

 これで当面の間作業できそうな環境は整ったので、小手調べに適当なブロックの名前をイスクイルに訳してみましょうか。

  block.minecraft.oak_button
  「オークのボタン」
       ↓
  ošpalirčiupš orţniól
  P2S1/IFL/STA-'šp'-(OBL)-NRM/DEL/M/CSL/UNI-TPD₁/1-UTE₂/1
  P2S1/FML/STA-'rţn'-CPS-NRM/DEL/M/CSL/UNI
  オーク材からなる数秒間陽性切り替え装置

 レバーも同じ語根 -šp-「二極の切り替え」を使って表せそうです。「永続的二極切り替え装置」とかでしょうか。

 この調子で気の向いたものを訳します。シートでの行番号を # で表すことにします。

#5  heixtàwîl「完了」addServer.add
#501  ňčʰwapʰaló「竹」block.minecraft.bamboo *7
#502  ct'al ňčʰwapʰioló「竹ブロック」block.minecraft.bamboo_block
#1245  umxhál ulté'šk「本棚」block.minecraft.bookshelf
#1466  amtʰal「土」block.minecraft.dirt
#1467  ekas amtʰiasülf「土の道」block.minecraft.dirt_path *8 *9
#1499  ek'ás「炎」block.minecraft.fire *10
#1512  âčp'al「ガラス」block.minecraft.glass *11
#1606  špalíupš「レバー」block.minecraft.lever
#1722  ošpalirčiupš orţniól「オークのボタン」block.minecraft.oak_button

 とりあえず10語できました。まだ推敲が必要なものがいくつかあるけど。

 にしても長い。時間がかかりすぎる。小手調べとはなんだったのか……

 

 まあいいや。ところで、既に「オークの」と「ボタン」というパーツが翻訳されているわけです。これらを別のシートに書いておいたら、自動で「オークの感圧板」や「石のボタン」などのブロックの名前の欄にも表示されるような仕組みがあったら便利ですね。それの話は次回としましょうか(次回があったらの話です)。

 とりあえず今回の報告はここで終わりです。お疲れさまでした。

 Attàlûk!

 2024.1.8  

 

 以下、脚注

*1:「謎のライバル意識」…… ロジバンとイスクイルはどちらも「古典的な工学言語」として有名(人工言語界隈基準)。しかし、組織で研究開発され情報技術と密接に関わっているロジバンと、ひとりによって作られた半分芸術言語みたいで趣味色の強いイスクイルでは、公的な扱いには大きな差があるのだ。ロジバンは固有のISO言語コード "jbo" を与えられてるけどイスクイルはそうじゃないとかね。

*2:正規表現」…… 文字列を「どれかの数字」「なんでもいいから3文字」「母音字で終わる」みたいな緩い条件で検索する時に便利な仕組みです。スプシ勢のみんな、正規表現で遊ぼう!

*3:私はスプシの関数を基本的に小文字で打っています。動作に影響はありません。

*4:「=regexreplace('原典'!$A2,"^(.*)\:.*$","$1")」の訳: 原典シートの A2 の中身から「先頭から順番に『0文字以上の何か(これを$1と呼ぶ)』『: (コロン)』『0文字以上の何か』が来て文字列が終わる」ような部分を検出して、その部分を先ほど得た $1 で置換してください。

*5:「arrayformula」…… 1つで1次元配列のそれぞれの要素を演算したり、配列データを返して下のセルを焼き払ったりできる、圧倒的火力を持つ関数です。スプシ関数最強議論によく登場します(いいえ)。畏敬を込めて "荒焔(あれほむら)" と呼ばれています(いいえ)。

*6:このように列を成した同じ種類のセル(イスクイル3で言えば açtalkt’é でしょうか) に値や式がある部分とない部分を混在させるやり方は、あまり構造的に美しくはありませんし、複数人で管理する場合には特に推奨できません。しかし、個人でやっていてどこにどの式があるか把握できている分には構わないでしょう。

*7:イスクイルは何故か竹を食べ物としか思っていないようなので、仕方なく -pʰ- に複合語根として埋め込むことで建材の意味に近づけています。

*8:「ekas」…… 通常1個だけでは使われず、長く伸ばすことで道を示すものだ、ということで proximal です。delimitive+(EXN₁/7 or MET₁/1)とかで「部分」と言った方が良いかもしれない。

*9:「amtʰiasülf」…… シャベルを使って作るものなので、風化したり見えなくなったりしないように土を固くしてあるのかな、と思って ülf にしたっぽいです(よく覚えていない)。たぶん後で変えます。

*10:「ek'ás」…… 2秒で訳せました。こういうのは簡単すぎて逆に不安になります。

*11:「âčp'al」…… 簡単すぎて逆に不安になります2。