Lookup API

围绕“要传达的信息” 翻译

  1. [Lookup] 服务的具体接口是什么样的 所选程序员的语言?此外,
  2. 我的程序如何才能提供翻译 该怎么办?

我们将依次回答这些问题。

Lookup API

Lookup API 库用于获取翻译后的字符串。简化的视图 以 C++ 语言编写的 Lookup API 如下所示:

class Lookup {
public:
  enum class Status {
    // No error.
    OK = 0,
    // The resource was unavailable as requested.
    UNAVAILABLE = 1,
  };
  static fpromise::result<std::unique_ptr<Lookup>, Lookup::Status>
    New(const std::vector<std::string>& locale_ids);
  fpromise::result<std::string_view, Lookup::Status> String(uint64_t message_id);
};

目前,Lookup API 仅支持 C++ API。没有概念性 在扩展以支持其他语言时出现的问题。

实际 API 可在该文件中查看 lookup.h,基本上是 除了包含文档、结构 和测试开销在撰写本文时,只有高级 C++ API 可供使用。我们还将添加其他语言的高级 API, 需求。低级别 C API 是 作为外国金融机构 (FFI) 的 绑定 功能。一种特殊情况是 rust 不需要 FFI 绑定,因为 低级实现在 Rust 中,可以直接与它连接;而是 Rust API 尚未编写。

Lookup API 的基本用法如下所示:

std::vector<std::string> locale_ids = {"nl-NL"};
auto result = Lookup::New(locale_ids);
if (result.is_error()) {
  return;
}
auto lookup = result.value();
auto lookup_result = lookup.string(42);
if (lookup_result.is_error()) {
  // handle error
  return;
}
std::string_view message = lookup_result.value();
// Use `message`.

此示例来自 lookup.h 文档。了解 API 后 示例相当简单明了,只不过注意一个方面: lookup.string(...) 使用魔数 42 查找 消息。作为程序员,您很有道理 。下一部分将介绍此问题。