ソラマメブログ

2007年04月06日

lslで日本語を使う

2007年4月現在、スクリプトやノートカードの日本語対応は十分とは言えません。
スクリプトのコード内やノートカードに日本語を書くと化けてしまい、llSayで発言させたり、llSetTextで表示したりすることができません。
しかしながら、日本人街などにおいては日本語を使ったメッセージを表示させたいという要望はしばしばあり、苦労している方もいらっしゃるのではないでしょうか。

スクリプトで日本語を扱う方法はいくつかありますが、基本的なものを紹介しておきます。
listenによる入力

直接スクリプトエディタに入力すると化けてしまう日本語ですが、実はlistenで正しく入力することができます。
以下のような単純なエコースクリプトで試してみて下さい。


01:default {
02:  state_entry(){
03:    llListen(0, "", NULL_KEY, "");
04:  }
05:  
06:  on_rez(integer arg){
07:    llResetScript();
08:  }
09:
10:  listen(integer ch, string nm, key id, string message){
11:    llSetText(message, <0.0, 0.0, 1.0>, 1.0);
12:  }
13:}


誰かが発言した内容がオブジェクトのタイトルになります。
日本語をしゃべると、それがそのままオブジェクトのタイトルに表示されるのがわかると思います。

11行目でllSetText()の代わりにllSetObjectDesc(message)を使うと、オブジェクトのdescription(説明)に日本語を入れておくことができます。
descriptionはllGetObjectDesc()で取り出すことができますので、スクリプトがリセットされても再利用が可能です。
ただし、buildツールのeditウインドウでは化けて表示されますので編集はできません。

descriptionに保持できる最大文字数は約8034文字です。
ちょっとした日本語の文章を保持するには十分なサイズでしょう。

ちなみにllSetObjectName()でオブジェクト名を日本語にしてしまうことも可能です。
llSay()の直前に名前を日本語に変更すると、日本語の名前で発言されます。
ですがインベントリ等に戻したときに不都合がありますので、名前を日本語にしたあとは元に戻しておいたほうが良いでしょう。

URLエスケープの使用

descriptionはオブジェクトの属性ですので、スクリプト本体に日本語データが保持されているわけではありません。
スクリプトを他のオブジェクトにコピーした場合などは当然ながらdescriptionのデータは引き継がれません。
そこで、スクリプト自体に日本語を保持しておく方法を紹介しておきます。


list messages = [
  "%e3%81%93%e3%82%93%e3%81%ab%e3%81%a1%e3%81%af%e3%80%81%e4%b8%96%e7%95%8c%ef%bc%81",
  "%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%81%a7%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%92%e8%a1%a8%e7%a4%ba%ef%bc%81"
];

default {
  state_entry(){
    llSay(0, llUnescapeURL(llList2String(messages, 0)));
  }
  
  touch_start(integer touched){
    llSay(0, llUnescapeURL(llList2String(messages, 1)));
  }
}


スクリプトのスタート時とタッチされたときに、リストmessagesに定義されたメッセージを発言するだけのスクリプトです。
ただし、messagesに定義された文字列は「URLエンコード」されています。
「URLエンコード」とは、インターネットのURLに日本語などのマルチバイト情報や空白文字を保持できるように、文字情報を変換してURLとして使える文字のみにすることを言います。
簡単に言えば、日本語を英数字(と%などの記号)に変換したものです。

これをそのまま表示したのでは読めませんので、llSay()する際にllUnescapeURL()を使ってデコードします。
デコードとはエンコードの逆で、URL文字を元の日本語に戻す処理です。

