プログラムの内容は英語なので、翻訳機にかけてみた
こんにちは
「焼き肉行きましょう」って言われると、断る言葉を知らない今井です。
ちなみに最初はカルビです。
たまにですが、プログラミング始めたいって人に言われるのが「英語わかんないから難しそう」です。難しいのはそこじゃないけど。
世の中にはプログラミングをするための「言語」というのが沢山あります。
人が使う言葉に近い言語の事を「高級言語」といい、これらは殆どが英語ベースになっています。
例えば、「条件分岐」といわれる記法ですが、「if 」(もし)とか「switch case」(この場合は〜)ってかんじです。
いくつか日本語で書ける言語も存在しますが、メジャーにはなってません。(ぴゅー太の日本語BASIC懐かしい)
さて、以前から気になっていたのですが、「プログラムが英語ならば翻訳機にかけたら訳せるんじゃない?しかも変な感じで」です。
そしたら、英語が苦手な人でも何が書いてあるか分かって「こんな感じなんだー」となるかと思うと同時に面白翻訳期待してやってみました。
今回使うのは、CakePHPというフレームワークでBakeという機能を使い自動生成されたソースコード(プログラム)です。
内容は入力画面で入力された内容をデータベースに追加して、成功したら指定したページに移動するというものです。
public function add()
{
$place = $this->Places->newEntity();
if ($this->request->is('post')) {
$place = $this->Places->patchEntity($place, $this->request->data);
if ($this->Places->save($place)) {
$this->Flash->success(__('The place has been saved.'));
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error(__('The place could not be saved. Please, try again.'));
}
}
$this->set(compact('place'));
$this->set('_serialize', ['place']);
}
英語がさっぱり分からないという人には、なんの事か分からないと思いますので、
早速エキサイト翻訳にかけてみます。
公的な機能加算()
{
$place = $this->Places->newEntity();
ならば($this->request->is(ポスト'))
$place = $this->Places->patchEntity($place、$this->request->data);
ならば($this->Places->save($place))
$this->Flash->success(__(『場所は救われた。』));
帰りの$this->redirect([『行動』 => 『インデックス』 ]);
他に
$this->Flash->error(__(『場所はsaved.であるはずがない 再びトライする 。』));
}
}
$this->set(コンパクト(『場所』));
$this->set(『_serialize』、[『場所』]);
}
んー。肝心な箇所は訳されてないですね。プログラム的な書かれ方だとスキップしちゃうのかな。
「場所は救われた」はふふってなりました。
ちょっと期待外れだったので、次はgoogle翻訳してみます。
パブリック関数add()
{
$ place = $ this-> Places-> newEntity();
if($ this-> request-> is( 'post')){
$ place = $ this-> Places-> patchEntity($ place、$ this-> request-> data);
if($ this-> Places-> save($ place)){
$ this-> Flash-> success(__( '場所が保存されました。'));
$ this-> redirect(['action' => 'index'])を返します。
} else {
$ this-> Flash-> error(__( '場所を保存できませんでした。もう一度やり直してください。'));
}
}
$ this-> set(compact( 'place'));
$ this-> set( '_ serialize'、['place']);
}
プログラム的な箇所は綺麗に残りましたね。
「パブリック関数add」と出力するあたりは翻訳する文章の分類分けがきちんと出来てる印象です。
さすがgoogle先生!
でも、期待していたような面白翻訳してくれないので、次に行きます
Yahooさんにお願いしてみました。
公的な機能は、加わります()
{
= $this-場所-newEntity()を出してください;
もしも($this-request-is(『ポスト』)){
= $this-場所-patchEntity(出します、$this-要請-データ)を出してください;
もしも($this-場所-保存(出します)){
$this-フラッシュ-成功(__(『場所は保存されました』。));
$this再直接尋問の([=が『インデックスを付ける』『行動』])復帰;
}他に{
$this-フラッシュ-エラー(__(『場所は、保存されることができませんでした。もう一度ためします』。));
}
}
$this-セット(コンパクトな(『場所』));
$this-セット(『_serialize』[『場所』]);
}
ちょっと期待値に近づきました(笑)
何故か変数$placeがなくなってます。「を出して下さい」に置き換わった?
「置く」的な解釈なのかな
redirect(このページに飛んでね)が「再直接尋問」は良いですね(笑)
というか、むしろ解り辛くなった感があります。
なんだか全体的に「だから何?」的な感じになってしまいましたが
まぁ、あれです。これからプログラムを始めたいけど「英語が...」って人は、そんなに気にしないでとにかく初めてみてください。むしろ難しいのは文字的な物ではなく構造的な方です。
何事も最初の一歩を踏み出すことが大事です。
どーんと行っちゃって下さい。