小笠原です。
LibreLogo ですが、po ベースでがーっと変更かけました。
ので、ざーっと見ていただけるとありがたいです。
なお LibreLogo のマニュアルは:
https://wiki.documentfoundation.org/User:Nemeth
にあります。
LibreLogo には「magic アイコン」というアイコンがありまして、これは、
-----
ペンを上げる
前進 10
ペンを下げる
前進 10
-----
みたいにやってアイコンをぽちっと押すと、
-----
PENUP
FORWARD 10
PENDOWN
FORWARD 10
-----
みたいに変換してくれる機能です。
個人的には、
・ユーザーの対象は10歳ぐらい
・英語はわからないけどローマ字ぐらいはわかる
(パソコン使ってるってことはアルファベットには
抵抗がない)
・なので「最初に覚えてしまえば」英語のコマンドを
普通に使うんじゃないか
・けど、その「最初に覚える」ために magic アイコン
対応はしたほうがいいんじゃないか
というポリシーです。
なお LibreLogo は magic アイコンで変換できる用語
を複数用意できるので:
FORWARD=すすむ|forward|fd
と書いたら、この三つのどれを書いても FORWARD に
変わってくれます (逆に |forward を書き忘れると、
forward って直接英語書いたときに認識してくれな
いという不具合が)。
まあそんなわけで、FORWARD ぐらいならいいのです
けど、制御構文でかなり苦しい訳をしています。
ので、そこらへんを見ていただければと。
1) 無理は止めて制御構文は英語にしたら?
2) いや、いっそのこと全部英語でいいんじゃ?
3) 日本語でもいいと思うけどもうちょっとマシな
表現はないのん?
などご意見くだされば幸いです。
--------------------
(1) PICTURE
PICTURE は描画コマンド列をグルーピングする機能です。
PICTURE [ FORWARD 100 CIRCLE 100 ]
と書くと、「100 前進して 100 のサイズの円を書く」処理がグループ化
されます。かなり訳しにくかったので英語以外にふたつ用意しました。
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912313
図 [ すすむ 100 円 100 ]
図のグループ [ すすむ 100 円 100 ]
でもどっちにしても:
PICTURE ; start a new line shape
FORWARD 10 PICTURE FORWARD 10 ; two line shapes
この例にはハマらないんだよなあ……(というか、この例の意味がよくわかんない)。
--------------------
(2) REPEAT
繰り返しの基本形です。引数を省略すると無限ループです。
内部でREPCOUNTという変数を参照できて、これが繰り返しの回数です。
REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ]
REPEAT [ POSITION ANY ] ; endless loop
REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912317
これはシンプルにしました。
くりかえす 10 [ すすむ 10 左 45 円 10 ]
くりかえす [ 場所 なんでも ]
くりかえす 100 [ すすむ くりかえした数 ]
--------------------
(3) FOR IN
ほかのプログラミング言語の foreach 的なやつです。
FOR i IN [1, 5, 7, 9, 11] [
FORWARD i
LEFT 90
]
文字列も OK です。
FOR i IN “text” [
LABEL i
FORWARD 10
]
これはかなり強引です。お知恵拝借したく。
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912322
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912323
ひとつずつ i を次から取り出して [1, 5, 7, 9, 11] [
すすむ i
左 90
]
--------------------
(4) WHILE
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; as REPEAT 10 [ ... ]
これもかなり無理矢理です(「次の間くりかえす」という候補もありました)。
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912321
くりかえすのは次の間 くりかえした数 <= 10 [ すすむ 50 左 36 ]
--------------------
(5) BREAK/CONTINUE
C の break/continue そのまんまです。
REPEAT [ ; endless loop
POSITION ANY
IF REPCOUNT = 100 [ BREAK ] ; equivalent of the REPEAT 100 [ ... ]
]
REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 <> 0 [ CONTINUE ]
CIRCLE 10 ; draw circles on every 2nd positions
]
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912319
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912320
くりかえす [
場所 なんでも
もし くりかえした数 = 100 [ くりかえしから出る]
]
くりかえす 100 [
場所 なんでも
もし くりかえした数 % 2 <> 0 [ はじめにもどる ]
円 10
]
「はじめにもどる」は処理の先頭にもどりそうなのでなんとかしたいんですが、
どうせ記号だと割りきりました。
--------------------
(7) IF
なんか文法が Lisp っぽいのは気のせいです。
IF a < 10 [ PRINT “Small” ]
IF a < 10 [ PRINT “Small” ] [ PRINT “Big” ]
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912324
これはシンプルに。
もし a < 10 [ 表示 "小さい" ]
もし a < 10 [ 表示 "小さい" ] [ 表示 "大きい" ]
--------------------
(8) NOT, AND, OR
IF a < 10 AND NOT a < 5 [ PRINT “5, 6, 7, 8 or 9” ]
NOT がキツイ。
たぶんこれ多くの日本語プログラミングの取り組みで同じ悩みがあったと思います。
なぜなら NOT は前置ですが日本語の否定は後置だからです。
あと AND の略語も意外と悩みます。ちょっと気にいっていません。
「かつ」って言葉が硬いんでやわらかいことばをいれたいなとおもって「と」を選んだんですが、いまいち。
意外と「で」がいいんじゃないかと思うんですけど反映してません。
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912330
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912331
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912332
もし a < 10 と 次が正しくない a < 5 [ 表示 “5, 6, 7, 8 または 9” ]
--------------------
(9) TO ... END
関数やサブルーチンを作ります。この一般語彙がパパート先生の意志を感じるけど、
正直つらい。
TO triangle
REPEAT [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912314
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912315
そもそも「サブルーチン」をなんと呼ぶかなやんで、結局「動き」としました。
「処理」だとちょっと固いのが気に入らない。でも「動き」も気に入ってないです。
「おわり」がなんか一般用語すぎて気に入らないんですよね。
動きを作る triangle
くりかえし [ すすむ 100 右 120 ] 塗りつぶす
おわり
くりかえし 10 [ triangle ペンを上げる 場所 なんでも ペンを下ろす ]
いま思ったんですけど、こんなのもいいかも。反映はしてないです。
動きの名前 triangle
くりかえし [ すすむ 100 右 120 ] 塗りつぶす
できあがり
--------------------
(10) OUTPUT
return 文のうち、値を返す方。
TO randomletter
OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
END
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912325
動きを作る randomletter
値を返す RANDOM “qwertzuiopasdfghjklyxcvbnm”
おわり
--------------------
(11) STOP
return 文のうち、値を返さない方。
TO example number
IF number < 0 [ STOP ]
PRINT SQRT number ; print square root
]
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po/translate/#unit=29912316
「動き」という言葉が変わったら、こっちも変えます。
動きを作る example number
もし number < 0 [ 動きから出る ]
表示 平方根 number ; print square root
]
----------------------------------------------------
構造があるやつはこの程度のはずなので、残りは Pootle で確認お願いします。
https://translations.documentfoundation.org/ja/libo_ui/librelogo/source/pythonpath.po
よろしくお願いします。
[以上]
--
Naruhiko Ogasawara (naruoga@gmail.com)
--
Unsubscribe instructions: E-mail to discuss+help@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.