この方法を使うと、日本語情報をスクリプト内に保持しておくことができます。
エンコードされているので何が書かれているのかさっぱりわからないという難点はありますが(^^;
コメントをしっかりと書いておくべきでしょう。

ちなみに、日本語をエンコードするには以下のページが便利です。
http://www.tagindex.com/tool/url.html
エンコードの際の文字コードにはUTF-8を使用して下さい。

【余談】
日本語を扱う方法としては、他にllHTTPRequest()を使った外部Webからの取得という手もあります。
lslの枠を超えた処理が可能ですが、lsl以外のWebアプリケーションの知識が必要になってきますので、今回は説明しません。



タグ :日本語表示

同じカテゴリー(スクリプト小技)の記事画像
リモートロード
同じカテゴリー(スクリプト小技)の記事
 モジュール化 (2007-09-04 12:15)
 高度なカメラ制御 (2007-07-19 12:15)
 リモートロード (2007-05-29 18:02)
 Emailの送受信 (2007-05-23 15:18)
 鍵をかける (2007-05-10 16:24)
 パーティクル (2007-04-09 17:07)
この記事へのトラックバック
セカンドライフで日本語表示
セカンドライフで日本語表示【セカンドライフ-オンラインゲーム】at 2007年04月12日 16:48
ネットワークを利用したゲームのことをオンラインゲーム(Online game)と呼ぶ。今年になって仮想空間型の世界が拡がるオンラインゲームが米国から日本にも上陸した。その名も『セカンド...
オンラインゲーム セカンドライフ【オンラインゲームセカンドライフ@オンラインゲーム好き】at 2007年04月16日 08:39
セカンドライフ(Second Life)は、英語名の頭文字をとって「SL」と略されることもあります。アメリカで誕生したオンラインサービスで、登録して会員になると「アバター」が与えられます...
セカンドライフ【セカンドライフに挑戦!!】at 2007年05月05日 19:04

製作中のRuna & Rinブランド記念19表情チェンジHUD


日本語の扱いとURLエンコード結果の大文字化
Runa &Rinブランドロゴが決定致し、何
表情チェンジャーHUDスクリプトでの日本語使用と日英両対応【Rinsui SL+ Making Blog】at 2007年12月08日 19:27
この記事へのコメント
◆Ugg 正規代理店通販サイト100%本物、アグブーツ正規直輸入最大70%OFF 新作のショートもトールも在庫あり.
◆全国どこでも送料無料!即日発送 .
◆UGG新作 UGG激安 UGG正規品 UGG楽天 ニーマンマーカスUGG
◆UGGムートンブーツ UGGブーツ UGGハワイ UGGサイズ バイマ UGG UGG australia
◆UGG サイズ UGG 1873通販サイトsakura-brand UGG 5803販売店舗sakura-brand UGG ブーツ激安販売の「sakura」 UGG 5815通販サイトsakura-brand
◆UGG 正規品 tipetto UGG 正規品 見分け方 UGG 正規品 通販 UGG 正規品 店舗 UGG 正規品 見分け 楽天 UGG 正規品 UGG 正規品 激安 UGG 正規品 2010 UGG 正規品 MINI UGG 正規品 メンズ
◆信用第一、良い品質。

☆URL:http://www.bootshop.jp
☆連絡先:ugg@bootshop.jp or info@bootshop.jpinfo
店長: 栗原 凌子(●^o^●)
営業時間:年中無休
Posted by 栗原 凌子 at 2010年12月22日 15:50
walletjp信用会社

送┃  料┃  無┃  料┃

◆信用第一、良い品質、低価格は 私達の勝ち残りの切り札です。
◆当社の商品は絶対の自信が御座います,S/SS品質 シリアル付きも有り付属品完備!
◆送料は無料です(日本全国)! ご注文を期待しています!

広大な客を歓迎して買います!!◇

当店URL://www.walletjp.com
連絡先:brandwallesale@yahoo.co.jp
Posted by walletjp信用会社 at 2011年02月27日 16:34
バッグ、腕時計などのコピー品の販売
陽春の候、ますますご清栄のこととお喜び申し上げます。平素は格別のお引き立てを賜り、ありがたく厚くお礼申します。
弊店はバッグ、腕時計などのコピー品を売るインタネットショップです。
弊店は
┣エルネス
┣オメガ
┣オーデマ・ピゲ
┣カルティエ
┣ロレックス
などの有名なブランド品。詳しいことは弊店でご覧になってください。お願い申し上げます。
弊店の商品は特恵を与える。興味あれば、是非ご覧下さい
最大限度はお客様を誠実に満足して、サービスさせます。

当社URL:http://www.brands-top.com
brands8top@yahoo.co.jp
担当者:千代 英子
Posted by 千代 英子 at 2011年04月21日 15:51
日本で、MBTシューズオーストラリアが大人気です。私は大好きです 。
Posted by 靴mbt at 2011年05月24日 15:36
日本で、MBTシューズオーストラリアが大人気です。私は大好きです 。
Posted by 靴mbt at 2011年05月24日 15:41
道で歩いとき、いろいろな靴あつた、やはり、この靴は一番ムートン。MBTを横から見ると非常にユニークな形をしていますが、これには理由があります。かかとが高い靴で歩くとつま先に重心がかかるため、骨盤が前に傾いた形で歩くことになり、これでは正しい歩き方ができません。MBTはかかとを浮かせることで前に傾かないようにし、さらに普段あまり使わない筋肉を使って歩くことで骨盤を正常な位置に戻します。
Posted by mbtシューズ at 2011年05月30日 11:45
◆トリーバーチ サンダル
◆トリーバーチ 2011新作 人気商品
トリーバーチ パンプス www.bootshop.jp/nsort.asp?Nsort_id=49
トリーバーチ サンダル www.bootshop.jp/nsort.asp?Nsort_id=50
トリーバーチ ハイヒール www.bootshop.jp/nsort.asp?Nsort_id=52
トリーバーチ バッグ 財布 www.bootshop.jp/nsort.asp?Nsort_id=53
◆トリー バーチ 正規代理店通販サイト100%本物、アグブーツ正規直輸入最大70%OFF 新作のショートもトールも在庫あり.
◆信用第一、良い品質。

☆URL:http://www.bootshop.jp
☆連絡先:ugg@bootshop.jp or info@bootshop.jpinfo
店長:栗原 凌子
営業時間:年中無休
Posted by 栗原 凌子 at 2011年06月25日 14:02
道で歩いとき、いろいろな靴あつた、やはり、この靴は一番ムートン。MBTを横から見ると非常にユニークな形をしていますが、これには理由があります。かかとが高い靴で歩くとつま先に重心がかかるため、骨盤が前に傾いた形で歩くことになり、これでは正しい歩き方ができません。MBTはかかとを浮かせることで前に傾かないようにし、さらに普段あまり使わ
Posted by Louis Vuitton Wallet at 2011年08月15日 18:48
スタイルが多い、品質がよい、価格が低い!品質を最大限本物と同等とする為に相応の材質にて製作している為です.絶対に満足して頂ける品のみ皆様にお届け致します.
以上 宜しくお願い致します。(^0^)広大な客を歓迎して買います!
Posted by UGG at 2011年09月30日 16:09
UGG ブーツ | UGG ブーツ 通販 | UGG ブーツ 激安 | UGG ブーツ 格安
全国業内のUGG ブーツの通販は最激安、品種が最豊富を目指して、日本第一のUGG ブーツ格安 販売専門サイト
Posted by UGG ブーツ格安 at 2011年11月10日 18:21
昨年に続いて今年も大人気のトリーバーチのブーツがある観点を証明しました。その観点は時間が経っても、ファッションの傾向が必ずしも変えないことです。それこそ、来年の冬のために、準備したらどうでしょうか。
Posted by トリーバーチ ミッドヒール at 2012年04月12日 17:13
その卓越した技術とスピリットを受け継ぎ、「イタリアのスタイリッシュ性」と「スイスの テクノロジー」を持ち合わせて誕生した時計 Tendence(テンデンス)。アクセサリー的 要素とファッション性をコンセプトに、2006年スイス・ルガーノのNTE.incにて正式に ブランドを
Posted by グッチコピー at 2013年03月18日 16:00
to eight months I carried close to just a little briefcase once i was in highschool it even contained a
?
Posted by oznljhkzw at 2013年05月31日 13:17
Initially, the additional invention is unbiased the guide's goggles glasses, and later lodge that it unquestionably can absorb crowning sunlight, at least divergence of the earnestness, but also to maintain fit to eat visual explanation potency, in the military verifiable times, the follow-up is entirely satisfied, then step past imprint in the U.S. to alleviate open. During The public
In quarrel with II, wearing a leather jacket, American pilots continually
vestige a latest modish sunglasses, access to uncountable countries and regions in the the open, giving people the replication of a risky, blas倈elegant modify, with the words nowadays, exceptionally refractory, then became melody factor.
In 1936, Bausch & Lomb
purchase be introduced to the general acknowledged of sunglasses, but in its close the start sales displays, most people from playful
behalf in Gleam Ban sunglasses. In this value, Bausch & Lomb was not discouraged next to their examination, the Ray-Ban sunglasses made ??some mini changes, on a former advantage again pushed into the market. Argumentative to the circle's expectations, this evident modifications of Gleam
Proscribe sunglasses, not no greater than prices soared, and has suit joint of the most common was the best-selling hit. At that circumstance, the men said the In compatibility States is all but ever a Bar Embargo sunglasses, and hold up this magnifying glass to certify their mettle MAN. Developed later, the ladies
get a hold of also ubiquitous ball to Glimmer Outlaw sunglasses, while the U.S. easy as can be on the eyes ladies wearing Quiver Proscribe sunglasses sincerely there is a sporadic decree
structure, evidently awesome and apogee of charm.
Posted by Rhys at 2013年08月18日 20:46
いやー、 可愛すぎますよ(o^^o) アフィリア制服や私服のかんじと違って、可愛いだけじゃなくかっこいいもプラスαされてる.
終いの伸ばし方とか結構上手い騎手だなと思うよ. もっといい馬回ってきたらいいね!

http://syshuefracos.269g.net

ソーニャさん こういう食材は見かけたらすぐに買わないとダメですよね. グリーンペッパーもきっと季節があって、暫くすると買えなくなっちゃうのかも知れません. 店頭に並んでるうちにせっせと実験してみることにします. グリーンペッパーとお肉の相性は抜群だけど、サーモンにも合いそうな気がする. タイ料理の食材を扱ってる通販で探して見たけど、グリーンペッパーを扱ってるお店が見つからない. 日持ちの問題かしら? 私は逆に水分をとらなすぎで医者に怒られてます.
Posted by wzectezfii at 2013年10月25日 16:21
フクちゃん こんにちは どうも有難うございます. ハイキング日和で何よりでした.
良いポストもう一度。

http://blog.goo.ne.jp/wayglobinza

れぃなさん いろんな人と出逢って、 ますます可愛くなっていきますね. きっと、人との出会いが、心を豊かにさせているからでしょうね. でも、いろんな人とつながって行ける、 それも、れぃなさんの「才能」であり、 素晴らしさだと思います. そんな素晴らしさを感じられるから、 私達も訪問して、応援したくなるんですよ. これからも、内面、外面どちらも カワイイれぃなさんでいて下さい. 応援してますよ(^_-)-☆
Posted by fyqrusaksw at 2013年10月25日 16:23
最新モデルから初心者向けゴルフクラブセット,人気ゴルフセット安心できる通販で購入して楽々配送!
Posted by SLDR ドライバー at 2014年06月12日 10:26
ゴルフクラブセットならコレ!2013新作ゴルフセット大好評販売中!ゴルフの商品が買える通販 サイト!激安ゴルフクセットアウトレット人気通販全国で送料無料、30日以内に返品 する可能!
Posted by ゼクシオMP800ドライバー at 2014年06月12日 10:32
ゴルフクラブ最安値ショップと 最高のゴルフクラブを入手できることを目指しています。全品激安ゴルフ用品、2013ゴルフクラブセット新発製品大集合!全国送料無料、ご安心購入してください
Posted by ミズノMP4アイアン at 2014年06月28日 10:42
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。