1

IDloc1が場所を指定することを示す次の述語があるとします。

isLocation('loc1', 'Location 1').

Location 12 番目のテキスト ( )、つまり のようなキーと値のペアの翻訳を提供したいと考えていますen='Location 1', de='Ort 1', ru='Местоположение 1'

そのようなデータを Prolog、特に TuProlog (そして理想的には標準化された Prolog) でエンコードする正しい方法は何ですか?

以下の表記は SWI Prolog 以外でも機能しますか?

isLocation('loc1', ['en'-'Location 1', 'de'-'Ort 1', 'ru'-'Местоположение 1']]).
4

1 に答える 1

3

任意の Prolog で作業する最も簡単な方法は、member/2 を使用してキーと値のペアを取得します。例えば

l10n(MessageId, Country, Translated) :-
  isLocation(MessageId, Localized),
  member(Country-Translated, Localized).

もちろん、このような基本的な構成には、要件に応じていくつかの改善が必要です。

于 2016-02-15T07:49:34.043 に答える