Aug 17, 2009

なぞのリソースバンドルを調べてみましたよ

ポスト @ 23:16:21 | Flex

前のエントリで書いた、なぞの "core" リソースバンドルのせいで「null」っていう描画がなされる件。

というかこの問題は、

  1. UITextField のメソッドのバグ
  2. 後から新たなロケールを追加するだけでメインアプリをリコンパイルしなければならなくなる

という2つの合わせ技になっていたわけで、前者はもうどうしょうもないわけですが(苦笑)、後者についてはどうなんだと。なんとか回避する技はないのかと。
と考えたくなるわけで、それを検証してみましたよ、このコードで。

var resourceManager:IResourceManager = ResourceManager.getInstance();
var bundleNames:Array/* of String */ =
  resourceManager.getBundleNamesForLocale("ja_JP");
var length:int = bundleNames.length;
for (var i:int = 0; i < length; ++i) {
  trace("bundle [" + bundleNames[i] + "]");
  var bundle:IResourceBundle =
    resourceManager.getResourceBundle("ja_JP", bundleNames[i]);
  for (var key:String in bundle.content) {
    trace(" " + key + " -> " + bundle.content[key]);
  }
}

んでその結果は。

bundle [logging]
 levelLimit -> レベルは LogEventLevel.ALL 未満である必要があります
 charsInvalid -> フィルタのエラー '{0}' : 次の文字は有効ではありません : []~$^&/(){}<>+=_-`!@#%?,:;'".
 invalidLen -> カテゴリは長さが最低 1 文字である必要があります。
 charPlacement -> フィルタのエラー '{0}' : '*' は右端の文字である必要があります。
 invalidTarget -> 無効なターゲットが指定されました。
 invalidChars -> カテゴリには次の文字は使用できません : []`~,!@#$%*^&()]{}+=|';?><./".
bundle [charts]
 noAxisSet -> プロパティ axis が、この AxisRenderer 用に設定されていません。
 close -> 閉じる
 open -> 開く
 low -> 低
 high -> 高
bundle [controls]
 undefinedArray -> cuePoint.array が未定義です
 wrongType -> type は数値である必要があります
 errWrongType -> エラー : '{0}' の dataProvider は、String、ViewStack、Array、または IList である必要があります。
 missingProxy -> URL: '{0}' fpad xml にはプロキシタグが必要です。
 dayNamesShortest -> 日, 月, 火, 水, 木, 金, 土
 unknownInput -> 不明な inputType '{0}'
 rootNotSMIL -> URL: '{0}' ルートノードが smil ではありません : '{1}'。
 missingAttributeSrc -> URL: '{0}' 属性 src が '{1}' タグに必要です。
 errorMessages -> サーバーに接続できないか、またはサーバー上で FLV が見つかりません。,一致するキューポイントが見つかりませんでした。,キューポイントが不正です。,シークが無効です。,contentPath が無効です。,XML が無効です。,ビットレートが一致しません。; デフォルト以外の FLV を指定してください。,デフォルトの VideoPlayer は削除できません。
 yearSymbol -> 年
 firstDayOfWeek -> 0
 wrongIndex -> cuePoint.index は -1 ? cuePoint.array.length の範囲の数値である必要があります
 noLabel -> いいえ
 notImplemented -> '{0}' 実装されていません
 label -> ロード中 %3%%
 unexpectedEnd -> 予期しない cuePoint パラメータ文字列の終わりです
 wrongFormat -> 予期しない cuePoint パラメータの形式です
 invalidCall -> http 接続について reconnect を呼び出すことができません
 rootNotFound -> URL: '{0}' ルートノードが見つかりませんでした。ファイルが flv である場合は、拡張子を .flv にしてください。
 tagNotFound -> URL: '{0}' ref タグのビデオが少なくとも 1 つ必要です。
 okLabel -> OK
 errWrongContainer -> エラー :'{0}' の dataProvider には、flash.display.DisplayObject 型のオブジェクトを含めることができません。
 unsupportedMode -> IMEMode '{0}' はサポートされていません。
 cannotDisable -> ActionScript キューポイントを無効にできません
 undefinedParameter -> cuePoint パラメータが未定義です
 incorrectType -> type は 0、1、または 2 である必要があります
 missingAttributes -> URL: '{0}' タグ '{1}' は id、width、および height 属性を必要とします。width と height は 0 以上の数値である必要があります。
 nullURL -> null url が VideoPlayer.load に送信されました
 missingRoot -> URL: '{0}' ルートノードが見つかりませんでした。URL が FLV に対するものである場合は、拡張子を .flv にし、パラメータを指定しないでください。
 notfpad -> URL: '{0}' ルートノードが fpad ではありません。
 badArgs -> _play の引数が正しくありません
 notLoadable -> ロードでき?ワせん '{0}'.
 wrongName -> name を未定義または null にすることはできません
 wrongTime -> time は数値である必要があります
 wrongNumParams -> num パラメータは数値である必要があります
 wrongTimeName -> time は数値である必要があり、name は未定義または null にすることはできません
 cancelLabel -> キャンセル
 wrongDisabled -> disabled は数値である必要があります
 yesLabel -> はい
