假设我有以下谓词,它声明ID loc1指定一个位置。
isLocation('loc1', 'Location 1').我想为第二个文本(Location 1)提供翻译,即键值对(如en='Location 1', de='Ort 1', ru='Местоположение 1' )。
在Prolog中编码这些数据的正确方法是什么,特别是TuProlog (以及理想的标准化Prolog)?
下面的符号会在SWI Prolog之外工作吗?
isLocation('loc1', ['en'-'Location 1', 'de'-'Ort 1', 'ru'-'Местоположение 1']]).发布于 2016-02-15 07:49:34
在任何Prolog中工作的最简单的方法是使用成员/2来检索键值对。例如
l10n(MessageId, Country, Translated) :-
isLocation(MessageId, Localized),
member(Country-Translated, Localized).当然,这种基本结构需要几个改进,具体取决于需求。
https://stackoverflow.com/questions/35401938
复制相似问题