0

自動フォーム ラベルが Telescope のどこから来たのかを示す明らかなものは見つかりません。私が見ることができるスキーマにはラベルがありません(少なくとも投稿の場合はそうではありません)。少なくとも投稿のオートフォーム呼び出しには明らかなものはありません...

{{> quickForm collection="Posts" id="submitPostForm" template="bootstrap3-horizontal" input-col-class="controls" type="method" meteormethod="submitPost" fields=postFields}}

...フィールドセットや、ラベルを自動フォームに渡す他の明白な方法が見つかりません。たとえば、Posts スキーマの「createdAt」は、フォームに表示されると「Created At」という表示ラベルを持つことになります。その「変換」はどこで、どのように行われるのでしょうか?

ティア!

4

2 に答える 2

0

気にしないでください...もう少し掘り下げた後に答えを見つけました... SimpleSchemaを拡張し、これを処理するスキーマをアタッチする前に呼び出される国際化メソッドがあります:

SimpleSchema.prototype.internationalize = function () {
  var schema = this._schema;

  _.each(schema, function (property, key) {
    if (!property.label) {
      schema[key].label = function () {
        // if property is nested ("telescope.email"), only consider the last part ("email")
        if (key.indexOf(".") !== -1) {
          key = _.last(key.split("."));
        }
        return i18n.t(key);
      };
    }
  });
  return this;
};
于 2015-07-19T04:09:55.743 に答える
0

フォーム ラベルは、tap:i18nパッケージを使用して国際化されています。*.i18n.jsonそのため、各パッケージの/i18nディレクトリにある現在の言語のそれぞれのファイルでそれらの翻訳を見つけることができます。

于 2015-07-19T08:46:14.277 に答える