bundle [messaging]
 noURIAllowed -> DirectHTTPChannel でエラーが発生しました。URI を指定できませんでした。
 cannotAddWhenConfigured -> 設定された送信先をターゲットとする ChannelSet にはチャンネルを追加できません。
 producerSendError -> 送信できませんでした。
 cannotAddNullIdChannelWhenClustered -> clustered プロパティが true の ChannelSet には null ID のチャンネルを追加できません。
 requestTimedOut -> 要求がタイムアウトになりました
 resubscribeIntervalNegative -> resubscribeInterval に負の値は指定できません。
 unknownTraitReference -> 不明な trait 参照 {0}
 producerSendErrorDetails -> プロデューサが接続されておらずメッセージキューが割り当てらていないので、メッセージを送信することもキューに入れることもできません。
 noAckMessage -> 応答メッセージを受信しませんでした
 cannotRemoveWhenConfigured -> 設定された送信先をターゲットとする ChannelSet からチャンネルを削除できません。
 emptySessionClientId -> セッションの clientId には 0 以外の数値を設定する必要があります。
 wrongMessageQueueForProducerDetails -> メッセージの送信元はこのプロデューサに関連付けられたメッセージストアではありませんでした。
 pollingRequestNotAllowed -> ポーリングが無効になっているときに、'{0}' でポーリング要求が送信されました。
 authenticationNotSupported -> DirectHTTPChannel では、認証はサポートされていません (プロキシなし)。
 securityError -> URL へのアクセス中にセキュリティエラーが発生しました
 queuedMessagesNotAllowedDetails -> このプロデューサにはメッセージキューが割り当てらていないので、キューに入ったメッセージを送信できません。
 httpRequestError -> HTTP 要求に関するエラー
 unknownStringReference -> 不明なストリング参照 {0}
 unknownChannelClass -> 指定されたチャンネルクラス '{0}' が見つかりませんでした。
 producerConnectError -> プロデューサ接続エラーです。
 pollingNotSupportedHTTP -> StreamingHTTPChannel はポーリングをサポートしていません。
 failedToConnect -> プロデューサはターゲット宛先に接続できませんでした。
 deliveryInDoubt -> チャンネルが切断されました
 unknownChannelWithId -> 設定にはチャンネル '{0}' がありません。
 securityError.details -> 送信先 : {0}
 pollingNotSupportedAMF -> StreamingAMFChannel はポーリングをサポートしていません。
 noErrorForMessage -> メッセージに関するエラーは受信されませんでした
 messageQueueNotInitialized -> メッセージストアは初期化されていません。
 couldNotLoadCacheIds -> キャッシュ ID のリストをロードできませんでした。
 httpRequestError.details -> エラー : {0}
 notImplementingIExternalizable -> クラス {0} では flash.util.IExternalizable を実装する必要があります。
 noAMFXBody -> AMFX パケットが無効です。メッセージ本文が見つかりませんでした
 receivedNull -> null ?lを受信しました。
 ackFailed.details -> 予期されたメッセージは '{0}' でしたが、'{1}' を受信しました。
 couldNotClearCache -> キャッシュをクリアできませんでした。
 requestTimedOut.details -> サーバーからの応答を受信する前に、送信メッセージに対する要求がタイムアウトになりました。
 unknownDestinationForService -> ID '{0}' のサービスに対する送信先 '{1}' が不明です。
 noAvailableChannels -> 使用可能なチャンネルがありません。
 invalidRequestMethod -> 無効なメソッドが指定されました。
 sendFailed -> 送信できませんでした
 failedToSubscribe -> コンシューマはターゲット宛先にサブスクライブできませんでした。
 cannotConnectToDestination -> メッセージ送信先への接続を確立できませんでした。
 noChannelForDestination -> Destination '{0}' either does not exist or the destination has no channels defined (and the application does not define any default channels.)
 couldNotAddMessageToQueue -> メッセージストアにメッセージを格納できませんでした。プロデューサが接続されていません。メッセージストアから送出された FaultEvent に追加情報があります。
 unsupportedAMFXVersion -> サポートされていない AMFX のバージョン : {0}
 destinationWithInvalidMessageType -> 送信先 '{0}' では、'{1}' 型のメッセージを処理できません。
 emptyDestinationName -> '{0}' は無効な送信先です。
 errorReadingIExternalizable -> IExternalizable の読み取り中にエラーが発生しました。{0}
 pollingIntervalNonPositive -> チャンネルの pollingInterval は、正の値である必要があります。
 couldNotLoadCache -> キャッシュをメッセージストアにロードできませんでした。
 noDestinationSpecified -> 送信先名を指定する必要があります。
 referenceMissingId -> 参照には ID が必要です。
 deliveryInDoubt.details -> 応答を受信する前に、チャンネルが切断されました。
 lsoStorageNotAllowed -> ローカる記憶域は許可されていないのでメッセージストアを初期化できません。Flash Player でローカル記憶域が許可されており、十分な記憶容量があることを確認してください。
 invalidURL -> 無効なURL
 ackFailed -> メッセージに対する応答を受信しませんでした
 messageQueueFailedInitialize -> メッセージストアの初期化に失敗しました。
 unknownDestination -> 送信先 '{0}' が不明です。
 noErrorForMessage.details -> 予期されたメッセージは '{0}' でしたが、'{1}' を受信しました。
 connectTimedOut -> 接続の試みがタイムアウトになりました。
 couldNotSaveCache -> キャッシュを保存できませんでした。
 messageQueueSendError -> 送信できませんでした。
 noServiceForMessageType -> '{0}' 型のメッセージを処理するためのサービスが設定されていません。
 noAckMessage.details -> mx.messaging.messages.AcknowledgeMessage を予期していましたが、{0} を受信しました
 AMFXTraitsNotFirst -> オブジェクトが無効です。オブジェクト内の先頭エントリとして、traits セットを 1 つ指定する必要があります。
 consumerSubscribeError -> コンシューマ登録エラー
 couldNotRemoveMessageFromQueue -> メッセージを送信する前にメッセージストアから削除できませんでした。
 reconnectIntervalNegative -> reconnectInterval に負の値は指定できません。
 destinationNotSet -> メッセージを送信するには、MessageAgent の送信先を設定する必要がありま?キ。
 unknownReference -> 不明な参照 {0}
 cannotSetClusteredWithdNullChannelIds -> null ID のチャンネルを含む ChannelSet の clustered プロパティは変更できません。
 noAMFXNode -> AMFX パケットが無効です。コンテンツの先頭は <amfx> ノードでなければなりません
