2016-07-04 1 views
1

Я прочитал большинство документов, но я не могу найти упоминания о интернационализации. Имеет ли falcor стандартизованный способ поддержки интернационализации, или он остается для пользователя взломать? Возьмите этот пример из своих документов:Поддерживает ли Falcor интернационализацию?

{ 
    todosById: { 
     "44": { 
      name: "get milk from corner store", 
      done: false, 
      prerequisites: [{ $type: "ref", value: ["todosById", 54] }] 
     }, 
     "54": { 
      name: "withdraw money from ATM", 
      done: false, 
      prerequisites: [] 
     } 
    }, 
    todos: [ 
     { $type: "ref", value: ["todosById", 44] }, 
     { $type: "ref", value: ["todosById", 54] } 
    ] 
}; 

Что вы будете делать, если свойства 'name' имеют несколько значений для разных языковых переводов?

ответ

1

У Falcor нет ничего особенного для интернационализации. Но почему? Это библиотека для извлечения данных.

Если у клиента должна быть возможность получить одно и то же поле на нескольких языках, то разные значения, вероятно, должны находиться на разных путях. Например: todosById[44].name["en-GB"], todosById[44].name["fr-CH"].

В противном случае (если язык согласован другими способами), вы можете использовать свой обычный способ работы с интернационализацией. Falcor - это только HTTP с некоторыми соглашениями.

+1

«Но почему это должно быть?». Я склонен сравнивать такие вещи, как falcor и graphql, с HTTP. HTTP имеет хорошо продуманное и стандартизованное решение для локализации. Все остальные равны, что предпочтительнее каждой конечной точки, реализующей ее собственное менее продуманное и нестандартное решение. Я бы сказал, что falcor НЕ является http с некоторыми соглашениями. Это RPC. – jshen