私は真の多言語複数形化クラスの実装を検討しており、私が作成したインターフェイス IPlural に基づいています。
IPlural は関数pluralTypeを定義します
string pluralType(float value);
サポートしたいすべての言語について、"zero"、"one"、"two"、"few"、"many"、または "other" のいずれかであるpluralType を決定するルール セットを実装するクラス ファイルを作成する予定です。 . 関数は単純です。数値を渡すと、文字列が出力されます。
私の問題は、ユーザーの現在のCultureInfo/Languageに基づいてIPluralの実装の1つを選択したいので、大規模なswitchステートメントを持たずにこれを行うにはどうすればよいですか?
私のすべてのクラスは次のように呼ばれます:
- Plural_en
- Plural_pl
- 複数の bs
ここで、最後の 2 文字は言語です (この場合、通常はロケールに依存しません)。
これらのクラスはすべて IPlural を実装しており、次のように動作するはずだと思います...
IPlural pluraliser = new "dynamically chosen pluraliser class"
string pt = pluraliser.pluralType(5);
問題は、これが可能かどうかわからないということです。
どんなポインタでも大歓迎です。
ありがとう