bundle [styles]
 unableToLoad -> スタイル ({0}) をロードできません : {1}。
bundle [collections]
 outOfBounds -> 指定したインデックス '{0}' が範囲外です
 nonUnique -> アイテム内の値が一意ではありません
 invalidCursor -> カーソルが有効ではありません
 incorrectAddition -> ビューに既に存在するアイテムを追加しようとしています
 noItems -> 検索するアイテムがありません
 itemNotFound -> ビューがソートされていない場合は見つけることができません
 noComparator -> コンパレータを特定できません '{0}'
 findRestriction -> 検索条件には、最低 1 つのソートフィールド値が含まれている必要があります
 invalidInsert -> current が beforeFirst である場合は挿入できません
 noComparatorSortField -> 名前が '{0}' の SortField のコンパレータを特定できません。
 bookmarkNotFound -> ブックマークがこのビューのものではありません
 unknownProperty -> 不明な Property です '{0}'
 findCondition -> 検索基準には、'{0}' にいたるすべてのソートフィールドが含まれている必要があります。
 invalidRemove -> current が beforeFirst または afterLast である場合は削除できません
 invalidType -> 型が正しくありません。XML、または XML オブジェクトを 1 つ含む XMLList である必要があります。
 invalidIndex -> 無効なインデックス : '{0}'
 bookmarkInvalid -> ブックマークが有効ではありません
 unknownMode -> 不明な検索モードです
bundle [core]
 viewSource -> ソースの表示
 truncationIndicator -> ...
 badFile -> ファイルが存在しません。
 versionAlreadyRead -> 互換性のあるバージョンが既に読み込まれています。
 multipleChildSets_ClassAndInstance -> このコンポーネント (コンポーネント定義とコンポーネントインスタンス) に対して、可視の子のセットが複数指定されています。
 versionAlreadySet -> 互換性のあるバージョンが既に設定されています。
 multipleChildSets_ClassAndSubclass -> このコ?塔|ーネント (基本の core.properties) に対して、可視の子のセットが複数指定されています。
 stateUndefined -> 未定義のステート '{0}'
 notExecuting -> Repeater は実行されていません。
bundle [skins]
 notLoaded -> ロードできません '{0}'
bundle [containers]
 noRowsFound -> ConstraintRows が見つかりませんでした。
 columnNotFound -> ConstraintColumn '{0}' が見つかりませんでした。
 noColumnsFound -> ConstraintColumns が見つかりませんでした。
 rowNotFound -> ConstraintRow '{0}' が見つかりませんでした。
bundle [rpc]
 unrecognizedPortTypeName -> 名前空間 '{1}' 内に '{0}' という名前の portType が見つかりませんでした
 unknownSchemaVersion -> 不明なスキーマのバージョン
 overloadedOperation -> WSDL ファイル内にオーバーロードされた操作 ({0}) が含まれています。このような操作は、現在サポートされていません。
 badElement -> エレメント {0}:{1} を解決できません
 faultyWSDLFormat -> WSDL ファイルの形式が正しくありません
 noBaseSchemaAddress -> 完全修飾基本アドレスを指定しない場合、相対?Xキーマのインポートを解決することはできません。
 cannotConnectToDestination -> メッセージ送信先への接続を確立できませんでした。
 invalidResultFormat -> resultFormat '{0}' の形式が無効です。有効な形式は、[{1}, {2}, {3}, {4}, {5}] です
 soapVersionMismatch -> 要求に実装されているバージョンは {0} ですが、応答に実装されているバージョンは {1} です
 unexpectedException -> ランタイム例外 {0}
 badType -> 型 {0} を解決できません
 unrecognizedNamespace -> WSDL パーサーには名前空間 '{0}' に対する登録済みドキュメントがありません
 xmlEncodeReturnNull -> xmlEncode から null 値が返されました
 xmlEncodeReturnNoXMLNode -> xmlEncode から XMLNode が返されませんでした
 multiplePortsFound -> 有効なポートが指定されていません。WSDL ファイル内に複数のポートが存在するため、デフォルトのポートを選択できません。
 noListenerForHeader -> ヘッダ {0} に対するイベントリスナーがありません
 noSuchService -> サービス '{0}' が見つかりませんでした
 tooFewInputParameters -> パラメータの数が少なすぎます。{0} 個以上のパラメータが必要ですが、実際には {1} 個しか指定されていません
 wsdlDefinitionsNotFirst -> 定義は、WSDL ファイル内の先頭のエレメントでなければなりません
 cannotResetOperationName -> Operation を再設定することができません
 noServiceElement.details -> {0} にある WSDL ファイル内に <wsdl:service> エレメントがありません。
 noPortsInWSDL -> {0} サービスに対する有効なポートが WSDL ファイル内にありません。
 unknownSchemaElement -> 不明なエレメント : {0}
 unableToLoadWSDL -> WSDL をロードできませんでした。現在オンラインである場合は、WSDL ({0}) の URI や形式を確認してください
 unrecognizedMessageName -> 名前空間 '{1}' 内に '{0}' という名前のメッセージが見つかりませんでした。
 errorWhileLoadingFromParent -> インポートされたスキーマを親の場所からロードしている間に、エラーが発生しました : {0}
 noServiceAndPort -> 対応するポート (サービス = '{0}'、ポート = '{1}') が見つかりませんでした
 operationsNotAllowedInService -> 操作を RPC サービス ({0}) に割り当てることができません
 unexpectedSchemaException -> スキー?}のインポート中にエラーが発生しました : {0}
 noServices -> WSDL ファイル内に有効なサービスが定義されていません。
 badSchemaNode -> スキーマノードが不正です
 unrecognizedBindingName -> 名前空間 '{1}' 内に '{0}' という名前のバインディングが見つかりませんでした
 unknownProtocol -> 不明なプロトコル '{0}'
 noSuchServiceInWSDL -> 要求されたサービス '{0}' が WSDL ファイル内に見つかりませんでした。
 cannotResetService -> 操作のサービスを再設定することはできません。
 unknownSchemaType -> 不明なスキーマタイプシステム
 pendingCallExists -> 呼び出しの保留中に、別の呼び出しが行われました。同時実行オプションを有効にするか、同時に複数の呼び出しを行わないようにしてください。
 destinationOrWSDLNotSpecified -> 送信先や WSDL ファイルを指定する必要があります。
 mustSpecifyWSDLLocation -> useProxy が false に設定されている WSDL ファイルの場所を指定する必要があります。
 invalidSoapResultFormat -> resultFormat '{0}' は無効です。有効な形式は、'object'、'xml'、および 'e4x' です
 urlNotSpecified -> URL を指定し、useProxy を false に設定する必要があります。
 noBaseWSDLAddress.details -> WebService に対する WSDL ファイルの場所を指定してください。
 noListenerForEvent -> イベントを受信しましたが、このイベントに対するリスナーが定義されていません。イベントリスナーを追加してください。 {0}
 unexpectedInputParameter -> 予期しない入力パラメータ '{0}' が見つかりました。
 cannotFindType -> {0} の型が見つかりませんでした
 xmlDecodeReturnNull -> xmlDecode から null 値が返されました
 noBaseWSDLAddress -> 完全修飾基本アドレスを指定しない場合、相対 WSDL ファイルのインポートを解決することはできません。
 noServiceElement -> WSDL ファイルをロードできませんでした
 missingInputParameter -> 入力パラメータの配列の {0} 番目の位置に、必須パラメータがありませんでした
 defaultDecoderFailed -> デフォルトのデコーダでは結果をデコードできませんでした
 missingInputParameterWithName -> 入力パラメータに必要なパラメータ '{0}' が見つかりませんでした。
bundle [effects]
 incorrectSource -> Source プロパティは Class または String ?ナある必要があります。
 incorrectTrigger -> Zoom エフェクトは moveEffect トリガでトリガすることはできません。

あーそうですか。
こんなん自力対処するの厭やわ。

というわけで、Flex3 はi18n/L10Nはまともにできません。という結論が私の脳内で導出されましたとさ。トホホ。

Trackback

No Trackbacks

Track from Your Website

http://blog.izumichan.com/trackback/tb.php?id=665

Comment

No Comments

Post Your Comment


*は入力必須です。E-Mailは公開されません。