Merge pull request #1208 from apache/dev-postgresql

Merge dev postgreql to master
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5687b8e..e7dc1d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,10 +29,10 @@
 #string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${VERSION}")
 
 
-SET(PACKAGE_VERSION 4.2.0) # ${VERSION})
-SET(VERSION 4.2.0)
+SET(PACKAGE_VERSION 4.3.0) # ${VERSION})
+SET(VERSION 4.3.0)
 SET(SINGA_MAJOR_VERSION 4)
-SET(SINGA_MINOR_VERSION 2)
+SET(SINGA_MINOR_VERSION 3)
 SET(SINGA_PATCH_VERSION 0)
 #SET(SINGA_MAJOR_VERSION ${VERSION_MAJOR})  # 0 -
 #SET(SINGA_MINOR_VERSION ${VERSION_MINOR})  # 0 - 9
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index b475aed..fe93846 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,3 +1,31 @@
+Release Notes - SINGA - Version singa-4.3.0
+
+SINGA is a distributed deep learning library.
+
+This release includes following changes:
+
+  * Add the implementation for the Transformer example.
+
+  * Enhance examples
+    * Update the readme file for the dynamic model slicing example.
+    * Update the HFL example by setting the maximum number of epochs.
+    * Add the multiprocess training implementation for the cnn ms example.
+    * Add the sparsification version of the model for the cnn ms example.
+  
+  * Extend the matrix multiplication operator to more dimensions.
+
+  * Update the data types and tensor operations for model training.
+
+  * Add the implementation for the new sum error loss.
+
+  * Update the website
+    * Add the news for the SIGMOD Systems Award.
+
+  * Fix bugs
+    * Fix the Github Actions for online code testing.
+
+----------------------------------------------------------------------------------------------
+
 Release Notes - SINGA - Version singa-4.2.0
 
 SINGA is a distributed deep learning library.
diff --git a/examples/cnn_ms/autograd/mnist_cnn.py b/examples/cnn_ms/autograd/mnist_cnn.py
new file mode 100644
index 0000000..16752ce
--- /dev/null
+++ b/examples/cnn_ms/autograd/mnist_cnn.py
@@ -0,0 +1,304 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from singa import singa_wrap as singa
+from singa import autograd
+from singa import layer
+from singa import tensor
+from singa import device
+from singa import opt
+import numpy as np
+import os
+import sys
+import gzip
+import codecs
+import time
+
+
+class CNN:
+
+    def __init__(self):
+        self.conv1 = layer.Conv2d(1, 20, 5, padding=0)
+        self.conv2 = layer.Conv2d(20, 50, 5, padding=0)
+        self.linear1 = layer.Linear(4 * 4 * 50, 500)
+        self.linear2 = layer.Linear(500, 10)
+        self.pooling1 = layer.MaxPool2d(2, 2, padding=0)
+        self.pooling2 = layer.MaxPool2d(2, 2, padding=0)
+        self.relu1 = layer.ReLU()
+        self.relu2 = layer.ReLU()
+        self.relu3 = layer.ReLU()
+        self.flatten = layer.Flatten()
+
+    def forward(self, x):
+        y = self.conv1(x)
+        y = self.relu1(y)
+        y = self.pooling1(y)
+        y = self.conv2(y)
+        y = self.relu2(y)
+        y = self.pooling2(y)
+        y = self.flatten(y)
+        y = self.linear1(y)
+        y = self.relu3(y)
+        y = self.linear2(y)
+        return y
+
+
+def check_dataset_exist(dirpath):
+    if not os.path.exists(dirpath):
+        print(
+            'The MNIST dataset does not exist. Please download the mnist dataset using download_mnist.py (e.g. python3 download_mnist.py)'
+        )
+        sys.exit(0)
+    return dirpath
+
+
+def load_dataset():
+    train_x_path = '/tmp/train-images-idx3-ubyte.gz'
+    train_y_path = '/tmp/train-labels-idx1-ubyte.gz'
+    valid_x_path = '/tmp/t10k-images-idx3-ubyte.gz'
+    valid_y_path = '/tmp/t10k-labels-idx1-ubyte.gz'
+
+    train_x = read_image_file(check_dataset_exist(train_x_path)).astype(
+        np.float32)
+    train_y = read_label_file(check_dataset_exist(train_y_path)).astype(
+        np.float32)
+    valid_x = read_image_file(check_dataset_exist(valid_x_path)).astype(
+        np.float32)
+    valid_y = read_label_file(check_dataset_exist(valid_y_path)).astype(
+        np.float32)
+    return train_x, train_y, valid_x, valid_y
+
+
+def read_label_file(path):
+    with gzip.open(path, 'rb') as f:
+        data = f.read()
+        assert get_int(data[:4]) == 2049
+        length = get_int(data[4:8])
+        parsed = np.frombuffer(data, dtype=np.uint8, offset=8).reshape((length))
+        return parsed
+
+
+def get_int(b):
+    return int(codecs.encode(b, 'hex'), 16)
+
+
+def read_image_file(path):
+    with gzip.open(path, 'rb') as f:
+        data = f.read()
+        assert get_int(data[:4]) == 2051
+        length = get_int(data[4:8])
+        num_rows = get_int(data[8:12])
+        num_cols = get_int(data[12:16])
+        parsed = np.frombuffer(data, dtype=np.uint8, offset=16).reshape(
+            (length, 1, num_rows, num_cols))
+        return parsed
+
+
+def to_categorical(y, num_classes):
+    y = np.array(y, dtype="int")
+    n = y.shape[0]
+    categorical = np.zeros((n, num_classes))
+    categorical[np.arange(n), y] = 1
+    categorical = categorical.astype(np.float32)
+    return categorical
+
+
+def accuracy(pred, target):
+    y = np.argmax(pred, axis=1)
+    t = np.argmax(target, axis=1)
+    a = y == t
+    return np.array(a, "int").sum()
+
+
+# Function to all reduce NUMPY accuracy and loss from multiple devices
+def reduce_variable(variable, dist_opt, reducer):
+    reducer.copy_from_numpy(variable)
+    dist_opt.all_reduce(reducer.data)
+    dist_opt.wait()
+    output = tensor.to_numpy(reducer)
+    return output
+
+
+# Function to sychronize SINGA TENSOR initial model parameters
+def synchronize(tensor, dist_opt):
+    dist_opt.all_reduce(tensor.data)
+    dist_opt.wait()
+    tensor /= dist_opt.world_size
+
+
+# Data augmentation
+def augmentation(x, batch_size):
+    xpad = np.pad(x, [[0, 0], [0, 0], [4, 4], [4, 4]], 'symmetric')
+    for data_num in range(0, batch_size):
+        offset = np.random.randint(8, size=2)
+        x[data_num, :, :, :] = xpad[data_num, :, offset[0]:offset[0] + 28,
+                                    offset[1]:offset[1] + 28]
+        if_flip = np.random.randint(2)
+        if (if_flip):
+            x[data_num, :, :, :] = x[data_num, :, :, ::-1]
+    return x
+
+
+# Data partition
+def data_partition(dataset_x, dataset_y, global_rank, world_size):
+    data_per_rank = dataset_x.shape[0] // world_size
+    idx_start = global_rank * data_per_rank
+    idx_end = (global_rank + 1) * data_per_rank
+    return dataset_x[idx_start:idx_end], dataset_y[idx_start:idx_end]
+
+
+def train_mnist_cnn(DIST=False,
+                    local_rank=None,
+                    world_size=None,
+                    nccl_id=None,
+                    spars=0,
+                    topK=False,
+                    corr=True):
+
+    # Define the hypermeters for the mnist_cnn
+    max_epoch = 10
+    batch_size = 64
+    sgd = opt.SGD(lr=0.005, momentum=0.9, weight_decay=1e-5)
+
+    # Prepare training and valadiation data
+    train_x, train_y, test_x, test_y = load_dataset()
+    IMG_SIZE = 28
+    num_classes = 10
+    train_y = to_categorical(train_y, num_classes)
+    test_y = to_categorical(test_y, num_classes)
+
+    # Normalization
+    train_x = train_x / 255
+    test_x = test_x / 255
+
+    if DIST:
+        # For distributed GPU training
+        sgd = opt.DistOpt(sgd,
+                          nccl_id=nccl_id,
+                          local_rank=local_rank,
+                          world_size=world_size)
+        dev = device.create_cuda_gpu_on(sgd.local_rank)
+
+        # Dataset partition for distributed training
+        train_x, train_y = data_partition(train_x, train_y, sgd.global_rank,
+                                          sgd.world_size)
+        test_x, test_y = data_partition(test_x, test_y, sgd.global_rank,
+                                        sgd.world_size)
+        world_size = sgd.world_size
+    else:
+        # For single GPU
+        dev = device.create_cuda_gpu()
+        world_size = 1
+
+    # Create model
+    model = CNN()
+
+    tx = tensor.Tensor((batch_size, 1, IMG_SIZE, IMG_SIZE), dev, tensor.float32)
+    ty = tensor.Tensor((batch_size, num_classes), dev, tensor.int32)
+    num_train_batch = train_x.shape[0] // batch_size
+    num_test_batch = test_x.shape[0] // batch_size
+    idx = np.arange(train_x.shape[0], dtype=np.int32)
+
+    if DIST:
+        #Sychronize the initial parameters
+        autograd.training = True
+        x = np.random.randn(batch_size, 1, IMG_SIZE,
+                            IMG_SIZE).astype(np.float32)
+        y = np.zeros(shape=(batch_size, num_classes), dtype=np.int32)
+        tx.copy_from_numpy(x)
+        ty.copy_from_numpy(y)
+        out = model.forward(tx)
+        loss = autograd.softmax_cross_entropy(out, ty)
+        for p, g in autograd.backward(loss):
+            synchronize(p, sgd)
+
+    # Training and evaulation loop
+    for epoch in range(max_epoch):
+        start_time = time.time()
+        np.random.shuffle(idx)
+
+        if ((DIST == False) or (sgd.global_rank == 0)):
+            print('Starting Epoch %d:' % (epoch))
+
+        # Training phase
+        autograd.training = True
+        train_correct = np.zeros(shape=[1], dtype=np.float32)
+        test_correct = np.zeros(shape=[1], dtype=np.float32)
+        train_loss = np.zeros(shape=[1], dtype=np.float32)
+
+        for b in range(num_train_batch):
+            x = train_x[idx[b * batch_size:(b + 1) * batch_size]]
+            x = augmentation(x, batch_size)
+            y = train_y[idx[b * batch_size:(b + 1) * batch_size]]
+            tx.copy_from_numpy(x)
+            ty.copy_from_numpy(y)
+            out = model.forward(tx)
+            loss = autograd.softmax_cross_entropy(out, ty)
+            train_correct += accuracy(tensor.to_numpy(out), y)
+            train_loss += tensor.to_numpy(loss)[0]
+            if DIST:
+                if (spars == 0):
+                    sgd.backward_and_update(loss, threshold=50000)
+                else:
+                    sgd.backward_and_sparse_update(loss,
+                                                   spars=spars,
+                                                   topK=topK,
+                                                   corr=corr)
+            else:
+                sgd(loss)
+
+        if DIST:
+            # Reduce the evaluation accuracy and loss from multiple devices
+            reducer = tensor.Tensor((1,), dev, tensor.float32)
+            train_correct = reduce_variable(train_correct, sgd, reducer)
+            train_loss = reduce_variable(train_loss, sgd, reducer)
+
+        # Output the training loss and accuracy
+        if ((DIST == False) or (sgd.global_rank == 0)):
+            print('Training loss = %f, training accuracy = %f' %
+                  (train_loss, train_correct /
+                   (num_train_batch * batch_size * world_size)),
+                  flush=True)
+
+        # Evaluation phase
+        autograd.training = False
+        for b in range(num_test_batch):
+            x = test_x[b * batch_size:(b + 1) * batch_size]
+            y = test_y[b * batch_size:(b + 1) * batch_size]
+            tx.copy_from_numpy(x)
+            ty.copy_from_numpy(y)
+            out_test = model.forward(tx)
+            test_correct += accuracy(tensor.to_numpy(out_test), y)
+
+        if DIST:
+            # Reduce the evaulation accuracy from multiple devices
+            test_correct = reduce_variable(test_correct, sgd, reducer)
+
+        # Output the evaluation accuracy
+        if ((DIST == False) or (sgd.global_rank == 0)):
+            print('Evaluation accuracy = %f, Elapsed Time = %fs' %
+                  (test_correct / (num_test_batch * batch_size * world_size),
+                   time.time() - start_time),
+                  flush=True)
+
+
+if __name__ == '__main__':
+
+    DIST = False
+    train_mnist_cnn(DIST=DIST)
diff --git a/examples/cnn_ms/autograd/mnist_dist.py b/examples/cnn_ms/autograd/mnist_dist.py
new file mode 100644
index 0000000..3586127
--- /dev/null
+++ b/examples/cnn_ms/autograd/mnist_dist.py
@@ -0,0 +1,25 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from mnist_cnn import *
+
+if __name__ == '__main__':
+
+    DIST = True
+    train_mnist_cnn(DIST=DIST)
diff --git a/examples/cnn_ms/autograd/mnist_multiprocess.py b/examples/cnn_ms/autograd/mnist_multiprocess.py
new file mode 100644
index 0000000..a1a1fe5
--- /dev/null
+++ b/examples/cnn_ms/autograd/mnist_multiprocess.py
@@ -0,0 +1,39 @@
+#

+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+#

+#   http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+#

+

+from mnist_cnn import *

+import multiprocessing

+import sys

+

+if __name__ == '__main__':

+

+    # Generate a NCCL ID to be used for collective communication

+    nccl_id = singa.NcclIdHolder()

+

+    # Number of GPUs to be used

+    world_size = int(sys.argv[1])

+

+    process = []

+    for local_rank in range(0, world_size):

+        process.append(

+            multiprocessing.Process(target=train_mnist_cnn,

+                                    args=(True, local_rank, world_size, nccl_id)))

+

+    for p in process:

+        p.start()
\ No newline at end of file
diff --git a/examples/cnn_ms/autograd/resnet_cifar10.py b/examples/cnn_ms/autograd/resnet_cifar10.py
new file mode 100644
index 0000000..d71e0f2
--- /dev/null
+++ b/examples/cnn_ms/autograd/resnet_cifar10.py
@@ -0,0 +1,292 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+try:
+    import pickle
+except ImportError:
+    import cPickle as pickle
+
+from singa import singa_wrap as singa
+from singa import autograd
+from singa import tensor
+from singa import device
+from singa import opt
+from PIL import Image
+import numpy as np
+import os
+import sys
+import time
+
+
+def load_dataset(filepath):
+    with open(filepath, 'rb') as fd:
+        try:
+            cifar10 = pickle.load(fd, encoding='latin1')
+        except TypeError:
+            cifar10 = pickle.load(fd)
+    image = cifar10['data'].astype(dtype=np.uint8)
+    image = image.reshape((-1, 3, 32, 32))
+    label = np.asarray(cifar10['labels'], dtype=np.uint8)
+    label = label.reshape(label.size, 1)
+    return image, label
+
+
+def load_train_data(dir_path='cifar-10-batches-py', num_batches=5):
+    labels = []
+    batchsize = 10000
+    images = np.empty((num_batches * batchsize, 3, 32, 32), dtype=np.uint8)
+    for did in range(1, num_batches + 1):
+        fname_train_data = dir_path + "/data_batch_{}".format(did)
+        image, label = load_dataset(check_dataset_exist(fname_train_data))
+        images[(did - 1) * batchsize:did * batchsize] = image
+        labels.extend(label)
+    images = np.array(images, dtype=np.float32)
+    labels = np.array(labels, dtype=np.int32)
+    return images, labels
+
+
+def load_test_data(dir_path='cifar-10-batches-py'):
+    images, labels = load_dataset(check_dataset_exist(dir_path + "/test_batch"))
+    return np.array(images, dtype=np.float32), np.array(labels, dtype=np.int32)
+
+
+def check_dataset_exist(dirpath):
+    if not os.path.exists(dirpath):
+        print(
+            'Please download the cifar10 dataset using download_data.py (e.g. python ~/singa/examples/cifar10/download_data.py py)'
+        )
+        sys.exit(0)
+    return dirpath
+
+
+def normalize_for_resnet(train_x, test_x):
+    mean = [0.4914, 0.4822, 0.4465]
+    std = [0.2023, 0.1994, 0.2010]
+    train_x /= 255
+    test_x /= 255
+    for ch in range(0, 2):
+        train_x[:, ch, :, :] -= mean[ch]
+        train_x[:, ch, :, :] /= std[ch]
+        test_x[:, ch, :, :] -= mean[ch]
+        test_x[:, ch, :, :] /= std[ch]
+    return train_x, test_x
+
+
+def resize_dataset(x, IMG_SIZE):
+    num_data = x.shape[0]
+    dim = x.shape[1]
+    X = np.zeros(shape=(num_data, dim, IMG_SIZE, IMG_SIZE), dtype=np.float32)
+    for n in range(0, num_data):
+        for d in range(0, dim):
+            X[n, d, :, :] = np.array(Image.fromarray(x[n, d, :, :]).resize(
+                (IMG_SIZE, IMG_SIZE), Image.BILINEAR),
+                                     dtype=np.float32)
+    return X
+
+
+def augmentation(x, batch_size):
+    xpad = np.pad(x, [[0, 0], [0, 0], [4, 4], [4, 4]], 'symmetric')
+    for data_num in range(0, batch_size):
+        offset = np.random.randint(8, size=2)
+        x[data_num, :, :, :] = xpad[data_num, :, offset[0]:offset[0] + 32,
+                                    offset[1]:offset[1] + 32]
+        if_flip = np.random.randint(2)
+        if (if_flip):
+            x[data_num, :, :, :] = x[data_num, :, :, ::-1]
+    return x
+
+
+def accuracy(pred, target):
+    y = np.argmax(pred, axis=1)
+    t = np.argmax(target, axis=1)
+    a = y == t
+    return np.array(a, "int").sum()
+
+
+def to_categorical(y, num_classes):
+    y = np.array(y, dtype="int")
+    n = y.shape[0]
+    categorical = np.zeros((n, num_classes))
+    for i in range(0, n):
+        categorical[i, y[i]] = 1
+        categorical = categorical.astype(np.float32)
+    return categorical
+
+
+# Function to all reduce NUMPY accuracy and loss from multiple devices
+def reduce_variable(variable, dist_opt, reducer):
+    reducer.copy_from_numpy(variable)
+    dist_opt.all_reduce(reducer.data)
+    dist_opt.wait()
+    output = tensor.to_numpy(reducer)
+    return output
+
+
+# Function to sychronize SINGA TENSOR initial model parameters
+def synchronize(tensor, dist_opt):
+    dist_opt.all_reduce(tensor.data)
+    dist_opt.wait()
+    tensor /= dist_opt.world_size
+
+
+# Data partition
+def data_partition(dataset_x, dataset_y, global_rank, world_size):
+    data_per_rank = dataset_x.shape[0] // world_size
+    idx_start = global_rank * data_per_rank
+    idx_end = (global_rank + 1) * data_per_rank
+    return dataset_x[idx_start:idx_end], dataset_y[idx_start:idx_end]
+
+
+def train_cifar10(DIST=False,
+                  local_rank=None,
+                  world_size=None,
+                  nccl_id=None,
+                  partial_update=False):
+
+    # Define the hypermeters for the train_cifar10
+    sgd = opt.SGD(lr=0.005, momentum=0.9, weight_decay=1e-5)
+    max_epoch = 5
+    batch_size = 32
+
+    train_x, train_y = load_train_data()
+    test_x, test_y = load_test_data()
+    train_x, test_x = normalize_for_resnet(train_x, test_x)
+    IMG_SIZE = 224
+    num_classes = 10
+
+    if DIST:
+        # For distributed GPU training
+        sgd = opt.DistOpt(sgd,
+                          nccl_id=nccl_id,
+                          local_rank=local_rank,
+                          world_size=world_size)
+        dev = device.create_cuda_gpu_on(sgd.local_rank)
+
+        # Dataset partition for distributed training
+        train_x, train_y = data_partition(train_x, train_y, sgd.global_rank,
+                                          sgd.world_size)
+        test_x, test_y = data_partition(test_x, test_y, sgd.global_rank,
+                                        sgd.world_size)
+        world_size = sgd.world_size
+    else:
+        # For single GPU
+        dev = device.create_cuda_gpu()
+        world_size = 1
+
+    from resnet import resnet50
+    model = resnet50(num_classes=num_classes)
+
+    tx = tensor.Tensor((batch_size, 3, IMG_SIZE, IMG_SIZE), dev, tensor.float32)
+    ty = tensor.Tensor((batch_size,), dev, tensor.int32)
+    num_train_batch = train_x.shape[0] // batch_size
+    num_test_batch = test_x.shape[0] // batch_size
+    idx = np.arange(train_x.shape[0], dtype=np.int32)
+
+    if DIST:
+        # Sychronize the initial parameters
+        autograd.training = True
+        x = np.random.randn(batch_size, 3, IMG_SIZE,
+                            IMG_SIZE).astype(np.float32)
+        y = np.zeros(shape=(batch_size,), dtype=np.int32)
+        tx.copy_from_numpy(x)
+        ty.copy_from_numpy(y)
+        out = model(tx)
+        loss = autograd.softmax_cross_entropy(out, ty)
+        param = []
+        for p, _ in autograd.backward(loss):
+            synchronize(p, sgd)
+            param.append(p)
+
+    for epoch in range(max_epoch):
+        start_time = time.time()
+        np.random.shuffle(idx)
+
+        if ((DIST == False) or (sgd.global_rank == 0)):
+            print('Starting Epoch %d:' % (epoch))
+
+        # Training phase
+        autograd.training = True
+        train_correct = np.zeros(shape=[1], dtype=np.float32)
+        test_correct = np.zeros(shape=[1], dtype=np.float32)
+        train_loss = np.zeros(shape=[1], dtype=np.float32)
+
+        for b in range(num_train_batch):
+            x = train_x[idx[b * batch_size:(b + 1) * batch_size]]
+            x = augmentation(x, batch_size)
+            x = resize_dataset(x, IMG_SIZE)
+            y = train_y[idx[b * batch_size:(b + 1) * batch_size]]
+            tx.copy_from_numpy(x)
+            ty.copy_from_numpy(y)
+            out = model(tx)
+            loss = autograd.softmax_cross_entropy(out, ty)
+            train_correct += accuracy(tensor.to_numpy(out),
+                                      to_categorical(y, num_classes)).astype(
+                                          np.float32)
+            train_loss += tensor.to_numpy(loss)[0]
+            if not partial_update:
+                sgd.backward_and_update(loss)
+            else:
+                sgd.backward_and_partial_update(loss)
+
+        if DIST:
+            # Reduce the evaluation accuracy and loss from multiple devices
+            reducer = tensor.Tensor((1,), dev, tensor.float32)
+            train_correct = reduce_variable(train_correct, sgd, reducer)
+            train_loss = reduce_variable(train_loss, sgd, reducer)
+
+        # Output the training loss and accuracy
+        if ((DIST == False) or (sgd.global_rank == 0)):
+            print('Training loss = %f, training accuracy = %f' %
+                  (train_loss, train_correct /
+                   (num_train_batch * batch_size * world_size)),
+                  flush=True)
+
+        if partial_update:
+            # Sychronize parameters before evaluation phase
+            for p in param:
+                synchronize(p, sgd)
+
+        # Evaulation phase
+        autograd.training = False
+        for b in range(num_test_batch):
+            x = test_x[b * batch_size:(b + 1) * batch_size]
+            x = resize_dataset(x, IMG_SIZE)
+            y = test_y[b * batch_size:(b + 1) * batch_size]
+            tx.copy_from_numpy(x)
+            ty.copy_from_numpy(y)
+            out_test = model(tx)
+            test_correct += accuracy(tensor.to_numpy(out_test),
+                                     to_categorical(y, num_classes))
+
+        if DIST:
+            # Reduce the evaulation accuracy from multiple devices
+            test_correct = reduce_variable(test_correct, sgd, reducer)
+
+        # Output the evaluation accuracy
+        if ((DIST == False) or (sgd.global_rank == 0)):
+            print('Evaluation accuracy = %f, Elapsed Time = %fs' %
+                  (test_correct / (num_test_batch * batch_size * world_size),
+                   time.time() - start_time),
+                  flush=True)
+
+
+if __name__ == '__main__':
+
+    DIST = False
+    train_cifar10(DIST=DIST)
diff --git a/examples/cnn_ms/autograd/resnet_dist.py b/examples/cnn_ms/autograd/resnet_dist.py
new file mode 100644
index 0000000..6f9b56c
--- /dev/null
+++ b/examples/cnn_ms/autograd/resnet_dist.py
@@ -0,0 +1,87 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# the code is modified from
+# https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.py
+
+from singa import autograd
+from singa import tensor
+from singa import device
+from singa import opt
+
+import numpy as np
+from tqdm import trange
+
+if __name__ == "__main__":
+    sgd = opt.SGD(lr=0.1, momentum=0.9, weight_decay=1e-5)
+    sgd = opt.DistOpt(sgd)
+
+    if (sgd.global_rank == 0):
+        print("Start intialization...........", flush=True)
+
+    dev = device.create_cuda_gpu_on(sgd.local_rank)
+
+    from resnet import resnet50
+    model = resnet50()
+
+    niters = 100
+    batch_size = 32
+    IMG_SIZE = 224
+
+    tx = tensor.Tensor((batch_size, 3, IMG_SIZE, IMG_SIZE), dev)
+    ty = tensor.Tensor((batch_size,), dev, tensor.int32)
+    autograd.training = True
+    x = np.random.randn(batch_size, 3, IMG_SIZE, IMG_SIZE).astype(np.float32)
+    y = np.random.randint(0, 1000, batch_size, dtype=np.int32)
+    tx.copy_from_numpy(x)
+    ty.copy_from_numpy(y)
+
+    import time
+
+    dev.Sync()
+    start = time.time()
+    fd = 0
+    softmax = 0
+    update = 0
+    with trange(niters) as t:
+        for _ in t:
+            dev.Sync()
+            tick = time.time()
+            x = model(tx)
+            dev.Sync()
+            fd += time.time() - tick
+            tick = time.time()
+            loss = autograd.softmax_cross_entropy(x, ty)
+            dev.Sync()
+            softmax += time.time() - tick
+            sgd.backward_and_update(loss)
+
+    dev.Sync()
+    end = time.time()
+    throughput = float(sgd.world_size * niters * batch_size) / (end - start)
+    titer = (end - start) / float(niters)
+    tforward = float(fd) / float(niters)
+    tsoftmax = float(softmax) / float(niters)
+    tbackward = titer - tforward - tsoftmax
+
+    if (sgd.global_rank == 0):
+        print("\nThroughput = {} per second".format(throughput), flush=True)
+        print("Total={}, forward={}, softmax={}, backward={}".format(
+            titer, tforward, tsoftmax, tbackward),
+              flush=True)
diff --git a/examples/cnn_ms/autograd/sparsification_mnist.py b/examples/cnn_ms/autograd/sparsification_mnist.py
new file mode 100644
index 0000000..315605a
--- /dev/null
+++ b/examples/cnn_ms/autograd/sparsification_mnist.py
@@ -0,0 +1,45 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from mnist_cnn import *
+import multiprocessing
+import sys
+
+if __name__ == '__main__':
+
+    # Generate a NCCL ID to be used for collective communication
+    nccl_id = singa.NcclIdHolder()
+
+    # Number of GPUs to be used
+    world_size = int(sys.argv[1])
+
+    # Use sparsification with parameters
+    topK = False  # When topK = False, Sparsification based on a constant absolute threshold
+    corr = True  # If True, uses local accumulate gradient for the correction
+    sparsThreshold = 0.05  # The constant absolute threshold for sparsification
+
+    process = []
+    for local_rank in range(0, world_size):
+        process.append(
+            multiprocessing.Process(target=train_mnist_cnn,
+                                    args=(True, local_rank, world_size, nccl_id,
+                                          sparsThreshold, topK, corr)))
+
+    for p in process:
+        p.start()
diff --git a/examples/cnn_ms/data/cifar10.py b/examples/cnn_ms/data/cifar10.py
new file mode 100644
index 0000000..74230d0
--- /dev/null
+++ b/examples/cnn_ms/data/cifar10.py
@@ -0,0 +1,89 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+try:
+    import pickle
+except ImportError:
+    import cPickle as pickle
+
+import numpy as np
+import os
+import sys
+
+
+def load_dataset(filepath):
+    with open(filepath, 'rb') as fd:
+        try:
+            cifar10 = pickle.load(fd, encoding='latin1')
+        except TypeError:
+            cifar10 = pickle.load(fd)
+    image = cifar10['data'].astype(dtype=np.uint8)
+    image = image.reshape((-1, 3, 32, 32))
+    label = np.asarray(cifar10['labels'], dtype=np.uint8)
+    label = label.reshape(label.size, 1)
+    return image, label
+
+
+def load_train_data(dir_path='/tmp/cifar-10-batches-py', num_batches=5):  # need to save to specific local directories
+    labels = []
+    batchsize = 10000
+    images = np.empty((num_batches * batchsize, 3, 32, 32), dtype=np.uint8)
+    for did in range(1, num_batches + 1):
+        fname_train_data = dir_path + "/data_batch_{}".format(did)
+        image, label = load_dataset(check_dataset_exist(fname_train_data))
+        images[(did - 1) * batchsize:did * batchsize] = image
+        labels.extend(label)
+    images = np.array(images, dtype=np.float32)
+    labels = np.array(labels, dtype=np.int32)
+    return images, labels
+
+
+def load_test_data(dir_path='/tmp/cifar-10-batches-py'):  # need to save to specific local directories
+    images, labels = load_dataset(check_dataset_exist(dir_path + "/test_batch"))
+    return np.array(images, dtype=np.float32), np.array(labels, dtype=np.int32)
+
+
+def check_dataset_exist(dirpath):
+    if not os.path.exists(dirpath):
+        print(
+            'Please download the cifar10 dataset using python data/download_cifar10.py'
+        )
+        sys.exit(0)
+    return dirpath
+
+
+def normalize(train_x, val_x):
+    mean = [0.4914, 0.4822, 0.4465]
+    std = [0.2023, 0.1994, 0.2010]
+    train_x /= 255
+    val_x /= 255
+    for ch in range(0, 2):
+        train_x[:, ch, :, :] -= mean[ch]
+        train_x[:, ch, :, :] /= std[ch]
+        val_x[:, ch, :, :] -= mean[ch]
+        val_x[:, ch, :, :] /= std[ch]
+    return train_x, val_x
+
+def load():
+    train_x, train_y = load_train_data()
+    val_x, val_y = load_test_data()
+    train_x, val_x = normalize(train_x, val_x)
+    train_y = train_y.flatten()
+    val_y = val_y.flatten()
+    return train_x, train_y, val_x, val_y
diff --git a/examples/cnn_ms/data/cifar100.py b/examples/cnn_ms/data/cifar100.py
new file mode 100644
index 0000000..b9f121b
--- /dev/null
+++ b/examples/cnn_ms/data/cifar100.py
@@ -0,0 +1,81 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+try:
+    import pickle
+except ImportError:
+    import cPickle as pickle
+
+import numpy as np
+import os
+import sys
+
+
+def load_dataset(filepath):
+    with open(filepath, 'rb') as fd:
+        try:
+            cifar100 = pickle.load(fd, encoding='latin1')
+        except TypeError:
+            cifar100 = pickle.load(fd)
+    image = cifar100['data'].astype(dtype=np.uint8)
+    image = image.reshape((-1, 3, 32, 32))
+    label = np.asarray(cifar100['fine_labels'], dtype=np.uint8)
+    label = label.reshape(label.size, 1)
+    return image, label
+
+
+def load_train_data(dir_path='/tmp/cifar-100-python'):
+    images, labels = load_dataset(check_dataset_exist(dir_path + "/train"))
+    return np.array(images, dtype=np.float32), np.array(labels, dtype=np.int32)
+
+
+def load_test_data(dir_path='/tmp/cifar-100-python'):
+    images, labels = load_dataset(check_dataset_exist(dir_path + "/test"))
+    return np.array(images, dtype=np.float32), np.array(labels, dtype=np.int32)
+
+
+def check_dataset_exist(dirpath):
+    if not os.path.exists(dirpath):
+        print(
+            'Please download the cifar100 dataset using python data/download_cifar100.py'
+        )
+        sys.exit(0)
+    return dirpath
+
+
+def normalize(train_x, val_x):
+    mean = [0.4914, 0.4822, 0.4465]
+    std = [0.2023, 0.1994, 0.2010]
+    train_x /= 255
+    val_x /= 255
+    for ch in range(0, 2):
+        train_x[:, ch, :, :] -= mean[ch]
+        train_x[:, ch, :, :] /= std[ch]
+        val_x[:, ch, :, :] -= mean[ch]
+        val_x[:, ch, :, :] /= std[ch]
+    return train_x, val_x
+
+
+def load():
+    train_x, train_y = load_train_data()
+    val_x, val_y = load_test_data()
+    train_x, val_x = normalize(train_x, val_x)
+    train_y = train_y.flatten()
+    val_y = val_y.flatten()
+    return train_x, train_y, val_x, val_y
diff --git a/examples/cnn_ms/data/download_cifar10.py b/examples/cnn_ms/data/download_cifar10.py
new file mode 100644
index 0000000..3a597be
--- /dev/null
+++ b/examples/cnn_ms/data/download_cifar10.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python

+#

+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+# 

+#     http://www.apache.org/licenses/LICENSE-2.0

+# 

+# Unless required by applicable law or agreed to in writing, software

+# distributed under the License is distributed on an "AS IS" BASIS,

+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+# See the License for the specific language governing permissions and

+# limitations under the License.

+# 

+

+from __future__ import print_function

+from future import standard_library

+standard_library.install_aliases()

+import urllib.request, urllib.parse, urllib.error

+import tarfile

+import os

+import sys

+

+

+def extract_tarfile(filepath):

+    if os.path.exists(filepath):

+        print('The tar file does exist. Extracting it now..')

+        with tarfile.open(filepath, 'r') as f:

+            f.extractall('/tmp/')  # need to specify a local directory

+        print('Finished!')

+        sys.exit(0)

+

+

+def do_download(dirpath, gzfile, url):

+    print('Downloading CIFAR from %s' % (url))

+    urllib.request.urlretrieve(url, gzfile)

+    extract_tarfile(gzfile)

+    print('Finished!')

+

+

+if __name__ == '__main__':

+    dirpath = '/tmp/'  # need to specify a local directory

+    gzfile = dirpath + 'cifar-10-python.tar.gz'

+    url = 'http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz'

+    do_download(dirpath, gzfile, url)
\ No newline at end of file
diff --git a/examples/cnn_ms/data/download_cifar100.py b/examples/cnn_ms/data/download_cifar100.py
new file mode 100644
index 0000000..5f1e21b
--- /dev/null
+++ b/examples/cnn_ms/data/download_cifar100.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+from download_cifar10 import do_download
+
+if __name__ == '__main__':
+    dirpath = '/tmp/'  # need to specify a local directory
+    gzfile = dirpath + 'cifar-100-python.tar.gz'
+    url = 'http://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gz'
+    do_download(dirpath, gzfile, url)
diff --git a/examples/cnn_ms/data/download_mnist.py b/examples/cnn_ms/data/download_mnist.py
new file mode 100644
index 0000000..137461a
--- /dev/null
+++ b/examples/cnn_ms/data/download_mnist.py
@@ -0,0 +1,49 @@
+#

+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+#

+#   http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+#

+

+import os

+import urllib.request

+

+

+def check_exist_or_download(url):

+

+    download_dir = '/tmp/'

+    name = url.rsplit('/', 1)[-1]

+    filename = os.path.join(download_dir, name)

+

+    if not os.path.isfile(filename):

+        print("Downloading %s" % url)

+        urllib.request.urlretrieve(url, filename)

+    else:

+        print("Already Downloaded: %s" % url)

+

+

+if __name__ == '__main__':

+

+    #url of the mnist dataset

+    train_x_url = 'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz'

+    train_y_url = 'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz'

+    valid_x_url = 'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz'

+    valid_y_url = 'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz'

+

+    #download the mnist dataset

+    check_exist_or_download(train_x_url)

+    check_exist_or_download(train_y_url)

+    check_exist_or_download(valid_x_url)

+    check_exist_or_download(valid_y_url)
\ No newline at end of file
diff --git a/examples/cnn_ms/data/mnist.py b/examples/cnn_ms/data/mnist.py
new file mode 100644
index 0000000..071d45d
--- /dev/null
+++ b/examples/cnn_ms/data/mnist.py
@@ -0,0 +1,92 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import numpy as np
+import os
+import sys
+import gzip
+import codecs
+
+
+def check_dataset_exist(dirpath):
+    if not os.path.exists(dirpath):
+        print(
+            'The MNIST dataset does not exist. Please download the mnist dataset using python data/download_mnist.py'
+        )
+        sys.exit(0)
+    return dirpath
+
+
+def load_dataset():
+    train_x_path = '/tmp/train-images-idx3-ubyte.gz'  # need to change to local disk
+    train_y_path = '/tmp/train-labels-idx1-ubyte.gz'  # need to change to local disk
+    valid_x_path = '/tmp/t10k-images-idx3-ubyte.gz'  # need to change to local disk
+    valid_y_path = '/tmp/t10k-labels-idx1-ubyte.gz'  # need to change to local disk
+
+    train_x = read_image_file(check_dataset_exist(train_x_path)).astype(
+        np.float32)
+    train_y = read_label_file(check_dataset_exist(train_y_path)).astype(
+        np.float32)
+    valid_x = read_image_file(check_dataset_exist(valid_x_path)).astype(
+        np.float32)
+    valid_y = read_label_file(check_dataset_exist(valid_y_path)).astype(
+        np.float32)
+    return train_x, train_y, valid_x, valid_y
+
+
+def read_label_file(path):
+    with gzip.open(path, 'rb') as f:
+        data = f.read()
+        assert get_int(data[:4]) == 2049
+        length = get_int(data[4:8])
+        parsed = np.frombuffer(data, dtype=np.uint8, offset=8).reshape((length))
+        return parsed
+
+
+def get_int(b):
+    return int(codecs.encode(b, 'hex'), 16)
+
+
+def read_image_file(path):
+    with gzip.open(path, 'rb') as f:
+        data = f.read()
+        assert get_int(data[:4]) == 2051
+        length = get_int(data[4:8])
+        num_rows = get_int(data[8:12])
+        num_cols = get_int(data[12:16])
+        parsed = np.frombuffer(data, dtype=np.uint8, offset=16).reshape(
+            (length, 1, num_rows, num_cols))
+        return parsed
+
+
+def normalize(train_x, val_x):
+    train_x /= 255
+    val_x /= 255
+    return train_x, val_x
+
+
+def load():
+    train_x, train_y, val_x, val_y = load_dataset()
+    train_x, val_x = normalize(train_x, val_x)
+    train_x = train_x.astype(np.float32)
+    val_x = val_x.astype(np.float32)
+    train_y = train_y.astype(np.int32)
+    val_y = val_y.astype(np.int32)
+    return train_x, train_y, val_x, val_y
+    
\ No newline at end of file
diff --git a/examples/cnn_ms/model/alexnet.py b/examples/cnn_ms/model/alexnet.py
new file mode 100644
index 0000000..85209f6
--- /dev/null
+++ b/examples/cnn_ms/model/alexnet.py
@@ -0,0 +1,118 @@
+#

+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+#

+#   http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing,

+# software distributed under the License is distributed on an

+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

+# KIND, either express or implied.  See the License for the

+# specific language governing permissions and limitations

+# under the License.

+#

+

+from singa import layer

+from singa import model

+

+

+class AlexNet(model.Model):

+

+    def __init__(self, num_classes=10, num_channels=1):

+        super(AlexNet, self).__init__()

+        self.num_classes = num_classes

+        self.input_size = 224

+        self.dimension = 4

+        self.conv1 = layer.Conv2d(num_channels, 64, 11, stride=4, padding=2)

+        self.conv2 = layer.Conv2d(64, 192, 5, padding=2)

+        self.conv3 = layer.Conv2d(192, 384, 3, padding=1)

+        self.conv4 = layer.Conv2d(384, 256, 3, padding=1)

+        self.conv5 = layer.Conv2d(256, 256, 3, padding=1)

+        self.linear1 = layer.Linear(4096)

+        self.linear2 = layer.Linear(4096)

+        self.linear3 = layer.Linear(num_classes)

+        self.pooling1 = layer.MaxPool2d(2, 2, padding=0)

+        self.pooling2 = layer.MaxPool2d(2, 2, padding=0)

+        self.pooling3 = layer.MaxPool2d(2, 2, padding=0)

+        self.avg_pooling1 = layer.AvgPool2d(3, 2, padding=0)

+        self.relu1 = layer.ReLU()

+        self.relu2 = layer.ReLU()

+        self.relu3 = layer.ReLU()

+        self.relu4 = layer.ReLU()

+        self.relu5 = layer.ReLU()

+        self.relu6 = layer.ReLU()

+        self.relu7 = layer.ReLU()

+        self.flatten = layer.Flatten()

+        self.dropout1 = layer.Dropout()

+        self.dropout2 = layer.Dropout()

+        self.softmax_cross_entropy = layer.SoftMaxCrossEntropy()

+

+    def forward(self, x):

+        y = self.conv1(x)

+        y = self.relu1(y)

+        y = self.pooling1(y)

+        y = self.conv2(y)

+        y = self.relu2(y)

+        y = self.pooling2(y)

+        y = self.conv3(y)

+        y = self.relu3(y)

+        y = self.conv4(y)

+        y = self.relu4(y)

+        y = self.conv5(y)

+        y = self.relu5(y)

+        y = self.pooling3(y)

+        y = self.avg_pooling1(y)

+        y = self.flatten(y)

+        y = self.dropout1(y)

+        y = self.linear1(y)

+        y = self.relu6(y)

+        y = self.dropout2(y)

+        y = self.linear2(y)

+        y = self.relu7(y)

+        y = self.linear3(y)

+        return y

+

+    def train_one_batch(self, x, y, dist_option, spars):

+        out = self.forward(x)

+        loss = self.softmax_cross_entropy(out, y)

+

+        if dist_option == 'plain':

+            self.optimizer(loss)

+        elif dist_option == 'half':

+            self.optimizer.backward_and_update_half(loss)

+        elif dist_option == 'partialUpdate':

+            self.optimizer.backward_and_partial_update(loss)

+        elif dist_option == 'sparseTopK':

+            self.optimizer.backward_and_sparse_update(loss,

+                                                      topK=True,

+                                                      spars=spars)

+        elif dist_option == 'sparseThreshold':

+            self.optimizer.backward_and_sparse_update(loss,

+                                                      topK=False,

+                                                      spars=spars)

+        return out, loss

+

+    def set_optimizer(self, optimizer):

+        self.optimizer = optimizer

+

+

+def create_model(pretrained=False, **kwargs):

+    """Constructs a AlexNet model.

+    Args:

+        pretrained (bool): If True, returns a pre-trained model.

+    

+    Returns:

+        The created AlexNet model.

+    

+    """

+    model = AlexNet(**kwargs)

+

+    return model

+

+

+__all__ = ['AlexNet', 'create_model']
\ No newline at end of file
diff --git a/examples/cnn_ms/model/cnn.py b/examples/cnn_ms/model/cnn.py
new file mode 100644
index 0000000..b5829d8
--- /dev/null
+++ b/examples/cnn_ms/model/cnn.py
@@ -0,0 +1,88 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from singa import layer
+from singa import model
+
+
+class CNN(model.Model):
+
+    def __init__(self, num_classes=10, num_channels=1):
+        super(CNN, self).__init__()
+        self.num_classes = num_classes
+        self.input_size = 28
+        self.dimension = 4
+        self.conv1 = layer.Conv2d(num_channels, 20, 5, padding=0, activation="RELU")
+        self.conv2 = layer.Conv2d(20, 50, 5, padding=0, activation="RELU")
+        self.linear1 = layer.Linear(500)
+        self.linear2 = layer.Linear(num_classes)
+        self.pooling1 = layer.MaxPool2d(2, 2, padding=0)
+        self.pooling2 = layer.MaxPool2d(2, 2, padding=0)
+        self.relu = layer.ReLU()
+        self.flatten = layer.Flatten()
+        self.softmax_cross_entropy = layer.SoftMaxCrossEntropy()
+
+    def forward(self, x):
+        y = self.conv1(x)
+        y = self.pooling1(y)
+        y = self.conv2(y)
+        y = self.pooling2(y)
+        y = self.flatten(y)
+        y = self.linear1(y)
+        y = self.relu(y)
+        y = self.linear2(y)
+        return y
+
+    def train_one_batch(self, x, y, dist_option, spars):
+        out = self.forward(x)
+        loss = self.softmax_cross_entropy(out, y)
+
+        if dist_option == 'plain':
+            self.optimizer(loss)
+        elif dist_option == 'half':
+            self.optimizer.backward_and_update_half(loss)
+        elif dist_option == 'partialUpdate':
+            self.optimizer.backward_and_partial_update(loss)
+        elif dist_option == 'sparseTopK':
+            self.optimizer.backward_and_sparse_update(loss,
+                                                      topK=True,
+                                                      spars=spars)
+        elif dist_option == 'sparseThreshold':
+            self.optimizer.backward_and_sparse_update(loss,
+                                                      topK=False,
+                                                      spars=spars)
+        return out, loss
+
+    def set_optimizer(self, optimizer):
+        self.optimizer = optimizer
+
+
+def create_model(pretrained=False, **kwargs):
+    """Constructs a CNN model.
+    Args:
+        pretrained (bool): If True, returns a pre-trained model.
+    Returns:
+        The created CNN model.
+    """
+    model = CNN(**kwargs)
+
+    return model
+
+
+__all__ = ['CNN', 'create_model']
\ No newline at end of file
diff --git a/examples/cnn_ms/model/resnet.py b/examples/cnn_ms/model/resnet.py
new file mode 100644
index 0000000..26900c8
--- /dev/null
+++ b/examples/cnn_ms/model/resnet.py
@@ -0,0 +1,291 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# the code is modified from
+# https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.py
+
+from singa import layer
+from singa import model
+
+
+def conv3x3(in_planes, out_planes, stride=1):
+    """3x3 convolution with padding"""
+    return layer.Conv2d(
+        in_planes,
+        out_planes,
+        3,
+        stride=stride,
+        padding=1,
+        bias=False,
+    )
+
+
+class BasicBlock(layer.Layer):
+    expansion = 1
+
+    def __init__(self, inplanes, planes, stride=1, downsample=None):
+        super(BasicBlock, self).__init__()
+        self.conv1 = conv3x3(inplanes, planes, stride)
+        self.bn1 = layer.BatchNorm2d(planes)
+        self.conv2 = conv3x3(planes, planes)
+        self.bn2 = layer.BatchNorm2d(planes)
+        self.relu1 = layer.ReLU()
+        self.add = layer.Add()
+        self.relu2 = layer.ReLU()
+        self.downsample = downsample
+        self.stride = stride
+
+    def forward(self, x):
+        residual = x
+
+        out = self.conv1(x)
+        out = self.bn1(out)
+        out = self.relu1(out)
+
+        out = self.conv2(out)
+        out = self.bn2(out)
+
+        if self.downsample is not None:
+            residual = self.downsample(x)
+
+        out = self.add(out, residual)
+        out = self.relu2(out)
+
+        return out
+
+
+class Bottleneck(layer.Layer):
+    expansion = 4
+
+    def __init__(self, inplanes, planes, stride=1, downsample=None):
+        super(Bottleneck, self).__init__()
+        self.conv1 = layer.Conv2d(inplanes, planes, 1, bias=False)
+        self.bn1 = layer.BatchNorm2d(planes)
+        self.relu1 = layer.ReLU()
+        self.conv2 = layer.Conv2d(planes,
+                                  planes,
+                                  3,
+                                  stride=stride,
+                                  padding=1,
+                                  bias=False)
+        self.bn2 = layer.BatchNorm2d(planes)
+        self.relu2 = layer.ReLU()
+        self.conv3 = layer.Conv2d(planes,
+                                  planes * self.expansion,
+                                  1,
+                                  bias=False)
+        self.bn3 = layer.BatchNorm2d(planes * self.expansion)
+
+        self.add = layer.Add()
+        self.relu3 = layer.ReLU()
+
+        self.downsample = downsample
+        self.stride = stride
+
+    def forward(self, x):
+        residual = x
+
+        out = self.conv1(x)
+        out = self.bn1(out)
+        out = self.relu1(out)
+
+        out = self.conv2(out)
+        out = self.bn2(out)
+        out = self.relu2(out)
+
+        out = self.conv3(out)
+        out = self.bn3(out)
+
+        if self.downsample is not None:
+            residual = self.downsample(x)
+
+        out = self.add(out, residual)
+        out = self.relu3(out)
+
+        return out
+
+
+__all__ = [
+    'ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101', 'resnet152'
+]
+
+
+class ResNet(model.Model):
+
+    def __init__(self, block, layers, num_classes=10, num_channels=3):
+        self.inplanes = 64
+        super(ResNet, self).__init__()
+        self.num_classes = num_classes
+        self.input_size = 224
+        self.dimension = 4
+        self.conv1 = layer.Conv2d(num_channels,
+                                  64,
+                                  7,
+                                  stride=2,
+                                  padding=3,
+                                  bias=False)
+        self.bn1 = layer.BatchNorm2d(64)
+        self.relu = layer.ReLU()
+        self.maxpool = layer.MaxPool2d(kernel_size=3, stride=2, padding=1)
+        self.layer1, layers1 = self._make_layer(block, 64, layers[0])
+        self.layer2, layers2 = self._make_layer(block, 128, layers[1], stride=2)
+        self.layer3, layers3 = self._make_layer(block, 256, layers[2], stride=2)
+        self.layer4, layers4 = self._make_layer(block, 512, layers[3], stride=2)
+        self.avgpool = layer.AvgPool2d(7, stride=1)
+        self.flatten = layer.Flatten()
+        self.fc = layer.Linear(num_classes)
+        self.softmax_cross_entropy = layer.SoftMaxCrossEntropy()
+
+        self.register_layers(*layers1, *layers2, *layers3, *layers4)
+
+    def _make_layer(self, block, planes, blocks, stride=1):
+        downsample = None
+        if stride != 1 or self.inplanes != planes * block.expansion:
+            conv = layer.Conv2d(
+                self.inplanes,
+                planes * block.expansion,
+                1,
+                stride=stride,
+                bias=False,
+            )
+            bn = layer.BatchNorm2d(planes * block.expansion)
+
+            def _downsample(x):
+                return bn(conv(x))
+
+            downsample = _downsample
+
+        layers = []
+        layers.append(block(self.inplanes, planes, stride, downsample))
+        self.inplanes = planes * block.expansion
+        for i in range(1, blocks):
+            layers.append(block(self.inplanes, planes))
+
+        def forward(x):
+            for layer in layers:
+                x = layer(x)
+            return x
+
+        return forward, layers
+
+    def forward(self, x):
+        x = self.conv1(x)
+        x = self.bn1(x)
+        x = self.relu(x)
+        x = self.maxpool(x)
+
+        x = self.layer1(x)
+        x = self.layer2(x)
+        x = self.layer3(x)
+        x = self.layer4(x)
+
+        x = self.avgpool(x)
+        x = self.flatten(x)
+        x = self.fc(x)
+
+        return x
+
+    def train_one_batch(self, x, y, dist_option, spars):
+        out = self.forward(x)
+        loss = self.softmax_cross_entropy(out, y)
+
+        if dist_option == 'plain':
+            self.optimizer(loss)
+        elif dist_option == 'half':
+            self.optimizer.backward_and_update_half(loss)
+        elif dist_option == 'partialUpdate':
+            self.optimizer.backward_and_partial_update(loss)
+        elif dist_option == 'sparseTopK':
+            self.optimizer.backward_and_sparse_update(loss,
+                                                      topK=True,
+                                                      spars=spars)
+        elif dist_option == 'sparseThreshold':
+            self.optimizer.backward_and_sparse_update(loss,
+                                                      topK=False,
+                                                      spars=spars)
+        return out, loss
+
+    def set_optimizer(self, optimizer):
+        self.optimizer = optimizer
+
+
+def resnet18(pretrained=False, **kwargs):
+    """Constructs a ResNet-18 model.
+    Args:
+        pretrained (bool): If True, returns a model pre-trained on ImageNet.
+    
+    Returns:
+        The created ResNet-18 model.
+    """
+    model = ResNet(BasicBlock, [2, 2, 2, 2], **kwargs)
+
+    return model
+
+
+def resnet34(pretrained=False, **kwargs):
+    """Constructs a ResNet-34 model.
+    Args:
+        pretrained (bool): If True, returns a model pre-trained on ImageNet.
+    Returns:
+        The created ResNet-34 model.
+    """
+    model = ResNet(BasicBlock, [3, 4, 6, 3], **kwargs)
+
+    return model
+
+
+def resnet50(pretrained=False, **kwargs):
+    """Constructs a ResNet-50 model.
+    Args:
+        pretrained (bool): If True, returns a model pre-trained on ImageNet.
+    Returns:
+        The created ResNet-50 model.
+    """
+    model = ResNet(Bottleneck, [3, 4, 6, 3], **kwargs)
+
+    return model
+
+
+def resnet101(pretrained=False, **kwargs):
+    """Constructs a ResNet-101 model.
+    Args:
+        pretrained (bool): If True, returns a model pre-trained on ImageNet.
+    Returns:
+        The created ResNet-101 model.
+    """
+    model = ResNet(Bottleneck, [3, 4, 23, 3], **kwargs)
+
+    return model
+
+
+def resnet152(pretrained=False, **kwargs):
+    """Constructs a ResNet-152 model.
+    Args:
+        pretrained (bool): If True, returns a model pre-trained on ImageNet.
+    Returns:
+        The created ResNet-152 model.
+    """
+    model = ResNet(Bottleneck, [3, 8, 36, 3], **kwargs)
+
+    return model
+
+
+__all__ = [
+    'ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101', 'resnet152'
+]
\ No newline at end of file
diff --git a/examples/cnn_ms/model/xceptionnet.py b/examples/cnn_ms/model/xceptionnet.py
new file mode 100644
index 0000000..52e5027
--- /dev/null
+++ b/examples/cnn_ms/model/xceptionnet.py
@@ -0,0 +1,309 @@
+# Licensed to the Apache Software Foundation (ASF) under one

+# or more contributor license agreements.  See the NOTICE file

+# distributed with this work for additional information

+# regarding copyright ownership.  The ASF licenses this file

+# to you under the Apache License, Version 2.0 (the

+# "License"); you may not use this file except in compliance

+# with the License.  You may obtain a copy of the License at

+#

+#   http://www.apache.org/licenses/LICENSE-2.0

+#

+# Unless required by applicable law or agreed to in writing, software

+# distributed under the License is distributed on an "AS IS" BASIS,

+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+# See the License for the specific language governing permissions and

+# limitations under the License.

+# =============================================================================

+

+# the code is modified from

+# https://github.com/Cadene/pretrained-models.pytorch/blob/master/pretrainedmodels/models/xception.py

+

+from singa import layer

+from singa import model

+

+

+class Block(layer.Layer):

+

+    def __init__(self,

+                 in_filters,

+                 out_filters,

+                 reps,

+                 strides=1,

+                 padding=0,

+                 start_with_relu=True,

+                 grow_first=True):

+        super(Block, self).__init__()

+

+        if out_filters != in_filters or strides != 1:

+            self.skip = layer.Conv2d(in_filters,

+                                     out_filters,

+                                     1,

+                                     stride=strides,

+                                     padding=padding,

+                                     bias=False)

+            self.skipbn = layer.BatchNorm2d(out_filters)

+        else:

+            self.skip = None

+

+        self.layers = []

+

+        filters = in_filters

+        if grow_first:

+            self.layers.append(layer.ReLU())

+            self.layers.append(

+                layer.SeparableConv2d(in_filters,

+                                      out_filters,

+                                      3,

+                                      stride=1,

+                                      padding=1,

+                                      bias=False))

+            self.layers.append(layer.BatchNorm2d(out_filters))

+            filters = out_filters

+

+        for i in range(reps - 1):

+            self.layers.append(layer.ReLU())

+            self.layers.append(

+                layer.SeparableConv2d(filters,

+                                      filters,

+                                      3,

+                                      stride=1,

+                                      padding=1,

+                                      bias=False))

+            self.layers.append(layer.BatchNorm2d(filters))

+

+        if not grow_first:

+            self.layers.append(layer.ReLU())

+            self.layers.append(

+                layer.SeparableConv2d(in_filters,

+                                      out_filters,

+                                      3,

+                                      stride=1,

+                                      padding=1,

+                                      bias=False))

+            self.layers.append(layer.BatchNorm2d(out_filters))

+

+        if not start_with_relu:

+            self.layers = self.layers[1:]

+        else:

+            self.layers[0] = layer.ReLU()

+

+        if strides != 1:

+            self.layers.append(layer.MaxPool2d(3, strides, padding + 1))

+

+        self.register_layers(*self.layers)

+

+        self.add = layer.Add()

+

+    def forward(self, x):

+        y = self.layers[0](x)

+        for layer in self.layers[1:]:

+            if isinstance(y, tuple):

+                y = y[0]

+            y = layer(y)

+

+        if self.skip is not None:

+            skip = self.skip(x)

+            skip = self.skipbn(skip)

+        else:

+            skip = x

+        y = self.add(y, skip)

+        return y

+

+

+class Xception(model.Model):

+    """

+    Xception optimized for the ImageNet dataset, as specified in

+    https://arxiv.org/pdf/1610.02357.pdf

+    """

+

+    def __init__(self, num_classes=10, num_channels=3):

+        """ Constructor

+        Args:

+            num_classes: number of classes

+        """

+        super(Xception, self).__init__()

+        self.num_classes = num_classes

+        self.input_size = 299

+        self.dimension = 4

+

+        self.conv1 = layer.Conv2d(num_channels, 32, 3, 2, 0, bias=False)

+        self.bn1 = layer.BatchNorm2d(32)

+        self.relu1 = layer.ReLU()

+

+        self.conv2 = layer.Conv2d(32, 64, 3, 1, 1, bias=False)

+        self.bn2 = layer.BatchNorm2d(64)

+        self.relu2 = layer.ReLU()

+        # do relu here

+

+        self.block1 = Block(64,

+                            128,

+                            2,

+                            2,

+                            padding=0,

+                            start_with_relu=False,

+                            grow_first=True)

+        self.block2 = Block(128,

+                            256,

+                            2,

+                            2,

+                            padding=0,

+                            start_with_relu=True,

+                            grow_first=True)

+        self.block3 = Block(256,

+                            728,

+                            2,

+                            2,

+                            padding=0,

+                            start_with_relu=True,

+                            grow_first=True)

+

+        self.block4 = Block(728,

+                            728,

+                            3,

+                            1,

+                            start_with_relu=True,

+                            grow_first=True)

+        self.block5 = Block(728,

+                            728,

+                            3,

+                            1,

+                            start_with_relu=True,

+                            grow_first=True)

+        self.block6 = Block(728,

+                            728,

+                            3,

+                            1,

+                            start_with_relu=True,

+                            grow_first=True)

+        self.block7 = Block(728,

+                            728,

+                            3,

+                            1,

+                            start_with_relu=True,

+                            grow_first=True)

+

+        self.block8 = Block(728,

+                            728,

+                            3,

+                            1,

+                            start_with_relu=True,

+                            grow_first=True)

+        self.block9 = Block(728,

+                            728,

+                            3,

+                            1,

+                            start_with_relu=True,

+                            grow_first=True)

+        self.block10 = Block(728,

+                             728,

+                             3,

+                             1,

+                             start_with_relu=True,

+                             grow_first=True)

+        self.block11 = Block(728,

+                             728,

+                             3,

+                             1,

+                             start_with_relu=True,

+                             grow_first=True)

+

+        self.block12 = Block(728,

+                             1024,

+                             2,

+                             2,

+                             start_with_relu=True,

+                             grow_first=False)

+

+        self.conv3 = layer.SeparableConv2d(1024, 1536, 3, 1, 1)

+        self.bn3 = layer.BatchNorm2d(1536)

+        self.relu3 = layer.ReLU()

+

+        # do relu here

+        self.conv4 = layer.SeparableConv2d(1536, 2048, 3, 1, 1)

+        self.bn4 = layer.BatchNorm2d(2048)

+

+        self.relu4 = layer.ReLU()

+        self.globalpooling = layer.MaxPool2d(10, 1)

+        self.flatten = layer.Flatten()

+        self.fc = layer.Linear(num_classes)

+

+        self.softmax_cross_entropy = layer.SoftMaxCrossEntropy()

+

+    def features(self, input):

+        x = self.conv1(input)

+        x = self.bn1(x)

+        x = self.relu1(x)

+

+        x = self.conv2(x)

+        x = self.bn2(x)

+        x = self.relu2(x)

+

+        x = self.block1(x)

+        x = self.block2(x)

+        x = self.block3(x)

+        x = self.block4(x)

+        x = self.block5(x)

+        x = self.block6(x)

+        x = self.block7(x)

+        x = self.block8(x)

+        x = self.block9(x)

+        x = self.block10(x)

+        x = self.block11(x)

+        x = self.block12(x)

+

+        x = self.conv3(x)

+        x = self.bn3(x)

+        x = self.relu3(x)

+

+        x = self.conv4(x)

+        x = self.bn4(x)

+        return x

+

+    def logits(self, features):

+        x = self.relu4(features)

+        x = self.globalpooling(x)

+        x = self.flatten(x)

+        x = self.fc(x)

+        return x

+

+    def forward(self, x):

+        x = self.features(x)

+        x = self.logits(x)

+        return x

+

+    def train_one_batch(self, x, y, dist_option, spars):

+        out = self.forward(x)

+        loss = self.softmax_cross_entropy(out, y)

+        if dist_option == 'plain':

+            self.optimizer(loss)

+        elif dist_option == 'half':

+            self.optimizer.backward_and_update_half(loss)

+        elif dist_option == 'partialUpdate':

+            self.optimizer.backward_and_partial_update(loss)

+        elif dist_option == 'sparseTopK':

+            self.optimizer.backward_and_sparse_update(loss,

+                                                      topK=True,

+                                                      spars=spars)

+        elif dist_option == 'sparseThreshold':

+            self.optimizer.backward_and_sparse_update(loss,

+                                                      topK=False,

+                                                      spars=spars)

+        return out, loss

+

+    def set_optimizer(self, optimizer):

+        self.optimizer = optimizer

+

+

+def create_model(pretrained=False, **kwargs):

+    """Constructs a Xceptionnet model.

+    Args:

+        pretrained (bool): If True, returns a pre-trained model.

+    Returns:

+        The created Xceptionnet model.

+    """

+    model = Xception(**kwargs)

+

+    return model

+

+

+__all__ = ['Xception', 'create_model']
\ No newline at end of file
diff --git a/examples/cnn_ms/msmlp/model.py b/examples/cnn_ms/msmlp/model.py
new file mode 100644
index 0000000..f6e2a2e
--- /dev/null
+++ b/examples/cnn_ms/msmlp/model.py
@@ -0,0 +1,199 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from singa import layer
+from singa import model
+from singa import tensor
+from singa import opt
+from singa import device
+from singa.autograd import Operator
+from singa.layer import Layer
+from singa import singa_wrap as singa
+import argparse
+import numpy as np
+
+np_dtype = {"float16": np.float16, "float32": np.float32}
+
+singa_dtype = {"float16": tensor.float16, "float32": tensor.float32}
+
+#### self-defined loss begin
+
+### from autograd.py
+class SumError(Operator):
+
+    def __init__(self):
+        super(SumError, self).__init__()
+        # self.t = t.data
+
+    def forward(self, x):
+        # self.err = singa.__sub__(x, self.t)
+        self.data_x = x
+        # sqr = singa.Square(self.err)
+        # loss = singa.SumAll(sqr)
+        loss = singa.SumAll(x)
+        # self.n = 1
+        # for s in x.shape():
+        #     self.n *= s
+        # loss /= self.n
+        return loss
+
+    def backward(self, dy=1.0):
+        # dx = self.err
+        dev = device.get_default_device()
+        dx = tensor.Tensor(self.data_x.shape, dev, singa_dtype['float32'])
+        dx.copy_from_numpy(np.ones(self.data_x.shape))
+        # dx *= float(2 / self.n)
+        dx *= dy
+        return dx
+
+def se_loss(x):
+    # assert x.shape == t.shape, "input and target shape different: %s, %s" % (
+    #     x.shape, t.shape)
+    return SumError()(x)[0]
+
+### from layer.py
+class SumErrorLayer(Layer):
+    """
+    Generate a MeanSquareError operator
+    """
+
+    def __init__(self):
+        super(SumErrorLayer, self).__init__()
+
+    def forward(self, x):
+        return se_loss(x)
+
+#### self-defined loss end
+
+class MSMLP(model.Model):
+
+    def __init__(self, data_size=10, perceptron_size=100, num_classes=10):
+        super(MSMLP, self).__init__()
+        self.num_classes = num_classes
+        self.dimension = 2
+
+        self.relu = layer.ReLU()
+        self.linear1 = layer.Linear(perceptron_size)
+        self.linear2 = layer.Linear(num_classes)
+        self.softmax_cross_entropy = layer.SoftMaxCrossEntropy()
+
+        self.sum_error = SumErrorLayer()
+
+    def forward(self, inputs):
+        y = self.linear1(inputs)
+        y = self.relu(y)
+        y = self.linear2(y)
+        return y
+
+    def train_one_batch(self, x, y, synflow_flag, dist_option, spars):
+        out = self.forward(x)
+        loss = self.softmax_cross_entropy(out, y)
+
+        if dist_option == 'plain':
+            pn_p_g_list = self.optimizer(loss)
+        elif dist_option == 'half':
+            self.optimizer.backward_and_update_half(loss)
+        elif dist_option == 'partialUpdate':
+            self.optimizer.backward_and_partial_update(loss)
+        elif dist_option == 'sparseTopK':
+            self.optimizer.backward_and_sparse_update(loss,
+                                                      topK=True,
+                                                      spars=spars)
+        elif dist_option == 'sparseThreshold':
+            self.optimizer.backward_and_sparse_update(loss,
+                                                      topK=False,
+                                                      spars=spars)
+        return pn_p_g_list, out, loss
+
+    def set_optimizer(self, optimizer):
+        self.optimizer = optimizer
+
+
+def create_model(pretrained=False, **kwargs):
+    """Constructs a CNN model.
+    Args:
+        pretrained (bool): If True, returns a pre-trained model.
+    
+    Returns:
+        The created CNN model.
+    """
+    model = MSMLP(**kwargs)
+
+    return model
+
+
+__all__ = ['MLP', 'create_model']
+
+if __name__ == "__main__":
+    np.random.seed(0)
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument('-p',
+                        choices=['float32', 'float16'],
+                        default='float32',
+                        dest='precision')
+    parser.add_argument('-g',
+                        '--disable-graph',
+                        default='True',
+                        action='store_false',
+                        help='disable graph',
+                        dest='graph')
+    parser.add_argument('-m',
+                        '--max-epoch',
+                        default=1001,
+                        type=int,
+                        help='maximum epochs',
+                        dest='max_epoch')
+    args = parser.parse_args()
+
+    # generate the boundary
+    f = lambda x: (5 * x + 1)
+    bd_x = np.linspace(-1.0, 1, 200)
+    bd_y = f(bd_x)
+
+    # generate the training data
+    x = np.random.uniform(-1, 1, 400)
+    y = f(x) + 2 * np.random.randn(len(x))
+
+    # choose one precision
+    precision = singa_dtype[args.precision]
+    np_precision = np_dtype[args.precision]
+
+    # convert training data to 2d space
+    label = np.asarray([5 * a + 1 > b for (a, b) in zip(x, y)]).astype(np.int32)
+    data = np.array([[a, b] for (a, b) in zip(x, y)], dtype=np_precision)
+
+    dev = device.create_cuda_gpu_on(0)
+    sgd = opt.SGD(0.1, 0.9, 1e-5, dtype=singa_dtype[args.precision])
+    tx = tensor.Tensor((400, 2), dev, precision)
+    ty = tensor.Tensor((400,), dev, tensor.int32)
+    model = MLP(data_size=2, perceptron_size=3, num_classes=2)
+
+    # attach model to graph
+    model.set_optimizer(sgd)
+    model.compile([tx], is_train=True, use_graph=args.graph, sequential=True)
+    model.train()
+
+    for i in range(args.max_epoch):
+        tx.copy_from_numpy(data)
+        ty.copy_from_numpy(label)
+        out, loss = model(tx, ty, 'fp32', spars=None)
+
+        if i % 100 == 0:
+            print("training loss = ", tensor.to_numpy(loss)[0])
diff --git a/examples/cnn_ms/msmlp/native.py b/examples/cnn_ms/msmlp/native.py
new file mode 100644
index 0000000..359d5cd
--- /dev/null
+++ b/examples/cnn_ms/msmlp/native.py
@@ -0,0 +1,135 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from singa import tensor
+from singa.tensor import Tensor
+from singa import autograd
+from singa import opt
+import numpy as np
+from singa import device
+import argparse
+
+np_dtype = {"float16": np.float16, "float32": np.float32}
+
+singa_dtype = {"float16": tensor.float16, "float32": tensor.float32}
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser()
+    parser.add_argument('-p',
+                        choices=['float32', 'float16'],
+                        default='float32',
+                        dest='precision')
+    parser.add_argument('-m',
+                        '--max-epoch',
+                        default=1001,
+                        type=int,
+                        help='maximum epochs',
+                        dest='max_epoch')
+    args = parser.parse_args()
+
+    np.random.seed(0)
+
+    autograd.training = True
+
+    # prepare training data in numpy array
+
+    # generate the boundary
+    f = lambda x: (5 * x + 1)
+    bd_x = np.linspace(-1.0, 1, 200)
+    bd_y = f(bd_x)
+
+    # generate the training data
+    x = np.random.uniform(-1, 1, 400)
+    y = f(x) + 2 * np.random.randn(len(x))
+
+    # convert training data to 2d space
+    label = np.asarray([5 * a + 1 > b for (a, b) in zip(x, y)])
+    data = np.array([[a, b] for (a, b) in zip(x, y)], dtype=np.float32)
+
+    def to_categorical(y, num_classes):
+        """
+        Converts a class vector (integers) to binary class matrix.
+        Args:
+            y: class vector to be converted into a matrix
+                (integers from 0 to num_classes).
+            num_classes: total number of classes.
+        Returns:
+            A binary matrix representation of the input.
+        """
+        y = np.array(y, dtype="int")
+        n = y.shape[0]
+        categorical = np.zeros((n, num_classes))
+        categorical[np.arange(n), y] = 1
+        return categorical
+
+    label = to_categorical(label, 2).astype(np.float32)
+    print("train_data_shape:", data.shape)
+    print("train_label_shape:", label.shape)
+
+    precision = singa_dtype[args.precision]
+    np_precision = np_dtype[args.precision]
+
+    dev = device.create_cuda_gpu()
+
+    inputs = Tensor(data=data, device=dev)
+    target = Tensor(data=label, device=dev)
+
+    inputs = inputs.as_type(precision)
+    target = target.as_type(tensor.int32)
+
+    w0_np = np.random.normal(0, 0.1, (2, 3)).astype(np_precision)
+    w0 = Tensor(data=w0_np,
+                device=dev,
+                dtype=precision,
+                requires_grad=True,
+                stores_grad=True)
+    b0 = Tensor(shape=(3,),
+                device=dev,
+                dtype=precision,
+                requires_grad=True,
+                stores_grad=True)
+    b0.set_value(0.0)
+
+    w1_np = np.random.normal(0, 0.1, (3, 2)).astype(np_precision)
+    w1 = Tensor(data=w1_np,
+                device=dev,
+                dtype=precision,
+                requires_grad=True,
+                stores_grad=True)
+    b1 = Tensor(shape=(2,),
+                device=dev,
+                dtype=precision,
+                requires_grad=True,
+                stores_grad=True)
+    b1.set_value(0.0)
+
+    sgd = opt.SGD(0.05, 0.8)
+
+    # training process
+    for i in range(args.max_epoch):
+        x = autograd.matmul(inputs, w0)
+        x = autograd.add_bias(x, b0)
+        x = autograd.relu(x)
+        x = autograd.matmul(x, w1)
+        x = autograd.add_bias(x, b1)
+        loss = autograd.softmax_cross_entropy(x, target)
+        sgd(loss)
+
+        if i % 100 == 0:
+            print("%d, training loss = " % i, tensor.to_numpy(loss)[0])
\ No newline at end of file
diff --git a/examples/trans/README.md b/examples/trans/README.md
new file mode 100644
index 0000000..43066fa
--- /dev/null
+++ b/examples/trans/README.md
@@ -0,0 +1,52 @@
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+# Machine translation model using Transformer Example
+This example trains a Transformer model on a machine translation task. By default, the training script uses the anki dataset, provided.
+You can download from http://www.manythings.org/anki/. This example uses the Chinese and English sentence pairs provided by this dataset
+to complete the translation task. The dataset contains 29909 sentence pairs in both English and Chinese.
+
+Data format: English + TAB + Chinese + TAB + Attribution.
+
+Example:
+```
+Hi.	嗨。	CC-BY 2.0 (France) Attribution: tatoeba.org #538123 (CM) & #891077 (Martha)
+Hi.	你好。	CC-BY 2.0 (France) Attribution: tatoeba.org #538123 (CM) & #4857568 (musclegirlxyp)
+```
+
+The train.py script accepts the following arguments:
+```
+optional arguments:
+  [arg]              [type]     [desc]                                  [default]
+  --dataset          string     location of the dataset
+  --max-epoch        int        maximum epochs                          default 100           
+  --batch_size       int        batch size                              default 64
+  --shuffle          bool       shuffle the dataset                     default True
+  --lr               float      learning rate                           default 0.005
+  --seed             int        random seed                             default 0
+  --d_model          int        transformer model d_model               default 512
+  --n_head           int        transformer model n_head                default 8
+  --dim_feedforward  int        transformer model dim_feedforward       default 2048
+  --n_layers         int        transformer model n_layers              default 6
+```
+
+run the example
+```
+python train.py --dataset cmn-2000.txt --max-epoch 100 --batch-size 32 --lr 0.01
+```
diff --git a/examples/trans/cmn-eng/cmn-2000.txt b/examples/trans/cmn-eng/cmn-2000.txt
new file mode 100644
index 0000000..9ec7af7
--- /dev/null
+++ b/examples/trans/cmn-eng/cmn-2000.txt
@@ -0,0 +1,2000 @@
+Hi.	嗨。	CC-BY 2.0 (France) Attribution: tatoeba.org #538123 (CM) & #891077 (Martha)
+Hi.	你好。	CC-BY 2.0 (France) Attribution: tatoeba.org #538123 (CM) & #4857568 (musclegirlxyp)
+Run.	你用跑的。	CC-BY 2.0 (France) Attribution: tatoeba.org #4008918 (JSakuragi) & #3748344 (egg0073)
+Stop!	住手!	CC-BY 2.0 (France) Attribution: tatoeba.org #448320 (CM) & #448321 (GlossaMatik)
+Wait!	等等!	CC-BY 2.0 (France) Attribution: tatoeba.org #1744314 (belgavox) & #4970122 (wzhd)
+Wait!	等一下!	CC-BY 2.0 (France) Attribution: tatoeba.org #1744314 (belgavox) & #5092613 (mirrorvan)
+Begin.	开始!	CC-BY 2.0 (France) Attribution: tatoeba.org #6102432 (mailohilohi) & #5094852 (Jin_Dehong)
+Hello!	你好。	CC-BY 2.0 (France) Attribution: tatoeba.org #373330 (CK) & #4857568 (musclegirlxyp)
+I try.	我试试。	CC-BY 2.0 (France) Attribution: tatoeba.org #20776 (CK) & #8870261 (will66)
+I won!	我赢了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005192 (CK) & #5102367 (mirrorvan)
+Oh no!	不会吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1299275 (CK) & #5092475 (mirrorvan)
+Cheers!	乾杯!	CC-BY 2.0 (France) Attribution: tatoeba.org #487006 (human600) & #765577 (Martha)
+Got it?	知道了没有?	CC-BY 2.0 (France) Attribution: tatoeba.org #455353 (CM) & #455357 (GlossaMatik)
+Got it?	懂了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #455353 (CM) & #2032276 (ydcok)
+Got it?	你懂了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #455353 (CM) & #7768205 (jiangche)
+He ran.	他跑了。	CC-BY 2.0 (France) Attribution: tatoeba.org #672229 (CK) & #5092389 (mirrorvan)
+Hop in.	跳进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #1111548 (Scott) & #5092444 (mirrorvan)
+I know.	我知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #319990 (CK) & #3378015 (GlossaMatik)
+I quit.	我退出。	CC-BY 2.0 (France) Attribution: tatoeba.org #731636 (Eldad) & #5102253 (mirrorvan)
+I quit.	我不干了。	CC-BY 2.0 (France) Attribution: tatoeba.org #731636 (Eldad) & #9569182 (MiracleQ)
+I'm OK.	我沒事。	CC-BY 2.0 (France) Attribution: tatoeba.org #433763 (CK) & #819304 (Martha)
+I'm up.	我已经起来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2765357 (arnxy20) & #8727845 (crescat)
+Listen.	听着。	CC-BY 2.0 (France) Attribution: tatoeba.org #1913088 (CK) & #5092137 (mirrorvan)
+No way!	不可能!	CC-BY 2.0 (France) Attribution: tatoeba.org #2175 (CM) & #503298 (fucongcong)
+No way!	没门!	CC-BY 2.0 (France) Attribution: tatoeba.org #2175 (CM) & #2052721 (sadhen)
+Really?	真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #373216 (kotobaboke) & #1397360 (mtdot)
+Really?	你确定?	CC-BY 2.0 (France) Attribution: tatoeba.org #373216 (kotobaboke) & #4208543 (Ethan_lin)
+Thanks!	谢谢!	CC-BY 2.0 (France) Attribution: tatoeba.org #448645 (CK) & #4878949 (musclegirlxyp)
+Try it.	试试吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #4756252 (cairnhead) & #4757237 (ryanwoo)
+We try.	我们来试试。	CC-BY 2.0 (France) Attribution: tatoeba.org #247763 (CK) & #5102171 (mirrorvan)
+Why me?	为什么是我?	CC-BY 2.0 (France) Attribution: tatoeba.org #24958 (CK) & #796834 (fucongcong)
+Ask Tom.	去问汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954263 (CK) & #2017428 (sadhen)
+Awesome!	好棒!	CC-BY 2.0 (France) Attribution: tatoeba.org #433512 (CK) & #4970070 (wzhd)
+Be calm.	冷静点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916317 (CK) & #5092667 (mirrorvan)
+Be fair.	公平点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916316 (CK) & #5092666 (mirrorvan)
+Be kind.	友善点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916315 (CK) & #5092663 (mirrorvan)
+Be kind.	友好點。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916315 (CK) & #5571916 (verdastelo9604)
+Be nice.	和气点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916314 (CK) & #5092659 (mirrorvan)
+Be nice.	友善点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916314 (CK) & #5092663 (mirrorvan)
+Call me.	联系我。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553532 (CK) & #5102283 (mirrorvan)
+Call us.	联系我们。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916313 (CK) & #5092654 (mirrorvan)
+Come in.	进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #348091 (Hertz) & #5102310 (mirrorvan)
+Get Tom.	找到汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972633 (CK) & #5092681 (mirrorvan)
+Get out!	滾出去!	CC-BY 2.0 (France) Attribution: tatoeba.org #266790 (CK) & #819288 (Martha)
+Get out!	出去!	CC-BY 2.0 (France) Attribution: tatoeba.org #266790 (CK) & #7768017 (jiangche)
+Go away!	走開!	CC-BY 2.0 (France) Attribution: tatoeba.org #433518 (CK) & #819289 (Martha)
+Go away!	滾!	CC-BY 2.0 (France) Attribution: tatoeba.org #433518 (CK) & #884704 (Tajfun)
+Go away.	走開!	CC-BY 2.0 (France) Attribution: tatoeba.org #433491 (CK) & #819289 (Martha)
+Go home.	回家。	CC-BY 2.0 (France) Attribution: tatoeba.org #2230769 (CK) & #3212768 (GlossaMatik)
+Go home.	回家吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2230769 (CK) & #5102214 (mirrorvan)
+Goodbye!	再见!	CC-BY 2.0 (France) Attribution: tatoeba.org #516745 (minshirui) & #336477 (fucongcong)
+Goodbye!	告辞!	CC-BY 2.0 (France) Attribution: tatoeba.org #516745 (minshirui) & #4887737 (musclegirlxyp)
+Hang on!	坚持。	CC-BY 2.0 (France) Attribution: tatoeba.org #1894404 (Spamster) & #5092492 (mirrorvan)
+Hang on!	等一下!	CC-BY 2.0 (France) Attribution: tatoeba.org #1894404 (Spamster) & #5092613 (mirrorvan)
+Hang on.	坚持。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972640 (CK) & #5092492 (mirrorvan)
+He came.	他来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #853153 (piksea) & #437438 (fucongcong)
+He runs.	他跑。	CC-BY 2.0 (France) Attribution: tatoeba.org #672254 (CK) & #5092396 (mirrorvan)
+Help me.	帮我一下。	CC-BY 2.0 (France) Attribution: tatoeba.org #266065 (Zifre) & #332800 (fucongcong)
+Help us.	帮帮我们吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #2187193 (CK) & #7771852 (jiangche)
+Hit Tom.	去打汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203859 (CK) & #8696225 (crescat)
+Hold on.	坚持。	CC-BY 2.0 (France) Attribution: tatoeba.org #1357000 (sacredceltic) & #5092492 (mirrorvan)
+Hug Tom.	抱抱汤姆!	CC-BY 2.0 (France) Attribution: tatoeba.org #2203860 (CK) & #4759957 (ryanwoo)
+Hug Tom.	请抱紧汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203860 (CK) & #5096784 (mirrorvan)
+I agree.	我同意。	CC-BY 2.0 (France) Attribution: tatoeba.org #436281 (lukaszpp) & #333224 (fucongcong)
+I'm hot.	我觉得很热。	CC-BY 2.0 (France) Attribution: tatoeba.org #455953 (lukaszpp) & #489080 (GlossaMatik)
+I'm ill.	我生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #448236 (CK) & #780291 (Martha)
+I'm sad.	我很难过。	CC-BY 2.0 (France) Attribution: tatoeba.org #317741 (CK) & #333736 (fucongcong)
+I'm shy.	我很害羞。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203346 (CK) & #6535146 (xjjAstrus)
+I'm wet.	我濕了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1780075 (Spamster) & #8388737 (wangchou)
+It's OK.	没关系。	CC-BY 2.0 (France) Attribution: tatoeba.org #413756 (CK) & #333730 (fucongcong)
+It's me.	是我。	CC-BY 2.0 (France) Attribution: tatoeba.org #42400 (sysko) & #335161 (fucongcong)
+Join us.	来加入我们吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1745546 (belgavox) & #5092554 (mirrorvan)
+Keep it.	留着吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1913087 (CK) & #5092637 (mirrorvan)
+Kiss me.	吻我。	CC-BY 2.0 (France) Attribution: tatoeba.org #565931 (Fish) & #5092385 (mirrorvan)
+Perfect!	完美!	CC-BY 2.0 (France) Attribution: tatoeba.org #374568 (blay_paul) & #5092133 (mirrorvan)
+See you.	再见!	CC-BY 2.0 (France) Attribution: tatoeba.org #1151432 (Roggy) & #336477 (fucongcong)
+Shut up!	閉嘴!	CC-BY 2.0 (France) Attribution: tatoeba.org #462430 (lukaszpp) & #3718928 (egg0073)
+Skip it.	不管它。	CC-BY 2.0 (France) Attribution: tatoeba.org #1953076 (ozzie) & #5102320 (mirrorvan)
+Take it.	拿走吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1913089 (CK) & #5092645 (mirrorvan)
+Tell me.	告诉我!	CC-BY 2.0 (France) Attribution: tatoeba.org #1913090 (CK) & #9965594 (GlossaMatik)
+Tom won.	汤姆胜利了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005191 (CK) & #4956754 (musclegirlxyp)
+Wake up!	醒醒!	CC-BY 2.0 (France) Attribution: tatoeba.org #323780 (CK) & #5102191 (mirrorvan)
+Wash up.	去清洗一下。	CC-BY 2.0 (France) Attribution: tatoeba.org #20763 (CK) & #5092178 (mirrorvan)
+We know.	我们知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #1556167 (shanghainese) & #5102291 (mirrorvan)
+Welcome.	欢迎。	CC-BY 2.0 (France) Attribution: tatoeba.org #138919 (CM) & #343770 (fucongcong)
+Who won?	谁赢了?	CC-BY 2.0 (France) Attribution: tatoeba.org #2005190 (CK) & #5102365 (mirrorvan)
+Why not?	为什么不?	CC-BY 2.0 (France) Attribution: tatoeba.org #30545 (CK) & #796839 (fucongcong)
+You run.	你跑。	CC-BY 2.0 (France) Attribution: tatoeba.org #672252 (CK) & #5092393 (mirrorvan)
+You win.	算你狠。	CC-BY 2.0 (France) Attribution: tatoeba.org #8645635 (hamsolo474) & #2485289 (fenfang557)
+Back off!	往后退点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954264 (CK) & #5102285 (mirrorvan)
+Back off!	后退!	CC-BY 2.0 (France) Attribution: tatoeba.org #1954264 (CK) & #10981524 (Elaineeeeee)
+Back off.	往后退点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553533 (CK) & #5102285 (mirrorvan)
+Be still.	静静的,别动。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954265 (CK) & #5102329 (mirrorvan)
+Beats me.	我一无所知。	CC-BY 2.0 (France) Attribution: tatoeba.org #320001 (blay_paul) & #7772071 (jiangche)
+Cuff him.	把他铐上。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954267 (CK) & #5102333 (mirrorvan)
+Drive on.	往前开。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954268 (CK) & #5102335 (mirrorvan)
+Get away!	走開!	CC-BY 2.0 (France) Attribution: tatoeba.org #240634 (CM) & #819289 (Martha)
+Get away!	滾!	CC-BY 2.0 (France) Attribution: tatoeba.org #240634 (CM) & #884704 (Tajfun)
+Get down!	趴下!	CC-BY 2.0 (France) Attribution: tatoeba.org #268087 (CM) & #5102178 (mirrorvan)
+Get lost!	滾!	CC-BY 2.0 (France) Attribution: tatoeba.org #623565 (Dorenda) & #884704 (Tajfun)
+Get lost!	滚。	CC-BY 2.0 (France) Attribution: tatoeba.org #623565 (Dorenda) & #8696338 (crescat)
+Get lost.	滚。	CC-BY 2.0 (France) Attribution: tatoeba.org #854500 (CK) & #8696338 (crescat)
+Get real.	醒醒吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1324400 (Scott) & #5092481 (mirrorvan)
+Good job!	做得好!	CC-BY 2.0 (France) Attribution: tatoeba.org #1021038 (Quazel) & #4261676 (egg0073)
+Good job!	干的好!	CC-BY 2.0 (France) Attribution: tatoeba.org #1021038 (Quazel) & #7767580 (jiangche)
+Grab Tom.	抓住汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972639 (CK) & #5092688 (mirrorvan)
+Grab him.	抓住他。	CC-BY 2.0 (France) Attribution: tatoeba.org #285184 (CK) & #5092265 (mirrorvan)
+Have fun.	玩得開心。	CC-BY 2.0 (France) Attribution: tatoeba.org #21267 (CK) & #819292 (Martha)
+He tries.	他来试试。	CC-BY 2.0 (France) Attribution: tatoeba.org #288166 (CM) & #5092267 (mirrorvan)
+How cute!	多可爱啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #36097 (CM) & #5092632 (mirrorvan)
+Humor me.	你就随了我的意吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954271 (CM) & #5102344 (mirrorvan)
+Hurry up.	趕快!	CC-BY 2.0 (France) Attribution: tatoeba.org #1329 (brauliobezerra) & #46 (fucongcong)
+Hurry up.	快点!	CC-BY 2.0 (France) Attribution: tatoeba.org #1329 (brauliobezerra) & #512039 (fucongcong)
+Hurry up.	快点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1329 (brauliobezerra) & #5092239 (mirrorvan)
+I did it.	我做到了!	CC-BY 2.0 (France) Attribution: tatoeba.org #2549832 (CK) & #8709238 (crescat)
+I forgot.	我忘了。	CC-BY 2.0 (France) Attribution: tatoeba.org #436603 (lukaszpp) & #335875 (fucongcong)
+I resign.	我放弃。	CC-BY 2.0 (France) Attribution: tatoeba.org #731590 (Eldad) & #5102250 (mirrorvan)
+I'll pay.	我來付錢。	CC-BY 2.0 (France) Attribution: tatoeba.org #411285 (CK) & #819298 (Martha)
+I'm back.	我回来了!	CC-BY 2.0 (France) Attribution: tatoeba.org #564159 (darinmex) & #10153684 (GlossaMatik)
+I'm busy.	我很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #261721 (CK) & #819333 (Martha)
+I'm cold.	我冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #455947 (lukaszpp) & #471387 (fucongcong)
+I'm cool.	我很酷。	CC-BY 2.0 (France) Attribution: tatoeba.org #2202692 (CK) & #8933590 (crescat)
+I'm fine.	我很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #257272 (Eldad) & #794004 (fucongcong)
+I'm free!	我自由了!	CC-BY 2.0 (France) Attribution: tatoeba.org #1888443 (Spamster) & #9956709 (GlossaMatik)
+I'm full.	我吃飽了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433863 (CK) & #819300 (Martha)
+I'm home.	我在家裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111725 (CK) & #919764 (Martha)
+I'm lost.	我迷失了。	CC-BY 2.0 (France) Attribution: tatoeba.org #455833 (lukaszpp) & #5092558 (mirrorvan)
+I'm sick.	我生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #780304 (vgigregg) & #780291 (Martha)
+I'm sick.	我病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #780304 (vgigregg) & #2757252 (cienias)
+I'm tall.	我个子高。	CC-BY 2.0 (France) Attribution: tatoeba.org #2764439 (CK) & #7772132 (jiangche)
+Leave me.	让我一个人呆会儿。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954273 (CK) & #5102345 (mirrorvan)
+Let's go!	走吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #241077 (CK) & #334277 (fucongcong)
+Let's go!	我們開始吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #241077 (CK) & #819358 (Martha)
+Let's go!	我們走吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #241077 (CK) & #819359 (Martha)
+Look out!	当心!	CC-BY 2.0 (France) Attribution: tatoeba.org #20719 (CK) & #5092162 (mirrorvan)
+Say what?	啥?	CC-BY 2.0 (France) Attribution: tatoeba.org #8453907 (shekitten) & #8463674 (gumblex)
+She runs.	她跑。	CC-BY 2.0 (France) Attribution: tatoeba.org #672264 (CM) & #765935 (Martha)
+Sit down.	请坐。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553397 (CK) & #5780574 (verdastelo9604)
+Stand up.	起立。	CC-BY 2.0 (France) Attribution: tatoeba.org #1573801 (donkirkby) & #1746081 (sadhen)
+Terrific!	很棒!	CC-BY 2.0 (France) Attribution: tatoeba.org #52022 (Zifre) & #5092136 (mirrorvan)
+They won.	他们赢了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1618734 (CK) & #5092506 (mirrorvan)
+Tom died.	汤姆去世了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005188 (CK) & #5102363 (mirrorvan)
+Tom lied.	汤姆说谎了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005179 (CK) & #5100135 (mirrorvan)
+Tom lost.	汤姆输了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005180 (CK) & #5094682 (musclegirlxyp)
+Tom quit.	汤姆不干了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005183 (CK) & #5102347 (mirrorvan)
+Tom swam.	汤姆游泳了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203845 (CK) & #4977423 (musclegirlxyp)
+Tom swam.	Tom游泳。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203845 (CK) & #5529807 (egg0073)
+Trust me.	相信我。	CC-BY 2.0 (France) Attribution: tatoeba.org #954991 (CM) & #5092404 (mirrorvan)
+Try hard.	努力。	CC-BY 2.0 (France) Attribution: tatoeba.org #271901 (Zifre) & #5102184 (mirrorvan)
+Try some.	试试吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916312 (CK) & #4757237 (ryanwoo)
+Try this.	试试这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1916311 (CK) & #8715853 (crescat)
+Use this.	请用这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954278 (CK) & #9490109 (jin1)
+Who died?	谁死了?	CC-BY 2.0 (France) Attribution: tatoeba.org #2005187 (CK) & #5102361 (mirrorvan)
+Am I dead?	我死了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #7921513 (maaster) & #9958169 (GlossaMatik)
+Answer me.	回答我。	CC-BY 2.0 (France) Attribution: tatoeba.org #251060 (Eldad) & #784532 (fucongcong)
+Birds fly.	鳥類飛行。	CC-BY 2.0 (France) Attribution: tatoeba.org #278213 (CK) & #819282 (Martha)
+Call home!	打电话回家!	CC-BY 2.0 (France) Attribution: tatoeba.org #1730009 (CK) & #5092540 (mirrorvan)
+Calm down.	冷静点。	CC-BY 2.0 (France) Attribution: tatoeba.org #435575 (CK) & #5092667 (mirrorvan)
+Catch him.	抓住他。	CC-BY 2.0 (France) Attribution: tatoeba.org #449029 (CK) & #5092265 (mirrorvan)
+Come home.	回家吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #413767 (Scott) & #5102214 (mirrorvan)
+Cool down.	冷静点。	CC-BY 2.0 (France) Attribution: tatoeba.org #1860739 (CK) & #5092667 (mirrorvan)
+Do it now.	現在就做。	CC-BY 2.0 (France) Attribution: tatoeba.org #435763 (CK) & #771521 (Martha)
+Dogs bark.	狗会叫。	CC-BY 2.0 (France) Attribution: tatoeba.org #1357070 (sacredceltic) & #5092504 (mirrorvan)
+Don't cry.	别哭。	CC-BY 2.0 (France) Attribution: tatoeba.org #953247 (CK) & #4265201 (notabene)
+Excuse me.	对不起。	CC-BY 2.0 (France) Attribution: tatoeba.org #433504 (CK) & #472304 (fucongcong)
+Fantastic!	好棒!	CC-BY 2.0 (France) Attribution: tatoeba.org #433511 (CK) & #4970070 (wzhd)
+Fantastic!	很棒!	CC-BY 2.0 (France) Attribution: tatoeba.org #433511 (CK) & #5092136 (mirrorvan)
+Feel this.	来感受一下这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972624 (CK) & #5092677 (mirrorvan)
+Follow me.	请跟我来。	CC-BY 2.0 (France) Attribution: tatoeba.org #250135 (CK) & #466246 (fucongcong)
+Follow me.	跟我走。	CC-BY 2.0 (France) Attribution: tatoeba.org #250135 (CK) & #10699375 (GlossaMatik)
+Follow us.	请跟着我们。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972627 (CK) & #5092678 (mirrorvan)
+Forget it.	算了。	CC-BY 2.0 (France) Attribution: tatoeba.org #20398 (Eldad) & #400312 (GlossaMatik)
+Good luck.	祝你好运。	CC-BY 2.0 (France) Attribution: tatoeba.org #239431 (sacredceltic) & #812490 (fucongcong)
+Goodnight.	晚安。	CC-BY 2.0 (France) Attribution: tatoeba.org #7822164 (sharris123) & #4463431 (maple)
+Grab that.	抓住那个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972635 (CK) & #5092684 (mirrorvan)
+Grab this.	抓住这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972637 (CK) & #5092685 (mirrorvan)
+Hands off.	别碰!	CC-BY 2.0 (France) Attribution: tatoeba.org #268620 (CM) & #8870260 (will66)
+He's a DJ.	他是一个 DJ 。	CC-BY 2.0 (France) Attribution: tatoeba.org #1383444 (CK) & #1878329 (sadhen)
+He's busy.	他很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #2535641 (CM) & #343715 (fucongcong)
+He's lazy.	他很懒。	CC-BY 2.0 (France) Attribution: tatoeba.org #2030108 (Spamster) & #343917 (fucongcong)
+Hold fire.	停火。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972642 (CK) & #5092693 (mirrorvan)
+How awful!	太可怕了。	CC-BY 2.0 (France) Attribution: tatoeba.org #72077 (CM) & #5102161 (mirrorvan)
+How weird!	真奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #4462562 (CK) & #1705791 (sadhen)
+How weird!	多怪啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #4462562 (CK) & #5092629 (mirrorvan)
+I am cold.	我冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #436325 (lukaszpp) & #471387 (fucongcong)
+I am full.	我吃飽了。	CC-BY 2.0 (France) Attribution: tatoeba.org #620122 (ulyssemc1) & #819300 (Martha)
+I am okay.	我沒事。	CC-BY 2.0 (France) Attribution: tatoeba.org #376402 (saeb) & #819304 (Martha)
+I am sick.	我生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #436427 (lukaszpp) & #780291 (Martha)
+I am tall.	我个子高。	CC-BY 2.0 (France) Attribution: tatoeba.org #436275 (lukaszpp) & #7772132 (jiangche)
+I clapped.	我拍手。	CC-BY 2.0 (France) Attribution: tatoeba.org #6196262 (CK) & #920090 (Martha)
+I get you.	我了解你。	CC-BY 2.0 (France) Attribution: tatoeba.org #904789 (Trailsend) & #904787 (kanaorange)
+I give up.	我放弃。	CC-BY 2.0 (France) Attribution: tatoeba.org #241200 (CK) & #5102250 (mirrorvan)
+I hope so.	我希望如此。	CC-BY 2.0 (France) Attribution: tatoeba.org #51142 (CK) & #333103 (fucongcong)
+I laughed.	我笑了。	CC-BY 2.0 (France) Attribution: tatoeba.org #258713 (CK) & #335165 (fucongcong)
+I promise.	我向你保证。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111800 (CK) & #502727 (fucongcong)
+I saw Tom.	我看見湯姆了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2244569 (CK) & #6623201 (verdastelo9604)
+I was shy.	我害羞。	CC-BY 2.0 (France) Attribution: tatoeba.org #4695537 (Hybrid) & #8215726 (verdastelo9604)
+I'll swim.	我要游泳。	CC-BY 2.0 (France) Attribution: tatoeba.org #5576197 (CK) & #6994070 (verdastelo9604)
+I'm a man.	我是个男人。	CC-BY 2.0 (France) Attribution: tatoeba.org #580774 (CM) & #333655 (fucongcong)
+I'm bored.	我覺得很無聊。	CC-BY 2.0 (France) Attribution: tatoeba.org #431539 (Clavain) & #3668663 (egg0073)
+I'm first.	我是第一。	CC-BY 2.0 (France) Attribution: tatoeba.org #2202863 (CK) & #8686688 (crescat)
+I'm lucky.	我运气很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111713 (CK) & #437296 (fucongcong)
+I'm right.	我是對的。	CC-BY 2.0 (France) Attribution: tatoeba.org #321343 (CK) & #816721 (Martha)
+I'm sober.	我很清醒。	CC-BY 2.0 (France) Attribution: tatoeba.org #2361904 (CK) & #9961281 (GlossaMatik)
+I'm sorry.	对不起。	CC-BY 2.0 (France) Attribution: tatoeba.org #38387 (CK) & #472304 (fucongcong)
+I'm sorry.	我很抱歉。	CC-BY 2.0 (France) Attribution: tatoeba.org #38387 (CK) & #824688 (Martha)
+I'm tired.	我很累。	CC-BY 2.0 (France) Attribution: tatoeba.org #1705 (brauliobezerra) & #397734 (GlossaMatik)
+I'm young.	我還年輕。	CC-BY 2.0 (France) Attribution: tatoeba.org #321850 (CK) & #832459 (Martha)
+Ignore it.	不放在眼裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649249 (CK) & #5396469 (xjjAstrus)
+Is it far?	遠嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1308427 (CK) & #6559044 (xjjAstrus)
+Is it you?	是你吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1259560 (Scott) & #10696048 (GlossaMatik)
+It rained.	下了雨。	CC-BY 2.0 (France) Attribution: tatoeba.org #1435651 (mattpbooth) & #2481833 (alvations)
+It snowed.	下雪了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1181168 (Eldad) & #780269 (Martha)
+It's 3:30.	3点半了。	CC-BY 2.0 (France) Attribution: tatoeba.org #456175 (lukaszpp) & #795758 (fucongcong)
+It's 7:45.	现在是七点四十五分。	CC-BY 2.0 (France) Attribution: tatoeba.org #2762784 (CK) & #2041218 (Venki)
+It's 7:45.	现在是7点45分。	CC-BY 2.0 (France) Attribution: tatoeba.org #2762784 (CK) & #2041220 (Venki)
+It's cold.	天很冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #1813 (CK) & #334647 (fucongcong)
+It's food.	它是食物。	CC-BY 2.0 (France) Attribution: tatoeba.org #2187210 (CK) & #4887700 (musclegirlxyp)
+It's free.	它是免費的。	CC-BY 2.0 (France) Attribution: tatoeba.org #435782 (CK) & #825127 (Martha)
+It's late.	很晚了。	CC-BY 2.0 (France) Attribution: tatoeba.org #31195 (CK) & #745892 (fucongcong)
+It's true.	這是真的。	CC-BY 2.0 (France) Attribution: tatoeba.org #54868 (CK) & #771357 (Martha)
+Keep them.	留着吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111633 (CK) & #5092637 (mirrorvan)
+Kill them.	殺了他們	CC-BY 2.0 (France) Attribution: tatoeba.org #6049439 (mailohilohi) & #6049579 (magicalrpetz47)
+Let me in.	让我进去。	CC-BY 2.0 (France) Attribution: tatoeba.org #277466 (CK) & #333350 (fucongcong)
+Lie still.	躺着不动。	CC-BY 2.0 (France) Attribution: tatoeba.org #1839430 (CK) & #5092579 (mirrorvan)
+Look back!	回头看!	CC-BY 2.0 (France) Attribution: tatoeba.org #240166 (CK) & #5102163 (mirrorvan)
+Move over.	腾一下地方。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553407 (CK) & #5102267 (mirrorvan)
+Of course!	當然!	CC-BY 2.0 (France) Attribution: tatoeba.org #433730 (CK) & #771439 (Martha)
+Of course!	当然哪!	CC-BY 2.0 (France) Attribution: tatoeba.org #433730 (CK) & #11698263 (Jokubas)
+Of course.	当然是的。	CC-BY 2.0 (France) Attribution: tatoeba.org #433492 (CK) & #421347 (GlossaMatik)
+Of course.	當然。	CC-BY 2.0 (France) Attribution: tatoeba.org #433492 (CK) & #825987 (Martha)
+Of course.	当然了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433492 (CK) & #4970077 (wzhd)
+Open fire!	开火!	CC-BY 2.0 (France) Attribution: tatoeba.org #1108002 (Scott) & #5092433 (mirrorvan)
+Read this.	念这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1098659 (cntrational) & #5092431 (mirrorvan)
+See above.	参见上文。	CC-BY 2.0 (France) Attribution: tatoeba.org #273621 (CM) & #333511 (fucongcong)
+Seriously?	真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #1327057 (bmaynard87) & #1397360 (mtdot)
+Seriously?	认真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #1327057 (bmaynard87) & #10983988 (Elaineeeeee)
+She cried.	她哭了。	CC-BY 2.0 (France) Attribution: tatoeba.org #313193 (CK) & #5092280 (mirrorvan)
+She tried.	她试过了。	CC-BY 2.0 (France) Attribution: tatoeba.org #309976 (CK) & #5092274 (mirrorvan)
+She walks.	她在行走。	CC-BY 2.0 (France) Attribution: tatoeba.org #316925 (CK) & #5092290 (mirrorvan)
+Sit tight.	耐心等着。	CC-BY 2.0 (France) Attribution: tatoeba.org #40196 (CM) & #5092221 (mirrorvan)
+Slow down.	慢一點。	CC-BY 2.0 (France) Attribution: tatoeba.org #2187252 (CK) & #4754645 (egg0073)
+Stay calm.	保持冷靜。	CC-BY 2.0 (France) Attribution: tatoeba.org #788304 (hrin) & #778870 (Martha)
+Stay down!	趴着!	CC-BY 2.0 (France) Attribution: tatoeba.org #1777435 (Spamster) & #5092568 (mirrorvan)
+Stop that!	住手。	CC-BY 2.0 (France) Attribution: tatoeba.org #651592 (orbpic) & #5092387 (mirrorvan)
+Take care!	照顾好自己。	CC-BY 2.0 (France) Attribution: tatoeba.org #324861 (CK) & #510765 (fucongcong)
+Take care.	照顾好自己。	CC-BY 2.0 (France) Attribution: tatoeba.org #20362 (sacredceltic) & #510765 (fucongcong)
+Take care.	保重。	CC-BY 2.0 (France) Attribution: tatoeba.org #20362 (sacredceltic) & #1762971 (sadhen)
+Take mine.	拿我的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111483 (CK) & #9958257 (GlossaMatik)
+Thank you.	谢谢。	CC-BY 2.0 (France) Attribution: tatoeba.org #1876041 (Asma) & #5094881 (musclegirlxyp)
+Then what?	那又怎樣?	CC-BY 2.0 (France) Attribution: tatoeba.org #53035 (CM) & #51 (fucongcong)
+They left.	他们离开了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111368 (CK) & #8696255 (crescat)
+Time's up.	时间到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #6611926 (Eccles17) & #5094825 (Jin_Dehong)
+Tom slept.	汤姆睡了。	CC-BY 2.0 (France) Attribution: tatoeba.org #6645778 (CK) & #7768193 (jiangche)
+Tom swims.	Tom游泳。	CC-BY 2.0 (France) Attribution: tatoeba.org #5190879 (CK) & #5529807 (egg0073)
+Tom waved.	汤姆挥手了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005185 (CK) & #5102356 (mirrorvan)
+Tom'll go.	湯姆要走。	CC-BY 2.0 (France) Attribution: tatoeba.org #2123528 (CK) & #6939445 (verdastelo9604)
+Try again.	再試一次。	CC-BY 2.0 (France) Attribution: tatoeba.org #31723 (CK) & #824621 (Martha)
+Try again.	再试一下。	CC-BY 2.0 (France) Attribution: tatoeba.org #31723 (CK) & #8496264 (maxine)
+Turn left.	向左转。	CC-BY 2.0 (France) Attribution: tatoeba.org #464284 (lukaszpp) & #465034 (fucongcong)
+Wait here.	在这等着。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841188 (CK) & #5102308 (mirrorvan)
+Watch out!	当心!	CC-BY 2.0 (France) Attribution: tatoeba.org #375828 (megamanenm) & #5092162 (mirrorvan)
+Well done!	做得好!	CC-BY 2.0 (France) Attribution: tatoeba.org #464478 (lukaszpp) & #4261676 (egg0073)
+Well done!	干的好!	CC-BY 2.0 (France) Attribution: tatoeba.org #464478 (lukaszpp) & #7767580 (jiangche)
+Who cares?	爱谁谁。	CC-BY 2.0 (France) Attribution: tatoeba.org #40434 (CK) & #5092226 (mirrorvan)
+Who knows?	谁知道?	CC-BY 2.0 (France) Attribution: tatoeba.org #276369 (CK) & #395531 (GlossaMatik)
+Who's Tom?	汤姆是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886548 (CK) & #4956713 (musclegirlxyp)
+Who's she?	她是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #2203797 (CK) & #4887707 (musclegirlxyp)
+Wonderful!	很棒!	CC-BY 2.0 (France) Attribution: tatoeba.org #433510 (CK) & #5092136 (mirrorvan)
+You idiot!	蠢货!	CC-BY 2.0 (France) Attribution: tatoeba.org #418475 (Scott) & #462028 (fucongcong)
+You stink.	你身上发臭了。	CC-BY 2.0 (France) Attribution: tatoeba.org #4834656 (shekitten) & #7771683 (jiangche)
+All aboard!	请上船!	CC-BY 2.0 (France) Attribution: tatoeba.org #22121 (CM) & #5092195 (mirrorvan)
+Am I wrong?	我錯了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #410779 (CK) & #825125 (Martha)
+Are you up?	你起床了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1841739 (CK) & #10221072 (xjjAstrus)
+Be careful!	小心!	CC-BY 2.0 (France) Attribution: tatoeba.org #2047579 (CK) & #11207038 (klzlueylx)
+Be on time.	要守时!	CC-BY 2.0 (France) Attribution: tatoeba.org #2244995 (CK) & #8743793 (crescat)
+Be patient.	耐心等着。	CC-BY 2.0 (France) Attribution: tatoeba.org #1486456 (Spamster) & #5092221 (mirrorvan)
+Birds sing.	鳥兒歌唱。	CC-BY 2.0 (France) Attribution: tatoeba.org #278174 (CK) & #819283 (Martha)
+Can I help?	我可以幫忙嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #266051 (CK) & #908384 (Martha)
+Come on in.	进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #348107 (Zifre) & #5102310 (mirrorvan)
+Definitely!	必须的!	CC-BY 2.0 (France) Attribution: tatoeba.org #30542 (CM) & #4505064 (dongwang)
+Definitely!	当然哪!	CC-BY 2.0 (France) Attribution: tatoeba.org #30542 (CM) & #11698263 (Jokubas)
+Don't fret.	別擔心。	CC-BY 2.0 (France) Attribution: tatoeba.org #1520777 (Spamster) & #395933 (Martha)
+Don't move!	别动!	CC-BY 2.0 (France) Attribution: tatoeba.org #2111911 (CK) & #2531345 (fenfang557)
+Don't move.	不要动。	CC-BY 2.0 (France) Attribution: tatoeba.org #433502 (CK) & #461602 (fucongcong)
+Don't move.	不要动.	CC-BY 2.0 (France) Attribution: tatoeba.org #433502 (CK) & #6850362 (mao)
+Don't wait.	不要等待!	CC-BY 2.0 (France) Attribution: tatoeba.org #1292208 (CK) & #4970132 (wzhd)
+Fill it up.	把它填滿。	CC-BY 2.0 (France) Attribution: tatoeba.org #322631 (CK) & #825952 (Martha)
+Follow him.	跟著他走。	CC-BY 2.0 (France) Attribution: tatoeba.org #433754 (CK) & #819287 (Martha)
+Go on home.	回家吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2230772 (CK) & #5102214 (mirrorvan)
+Go wash up.	去洗洗吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2230782 (CK) & #8696177 (crescat)
+God exists.	上帝存在。	CC-BY 2.0 (France) Attribution: tatoeba.org #433457 (CK) & #819291 (Martha)
+Good night.	晚安。	CC-BY 2.0 (France) Attribution: tatoeba.org #2362724 (NotApplicable) & #4463431 (maple)
+He gave in.	他让步了.	CC-BY 2.0 (France) Attribution: tatoeba.org #296376 (CK) & #1424209 (asosan)
+He is a DJ.	他是一个 DJ 。	CC-BY 2.0 (France) Attribution: tatoeba.org #288669 (CK) & #1878329 (sadhen)
+He is busy.	他很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #1349951 (sacredceltic) & #343715 (fucongcong)
+He is lazy.	他很懒。	CC-BY 2.0 (France) Attribution: tatoeba.org #299797 (CK) & #343917 (fucongcong)
+He is mean.	他很凶。	CC-BY 2.0 (France) Attribution: tatoeba.org #482973 (minshirui) & #334863 (fucongcong)
+He is poor.	他很穷。	CC-BY 2.0 (France) Attribution: tatoeba.org #516601 (kebukebu) & #336441 (fucongcong)
+He is tall.	他高。	CC-BY 2.0 (France) Attribution: tatoeba.org #773336 (marloncori) & #4887716 (musclegirlxyp)
+Hello, Tom.	你好,汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #54604 (Zifre) & #5092241 (mirrorvan)
+Hey, relax.	嘿,放松点。	CC-BY 2.0 (France) Attribution: tatoeba.org #325177 (CM) & #5102212 (mirrorvan)
+How lovely!	多可爱啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #1913086 (CK) & #5092632 (mirrorvan)
+How's work?	工作怎么样?	CC-BY 2.0 (France) Attribution: tatoeba.org #245394 (CK) & #5100103 (mirrorvan)
+Hurry home.	赶快回家。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841177 (CK) & #5092584 (mirrorvan)
+I am a man.	我是个男人。	CC-BY 2.0 (France) Attribution: tatoeba.org #386704 (Mouseneb) & #333655 (fucongcong)
+I am short.	我个头矮。	CC-BY 2.0 (France) Attribution: tatoeba.org #436273 (lukaszpp) & #4265202 (notabene)
+I can cook.	我会做饭。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245639 (CK) & #4456369 (plutowu)
+I can swim.	我會游泳。	CC-BY 2.0 (France) Attribution: tatoeba.org #256178 (CK) & #918075 (Martha)
+I can't go.	我不能走。	CC-BY 2.0 (France) Attribution: tatoeba.org #1951742 (CK) & #7771688 (jiangche)
+I can't go.	我走不了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1951742 (CK) & #7771689 (jiangche)
+I chew gum.	我嚼口香糖。	CC-BY 2.0 (France) Attribution: tatoeba.org #2528462 (BoriQa) & #9956903 (GlossaMatik)
+I eat here.	我在這裡吃。	CC-BY 2.0 (France) Attribution: tatoeba.org #449105 (CK) & #826251 (Martha)
+I envy her.	我嫉妒她。	CC-BY 2.0 (France) Attribution: tatoeba.org #1414039 (Eldad) & #5359462 (egg0073)
+I envy him.	我羡慕他。	CC-BY 2.0 (France) Attribution: tatoeba.org #259949 (CK) & #2076343 (sadhen)
+I feel sad.	我很难过。	CC-BY 2.0 (France) Attribution: tatoeba.org #5263414 (CK) & #333736 (fucongcong)
+I hate you.	我恨你。	CC-BY 2.0 (France) Attribution: tatoeba.org #827295 (RaspaKrusto) & #827522 (Martha)
+I heard it.	我聽到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245911 (CK) & #8730182 (shou)
+I know Tom.	我认识汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235724 (CK) & #3630139 (suitchic)
+I know him.	我認識他。	CC-BY 2.0 (France) Attribution: tatoeba.org #71751 (CK) & #825892 (Martha)
+I like tea.	我喜欢茶。	CC-BY 2.0 (France) Attribution: tatoeba.org #253293 (CK) & #399985 (fucongcong)
+I like you.	我喜歡你。	CC-BY 2.0 (France) Attribution: tatoeba.org #410751 (CK) & #762004 (Martha)
+I like you.	我喜欢你。	CC-BY 2.0 (France) Attribution: tatoeba.org #410751 (CK) & #1424394 (sadhen)
+I like you.	我喜欢你!	CC-BY 2.0 (France) Attribution: tatoeba.org #410751 (CK) & #9992041 (GlossaMatik)
+I love her.	我愛她。	CC-BY 2.0 (France) Attribution: tatoeba.org #261221 (CK) & #759035 (Martha)
+I love you.	我爱您。	CC-BY 2.0 (France) Attribution: tatoeba.org #1434 (awael58) & #380195 (Martha)
+I miss him.	我想念他。	CC-BY 2.0 (France) Attribution: tatoeba.org #479775 (AniDeer) & #482707 (biglion)
+I miss you.	我想你。	CC-BY 2.0 (France) Attribution: tatoeba.org #1308 (brauliobezerra) & #813490 (fucongcong)
+I miss you.	我想念你。	CC-BY 2.0 (France) Attribution: tatoeba.org #1308 (brauliobezerra) & #2180625 (egg0073)
+I need you.	我需要你。	CC-BY 2.0 (France) Attribution: tatoeba.org #17735 (CK) & #512853 (fucongcong)
+I promised.	我答应了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2123633 (CK) & #10194942 (GlossaMatik)
+I think so.	我想是這樣的。	CC-BY 2.0 (France) Attribution: tatoeba.org #254072 (CK) & #824631 (Martha)
+I use this.	我使用这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1356774 (sacredceltic) & #1533414 (CLARET)
+I want you.	我想要你。	CC-BY 2.0 (France) Attribution: tatoeba.org #17707 (CK) & #604627 (CLARET)
+I'll do it.	我會做的。	CC-BY 2.0 (France) Attribution: tatoeba.org #433474 (CK) & #819461 (Martha)
+I'm 30 now.	我现在30岁了。	CC-BY 2.0 (France) Attribution: tatoeba.org #5865062 (Ricardo14) & #335364 (fucongcong)
+I'm a hero.	我是個英雄。	CC-BY 2.0 (France) Attribution: tatoeba.org #25509 (CK) & #826001 (Martha)
+I'm a liar.	我是个骗子。	CC-BY 2.0 (France) Attribution: tatoeba.org #1468181 (AMIKEMA) & #8685539 (crescat)
+I'm buying.	我买了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1844179 (CK) & #389383 (fucongcong)
+I'm coming.	我来啦。	CC-BY 2.0 (France) Attribution: tatoeba.org #52081 (CK) & #419683 (GlossaMatik)
+I'm eating.	我正在吃东西。	CC-BY 2.0 (France) Attribution: tatoeba.org #1189719 (Vortarulo) & #1790133 (sadhen)
+I'm faster.	我更快。	CC-BY 2.0 (France) Attribution: tatoeba.org #3378201 (CK) & #3378200 (GlossaMatik)
+I'm humble.	我是謙虛的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2202962 (CK) & #5611553 (verdastelo9604)
+I'm single.	我单身。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111685 (CK) & #4977440 (musclegirlxyp)
+I'm single.	我單身。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111685 (CK) & #5691850 (xjjAstrus)
+I'm sleepy.	我困了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1438701 (tim1452) & #1358461 (sadhen)
+I'm so fat.	我好胖哦。	CC-BY 2.0 (France) Attribution: tatoeba.org #1339 (Zifre) & #50 (fucongcong)
+I'm thirty.	我三十歲。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111679 (CK) & #8767504 (xjjAstrus)
+I'm twelve.	我十二岁了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2069142 (halfb1t) & #9959852 (GlossaMatik)
+Ignore Tom.	别理汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #1868480 (CK) & #5102314 (mirrorvan)
+Is he tall?	他长得高吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #302406 (CK) & #8866914 (crescat)
+Is it love?	那是愛嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #663921 (bluepie88) & #3957684 (egg0073)
+Is it true?	是真的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #378827 (CK) & #3377988 (GlossaMatik)
+It is 7:45.	现在是七点四十五分。	CC-BY 2.0 (France) Attribution: tatoeba.org #456101 (lukaszpp) & #2041218 (Venki)
+It is 7:45.	现在是7点45分。	CC-BY 2.0 (France) Attribution: tatoeba.org #456101 (lukaszpp) & #2041220 (Venki)
+It's great.	真是太好了。	CC-BY 2.0 (France) Attribution: tatoeba.org #3824325 (CK) & #5942060 (verdastelo9604)
+It's night.	是晚上了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2187224 (CK) & #6047459 (verdastelo9604)
+It's wrong.	不对。	CC-BY 2.0 (France) Attribution: tatoeba.org #1537010 (Spamster) & #10961087 (xjjAstrus)
+Just relax.	放松点吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1555685 (Spamster) & #5102290 (mirrorvan)
+Keep it up!	坚持。	CC-BY 2.0 (France) Attribution: tatoeba.org #45024 (CK) & #5092492 (mirrorvan)
+Keep it up.	坚持。	CC-BY 2.0 (France) Attribution: tatoeba.org #45026 (CK) & #5092492 (mirrorvan)
+Keep quiet!	保持安静!	CC-BY 2.0 (France) Attribution: tatoeba.org #272075 (CK) & #5102187 (mirrorvan)
+Keep quiet.	保持安静!	CC-BY 2.0 (France) Attribution: tatoeba.org #272043 (CK) & #5102187 (mirrorvan)
+Let him in.	让他进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #464814 (CK) & #3032023 (sadhen)
+Let me die.	让我去死。	CC-BY 2.0 (France) Attribution: tatoeba.org #1020543 (CK) & #4845112 (pig8322)
+Let me see.	让我想一想。	CC-BY 2.0 (France) Attribution: tatoeba.org #65316 (CK) & #707208 (Yashanti)
+Let me try.	让我试试。	CC-BY 2.0 (France) Attribution: tatoeba.org #1554612 (CK) & #333051 (fucongcong)
+Let me try.	让我来。	CC-BY 2.0 (France) Attribution: tatoeba.org #1554612 (CK) & #5092185 (mirrorvan)
+Let's play.	让我们玩耍吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #324520 (CK) & #9956028 (GlossaMatik)
+Let's pray.	让我们开始祈祷吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2187249 (CK) & #8673663 (crescat)
+Let's walk.	我们走走吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2007935 (CK) & #5897892 (verdastelo9604)
+Look there.	看那里。	CC-BY 2.0 (France) Attribution: tatoeba.org #1635351 (Amastan) & #5092523 (mirrorvan)
+No comment.	无可奉告。	CC-BY 2.0 (France) Attribution: tatoeba.org #873323 (U2FS) & #7774602 (jiangche)
+No kidding?	真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #1585482 (ngdongit) & #1397360 (mtdot)
+No kidding?	认真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #1585482 (ngdongit) & #10983988 (Elaineeeeee)
+No problem!	没问题!	CC-BY 2.0 (France) Attribution: tatoeba.org #413611 (blay_paul) & #2043289 (sadhen)
+No problem.	没关系。	CC-BY 2.0 (France) Attribution: tatoeba.org #551443 (CM) & #333730 (fucongcong)
+No problem.	没问题。	CC-BY 2.0 (France) Attribution: tatoeba.org #551443 (CM) & #343630 (fucongcong)
+No problem.	没事。	CC-BY 2.0 (France) Attribution: tatoeba.org #551443 (CM) & #551441 (GlossaMatik)
+Oh, really?	噢,真的嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2570909 (Hybrid) & #2771144 (cienias)
+Once again.	再一次。	CC-BY 2.0 (France) Attribution: tatoeba.org #433729 (CK) & #826049 (Martha)
+Please sit.	请用座。	CC-BY 2.0 (France) Attribution: tatoeba.org #478180 (CK) & #8500212 (black333)
+She smiled.	她笑了。	CC-BY 2.0 (France) Attribution: tatoeba.org #311898 (CK) & #5092276 (mirrorvan)
+Stand back!	往后站!	CC-BY 2.0 (France) Attribution: tatoeba.org #1894221 (Spamster) & #5092607 (mirrorvan)
+Stay sharp.	保持警惕。	CC-BY 2.0 (France) Attribution: tatoeba.org #1627331 (Spamster) & #5092516 (mirrorvan)
+Stay still.	别动。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111509 (CK) & #9958178 (GlossaMatik)
+Stay there.	留在这里别动。	CC-BY 2.0 (France) Attribution: tatoeba.org #462476 (lukaszpp) & #5102231 (mirrorvan)
+Step aside.	让开。	CC-BY 2.0 (France) Attribution: tatoeba.org #40051 (CK) & #5092217 (mirrorvan)
+Step on it!	快一點!	CC-BY 2.0 (France) Attribution: tatoeba.org #786811 (hrin) & #4754629 (egg0073)
+Study hard.	好好学习。	CC-BY 2.0 (France) Attribution: tatoeba.org #53465 (CK) & #5092230 (mirrorvan)
+That hurts.	真疼。	CC-BY 2.0 (France) Attribution: tatoeba.org #462526 (lukaszpp) & #5092328 (mirrorvan)
+That's odd.	奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #1453153 (Spamster) & #917754 (GlossaMatik)
+That's wet.	那是湿的。	CC-BY 2.0 (France) Attribution: tatoeba.org #6532456 (CK) & #9970073 (GlossaMatik)
+Time flies.	時光飛逝。	CC-BY 2.0 (France) Attribution: tatoeba.org #263886 (CK) & #718352 (egg0073)
+Time flies.	時間匆匆經過。	CC-BY 2.0 (France) Attribution: tatoeba.org #263886 (CK) & #5551139 (verdastelo9604)
+Tom failed.	汤姆失败了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111179 (CK) & #8671326 (crescat)
+Tom is ill.	汤姆生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236724 (CK) & #10109529 (ColawithIce)
+Tom is ill.	汤姆病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236724 (CK) & #10109530 (ColawithIce)
+Tom is shy.	汤姆害羞。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203345 (CK) & #5663584 (verdastelo9604)
+Tom smiled.	汤姆笑了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005184 (CK) & #5102350 (mirrorvan)
+Tom yawned.	汤姆打哈欠了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2005186 (CK) & #5102359 (mirrorvan)
+Tom's sick.	汤姆生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107594 (CK) & #10109529 (ColawithIce)
+Tom's sick.	汤姆病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107594 (CK) & #10109530 (ColawithIce)
+Turn right.	向右转。	CC-BY 2.0 (France) Attribution: tatoeba.org #464290 (lukaszpp) & #5092330 (mirrorvan)
+We laughed.	我们笑了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1922452 (teapot) & #5092668 (mirrorvan)
+We lost it.	我们失去了它。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241150 (CK) & #4844980 (pig8322)
+We'll cook.	我们会做饭的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203631 (CK) & #2780382 (GlossaMatik)
+We're boys.	我們是男孩。	CC-BY 2.0 (France) Attribution: tatoeba.org #6874274 (CK) & #825895 (Martha)
+We're late.	我們遲到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107352 (CK) & #848203 (Martha)
+What is it?	它是什么?	CC-BY 2.0 (France) Attribution: tatoeba.org #42849 (brauliobezerra) & #4887708 (musclegirlxyp)
+What's new?	有什么新鲜事吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #25029 (CK) & #794256 (fucongcong)
+Where am I?	我在哪裡?	CC-BY 2.0 (France) Attribution: tatoeba.org #255212 (adjusting) & #884699 (Martha)
+Where am I?	這是什麼地方?	CC-BY 2.0 (France) Attribution: tatoeba.org #255212 (adjusting) & #884701 (Martha)
+Who are we?	我們是誰?	CC-BY 2.0 (France) Attribution: tatoeba.org #2254698 (CK) & #6146408 (xjjAstrus)
+Who is Tom?	汤姆是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #2587424 (Hybrid) & #4956713 (musclegirlxyp)
+Who is she?	她是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #315731 (CK) & #4887707 (musclegirlxyp)
+Who's next?	下一个是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #2561317 (Hybrid) & #7768204 (jiangche)
+Who's that?	这是谁啊?	CC-BY 2.0 (France) Attribution: tatoeba.org #742806 (rpglover64) & #9958407 (GlossaMatik)
+Wood burns.	木材可燃。	CC-BY 2.0 (France) Attribution: tatoeba.org #323576 (CK) & #826256 (Martha)
+You can go.	您可以走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553295 (CK) & #396894 (GlossaMatik)
+You can go.	你可以去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553295 (CK) & #476578 (fucongcong)
+You got me.	算你狠。	CC-BY 2.0 (France) Attribution: tatoeba.org #2254995 (CK) & #2485289 (fenfang557)
+You may go.	您可以走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #518553 (CK) & #396894 (GlossaMatik)
+You may go.	你可以去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #518553 (CK) & #476578 (fucongcong)
+Are we done?	我们完成了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1553536 (CK) & #1783788 (sadhen)
+Are you Tom?	你是汤姆吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1495916 (CK) & #2163114 (sadhen)
+Are you mad?	您生气了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #18965 (CK) & #476597 (fucongcong)
+Are you mad?	你生气了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #18965 (CK) & #476598 (fucongcong)
+Are you new?	你是新来的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #429820 (CM) & #429821 (GlossaMatik)
+Are you sad?	你傷心嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1755584 (Betsemes) & #6073888 (verdastelo9604)
+Are you sad?	你在难过吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1755584 (Betsemes) & #8775843 (crescat)
+Be friendly.	友善点。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111962 (CK) & #5092663 (mirrorvan)
+Be friendly.	友好點。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111962 (CK) & #5571916 (verdastelo9604)
+Be punctual.	要守时!	CC-BY 2.0 (France) Attribution: tatoeba.org #2111959 (CK) & #8743793 (crescat)
+Break it up!	停手!	CC-BY 2.0 (France) Attribution: tatoeba.org #2245010 (CK) & #5093963 (mirrorvan)
+Can I begin?	我可以开始了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2245038 (CK) & #10194956 (GlossaMatik)
+Can I start?	我可以开始了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #9230028 (CK) & #10194956 (GlossaMatik)
+Can you see?	你能看吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1553530 (CK) & #1783787 (sadhen)
+Come inside.	进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111930 (CK) & #5102310 (mirrorvan)
+Count me in.	算我一个.	CC-BY 2.0 (France) Attribution: tatoeba.org #42880 (CK) & #1424217 (asosan)
+Did Tom win?	汤姆赢了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2235687 (CK) & #4956719 (musclegirlxyp)
+Do as I say.	按我說的做。	CC-BY 2.0 (France) Attribution: tatoeba.org #2029931 (Spamster) & #6150007 (verdastelo9604)
+Don't laugh.	别笑!	CC-BY 2.0 (France) Attribution: tatoeba.org #1771554 (Scott) & #9641453 (jin1)
+Don't leave!	別走!	CC-BY 2.0 (France) Attribution: tatoeba.org #872936 (CK) & #6131474 (verdastelo9604)
+Don't panic!	不要恐慌!	CC-BY 2.0 (France) Attribution: tatoeba.org #810774 (Zaphod) & #6119462 (verdastelo9604)
+Don't shoot.	停火。	CC-BY 2.0 (France) Attribution: tatoeba.org #1972643 (CK) & #5092693 (mirrorvan)
+Don't shout.	不许大叫。	CC-BY 2.0 (France) Attribution: tatoeba.org #279585 (CK) & #2393083 (fenfang557)
+Don't smile.	不要微笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111902 (CK) & #8577720 (GlossaMatik)
+Don't worry.	你不要着急。	CC-BY 2.0 (France) Attribution: tatoeba.org #506446 (rtomharper) & #394139 (GlossaMatik)
+Don't worry.	別擔心。	CC-BY 2.0 (France) Attribution: tatoeba.org #506446 (rtomharper) & #395933 (Martha)
+Don't worry.	别擔心。	CC-BY 2.0 (France) Attribution: tatoeba.org #506446 (rtomharper) & #1959914 (egg0073)
+Get dressed.	你穿點東西。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111832 (CK) & #8727932 (shou)
+Get serious.	认真点。	CC-BY 2.0 (France) Attribution: tatoeba.org #268457 (CK) & #346790 (fucongcong)
+Have a look.	请看一看。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245539 (CK) & #8935907 (crescat)
+He is alone.	他獨自一人。	CC-BY 2.0 (France) Attribution: tatoeba.org #293708 (CK) & #825136 (Martha)
+He was busy.	他很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #303699 (CK) & #343715 (fucongcong)
+He's a liar.	他是個騙子。	CC-BY 2.0 (France) Attribution: tatoeba.org #1522255 (erikspen) & #8767447 (xjjAstrus)
+He's strong.	他很強壯。	CC-BY 2.0 (France) Attribution: tatoeba.org #295297 (CK) & #819293 (Martha)
+Here we are!	我們到了!	CC-BY 2.0 (France) Attribution: tatoeba.org #54174 (CK) & #819471 (Martha)
+Here, catch!	这里,快抓住。	CC-BY 2.0 (France) Attribution: tatoeba.org #6858683 (Hybrid) & #6858750 (SherryChen)
+How are you?	你們好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #373320 (CK) & #1761553 (egg0073)
+How are you?	你好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #373320 (CK) & #6559017 (xjjAstrus)
+How curious!	真奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #1913085 (CK) & #1705791 (sadhen)
+How curious!	多怪啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #1913085 (CK) & #5092629 (mirrorvan)
+How is life?	生活怎么样?	CC-BY 2.0 (France) Attribution: tatoeba.org #2205973 (freddy1) & #402747 (GlossaMatik)
+How strange!	真奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #1913092 (CK) & #1705791 (sadhen)
+I also went.	我也去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #262358 (CK) & #400490 (GlossaMatik)
+I am coming.	我來了。	CC-BY 2.0 (France) Attribution: tatoeba.org #65918 (CK) & #826249 (Martha)
+I am online.	我上网了。	CC-BY 2.0 (France) Attribution: tatoeba.org #436415 (lukaszpp) & #797368 (GlossaMatik)
+I buy tapes.	我買磁帶。	CC-BY 2.0 (France) Attribution: tatoeba.org #435445 (CK) & #832833 (Martha)
+I can drive.	我會開車。	CC-BY 2.0 (France) Attribution: tatoeba.org #744722 (CK) & #881297 (Martha)
+I can't say.	我不能说。	CC-BY 2.0 (France) Attribution: tatoeba.org #24897 (CK) & #796833 (fucongcong)
+I don't lie.	我不說謊。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245722 (CK) & #6065390 (verdastelo9604)
+I eat bread.	我吃面包。	CC-BY 2.0 (France) Attribution: tatoeba.org #1867478 (CK) & #843482 (fucongcong)
+I feel cold.	我觉得冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #21124 (CK) & #352054 (fucongcong)
+I feel fine.	我感觉很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #321586 (CK) & #784051 (fucongcong)
+I feel sick.	我有点恶心。	CC-BY 2.0 (France) Attribution: tatoeba.org #759379 (vgigregg) & #8626613 (xjjAstrus)
+I feel weak.	我感到虚弱。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245759 (CK) & #6086795 (verdastelo9604)
+I got lucky.	我运气很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #2199425 (Hybrid) & #437296 (fucongcong)
+I hate fish.	我讨厌鱼。	CC-BY 2.0 (France) Attribution: tatoeba.org #2797586 (CK) & #10194954 (GlossaMatik)
+I hate wine.	我讨厌酒。	CC-BY 2.0 (France) Attribution: tatoeba.org #8909222 (CK) & #10062425 (slo_oth)
+I have time.	我有时间。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245901 (CK) & #4859550 (musclegirlxyp)
+I have wine.	我有酒。	CC-BY 2.0 (France) Attribution: tatoeba.org #1764447 (CK) & #5617204 (verdastelo9604)
+I heard you.	我聽你的。	CC-BY 2.0 (France) Attribution: tatoeba.org #885698 (Trailsend) & #884751 (Tajfun)
+I like blue.	我喜欢蓝色。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245933 (CK) & #3378086 (GlossaMatik)
+I like fish.	我喜欢鱼。	CC-BY 2.0 (France) Attribution: tatoeba.org #256891 (CK) & #5551033 (verdastelo9604)
+I like jazz.	我喜歡爵士樂。	CC-BY 2.0 (France) Attribution: tatoeba.org #321631 (CK) & #826284 (Martha)
+I like them.	我喜欢他们。	CC-BY 2.0 (France) Attribution: tatoeba.org #2747576 (CK) & #7771664 (jiangche)
+I like wine.	我喜欢葡萄酒。	CC-BY 2.0 (France) Attribution: tatoeba.org #5828948 (CK) & #9958185 (GlossaMatik)
+I live here.	我住在這。	CC-BY 2.0 (France) Attribution: tatoeba.org #444986 (CK) & #1488531 (egg0073)
+I live here.	我住在这里。	CC-BY 2.0 (France) Attribution: tatoeba.org #444986 (CK) & #11264800 (asuliu)
+I lost face.	我丟臉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #252374 (CM) & #8572029 (verdastelo9604)
+I need glue.	我需要胶水。	CC-BY 2.0 (France) Attribution: tatoeba.org #2631795 (Joseph) & #5576802 (verdastelo9604)
+I need help.	我需要帮助。	CC-BY 2.0 (France) Attribution: tatoeba.org #582309 (CM) & #7768354 (jiangche)
+I overslept.	我睡过头了。	CC-BY 2.0 (France) Attribution: tatoeba.org #258769 (CK) & #335166 (fucongcong)
+I overslept.	我睡過頭了。	CC-BY 2.0 (France) Attribution: tatoeba.org #258769 (CK) & #5995689 (xjjAstrus)
+I read lips.	我读唇语。	CC-BY 2.0 (France) Attribution: tatoeba.org #2246047 (CK) & #10260764 (GlossaMatik)
+I said that.	我是那樣說的。	CC-BY 2.0 (France) Attribution: tatoeba.org #433643 (CK) & #824597 (Martha)
+I smell gas.	我聞到瓦斯味。	CC-BY 2.0 (France) Attribution: tatoeba.org #681055 (Source_VOA) & #1440981 (egg0073)
+I trust him.	我信赖他。	CC-BY 2.0 (France) Attribution: tatoeba.org #1258628 (CK) & #808210 (fucongcong)
+I trust him.	我信任他。	CC-BY 2.0 (France) Attribution: tatoeba.org #1258628 (CK) & #1762944 (sadhen)
+I trust you.	我信任你。	CC-BY 2.0 (France) Attribution: tatoeba.org #457741 (sacredceltic) & #1878344 (sadhen)
+I want more.	我想要更多。	CC-BY 2.0 (France) Attribution: tatoeba.org #521096 (CK) & #3742594 (egg0073)
+I was alone.	我茕茕孑立,形影相吊。	CC-BY 2.0 (France) Attribution: tatoeba.org #2208338 (CK) & #10537181 (howie)
+I was lucky.	我运气很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #256144 (CK) & #437296 (fucongcong)
+I was wrong.	我搞错了。	CC-BY 2.0 (France) Attribution: tatoeba.org #472431 (blay_paul) & #476229 (fucongcong)
+I was wrong.	我想错了。	CC-BY 2.0 (France) Attribution: tatoeba.org #472431 (blay_paul) & #2367643 (GlossaMatik)
+I went, too.	我也去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1300817 (CK) & #400490 (GlossaMatik)
+I will obey.	我会听从指示。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247576 (CK) & #5691239 (verdastelo9604)
+I work here.	我在這裡工作。	CC-BY 2.0 (France) Attribution: tatoeba.org #730034 (CK) & #1953193 (egg0073)
+I'll attend.	我會參加。	CC-BY 2.0 (France) Attribution: tatoeba.org #435424 (CK) & #819296 (Martha)
+I'll get in.	我會進去。	CC-BY 2.0 (France) Attribution: tatoeba.org #321895 (CK) & #824616 (Martha)
+I'm 17, too.	我也是17岁。	CC-BY 2.0 (France) Attribution: tatoeba.org #708209 (papabear) & #472869 (fucongcong)
+I'm a loser.	我是個不成器的人。	CC-BY 2.0 (France) Attribution: tatoeba.org #1201482 (CM) & #1448587 (egg0073)
+I'm a loser.	我是個輸家。	CC-BY 2.0 (France) Attribution: tatoeba.org #1201482 (CM) & #5472022 (egg0073)
+I'm a slave.	我是個奴隸。	CC-BY 2.0 (France) Attribution: tatoeba.org #10204809 (shekitten) & #6760109 (xjjAstrus)
+I'm at home.	我在家。	CC-BY 2.0 (France) Attribution: tatoeba.org #404046 (zipangu) & #336238 (fucongcong)
+I'm at home.	我在家裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #404046 (zipangu) & #919764 (Martha)
+I'm curious.	我很好奇。	CC-BY 2.0 (France) Attribution: tatoeba.org #1396179 (CK) & #335059 (fucongcong)
+I'm healthy.	我身体很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #259288 (CK) & #3378000 (GlossaMatik)
+I'm injured.	我受伤了。	CC-BY 2.0 (France) Attribution: tatoeba.org #6196250 (CK) & #10699406 (GlossaMatik)
+I'm kidding.	我开玩笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111715 (CK) & #398518 (GlossaMatik)
+I'm married.	我结婚了。	CC-BY 2.0 (France) Attribution: tatoeba.org #257204 (CK) & #399997 (fucongcong)
+I'm married.	我已婚。	CC-BY 2.0 (France) Attribution: tatoeba.org #257204 (CK) & #761438 (Martha)
+I'm praying.	我在祈禱。	CC-BY 2.0 (France) Attribution: tatoeba.org #3530803 (ConqueRRoR) & #6065393 (verdastelo9604)
+I'm reading.	我在读书。	CC-BY 2.0 (France) Attribution: tatoeba.org #1349059 (sacredceltic) & #5640765 (verdastelo9604)
+I'm relaxed.	我很放松。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111695 (CK) & #10023027 (GlossaMatik)
+I'm serious.	我是認真的。	CC-BY 2.0 (France) Attribution: tatoeba.org #433675 (CK) & #824668 (Martha)
+I'm thirsty.	我渴了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1814 (CK) & #465911 (fucongcong)
+I'm wounded.	我受伤了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111666 (CK) & #10699406 (GlossaMatik)
+Is Tom home?	汤姆在家里吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244604 (CK) & #8696451 (morningstar)
+Is Tom hurt?	汤姆受伤了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244607 (CK) & #8696449 (morningstar)
+Is Tom sick?	汤姆是不是身体不太好?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244639 (CK) & #8696445 (morningstar)
+Is Tom well?	汤姆还好吧?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244644 (CK) & #4473132 (yuiyu)
+Is he right?	他对吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #300372 (CK) & #9953366 (GlossaMatik)
+Is it tasty?	好吃嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #5758419 (CM) & #4061623 (egg0073)
+Is it yours?	这是你的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #42344 (CK) & #1311790 (vicch)
+It can't be!	这不可能!	CC-BY 2.0 (France) Attribution: tatoeba.org #1501 (CK) & #334699 (fucongcong)
+It can't be!	不可能!	CC-BY 2.0 (France) Attribution: tatoeba.org #1501 (CK) & #503298 (fucongcong)
+It's a fake.	这是一个伪造品。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249002 (CK) & #630264 (CLARET)
+It's my job.	這是我份內的事。	CC-BY 2.0 (France) Attribution: tatoeba.org #433521 (CK) & #824695 (Martha)
+It's spring.	春天了	CC-BY 2.0 (France) Attribution: tatoeba.org #456241 (lukaszpp) & #5114843 (xjjAstrus)
+Just say no.	只要說不。	CC-BY 2.0 (France) Attribution: tatoeba.org #827234 (Scott) & #827525 (Martha)
+Keep trying.	继续努力。	CC-BY 2.0 (France) Attribution: tatoeba.org #1629911 (Spamster) & #5092521 (mirrorvan)
+Let me know.	讓我知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #1228083 (CK) & #4741990 (egg0073)
+Let's begin.	讓我們開始吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #387427 (CK) & #819465 (Martha)
+Let's leave.	走吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2007931 (CK) & #334277 (fucongcong)
+Let's start!	讓我們開始吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #387428 (CK) & #819465 (Martha)
+Let's start.	我们开始吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2007928 (CK) & #7767999 (jiangche)
+Life is fun.	人生是有趣的。	CC-BY 2.0 (France) Attribution: tatoeba.org #435772 (CK) & #771359 (Martha)
+Look around.	四处看看。	CC-BY 2.0 (France) Attribution: tatoeba.org #1271905 (Lich) & #5092470 (mirrorvan)
+Lunch is on.	午餐送到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #64177 (Zifre) & #1304156 (tsayng)
+Make a list.	列一个列表。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249574 (CK) & #10199329 (slo_oth)
+Many thanks.	非常感谢!	CC-BY 2.0 (France) Attribution: tatoeba.org #322178 (CK) & #334426 (fucongcong)
+Money talks.	金钱万能。	CC-BY 2.0 (France) Attribution: tatoeba.org #18631 (CK) & #5092154 (mirrorvan)
+Nice timing.	好时机。	CC-BY 2.0 (France) Attribution: tatoeba.org #1329340 (Scott) & #5092489 (mirrorvan)
+No one came.	没有人来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2238072 (gleki) & #501581 (fucongcong)
+OK, you win.	行,你赢了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2722194 (Hybrid) & #10449478 (GlossaMatik)
+OK, you win.	好吧,你赢了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2722194 (Hybrid) & #10449481 (GlossaMatik)
+OK. I agree.	好。我同意。	CC-BY 2.0 (France) Attribution: tatoeba.org #433874 (CK) & #824718 (Martha)
+Please come.	请来吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #324997 (CK) & #5102210 (mirrorvan)
+Please sing.	请唱歌。	CC-BY 2.0 (France) Attribution: tatoeba.org #1937071 (CK) & #5092671 (mirrorvan)
+Release him.	放开他。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841180 (CK) & #5092602 (mirrorvan)
+She bit him.	她咬了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #887002 (CK) & #8940729 (crescat)
+She hit him.	她打了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #887215 (CK) & #5670795 (verdastelo9604)
+Should I go?	我该去吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1454593 (CK) & #414024 (fucongcong)
+Show him in.	让他进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #307894 (CK) & #3032023 (sadhen)
+Stand aside.	一边站着。	CC-BY 2.0 (France) Attribution: tatoeba.org #1935050 (Spamster) & #5092669 (mirrorvan)
+Step inside.	进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841184 (CK) & #5102310 (mirrorvan)
+That's life.	這就是生活。	CC-BY 2.0 (France) Attribution: tatoeba.org #515472 (CK) & #771492 (Martha)
+That's life.	人生就是如此。	CC-BY 2.0 (France) Attribution: tatoeba.org #515472 (CK) & #771497 (Martha)
+That's mine.	那是我的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841577 (CK) & #6728904 (verdastelo9604)
+That's neat.	那很棒。	CC-BY 2.0 (France) Attribution: tatoeba.org #7371381 (Hybrid) & #10021240 (GlossaMatik)
+That's soft.	这很软。	CC-BY 2.0 (France) Attribution: tatoeba.org #3447128 (CK) & #7772143 (jiangche)
+That's tofu.	那是豆腐。	CC-BY 2.0 (France) Attribution: tatoeba.org #11568262 (shekitten) & #3377901 (GlossaMatik)
+That's true.	這是真的。	CC-BY 2.0 (France) Attribution: tatoeba.org #618799 (aandrusiak) & #771357 (Martha)
+They hugged.	他们拥抱。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111370 (CK) & #5698029 (verdastelo9604)
+They kissed.	他们亲吻了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2006560 (Spamster) & #5102369 (mirrorvan)
+This is ice.	這是冰塊。	CC-BY 2.0 (France) Attribution: tatoeba.org #1211442 (alec) & #1205944 (cienias)
+Tom blushed.	汤姆脸红了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1027009 (CK) & #5092418 (mirrorvan)
+Tom clapped.	湯姆拍了手。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111193 (CK) & #5812342 (xjjAstrus)
+Tom frowned.	湯姆皺著眉頭。	CC-BY 2.0 (France) Attribution: tatoeba.org #37029 (CK) & #825907 (Martha)
+Tom got fat.	汤姆胖了。	CC-BY 2.0 (France) Attribution: tatoeba.org #4917994 (CK) & #4977399 (musclegirlxyp)
+Tom got fat.	汤姆变胖了。	CC-BY 2.0 (France) Attribution: tatoeba.org #4917994 (CK) & #4977409 (musclegirlxyp)
+Tom has won.	汤姆胜利了。	CC-BY 2.0 (France) Attribution: tatoeba.org #6358752 (CK) & #4956754 (musclegirlxyp)
+Tom is sick.	汤姆生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1024872 (CK) & #10109529 (ColawithIce)
+Tom is sick.	汤姆病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1024872 (CK) & #10109530 (ColawithIce)
+Tom laughed.	汤姆笑了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111159 (CK) & #5102350 (mirrorvan)
+Tom said hi.	汤姆打了个招呼。	CC-BY 2.0 (France) Attribution: tatoeba.org #7410485 (CK) & #8765180 (crescat)
+Tom saw you.	湯姆看見你了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2237661 (CK) & #6728914 (verdastelo9604)
+Tom'll wait.	湯姆會等。	CC-BY 2.0 (France) Attribution: tatoeba.org #2123510 (CK) & #6114384 (verdastelo9604)
+Tom's drunk.	汤姆醉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107496 (CK) & #5142201 (musclegirlxyp)
+Tom's happy.	湯姆高興。	CC-BY 2.0 (France) Attribution: tatoeba.org #2602517 (CM) & #6624675 (verdastelo9604)
+Tom's tired.	湯姆累了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107627 (CK) & #6098473 (verdastelo9604)
+Tom's wrong.	湯姆錯了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107659 (CK) & #6293100 (verdastelo9604)
+Turn around.	转过来。	CC-BY 2.0 (France) Attribution: tatoeba.org #464282 (lukaszpp) & #5092329 (mirrorvan)
+Turn it off.	把它关掉。	CC-BY 2.0 (France) Attribution: tatoeba.org #41719 (CK) & #8877851 (crescat)
+Wait for me.	等等我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2253852 (CK) & #7773139 (jiangche)
+Was I wrong?	我错了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #25506 (CK) & #335862 (fucongcong)
+We both won.	我們都贏了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241033 (CK) & #6145390 (verdastelo9604)
+We can rest.	我们可以休息。	CC-BY 2.0 (France) Attribution: tatoeba.org #3046439 (Whitney) & #3031987 (sadhen)
+We know him.	我們認識他。	CC-BY 2.0 (France) Attribution: tatoeba.org #262783 (CK) & #873466 (Martha)
+We like you.	我们喜欢你们。	CC-BY 2.0 (France) Attribution: tatoeba.org #6681958 (CK) & #8496239 (gumblex)
+We love Tom.	我們愛湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2240298 (CK) & #5585227 (verdastelo9604)
+We want Tom.	我们想要汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2011273 (CK) & #5091738 (mirrorvan)
+We want one.	我們要一個。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241471 (CK) & #6057679 (xjjAstrus)
+What a pain!	烦死人。	CC-BY 2.0 (France) Attribution: tatoeba.org #282276 (CK) & #405412 (GlossaMatik)
+What a pity!	太可惜了!	CC-BY 2.0 (France) Attribution: tatoeba.org #24885 (CK) & #332578 (fucongcong)
+What a pity!	可惜。	CC-BY 2.0 (France) Attribution: tatoeba.org #24885 (CK) & #402763 (GlossaMatik)
+What a pity!	多遗憾啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #24885 (CK) & #469440 (fucongcong)
+What a pity!	真是太可惜了!	CC-BY 2.0 (France) Attribution: tatoeba.org #24885 (CK) & #2347835 (GlossaMatik)
+What is new?	有什么新鲜事吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #376063 (megamanenm) & #794256 (fucongcong)
+What's love?	愛是什麼?	CC-BY 2.0 (France) Attribution: tatoeba.org #9359671 (shekitten) & #904854 (Martha)
+What's that?	那是什么?	CC-BY 2.0 (France) Attribution: tatoeba.org #66989 (CK) & #465906 (fucongcong)
+What's this?	這是什麼啊?	CC-BY 2.0 (France) Attribution: tatoeba.org #413821 (CK) & #4 (Martha)
+What's this?	這是什麼?	CC-BY 2.0 (France) Attribution: tatoeba.org #413821 (CK) & #734981 (Martha)
+Where's Tom?	汤姆在哪儿?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886594 (CK) & #4956715 (musclegirlxyp)
+Who are you?	你是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #356200 (yorickvidal) & #395853 (GlossaMatik)
+Who are you?	你是誰?	CC-BY 2.0 (France) Attribution: tatoeba.org #356200 (yorickvidal) & #818109 (Martha)
+Who drew it?	誰畫的?	CC-BY 2.0 (France) Attribution: tatoeba.org #442064 (CK) & #819363 (Martha)
+Who is next?	下一个是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #801609 (Eldad) & #7768204 (jiangche)
+Who is that?	那是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #2176388 (dafp) & #4789686 (400S)
+Who is that?	这是谁啊?	CC-BY 2.0 (France) Attribution: tatoeba.org #2176388 (dafp) & #9958407 (GlossaMatik)
+Who's dying?	誰要死了?	CC-BY 2.0 (France) Attribution: tatoeba.org #2203655 (CK) & #8215690 (verdastelo9604)
+Whose is it?	这是谁的?	CC-BY 2.0 (France) Attribution: tatoeba.org #873579 (CK) & #1314463 (vicch)
+Wood floats.	木头会漂浮。	CC-BY 2.0 (France) Attribution: tatoeba.org #1869662 (ghoti) & #5102316 (mirrorvan)
+Work slowly.	干活慢点。	CC-BY 2.0 (France) Attribution: tatoeba.org #30124 (CK) & #5092211 (mirrorvan)
+Yes, I know.	是的,我知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #35504 (Scott) & #834241 (Martha)
+You cheated.	你作弊了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549802 (CK) & #10635232 (gumblex)
+You made it.	你做到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549800 (CK) & #8215696 (verdastelo9604)
+You're dumb.	你很愚蠢。	CC-BY 2.0 (France) Attribution: tatoeba.org #10519000 (Adelpa) & #993698 (leoyzy)
+You're here.	你在这里。	CC-BY 2.0 (France) Attribution: tatoeba.org #2202941 (CK) & #7768155 (jiangche)
+You're mine.	你是我的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2217883 (CK) & #8686674 (crescat)
+You're safe.	你是安全的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203311 (CK) & #10699370 (GlossaMatik)
+You're sick!	你有病!	CC-BY 2.0 (France) Attribution: tatoeba.org #34756 (CM) & #791591 (fucongcong)
+Anything new?	有什么新鲜事吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #25313 (CM) & #794256 (fucongcong)
+Are you busy?	你忙嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #68948 (adjusting) & #1241266 (tsayng)
+Are you busy?	您在忙吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #68948 (adjusting) & #7772049 (jiangche)
+Are you done?	你做好了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244941 (CK) & #765243 (Martha)
+Are you free?	你有空吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #434238 (lukaszpp) & #10275184 (miaojiandao)
+Are you lost?	您迷路了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #280393 (CK) & #465006 (fucongcong)
+Are you lost?	你迷路了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #280393 (CK) & #465008 (fucongcong)
+Are you nuts?	你不要命啦!	CC-BY 2.0 (France) Attribution: tatoeba.org #2244957 (CK) & #1766125 (sadhen)
+Are you okay?	你没事吧?	CC-BY 2.0 (France) Attribution: tatoeba.org #2281516 (ichivivi20) & #10981515 (Elaineeeeee)
+Are you sure?	你确定吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1326 (brauliobezerra) & #343645 (fucongcong)
+Are you sure?	你确定?	CC-BY 2.0 (France) Attribution: tatoeba.org #1326 (brauliobezerra) & #4208543 (Ethan_lin)
+Be realistic!	现实点!	CC-BY 2.0 (France) Attribution: tatoeba.org #1063982 (CK) & #5092420 (mirrorvan)
+Be realistic.	现实点!	CC-BY 2.0 (France) Attribution: tatoeba.org #3821244 (CK) & #5092420 (mirrorvan)
+Bring him in.	带他进来。	CC-BY 2.0 (France) Attribution: tatoeba.org #307895 (CK) & #794243 (fucongcong)
+Call Tom now.	现在给汤姆打电话。	CC-BY 2.0 (France) Attribution: tatoeba.org #3821963 (CK) & #5685926 (verdastelo9604)
+Can we do it?	我們能做到嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2549796 (CK) & #5865511 (verdastelo9604)
+Can you come?	你能來嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #38302 (CK) & #832793 (Martha)
+Can you read?	你能閱讀嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #5195302 (CK) & #5544841 (egg0073)
+Can you sing?	您会唱歌吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #6358649 (CK) & #10696069 (GlossaMatik)
+Can you swim?	你會游泳嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #16300 (CK) & #771557 (Martha)
+Can you swim?	你能游泳嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #16300 (CK) & #5919528 (xjjAstrus)
+Can you walk?	你能走嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1453950 (Spamster) & #3713825 (egg0073)
+Can you walk?	你們能走嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1453950 (Spamster) & #3713827 (egg0073)
+Come with me.	跟我走。	CC-BY 2.0 (France) Attribution: tatoeba.org #434458 (lukaszpp) & #10699375 (GlossaMatik)
+Come with us.	和我们一起来吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #433696 (CK) & #345794 (fucongcong)
+Did you call?	你打過電話了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #433689 (CK) & #824517 (Martha)
+Do you smoke?	你吸烟吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #506948 (blay_paul) & #406354 (fucongcong)
+Do you smoke?	你抽不抽烟?	CC-BY 2.0 (France) Attribution: tatoeba.org #506948 (blay_paul) & #427174 (GlossaMatik)
+Do you smoke?	您吸烟吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #506948 (blay_paul) & #7767753 (jiangche)
+Do your best.	盡力而為。	CC-BY 2.0 (France) Attribution: tatoeba.org #34011 (CK) & #904876 (Martha)
+Don't be sad.	别伤心。	CC-BY 2.0 (France) Attribution: tatoeba.org #317756 (CK) & #7771891 (jiangche)
+Don't be shy.	不要害羞。	CC-BY 2.0 (France) Attribution: tatoeba.org #390924 (Scott) & #823013 (Martha)
+Don't bother.	不用麻烦了。	CC-BY 2.0 (France) Attribution: tatoeba.org #707182 (CK) & #707183 (Yashanti)
+Don't bug me.	别来烦我。	CC-BY 2.0 (France) Attribution: tatoeba.org #1505979 (weihaiping) & #1505477 (fenfang557)
+Don't ramble.	不要东拉西扯。	CC-BY 2.0 (France) Attribution: tatoeba.org #474584 (CM) & #474583 (GlossaMatik)
+Drive safely.	安全地駕駛。	CC-BY 2.0 (France) Attribution: tatoeba.org #484648 (blay_paul) & #819285 (Martha)
+Drive slowly.	开车慢点。	CC-BY 2.0 (France) Attribution: tatoeba.org #30126 (CK) & #5092212 (mirrorvan)
+Examine this.	调查下这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111839 (CK) & #8696304 (crescat)
+Ghosts exist.	鬼魂是存在的。	CC-BY 2.0 (France) Attribution: tatoeba.org #324442 (CM) & #5102207 (mirrorvan)
+Give it back.	还回去	CC-BY 2.0 (France) Attribution: tatoeba.org #2951862 (CK) & #5975076 (zhangxr91)
+Good evening.	晚上好。	CC-BY 2.0 (France) Attribution: tatoeba.org #333156 (Aurix) & #333158 (fucongcong)
+Good evening.	晚上好!	CC-BY 2.0 (France) Attribution: tatoeba.org #333156 (Aurix) & #6559016 (xjjAstrus)
+Good morning.	早上好!	CC-BY 2.0 (France) Attribution: tatoeba.org #2258234 (_undertoad) & #335381 (fucongcong)
+He got angry.	他生气了。	CC-BY 2.0 (France) Attribution: tatoeba.org #507233 (CM) & #389804 (fucongcong)
+He has a car.	他有辆车。	CC-BY 2.0 (France) Attribution: tatoeba.org #513545 (CK) & #493519 (biglion)
+He likes tea.	他喜歡茶。	CC-BY 2.0 (France) Attribution: tatoeba.org #1098268 (cntrational) & #1436794 (egg0073)
+He lost face.	他丢脸了。	CC-BY 2.0 (France) Attribution: tatoeba.org #400048 (CM) & #400049 (GlossaMatik)
+He loves her.	他愛她。	CC-BY 2.0 (France) Attribution: tatoeba.org #394633 (CK) & #824559 (Martha)
+He was brave.	他很勇敢。	CC-BY 2.0 (France) Attribution: tatoeba.org #476456 (CK) & #825871 (Martha)
+He's out now.	他现在出去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #296462 (CK) & #335030 (fucongcong)
+How annoying!	真烦人。	CC-BY 2.0 (France) Attribution: tatoeba.org #1557994 (melospawn) & #5102293 (mirrorvan)
+How horrible!	真糟糕!	CC-BY 2.0 (France) Attribution: tatoeba.org #1864457 (kerbear407) & #5550163 (verdastelo9604)
+How's school?	学校怎么样?	CC-BY 2.0 (France) Attribution: tatoeba.org #1885868 (CK) & #5096478 (mirrorvan)
+I admire you.	我欣赏你。	CC-BY 2.0 (France) Attribution: tatoeba.org #68937 (CK) & #472364 (fucongcong)
+I almost won.	我几乎赢了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245600 (CK) & #5617203 (verdastelo9604)
+I am Chinese.	我是华人。	CC-BY 2.0 (France) Attribution: tatoeba.org #335138 (CN) & #2629584 (iMaple)
+I am at home.	我在家。	CC-BY 2.0 (France) Attribution: tatoeba.org #29049 (CK) & #336238 (fucongcong)
+I am at home.	我在家裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #29049 (CK) & #919764 (Martha)
+I am curious.	我很好奇。	CC-BY 2.0 (France) Attribution: tatoeba.org #1436 (brauliobezerra) & #335059 (fucongcong)
+I ate apples.	我吃苹果了。	CC-BY 2.0 (France) Attribution: tatoeba.org #3378092 (_undertoad) & #3378091 (GlossaMatik)
+I ate apples.	我吃了蘋果。	CC-BY 2.0 (France) Attribution: tatoeba.org #3378092 (_undertoad) & #8824076 (xjjAstrus)
+I ate caviar.	我吃了魚子醬。	CC-BY 2.0 (France) Attribution: tatoeba.org #2413 (CK) & #917822 (Martha)
+I called Tom.	我給湯姆打了電話。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235710 (CK) & #6119452 (verdastelo9604)
+I can't stay.	我不能留下。	CC-BY 2.0 (France) Attribution: tatoeba.org #1954912 (CK) & #9178049 (xiaohong)
+I can't walk.	我不能走。	CC-BY 2.0 (France) Attribution: tatoeba.org #1955125 (CK) & #7771688 (jiangche)
+I can't walk.	我走不了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1955125 (CK) & #7771689 (jiangche)
+I cried, too.	我也哭了。	CC-BY 2.0 (France) Attribution: tatoeba.org #4497098 (CK) & #10199321 (slo_oth)
+I don't care.	我无所谓。	CC-BY 2.0 (France) Attribution: tatoeba.org #2323 (CK) & #431470 (fucongcong)
+I don't know.	我一无所知。	CC-BY 2.0 (France) Attribution: tatoeba.org #349064 (fatih) & #7772071 (jiangche)
+I don't mind.	我无所谓。	CC-BY 2.0 (France) Attribution: tatoeba.org #257396 (CK) & #431470 (fucongcong)
+I fear death.	我怕死。	CC-BY 2.0 (France) Attribution: tatoeba.org #8974424 (CK) & #335251 (fucongcong)
+I got mugged.	我被抢劫了。	CC-BY 2.0 (France) Attribution: tatoeba.org #6667150 (CK) & #9960188 (GlossaMatik)
+I got robbed.	我被抢劫了。	CC-BY 2.0 (France) Attribution: tatoeba.org #5829164 (CK) & #9960188 (GlossaMatik)
+I have a car.	我有一辆车。	CC-BY 2.0 (France) Attribution: tatoeba.org #252272 (CK) & #342842 (fucongcong)
+I have a cow.	我有一头母牛。	CC-BY 2.0 (France) Attribution: tatoeba.org #2777841 (CM) & #2777842 (GlossaMatik)
+I have a dog.	我有一条狗。	CC-BY 2.0 (France) Attribution: tatoeba.org #378502 (CK) & #414228 (fucongcong)
+I have a map.	我有一張地圖。	CC-BY 2.0 (France) Attribution: tatoeba.org #5829169 (CK) & #6148196 (verdastelo9604)
+I have money.	我有钱。	CC-BY 2.0 (France) Attribution: tatoeba.org #1502828 (CK) & #3378145 (GlossaMatik)
+I have to go.	我该走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887384 (CK) & #8881109 (Rebecca)
+I like beans.	我喜欢豆子。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245931 (CK) & #7767736 (jiangche)
+I like candy.	我喜歡甜食。	CC-BY 2.0 (France) Attribution: tatoeba.org #2745135 (CK) & #1229026 (tsayng)
+I like these.	我喜歡這些東西。	CC-BY 2.0 (France) Attribution: tatoeba.org #4500187 (CK) & #5701328 (verdastelo9604)
+I love music.	我爱音乐。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245965 (CK) & #4620882 (Yashanti)
+I missed you.	我想你。	CC-BY 2.0 (France) Attribution: tatoeba.org #407574 (Scott) & #813490 (fucongcong)
+I missed you.	我想念你。	CC-BY 2.0 (France) Attribution: tatoeba.org #407574 (Scott) & #2180625 (egg0073)
+I need a cab.	我需要一輛出租車。	CC-BY 2.0 (France) Attribution: tatoeba.org #2387428 (CK) & #9179888 (xjjAstrus)
+I need money.	我需要錢。	CC-BY 2.0 (France) Attribution: tatoeba.org #436861 (lukaszpp) & #1959072 (egg0073)
+I see a book.	我看到一本書。	CC-BY 2.0 (France) Attribution: tatoeba.org #816077 (afeinberg) & #816724 (Martha)
+I understand.	我明白了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433468 (CK) & #819294 (Martha)
+I understand.	我懂。	CC-BY 2.0 (France) Attribution: tatoeba.org #433468 (CK) & #10052400 (GlossaMatik)
+I want a box.	我要箱子。	CC-BY 2.0 (France) Attribution: tatoeba.org #11887075 (CK) & #11989561 (corina)
+I want a dog.	我想要一隻狗。	CC-BY 2.0 (France) Attribution: tatoeba.org #2748639 (CM) & #5455270 (egg0073)
+I want a hug.	我想要个抱抱。	CC-BY 2.0 (France) Attribution: tatoeba.org #9999115 (DJ_Saidez) & #10006480 (GlossaMatik)
+I want a map.	我想要一張地圖。	CC-BY 2.0 (France) Attribution: tatoeba.org #8086670 (CM) & #1959991 (egg0073)
+I wrote that.	我寫了那些東西。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247645 (CK) & #5234812 (xjjAstrus)
+I'll sue you.	我要告你。	CC-BY 2.0 (France) Attribution: tatoeba.org #237678 (CK) & #825768 (Martha)
+I'm a waiter.	我是跑堂。	CC-BY 2.0 (France) Attribution: tatoeba.org #5839980 (CK) & #10895462 (xjjAstrus)
+I'm a waiter.	我是服务员。	CC-BY 2.0 (France) Attribution: tatoeba.org #5839980 (CK) & #10895465 (xjjAstrus)
+I'm a waiter.	我是服务生。	CC-BY 2.0 (France) Attribution: tatoeba.org #5839980 (CK) & #10895466 (xjjAstrus)
+I'm all ears.	我洗耳恭聽。	CC-BY 2.0 (France) Attribution: tatoeba.org #320084 (CM) & #827627 (Martha)
+I'm bleeding.	我在流血。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111754 (CK) & #7768262 (jiangche)
+I'm diabetic.	我有糖尿病。	CC-BY 2.0 (France) Attribution: tatoeba.org #5839992 (CK) & #10699400 (GlossaMatik)
+I'm famished.	我肚子饿极了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111735 (CK) & #400030 (GlossaMatik)
+I'm fine now.	已经没事了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247991 (CK) & #5096416 (mirrorvan)
+I'm free now.	我现在有空了。	CC-BY 2.0 (France) Attribution: tatoeba.org #257494 (CK) & #405717 (fucongcong)
+I'm freezing.	我冻死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #21140 (CK) & #10926493 (xjjAstrus)
+I'm innocent.	我是清白的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1563110 (CK) & #1772684 (sadhen)
+I'm new here.	我是新來的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1654228 (Spamster) & #6931240 (verdastelo9604)
+I'm not busy.	我没在忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #261730 (CK) & #7768164 (jiangche)
+I'm not lazy.	我不懒。	CC-BY 2.0 (France) Attribution: tatoeba.org #3330368 (CK) & #9958214 (GlossaMatik)
+I'm not sick.	我没生病。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248178 (CK) & #3031836 (sadhen)
+I'm not sure.	我不确定。	CC-BY 2.0 (France) Attribution: tatoeba.org #1568769 (Sharaf78) & #4764636 (ryanwoo)
+I'm not well.	我身体不适。	CC-BY 2.0 (France) Attribution: tatoeba.org #1474222 (al_ex_an_der) & #1424250 (sadhen)
+I'm pregnant.	我怀孕了。	CC-BY 2.0 (France) Attribution: tatoeba.org #348596 (CM) & #333464 (fucongcong)
+I'm reformed.	我改过自新了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111696 (CK) & #9959595 (GlossaMatik)
+I'm so happy.	我好高興。	CC-BY 2.0 (France) Attribution: tatoeba.org #321673 (CK) & #826258 (Martha)
+I'm so happy.	我太高兴了。	CC-BY 2.0 (France) Attribution: tatoeba.org #321673 (CK) & #3378044 (GlossaMatik)
+I'm so tired!	我好累。	CC-BY 2.0 (France) Attribution: tatoeba.org #967876 (CM) & #785298 (Martha)
+I'm so tired!	我好累啊。	CC-BY 2.0 (France) Attribution: tatoeba.org #967876 (CM) & #10019476 (GlossaMatik)
+I'm so tired.	我好累。	CC-BY 2.0 (France) Attribution: tatoeba.org #785435 (hrin) & #785298 (Martha)
+I'm so tired.	我好累啊。	CC-BY 2.0 (France) Attribution: tatoeba.org #785435 (hrin) & #10019476 (GlossaMatik)
+I'm the best.	我是最好的。	CC-BY 2.0 (France) Attribution: tatoeba.org #755242 (sctld) & #409665 (egg0073)
+I'm thrilled.	我激動不已。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111678 (CK) & #6091682 (verdastelo9604)
+I'm to blame.	这是我的错。	CC-BY 2.0 (France) Attribution: tatoeba.org #2057759 (CK) & #790573 (GlossaMatik)
+I've decided.	我決定了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111662 (CK) & #6114438 (verdastelo9604)
+I've no idea.	我一无所知。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248411 (CK) & #7772071 (jiangche)
+I've seen it.	我見過。	CC-BY 2.0 (France) Attribution: tatoeba.org #254808 (Swift) & #824531 (Martha)
+Ideas matter.	想法很重要。	CC-BY 2.0 (France) Attribution: tatoeba.org #8460518 (shekitten) & #8463682 (gumblex)
+Is Monday OK?	周一可以吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2248475 (CK) & #8765060 (crescat)
+Is Tom drunk?	汤姆喝醉了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244596 (CK) & #8696454 (morningstar)
+Is Tom there?	汤姆在吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886873 (CK) & #8696442 (morningstar)
+Is that love?	那是愛嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #955144 (CM) & #3957684 (egg0073)
+Is that true?	真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #322153 (CK) & #1397360 (mtdot)
+Is this tofu?	这是不是豆腐?	CC-BY 2.0 (France) Attribution: tatoeba.org #3377914 (CM) & #3377913 (GlossaMatik)
+It's amazing.	太神奇了。	CC-BY 2.0 (France) Attribution: tatoeba.org #52021 (CM) & #1415890 (sadhen)
+It's bedtime.	睡觉时间到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #498458 (adjusting) & #406727 (fucongcong)
+It's obvious.	很明顯。	CC-BY 2.0 (France) Attribution: tatoeba.org #2283741 (CK) & #6585423 (verdastelo9604)
+It's raining.	下雨了。	CC-BY 2.0 (France) Attribution: tatoeba.org #456237 (lukaszpp) & #346836 (fucongcong)
+It's raining.	在下雨。	CC-BY 2.0 (France) Attribution: tatoeba.org #456237 (lukaszpp) & #409681 (egg0073)
+It's snowing.	下雪了。	CC-BY 2.0 (France) Attribution: tatoeba.org #448963 (CK) & #780269 (Martha)
+It's snowing.	正在下雪。	CC-BY 2.0 (France) Attribution: tatoeba.org #448963 (CK) & #819440 (Martha)
+It's so hard.	太难了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249260 (CK) & #5091653 (mirrorvan)
+It's too big.	它太大了。	CC-BY 2.0 (France) Attribution: tatoeba.org #435409 (CK) & #824484 (Martha)
+It's too hot.	太熱了。	CC-BY 2.0 (France) Attribution: tatoeba.org #267106 (CK) & #5114721 (xjjAstrus)
+Keep looking.	繼續看!	CC-BY 2.0 (France) Attribution: tatoeba.org #2111645 (CK) & #3982107 (tsayng)
+Keep reading.	继续看。	CC-BY 2.0 (France) Attribution: tatoeba.org #1815066 (pne) & #5092572 (mirrorvan)
+Keep smiling.	保持微笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111637 (CK) & #778735 (Martha)
+Keep working.	繼續工作!	CC-BY 2.0 (France) Attribution: tatoeba.org #2111629 (CK) & #3982106 (tsayng)
+Let Tom live.	給湯姆活路!	CC-BY 2.0 (France) Attribution: tatoeba.org #2262231 (CK) & #8215729 (verdastelo9604)
+Let me think.	讓我想一想。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249525 (CK) & #4504253 (egg0073)
+Let's go now.	我们现在去吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #477190 (CM) & #476615 (fucongcong)
+Life goes on.	人生會繼續。	CC-BY 2.0 (France) Attribution: tatoeba.org #477368 (BlueLagoon) & #3982108 (tsayng)
+Look closely.	仔細看	CC-BY 2.0 (France) Attribution: tatoeba.org #2111608 (CK) & #5113359 (xjjAstrus)
+Mary came in.	瑪麗進來了。	CC-BY 2.0 (France) Attribution: tatoeba.org #388762 (CK) & #826109 (Martha)
+Mary is tall.	瑪麗很高。	CC-BY 2.0 (France) Attribution: tatoeba.org #31892 (CK) & #824585 (Martha)
+May I go now?	我现在能去了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2846104 (englishchinese) & #476637 (fucongcong)
+Move quietly.	轻轻地移动。	CC-BY 2.0 (France) Attribution: tatoeba.org #890756 (Scott) & #5102260 (mirrorvan)
+My eyes hurt.	我的眼睛痛。	CC-BY 2.0 (France) Attribution: tatoeba.org #417801 (CK) & #826045 (Martha)
+No one knows.	沒有人知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #449023 (CK) & #825148 (Martha)
+No one knows.	谁也不知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #449023 (CK) & #8736993 (crescat)
+Nobody asked.	没人问过。	CC-BY 2.0 (France) Attribution: tatoeba.org #1737422 (Spamster) & #5092545 (mirrorvan)
+Nobody knows.	谁也不知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841593 (CK) & #8736993 (crescat)
+Open the box.	打開箱子。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249744 (CK) & #6293087 (verdastelo9604)
+Please hurry.	请抓紧时间。	CC-BY 2.0 (France) Attribution: tatoeba.org #19733 (Swift) & #5092158 (mirrorvan)
+Please leave.	請你離開。	CC-BY 2.0 (France) Attribution: tatoeba.org #516403 (CK) & #819382 (Martha)
+Please smile.	请笑一笑!	CC-BY 2.0 (France) Attribution: tatoeba.org #1852296 (CK) & #10617861 (han637376)
+See you soon!	一会儿见!	CC-BY 2.0 (France) Attribution: tatoeba.org #32672 (CK) & #337874 (fucongcong)
+See you soon!	一會兒見!	CC-BY 2.0 (France) Attribution: tatoeba.org #32672 (CK) & #6559028 (xjjAstrus)
+See you then.	到時候見。	CC-BY 2.0 (France) Attribution: tatoeba.org #47013 (CK) & #824671 (Martha)
+Shame on you!	你真丢脸!	CC-BY 2.0 (France) Attribution: tatoeba.org #277287 (CK) & #791631 (fucongcong)
+Shame on you.	你真丢脸!	CC-BY 2.0 (France) Attribution: tatoeba.org #2649236 (CK) & #791631 (fucongcong)
+She is quiet.	她很安静。	CC-BY 2.0 (France) Attribution: tatoeba.org #315385 (CK) & #6307284 (gumblex)
+She is upset.	她心情不好。	CC-BY 2.0 (France) Attribution: tatoeba.org #979271 (Serhiy) & #843498 (fucongcong)
+She knows me.	她认识我。	CC-BY 2.0 (France) Attribution: tatoeba.org #314454 (CK) & #4970146 (wzhd)
+She may come.	她可以來。	CC-BY 2.0 (France) Attribution: tatoeba.org #388731 (CK) & #826110 (Martha)
+She may come.	她也許來。	CC-BY 2.0 (France) Attribution: tatoeba.org #388731 (CK) & #826112 (Martha)
+Someone came.	有人来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #908398 (CK) & #5092398 (mirrorvan)
+Speak softly.	你说话小点声。	CC-BY 2.0 (France) Attribution: tatoeba.org #2800093 (CK) & #7767745 (jiangche)
+Stay with us.	和我们留在一起吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #660408 (CM) & #7768128 (jiangche)
+Stop gawking.	别再傻看着。	CC-BY 2.0 (France) Attribution: tatoeba.org #693620 (CM) & #5102246 (mirrorvan)
+Stop reading.	别再念了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1738962 (CK) & #5092552 (mirrorvan)
+Stop staring.	别再盯着了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1943890 (Spamster) & #5092672 (mirrorvan)
+Stop talking.	不要说话了。	CC-BY 2.0 (France) Attribution: tatoeba.org #277720 (CK) & #5092251 (mirrorvan)
+Stop whining.	别再埋怨了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2029950 (Spamster) & #5102375 (mirrorvan)
+Stop yelling!	别再喊叫了!	CC-BY 2.0 (France) Attribution: tatoeba.org #1908512 (Spamster) & #5092620 (mirrorvan)
+Sweet dreams!	祝你好梦。	CC-BY 2.0 (France) Attribution: tatoeba.org #30054 (CK) & #3781063 (Debbie_Linder)
+Take it easy.	放輕鬆。	CC-BY 2.0 (France) Attribution: tatoeba.org #20344 (CK) & #825917 (Martha)
+Take it easy.	別緊張。	CC-BY 2.0 (France) Attribution: tatoeba.org #20344 (CK) & #825918 (Martha)
+Take me home.	带我回家。	CC-BY 2.0 (France) Attribution: tatoeba.org #462494 (lukaszpp) & #465919 (fucongcong)
+Tell us more.	告訴我們多一點。	CC-BY 2.0 (France) Attribution: tatoeba.org #1224954 (CK) & #4754633 (egg0073)
+That is mine.	那是我的。	CC-BY 2.0 (France) Attribution: tatoeba.org #67126 (CK) & #6728904 (verdastelo9604)
+That's crazy.	那是瘋狂的。	CC-BY 2.0 (France) Attribution: tatoeba.org #509156 (CK) & #826184 (Martha)
+That's great.	那真是太好了。	CC-BY 2.0 (France) Attribution: tatoeba.org #462546 (lukaszpp) & #5978354 (verdastelo9604)
+That's right!	對了!	CC-BY 2.0 (France) Attribution: tatoeba.org #433490 (CK) & #8215699 (verdastelo9604)
+That's right.	对!	CC-BY 2.0 (France) Attribution: tatoeba.org #1216015 (AlanRominger) & #4952918 (murr)
+That's weird.	奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #320329 (CK) & #917754 (GlossaMatik)
+That's wrong.	不对。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111384 (CK) & #10961087 (xjjAstrus)
+They refused.	他們拒絕了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111364 (CK) & #6073881 (verdastelo9604)
+They're fake.	它们是假的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111296 (CK) & #7769298 (jiangche)
+They're gone.	他们离开了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1898125 (CK) & #8696255 (crescat)
+They're kids.	他们是孩子。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111267 (CK) & #3579720 (CLARET)
+They're kids.	她们是孩子。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111267 (CK) & #3579729 (CLARET)
+This is mine.	这是我的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2233709 (CK) & #4760167 (ryanwoo)
+This is neat.	这很棒。	CC-BY 2.0 (France) Attribution: tatoeba.org #7371380 (Hybrid) & #10021182 (GlossaMatik)
+This is tofu.	这是豆腐。	CC-BY 2.0 (France) Attribution: tatoeba.org #3377900 (CM) & #3377899 (GlossaMatik)
+This is true.	這是真的。	CC-BY 2.0 (France) Attribution: tatoeba.org #433544 (CK) & #771357 (Martha)
+Tom can walk.	汤姆能走路。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236150 (CK) & #10260810 (GlossaMatik)
+Tom followed.	汤姆跟着。	CC-BY 2.0 (France) Attribution: tatoeba.org #3721793 (CM) & #5869907 (verdastelo9604)
+Tom is blind.	汤姆瞎了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1536837 (Spamster) & #9971592 (GlossaMatik)
+Tom is clean.	湯姆是乾净的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2202652 (CK) & #6923176 (verdastelo9604)
+Tom is drunk.	汤姆醉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236670 (CK) & #5142201 (musclegirlxyp)
+Tom is happy.	湯姆高興。	CC-BY 2.0 (France) Attribution: tatoeba.org #1025016 (CK) & #6624675 (verdastelo9604)
+Tom is smart.	汤姆脑子好使。	CC-BY 2.0 (France) Attribution: tatoeba.org #1024870 (CK) & #5072415 (musclegirlxyp)
+Tom is tired.	湯姆累了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203461 (CK) & #6098473 (verdastelo9604)
+Tom just ate.	汤姆刚吃完饭。	CC-BY 2.0 (France) Attribution: tatoeba.org #6358749 (CK) & #11698444 (Jokubas)
+Tom knows me.	Tom認識我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2237133 (CK) & #3957663 (egg0073)
+Tom sat down.	汤姆坐下了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2237642 (CK) & #4977379 (musclegirlxyp)
+Tom told him.	汤姆告诉了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #2238815 (CK) & #5576791 (verdastelo9604)
+Tom vanished.	汤姆不见了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203879 (CK) & #5092425 (mirrorvan)
+Tom was full.	汤姆饱了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549746 (CK) & #5780567 (verdastelo9604)
+Tom's lonely.	汤姆很孤独。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107562 (CK) & #7781773 (jiangche)
+Tom's thirty.	汤姆今年三十岁。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107623 (CK) & #8738755 (crescat)
+Tom, wake up.	汤姆,快起来!	CC-BY 2.0 (France) Attribution: tatoeba.org #2429769 (CK) & #2431750 (fenfang557)
+Try it again.	再試一次。	CC-BY 2.0 (France) Attribution: tatoeba.org #433594 (CK) & #824621 (Martha)
+Try it again.	再试一下。	CC-BY 2.0 (France) Attribution: tatoeba.org #433594 (CK) & #8496264 (maxine)
+Unbelievable!	難以置信!	CC-BY 2.0 (France) Attribution: tatoeba.org #268828 (CM) & #1423421 (cienias)
+Unbelievable!	难以置信!	CC-BY 2.0 (France) Attribution: tatoeba.org #268828 (CM) & #4505070 (dongwang)
+Vote for Tom.	投票給湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2240284 (CK) & #6101261 (verdastelo9604)
+Wait and see.	走著瞧	CC-BY 2.0 (France) Attribution: tatoeba.org #945292 (nibuen) & #6915645 (zzztat)
+We are happy.	我們很快樂。	CC-BY 2.0 (France) Attribution: tatoeba.org #438940 (CK) & #908550 (Martha)
+We can begin.	我們能開始。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241034 (CK) & #6145407 (verdastelo9604)
+We know that.	我们知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241138 (CK) & #5102291 (mirrorvan)
+We know this.	我们知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241139 (CK) & #5102291 (mirrorvan)
+We need more.	我們需要更多。	CC-BY 2.0 (France) Attribution: tatoeba.org #874919 (CK) & #4754631 (egg0073)
+We overslept.	我们睡过头了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107667 (CK) & #3399432 (GlossaMatik)
+We succeeded.	我们成功了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841559 (CK) & #5102311 (mirrorvan)
+We surrender.	我們投降。	CC-BY 2.0 (France) Attribution: tatoeba.org #2246291 (Hybrid) & #6064608 (verdastelo9604)
+We're adults.	我们已是成年人了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107331 (CK) & #7772576 (jiangche)
+We're heroes.	我們是英雄。	CC-BY 2.0 (France) Attribution: tatoeba.org #8918365 (CK) & #9155254 (shou)
+We're hiding.	我们在藏着。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203697 (CK) & #5640754 (verdastelo9604)
+We're humans.	我们是人。	CC-BY 2.0 (France) Attribution: tatoeba.org #9494304 (DJ_Saidez) & #335262 (fucongcong)
+We're people.	我们是人。	CC-BY 2.0 (France) Attribution: tatoeba.org #9494600 (DJ_Saidez) & #335262 (fucongcong)
+Welcome back.	欢迎回来。	CC-BY 2.0 (France) Attribution: tatoeba.org #1627336 (Spamster) & #5092518 (mirrorvan)
+Welcome home.	欢迎回家。	CC-BY 2.0 (France) Attribution: tatoeba.org #64693 (Scott) & #333068 (fucongcong)
+What is love?	愛是什麼?	CC-BY 2.0 (France) Attribution: tatoeba.org #515085 (tamsanh) & #904854 (Martha)
+What is that?	那是什么?	CC-BY 2.0 (France) Attribution: tatoeba.org #464592 (lukaszpp) & #465906 (fucongcong)
+What is that?	那是什么啊?	CC-BY 2.0 (France) Attribution: tatoeba.org #464592 (lukaszpp) & #1420649 (sadhen)
+What is this?	這是什麼啊?	CC-BY 2.0 (France) Attribution: tatoeba.org #392210 (sysko) & #4 (Martha)
+What is this?	這是什麼?	CC-BY 2.0 (France) Attribution: tatoeba.org #392210 (sysko) & #734981 (Martha)
+Where is Tom?	汤姆在哪儿?	CC-BY 2.0 (France) Attribution: tatoeba.org #2240332 (CK) & #4956715 (musclegirlxyp)
+Who built it?	这是谁建的?	CC-BY 2.0 (France) Attribution: tatoeba.org #276317 (CK) & #334743 (fucongcong)
+Who wants it?	谁想要它?	CC-BY 2.0 (France) Attribution: tatoeba.org #2011277 (CK) & #10182737 (slo_oth)
+Who was here?	谁来了这里?	CC-BY 2.0 (France) Attribution: tatoeba.org #2254890 (CK) & #6047439 (verdastelo9604)
+Years passed.	多少年过去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #282197 (CK) & #5092260 (mirrorvan)
+You are good.	你很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #1120755 (cntrational) & #4881733 (musclegirlxyp)
+You're drunk.	你喝醉了!	CC-BY 2.0 (France) Attribution: tatoeba.org #1895619 (CK) & #7768302 (jiangche)
+You're lying.	你在撒谎。	CC-BY 2.0 (France) Attribution: tatoeba.org #1358271 (CK) & #332572 (fucongcong)
+You're sharp.	你很聰明。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203340 (CK) & #778737 (Martha)
+You're smart.	你很聰明。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203371 (CK) & #778737 (Martha)
+Anything else?	还有别的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #434224 (lukaszpp) & #5102215 (mirrorvan)
+Are they cute?	他們可愛嗎 ?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244915 (CK) & #11940010 (corina)
+Are you angry?	您生气了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #476326 (Hybrid) & #476597 (fucongcong)
+Are you angry?	你生气了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #476326 (Hybrid) & #476598 (fucongcong)
+Are you happy?	你快樂嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #16164 (CK) & #819454 (Martha)
+Are you happy?	你开心吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #16164 (CK) & #8924804 (crescat)
+Are you ready?	您准备好了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #376424 (saeb) & #799300 (fucongcong)
+Are you ready?	你们准备好了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #376424 (saeb) & #799301 (fucongcong)
+Are you ready?	你准备好了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #376424 (saeb) & #799302 (fucongcong)
+Are you there?	你在吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #30970 (CK) & #479053 (GlossaMatik)
+Are you tired?	你累了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #317830 (CK) & #727916 (Martha)
+Are you tired?	你覺得累嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #317830 (CK) & #3742432 (egg0073)
+Ask Tom again.	再问一下汤姆吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235643 (CK) & #8700793 (crescat)
+Bring the key.	帶鑰匙來。	CC-BY 2.0 (France) Attribution: tatoeba.org #507763 (CM) & #6086840 (verdastelo9604)
+Call security!	叫保安来!	CC-BY 2.0 (France) Attribution: tatoeba.org #1682859 (Spamster) & #5092526 (mirrorvan)
+Can I have it?	可以给我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3172313 (CK) & #8725787 (crescat)
+Can you drive?	您会开车吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #69237 (CK) & #472411 (fucongcong)
+Can you skate?	你会溜冰吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #70016 (CK) & #332557 (fucongcong)
+Cats are cute.	猫咪很可爱。	CC-BY 2.0 (France) Attribution: tatoeba.org #5649044 (Hybrid) & #10981526 (Elaineeeeee)
+Check, please.	請結帳。	CC-BY 2.0 (France) Attribution: tatoeba.org #21098 (CK) & #819284 (Martha)
+Did Tom reply?	汤姆有回应了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3395387 (CK) & #4885087 (musclegirlxyp)
+Did you write?	你写吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #8108705 (haukie) & #6850332 (mao)
+Do I know you?	我认识你吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1461944 (Spamster) & #1790170 (sadhen)
+Do you follow?	懂了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #319999 (CK) & #2032276 (ydcok)
+Do you get it?	懂么?	CC-BY 2.0 (France) Attribution: tatoeba.org #1538886 (CK) & #2367531 (GlossaMatik)
+Don't be rude.	不要失礼。	CC-BY 2.0 (France) Attribution: tatoeba.org #1860512 (CK) & #9963168 (GlossaMatik)
+Don't give up!	不要放棄!	CC-BY 2.0 (France) Attribution: tatoeba.org #278606 (CK) & #785373 (Martha)
+Don't hate me.	不要恨我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245350 (CK) & #767118 (Martha)
+Don't mind me.	不要管我。	CC-BY 2.0 (France) Attribution: tatoeba.org #249787 (CK) & #405821 (GlossaMatik)
+Don't tell me.	不要告诉我。	CC-BY 2.0 (France) Attribution: tatoeba.org #239720 (CK) & #9968947 (GlossaMatik)
+Draw a circle.	画一个圈。	CC-BY 2.0 (France) Attribution: tatoeba.org #25954 (CK) & #630268 (CLARET)
+Eat and drink.	吃吧,喝吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #37659 (CM) & #4760009 (ryanwoo)
+Flowers bloom.	鮮花盛開。	CC-BY 2.0 (France) Attribution: tatoeba.org #23749 (CK) & #819286 (Martha)
+Hang in there.	坚持。	CC-BY 2.0 (France) Attribution: tatoeba.org #2173924 (Hybrid) & #5092492 (mirrorvan)
+He dug a hole.	他挖了一个洞。	CC-BY 2.0 (France) Attribution: tatoeba.org #295871 (CK) & #414486 (fucongcong)
+He has a cold.	他着凉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #289527 (CK) & #334129 (fucongcong)
+He is a thief.	这是一个小偷。	CC-BY 2.0 (France) Attribution: tatoeba.org #301724 (Dorenda) & #630270 (CLARET)
+He is at home.	他在家裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #816868 (Cindrogriza) & #816870 (Martha)
+He is my type!	他是我的菜!	CC-BY 2.0 (France) Attribution: tatoeba.org #284379 (CK) & #817282 (fucongcong)
+He is no fool.	他不是傻子。	CC-BY 2.0 (France) Attribution: tatoeba.org #302396 (CM) & #429141 (fucongcong)
+He is out now.	他现在出去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #289262 (CK) & #335030 (fucongcong)
+He lied to me.	他对我撒谎。	CC-BY 2.0 (France) Attribution: tatoeba.org #297564 (CK) & #9973007 (GlossaMatik)
+He lied to us.	他欺騙了我們。	CC-BY 2.0 (France) Attribution: tatoeba.org #388832 (CK) & #826013 (Martha)
+He sells cars.	他賣車子。	CC-BY 2.0 (France) Attribution: tatoeba.org #434996 (lukaszpp) & #778540 (Martha)
+He shot at me.	他槍擊了我。	CC-BY 2.0 (France) Attribution: tatoeba.org #71962 (CK) & #793302 (Martha)
+He tries hard.	他努力地嘗試。	CC-BY 2.0 (France) Attribution: tatoeba.org #293742 (CK) & #882979 (Martha)
+He walks fast.	他走路很快。	CC-BY 2.0 (France) Attribution: tatoeba.org #1257313 (CK) & #8888278 (crescat)
+He wants more.	他想要更多。	CC-BY 2.0 (France) Attribution: tatoeba.org #1723957 (Spamster) & #4754634 (egg0073)
+He's American.	他是美国人。	CC-BY 2.0 (France) Attribution: tatoeba.org #5226614 (jaxhere) & #332941 (fucongcong)
+He's not home.	他不在家。	CC-BY 2.0 (France) Attribution: tatoeba.org #1310853 (donkirkby) & #765282 (Martha)
+He's studying.	他在讀書。	CC-BY 2.0 (France) Attribution: tatoeba.org #593281 (CK) & #3713556 (egg0073)
+Hi, everybody.	大家好!	CC-BY 2.0 (France) Attribution: tatoeba.org #3924471 (BHO) & #466655 (GlossaMatik)
+How about you?	你怎麼樣?	CC-BY 2.0 (France) Attribution: tatoeba.org #16491 (CK) & #825882 (Martha)
+How about you?	那你呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #16491 (CK) & #825883 (Martha)
+How about you?	你們呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #16491 (CK) & #1623187 (egg0073)
+How about you?	您呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #16491 (CK) & #1623188 (Yashanti)
+How beautiful!	多美啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #1913083 (CK) & #5092623 (mirrorvan)
+I am diabetic.	我有糖尿病。	CC-BY 2.0 (France) Attribution: tatoeba.org #436327 (lukaszpp) & #10699400 (GlossaMatik)
+I am divorced.	我离婚了。	CC-BY 2.0 (France) Attribution: tatoeba.org #436329 (lukaszpp) & #471133 (fucongcong)
+I am sneezing.	我打喷嚏了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1661181 (Amastan) & #9970071 (GlossaMatik)
+I am very sad.	我很难过。	CC-BY 2.0 (France) Attribution: tatoeba.org #1136927 (soj4l) & #333736 (fucongcong)
+I approved it.	我同意。	CC-BY 2.0 (France) Attribution: tatoeba.org #5840527 (CK) & #333224 (fucongcong)
+I believe you.	我相信你。	CC-BY 2.0 (France) Attribution: tatoeba.org #17421 (CK) & #335418 (fucongcong)
+I came by car.	我开车来的。	CC-BY 2.0 (France) Attribution: tatoeba.org #5829211 (CK) & #10230465 (GlossaMatik)
+I can feel it.	我感觉得到它。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841705 (CK) & #10699360 (GlossaMatik)
+I can hear it.	我听得到。	CC-BY 2.0 (France) Attribution: tatoeba.org #6358574 (CK) & #8727966 (crescat)
+I can see Tom.	我看得见汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2301319 (CK) & #4977389 (musclegirlxyp)
+I can't do it.	我無法做到這一點。	CC-BY 2.0 (France) Attribution: tatoeba.org #25544 (CK) & #793250 (Martha)
+I can't do it.	我做不到。	CC-BY 2.0 (France) Attribution: tatoeba.org #25544 (CK) & #7768005 (jiangche)
+I can't leave.	我不能走。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245649 (CK) & #7771688 (jiangche)
+I can't leave.	我走不了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245649 (CK) & #7771689 (jiangche)
+I despise you.	我鄙视你。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245678 (CK) & #5067373 (jiaweikai)
+I did my best.	我做得好到不能再好了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1075109 (shanghainese) & #335046 (fucongcong)
+I didn't pass.	我没通过。	CC-BY 2.0 (France) Attribution: tatoeba.org #5840503 (CK) & #5931757 (verdastelo9604)
+I didn't sing.	我沒唱。	CC-BY 2.0 (France) Attribution: tatoeba.org #2315009 (CK) & #10040357 (verdastelo9604)
+I don't smoke.	我不抽烟。	CC-BY 2.0 (France) Attribution: tatoeba.org #40662 (CK) & #398950 (GlossaMatik)
+I fed the dog.	我餵過狗了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1988362 (CK) & #727575 (Martha)
+I feel lonely.	我觉得很孤独。	CC-BY 2.0 (France) Attribution: tatoeba.org #1487874 (sugoi) & #334544 (fucongcong)
+I feel unwell.	我感觉不舒服。	CC-BY 2.0 (France) Attribution: tatoeba.org #1605758 (fanty) & #501698 (fucongcong)
+I felt lonely.	我觉得很孤独。	CC-BY 2.0 (France) Attribution: tatoeba.org #257310 (CK) & #334544 (fucongcong)
+I got it free.	我是免費得到的。	CC-BY 2.0 (France) Attribution: tatoeba.org #42714 (CM) & #886567 (Martha)
+I hate French.	我讨厌法语。	CC-BY 2.0 (France) Attribution: tatoeba.org #2451690 (CK) & #10204580 (GlossaMatik)
+I hate winter.	我恨冬天。	CC-BY 2.0 (France) Attribution: tatoeba.org #2516436 (CK) & #10260800 (GlossaMatik)
+I hate winter.	我讨厌冬天。	CC-BY 2.0 (France) Attribution: tatoeba.org #2516436 (CK) & #10260801 (GlossaMatik)
+I have a bike.	我有一輛自行車。	CC-BY 2.0 (France) Attribution: tatoeba.org #5829218 (CK) & #5112366 (xjjAstrus)
+I have a boat.	我有一艘小船。	CC-BY 2.0 (France) Attribution: tatoeba.org #5829220 (CK) & #9179805 (xjjAstrus)
+I have a cold.	我感冒了。	CC-BY 2.0 (France) Attribution: tatoeba.org #321954 (CK) & #488753 (GlossaMatik)
+I have a home.	我有一个家。	CC-BY 2.0 (France) Attribution: tatoeba.org #1786134 (gleki) & #1786136 (sadhen)
+I have an egg.	我有一只蛋。	CC-BY 2.0 (France) Attribution: tatoeba.org #262179 (CK) & #791582 (fucongcong)
+I have asthma.	我有哮喘。	CC-BY 2.0 (France) Attribution: tatoeba.org #5829223 (CK) & #10699398 (GlossaMatik)
+I have cancer.	我有癌症。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245875 (CK) & #10699402 (GlossaMatik)
+I have to win.	我必须赢。	CC-BY 2.0 (France) Attribution: tatoeba.org #1744787 (Amastan) & #5780576 (verdastelo9604)
+I just got up.	我刚才起床了。	CC-BY 2.0 (France) Attribution: tatoeba.org #398493 (CM) & #398497 (GlossaMatik)
+I like soccer.	我喜歡足球。	CC-BY 2.0 (France) Attribution: tatoeba.org #5840429 (CK) & #5568572 (egg0073)
+I like sports.	我喜歡運動。	CC-BY 2.0 (France) Attribution: tatoeba.org #435162 (CK) & #771412 (Martha)
+I like to eat.	我喜歡吃。	CC-BY 2.0 (France) Attribution: tatoeba.org #773320 (marloncori) & #1225693 (tsayng)
+I like to run.	我喜欢跑步。	CC-BY 2.0 (France) Attribution: tatoeba.org #259193 (CK) & #363979 (fucongcong)
+I lost my key.	我钥匙丢了。	CC-BY 2.0 (France) Attribution: tatoeba.org #460058 (saasmath) & #9970755 (GlossaMatik)
+I love French.	我爱法语。	CC-BY 2.0 (France) Attribution: tatoeba.org #2451688 (CK) & #10696118 (GlossaMatik)
+I love coffee.	我愛咖啡。	CC-BY 2.0 (France) Attribution: tatoeba.org #916292 (CK) & #6105239 (verdastelo9604)
+I love movies.	我愛電影。	CC-BY 2.0 (France) Attribution: tatoeba.org #521657 (CK) & #824560 (Martha)
+I love nature.	我愛大自然。	CC-BY 2.0 (France) Attribution: tatoeba.org #769668 (Zifre) & #769662 (Martha)
+I love sports.	我喜歡運動。	CC-BY 2.0 (France) Attribution: tatoeba.org #930030 (CM) & #771412 (Martha)
+I miss Boston.	我想念波士頓。	CC-BY 2.0 (France) Attribution: tatoeba.org #2387234 (CK) & #5548480 (egg0073)
+I must go now.	我現在必須走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #486448 (CK) & #826159 (Martha)
+I need a taxi.	我需要一輛出租車。	CC-BY 2.0 (France) Attribution: tatoeba.org #5840395 (CK) & #9179888 (xjjAstrus)
+I need advice.	我需要些建议。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245998 (CK) & #7774791 (jiangche)
+I need to try.	我需要尝试。	CC-BY 2.0 (France) Attribution: tatoeba.org #2387771 (CK) & #5983608 (verdastelo9604)
+I respect Tom.	我尊敬湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235733 (CK) & #6333802 (verdastelo9604)
+I saw nothing.	我什麼都沒看見。	CC-BY 2.0 (France) Attribution: tatoeba.org #256395 (CK) & #765346 (Martha)
+I should obey.	我應該服從。	CC-BY 2.0 (France) Attribution: tatoeba.org #7830346 (sharris123) & #5500531 (egg0073)
+I think I can.	我想我可以。	CC-BY 2.0 (France) Attribution: tatoeba.org #433759 (CK) & #819370 (Martha)
+I use Firefox.	我使用火狐浏览器。	CC-BY 2.0 (France) Attribution: tatoeba.org #430893 (CK) & #1783888 (sadhen)
+I use Firefox.	我使用火狐。	CC-BY 2.0 (France) Attribution: tatoeba.org #430893 (CK) & #1783889 (sadhen)
+I use Twitter.	我用Twitter。	CC-BY 2.0 (France) Attribution: tatoeba.org #1279106 (donkirkby) & #474921 (egg0073)
+I want a boat.	我想要一艘船。	CC-BY 2.0 (France) Attribution: tatoeba.org #3210440 (chris3spice) & #8696251 (crescat)
+I want a book.	我想要本书。	CC-BY 2.0 (France) Attribution: tatoeba.org #261737 (CK) & #3376538 (go_oo)
+I want to cry.	我想哭。	CC-BY 2.0 (France) Attribution: tatoeba.org #452275 (CM) & #334542 (fucongcong)
+I want to die.	我想死	CC-BY 2.0 (France) Attribution: tatoeba.org #2011280 (CK) & #6388809 (qazz0003)
+I was at home.	我刚才在家。	CC-BY 2.0 (France) Attribution: tatoeba.org #1300804 (CK) & #1394842 (mtdot)
+I was so cold.	我很冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549720 (CK) & #6059538 (verdastelo9604)
+I'll buy this.	我要買這個。	CC-BY 2.0 (France) Attribution: tatoeba.org #434015 (CK) & #832955 (Martha)
+I'll call you.	我会打电话给你。	CC-BY 2.0 (France) Attribution: tatoeba.org #624894 (saeb) & #2163111 (sadhen)
+I'll eat here.	我會在這裡吃飯。	CC-BY 2.0 (France) Attribution: tatoeba.org #449106 (CK) & #819472 (Martha)
+I'm Tom's dad.	我是汤姆的父亲。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235783 (CK) & #9958339 (GlossaMatik)
+I'm Tom's dad.	我是汤姆的爸爸。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235783 (CK) & #9958340 (GlossaMatik)
+I'm a student.	我是學生。	CC-BY 2.0 (France) Attribution: tatoeba.org #567368 (jakov) & #3713544 (egg0073)
+I'm a student.	我是个学生。	CC-BY 2.0 (France) Attribution: tatoeba.org #567368 (jakov) & #7768226 (jiangche)
+I'm a teacher.	我是個老師。	CC-BY 2.0 (France) Attribution: tatoeba.org #256929 (CK) & #926774 (Martha)
+I'm exhausted.	我累死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #20405 (CK) & #333923 (fucongcong)
+I'm exhausted.	困死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #20405 (CK) & #2431733 (fenfang557)
+I'm exhausted.	我很疲惫。	CC-BY 2.0 (France) Attribution: tatoeba.org #20405 (CK) & #10058468 (slo_oth)
+I'm here, too.	我也在这里。	CC-BY 2.0 (France) Attribution: tatoeba.org #4397633 (CK) & #3378127 (GlossaMatik)
+I'm home, Mom!	我回来了,妈!	CC-BY 2.0 (France) Attribution: tatoeba.org #40899 (CM) & #10260783 (GlossaMatik)
+I'm impatient.	我是个急性子。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111721 (CK) & #1766126 (sadhen)
+I'm on a diet.	我在節食。	CC-BY 2.0 (France) Attribution: tatoeba.org #241675 (CK) & #793307 (Martha)
+I'm on my way.	我这就上路。	CC-BY 2.0 (France) Attribution: tatoeba.org #707205 (CK) & #707204 (Yashanti)
+I'm so lonely.	我好孤单。	CC-BY 2.0 (France) Attribution: tatoeba.org #3941292 (AlanF_US) & #8517170 (gumblex)
+I'm so stupid.	我真蠢。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248256 (CK) & #3742605 (egg0073)
+I'm still mad.	我还是很气。	CC-BY 2.0 (France) Attribution: tatoeba.org #3393240 (CK) & #9972435 (GlossaMatik)
+I'm unmarried.	我单身。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549703 (CK) & #4977440 (musclegirlxyp)
+I'm unmarried.	我單身。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549703 (CK) & #5691850 (xjjAstrus)
+I'm very busy.	我很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #433991 (CK) & #819333 (Martha)
+I've got time.	我有时间。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248396 (CK) & #4859550 (musclegirlxyp)
+I've got wine.	我有酒。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248397 (CK) & #5617204 (verdastelo9604)
+Is Tom around?	汤姆在吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244578 (CK) & #8696442 (morningstar)
+Is Tom eating?	汤姆在吃饭吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244598 (CK) & #8696452 (morningstar)
+Is he correct?	他对吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2840611 (CK) & #9953366 (GlossaMatik)
+Is it serious?	严重吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #63616 (CK) & #332870 (fucongcong)
+Is that a bat?	那是只蝙蝠吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #67124 (CK) & #9970068 (GlossaMatik)
+Is that paper?	那是紙嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #6358544 (CK) & #2660854 (egg0073)
+Is this Tom's?	这是汤姆的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3507551 (CK) & #4879140 (musclegirlxyp)
+Is this Tom's?	这是汤姆的东西吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3507551 (CK) & #4879141 (musclegirlxyp)
+It is raining.	下雨了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1862 (CK) & #346836 (fucongcong)
+It is raining.	在下雨。	CC-BY 2.0 (France) Attribution: tatoeba.org #1862 (CK) & #409681 (egg0073)
+It looks good.	看起来不错。	CC-BY 2.0 (France) Attribution: tatoeba.org #1808249 (Spamster) & #1808254 (sadhen)
+It might rain.	可能会下雨。	CC-BY 2.0 (France) Attribution: tatoeba.org #1230486 (alec) & #465902 (fucongcong)
+It might rain.	可能要下雨了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1230486 (alec) & #1223755 (tsayng)
+It takes time.	这需要时间。	CC-BY 2.0 (France) Attribution: tatoeba.org #707527 (CK) & #707522 (tianblr)
+It won't work.	它不会奏效。	CC-BY 2.0 (France) Attribution: tatoeba.org #1335281 (CK) & #2780864 (GlossaMatik)
+It's a secret.	它是個秘密。	CC-BY 2.0 (France) Attribution: tatoeba.org #433821 (CK) & #771519 (Martha)
+It's business.	公事公辦。	CC-BY 2.0 (France) Attribution: tatoeba.org #433519 (CK) & #824613 (Martha)
+It's fall now.	现在是秋天。	CC-BY 2.0 (France) Attribution: tatoeba.org #503752 (CM) & #503753 (GlossaMatik)
+It's freezing.	天氣好冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #52011 (CK) & #803735 (Martha)
+It's improved.	它有改善了。	CC-BY 2.0 (France) Attribution: tatoeba.org #435785 (CK) & #771378 (Martha)
+It's my fault.	这是我的错。	CC-BY 2.0 (France) Attribution: tatoeba.org #660437 (CM) & #790573 (GlossaMatik)
+It's my money.	那是我的钱。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249099 (CK) & #8727837 (crescat)
+It's my treat.	我請客。	CC-BY 2.0 (France) Attribution: tatoeba.org #433758 (CK) & #832928 (Martha)
+It's not mine.	不是我的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1894573 (CK) & #5673830 (xjjAstrus)
+It's so early.	太早了。	CC-BY 2.0 (France) Attribution: tatoeba.org #9483437 (CK) & #2007046 (sadhen)
+It's too long.	它太長了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249327 (CK) & #6114449 (verdastelo9604)
+It's too loud.	它太大聲。	CC-BY 2.0 (France) Attribution: tatoeba.org #275485 (CK) & #832797 (Martha)
+It's too soon.	太早了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249336 (CK) & #2007046 (sadhen)
+It's very big.	它很大。	CC-BY 2.0 (France) Attribution: tatoeba.org #450003 (CK) & #832782 (Martha)
+Keep Tom safe.	确保汤姆安全。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235847 (CK) & #5819711 (verdastelo9604)
+Keep it quiet.	保持安静	CC-BY 2.0 (France) Attribution: tatoeba.org #42143 (CK) & #5845311 (start)
+Let me see it.	讓我看看。	CC-BY 2.0 (France) Attribution: tatoeba.org #40019 (CK) & #819468 (Martha)
+Let me try it.	让我试试。	CC-BY 2.0 (France) Attribution: tatoeba.org #43212 (CK) & #333051 (fucongcong)
+Let's go home.	让我们回家吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #773455 (marloncori) & #1506916 (fenfang557)
+Lock the gate.	鎖大門。	CC-BY 2.0 (France) Attribution: tatoeba.org #449045 (CK) & #826099 (Martha)
+Love is blind.	爱情是盲目的。	CC-BY 2.0 (France) Attribution: tatoeba.org #453394 (CM) & #791649 (fucongcong)
+Love is blind.	恋爱使人盲目。	CC-BY 2.0 (France) Attribution: tatoeba.org #453394 (CM) & #1471530 (sadhen)
+Make it quick.	快点。	CC-BY 2.0 (France) Attribution: tatoeba.org #2038397 (Spamster) & #5092239 (mirrorvan)
+Man is mortal.	人固有一死。	CC-BY 2.0 (France) Attribution: tatoeba.org #270072 (Zifre) & #5091165 (mirrorvan)
+May I come in?	我可以進來嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #456355 (lukaszpp) & #780338 (Martha)
+Meet me there.	在那裡見我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249589 (CK) & #6135006 (verdastelo9604)
+My foot hurts.	我的脚痛。	CC-BY 2.0 (France) Attribution: tatoeba.org #792061 (Swift) & #804866 (fucongcong)
+My head aches.	我头痛。	CC-BY 2.0 (France) Attribution: tatoeba.org #280125 (CK) & #332568 (fucongcong)
+My head hurts.	我头痛。	CC-BY 2.0 (France) Attribution: tatoeba.org #456425 (lukaszpp) & #332568 (fucongcong)
+My neck hurts.	我脖子痛。	CC-BY 2.0 (France) Attribution: tatoeba.org #2471465 (Hybrid) & #4490360 (egg0073)
+My pen is new.	我的钢笔是新的。	CC-BY 2.0 (France) Attribution: tatoeba.org #710914 (CK) & #710912 (Yashanti)
+Never give up.	决不放弃。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249592 (CK) & #3783106 (Debbie_Linder)
+Nothing moved.	什么都没动。	CC-BY 2.0 (France) Attribution: tatoeba.org #8481072 (shekitten) & #10460422 (GlossaMatik)
+Pace yourself.	量力而行。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841178 (CK) & #5092594 (mirrorvan)
+Quit gambling.	戒掉赌博吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1267033 (Scott) & #5092464 (mirrorvan)
+Read this now.	现在读这个。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841179 (CK) & #5945152 (verdastelo9604)
+Save yourself.	拯救你自己。	CC-BY 2.0 (France) Attribution: tatoeba.org #1849367 (CK) & #6325064 (verdastelo9604)
+See you again.	再见!	CC-BY 2.0 (France) Attribution: tatoeba.org #32635 (CK) & #336477 (fucongcong)
+See you later.	再见。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841588 (CK) & #2030795 (sadhen)
+Shake my hand.	和我握手。	CC-BY 2.0 (France) Attribution: tatoeba.org #410593 (CK) & #819354 (Martha)
+Shall we walk?	我们该步行吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #320508 (CM) & #5574796 (verdastelo9604)
+She felt blue.	她感到闷闷不乐的。	CC-BY 2.0 (France) Attribution: tatoeba.org #317287 (Swift) & #4566371 (liyongtao)
+She hated him.	她恨他。	CC-BY 2.0 (France) Attribution: tatoeba.org #388371 (CK) & #832950 (Martha)
+She is eating.	她吃。	CC-BY 2.0 (France) Attribution: tatoeba.org #527192 (CK) & #4887706 (musclegirlxyp)
+She loves Tom.	她愛湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #311828 (CK) & #826241 (Martha)
+She's dieting.	她在节食中。	CC-BY 2.0 (France) Attribution: tatoeba.org #1396194 (CK) & #1878324 (sadhen)
+She's dieting.	她在节食。	CC-BY 2.0 (France) Attribution: tatoeba.org #1396194 (CK) & #7767995 (jiangche)
+She's my type.	她是我的菜。	CC-BY 2.0 (France) Attribution: tatoeba.org #314284 (CK) & #3742628 (egg0073)
+Show it to me.	给我看下它吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1356990 (sacredceltic) & #7771674 (jiangche)
+Shut the door.	不要把门开着。	CC-BY 2.0 (France) Attribution: tatoeba.org #38992 (CK) & #334214 (fucongcong)
+Shut the door.	请关门。	CC-BY 2.0 (France) Attribution: tatoeba.org #38992 (CK) & #396001 (GlossaMatik)
+Shut the door.	关门。	CC-BY 2.0 (France) Attribution: tatoeba.org #38992 (CK) & #472970 (fucongcong)
+Sit beside me.	坐我旁边。	CC-BY 2.0 (France) Attribution: tatoeba.org #250344 (CK) & #1424389 (sadhen)
+Somebody came.	有人来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #5317425 (mailohilohi) & #5092398 (mirrorvan)
+Speak clearly.	講清楚。	CC-BY 2.0 (France) Attribution: tatoeba.org #433849 (CK) & #825154 (Martha)
+Stir the soup.	搅一下汤。	CC-BY 2.0 (France) Attribution: tatoeba.org #704725 (Zifre) & #802843 (fucongcong)
+Stop gambling.	戒掉赌博吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2592874 (WestofEden) & #5092464 (mirrorvan)
+Stop meddling.	别再插手。	CC-BY 2.0 (France) Attribution: tatoeba.org #1719227 (marcelostockle) & #5092534 (mirrorvan)
+Stop shooting.	停止射击。	CC-BY 2.0 (France) Attribution: tatoeba.org #1974716 (CK) & #5092701 (mirrorvan)
+Stop worrying.	别担心了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1495911 (CK) & #8715889 (crescat)
+Straighten up.	改邪归正。	CC-BY 2.0 (France) Attribution: tatoeba.org #282453 (CK) & #5092263 (mirrorvan)
+Stuff happens.	事情难免会发生。	CC-BY 2.0 (France) Attribution: tatoeba.org #491351 (saeb) & #5092383 (mirrorvan)
+Suit yourself.	你隨意。	CC-BY 2.0 (France) Attribution: tatoeba.org #240697 (CM) & #6290249 (xjjAstrus)
+Talk is cheap.	說得簡單。	CC-BY 2.0 (France) Attribution: tatoeba.org #1515606 (Biga) & #884661 (Tajfun)
+Tell me again.	重新告訴我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2250076 (CK) & #6044374 (verdastelo9604)
+Thanks anyway.	还是要说谢谢的。	CC-BY 2.0 (France) Attribution: tatoeba.org #485099 (Scott) & #5092338 (mirrorvan)
+That was fast.	太快了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1280577 (CK) & #8649716 (maxine)
+That's a book.	那是一本書。	CC-BY 2.0 (France) Attribution: tatoeba.org #515535 (CK) & #819414 (Martha)
+That's clever.	好巧妙啊。	CC-BY 2.0 (France) Attribution: tatoeba.org #1357082 (sacredceltic) & #805579 (fucongcong)
+That's insane.	那是瘋狂的。	CC-BY 2.0 (France) Attribution: tatoeba.org #9483418 (CK) & #826184 (Martha)
+That's my aim.	这是我的目的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2256888 (CK) & #9961355 (GlossaMatik)
+That's my cat.	那是我的猫。	CC-BY 2.0 (France) Attribution: tatoeba.org #471758 (CM) & #471765 (GlossaMatik)
+That's my dad.	那个是我爸爸。	CC-BY 2.0 (France) Attribution: tatoeba.org #4397567 (CK) & #10966769 (xjjAstrus)
+That's no lie.	不是謊話。	CC-BY 2.0 (France) Attribution: tatoeba.org #3722408 (CM) & #12002574 (corina)
+The bell rang.	铃响了。	CC-BY 2.0 (France) Attribution: tatoeba.org #385375 (Mouseneb) & #332971 (fucongcong)
+They all knew.	他们都知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #2243022 (CK) & #9972936 (GlossaMatik)
+They are here.	他们在这里。	CC-BY 2.0 (France) Attribution: tatoeba.org #1561368 (ninuzzo) & #3378278 (GlossaMatik)
+They can wait.	他们等得了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2243080 (CK) & #7841358 (basilhan)
+They're armed.	他們有帶武器。	CC-BY 2.0 (France) Attribution: tatoeba.org #1898129 (CK) & #2511467 (tsayng)
+This is a wig.	这是假发。	CC-BY 2.0 (France) Attribution: tatoeba.org #4175760 (Lepotdeterre) & #5637367 (verdastelo9604)
+This is empty.	这是空的。	CC-BY 2.0 (France) Attribution: tatoeba.org #10276530 (DaoSeng) & #9956933 (GlossaMatik)
+This is weird.	奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #1898083 (CK) & #917754 (GlossaMatik)
+Throw it away.	扔掉	CC-BY 2.0 (France) Attribution: tatoeba.org #7723590 (Ofthefog) & #5114835 (xjjAstrus)
+Time is money.	时间就是金钱。	CC-BY 2.0 (France) Attribution: tatoeba.org #566026 (CK) & #4970148 (wzhd)
+Today was fun.	今天很有趣。	CC-BY 2.0 (France) Attribution: tatoeba.org #418628 (CK) & #826120 (Martha)
+Tom applauded.	湯姆拍了手。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203595 (CK) & #5812342 (xjjAstrus)
+Tom applauded.	汤姆鼓掌。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203595 (CK) & #9956343 (GlossaMatik)
+Tom came back.	湯姆回來了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236132 (CK) & #6936200 (verdastelo9604)
+Tom didn't go.	汤姆没走。	CC-BY 2.0 (France) Attribution: tatoeba.org #3735263 (CK) & #5581802 (verdastelo9604)
+Tom fell down.	湯姆摔倒了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1094129 (CK) & #8215735 (verdastelo9604)
+Tom felt cold.	湯姆覺得冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #1025797 (CK) & #5685768 (xjjAstrus)
+Tom got tired.	湯姆累了。	CC-BY 2.0 (France) Attribution: tatoeba.org #6220041 (CK) & #6098473 (verdastelo9604)
+Tom graduated.	湯姆畢業了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111170 (CK) & #8215705 (verdastelo9604)
+Tom is a hick.	汤姆是个乡巴佬。	CC-BY 2.0 (France) Attribution: tatoeba.org #2272811 (CK) & #5574810 (verdastelo9604)
+Tom is absent.	湯姆缺席。	CC-BY 2.0 (France) Attribution: tatoeba.org #37162 (CK) & #826133 (Martha)
+Tom is boring.	汤姆是个无聊的人。	CC-BY 2.0 (France) Attribution: tatoeba.org #2202622 (CK) & #2440969 (fenfang557)
+Tom is lonely.	汤姆很孤独。	CC-BY 2.0 (France) Attribution: tatoeba.org #5854381 (CK) & #7781773 (jiangche)
+Tom is so hot.	汤姆非常性感。	CC-BY 2.0 (France) Attribution: tatoeba.org #2273497 (CK) & #4621026 (Yashanti)
+Tom is stingy.	汤姆很小气。	CC-BY 2.0 (France) Attribution: tatoeba.org #1093435 (CK) & #4264932 (notabene)
+Tom is thirty.	汤姆今年三十岁。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236878 (CK) & #8738755 (crescat)
+Tom isn't old.	湯姆不老。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236999 (CK) & #6150025 (verdastelo9604)
+Tom knows him.	湯姆認識他。	CC-BY 2.0 (France) Attribution: tatoeba.org #2237129 (CK) & #6447545 (verdastelo9604)
+Tom loves you.	汤姆爱你。	CC-BY 2.0 (France) Attribution: tatoeba.org #2257541 (CK) & #5585235 (verdastelo9604)
+Tom missed it.	汤姆错过了它。	CC-BY 2.0 (France) Attribution: tatoeba.org #4394832 (CK) & #9961268 (GlossaMatik)
+Tom overslept.	汤姆睡过头了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1164341 (CK) & #5092449 (mirrorvan)
+Tom runs fast.	汤姆跑得快。	CC-BY 2.0 (France) Attribution: tatoeba.org #3171216 (CK) & #5072385 (musclegirlxyp)
+Tom was drunk.	汤姆醉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2239777 (CK) & #5142201 (musclegirlxyp)
+Tom was fired.	湯姆被解僱了。	CC-BY 2.0 (France) Attribution: tatoeba.org #513527 (CK) & #825757 (Martha)
+Tom was tired.	湯姆累了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2471870 (arnxy20) & #6098473 (verdastelo9604)
+Tom was wrong.	汤姆错了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1140912 (CK) & #8463695 (gumblex)
+Tom's married.	汤姆已经结婚了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107566 (CK) & #9961309 (GlossaMatik)
+Wait a moment.	請稍等。	CC-BY 2.0 (France) Attribution: tatoeba.org #410597 (CK) & #825160 (Martha)
+Wait a moment.	等一下。	CC-BY 2.0 (France) Attribution: tatoeba.org #410597 (CK) & #9007563 (jacintoo)
+We both cried.	我们都哭了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241031 (CK) & #10260788 (GlossaMatik)
+We have to go.	我们必须走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1737475 (Spamster) & #7767666 (jiangche)
+We kept quiet.	我们保持了沉默。	CC-BY 2.0 (France) Attribution: tatoeba.org #248957 (CK) & #334263 (fucongcong)
+We like music.	我們喜歡音樂。	CC-BY 2.0 (France) Attribution: tatoeba.org #247741 (CK) & #6093304 (verdastelo9604)
+We missed you.	我們想你。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241163 (CK) & #6624605 (verdastelo9604)
+We need money.	我們需要錢。	CC-BY 2.0 (France) Attribution: tatoeba.org #493908 (adjusting) & #752112 (Martha)
+We need to go.	我们必须走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1893749 (CK) & #7767666 (jiangche)
+We understand.	我们明白。	CC-BY 2.0 (France) Attribution: tatoeba.org #1893706 (CK) & #5102318 (mirrorvan)
+We want candy.	我們想要糖。	CC-BY 2.0 (France) Attribution: tatoeba.org #2011284 (CK) & #6111716 (verdastelo9604)
+We were bored.	我们感到厌烦了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241480 (CK) & #7767668 (jiangche)
+We'll be busy.	我們會很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649180 (CK) & #6131309 (verdastelo9604)
+We'll do that.	我們會去做。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241572 (CK) & #6091802 (verdastelo9604)
+We're friends.	我们是朋友。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107346 (CK) & #5624940 (verdastelo9604)
+We're friends.	我們是朋友。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107346 (CK) & #6149234 (xjjAstrus)
+We're special.	我们是特别的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203388 (CK) & #7767571 (jiangche)
+We're special.	我们很特别。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203388 (CK) & #7767572 (jiangche)
+We're worried.	我们很担心。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203589 (CK) & #7704613 (leafjensen)
+We've arrived.	我們已經到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #410594 (CK) & #825155 (Martha)
+Were you busy?	您当时在忙吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2649178 (CK) & #7768293 (jiangche)
+Where are you?	你在哪儿?	CC-BY 2.0 (France) Attribution: tatoeba.org #2168 (CK) & #346124 (fucongcong)
+Who hired you?	誰僱了你?	CC-BY 2.0 (France) Attribution: tatoeba.org #1663022 (Spamster) & #8215698 (verdastelo9604)
+Who loved who?	谁爱谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #2254860 (CK) & #9958609 (GlossaMatik)
+Whose is this?	这是谁的?	CC-BY 2.0 (France) Attribution: tatoeba.org #2302 (CK) & #1314463 (vicch)
+Why blame Tom?	为什么责备汤姆?	CC-BY 2.0 (France) Attribution: tatoeba.org #2057760 (CK) & #2394590 (fenfang557)
+You are drunk!	你喝醉了!	CC-BY 2.0 (France) Attribution: tatoeba.org #64332 (CK) & #7768302 (jiangche)
+You are lying.	你在撒谎。	CC-BY 2.0 (France) Attribution: tatoeba.org #26653 (CK) & #332572 (fucongcong)
+You could run.	你能跑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2254961 (CK) & #6333813 (verdastelo9604)
+You don't say.	真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #28233 (CK) & #1397360 (mtdot)
+You look good.	你气色不错。	CC-BY 2.0 (France) Attribution: tatoeba.org #1011281 (DanaDescalza) & #2040311 (sadhen)
+You look pale.	你看起來很蒼白。	CC-BY 2.0 (France) Attribution: tatoeba.org #16224 (CK) & #771525 (Martha)
+You should go.	你應該去。	CC-BY 2.0 (France) Attribution: tatoeba.org #518556 (CK) & #832786 (Martha)
+You should go.	你最好去。	CC-BY 2.0 (France) Attribution: tatoeba.org #518556 (CK) & #844117 (fucongcong)
+You will fail.	你會失敗。	CC-BY 2.0 (France) Attribution: tatoeba.org #694388 (AmberShadow) & #781665 (Martha)
+You work hard.	你工作努力。	CC-BY 2.0 (France) Attribution: tatoeba.org #15993 (CK) & #1992630 (sadhen)
+You're joking!	你在開玩笑吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #433882 (CK) & #825144 (Martha)
+You're not me.	你不是我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2218273 (CK) & #5341690 (xjjAstrus)
+You're so bad.	你真壞。	CC-BY 2.0 (France) Attribution: tatoeba.org #1230472 (alec) & #1225678 (tsayng)
+You're stupid.	你很愚蠢。	CC-BY 2.0 (France) Attribution: tatoeba.org #2123495 (CK) & #993698 (leoyzy)
+You're stupid.	你二了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2123495 (CK) & #1750497 (sadhen)
+Zip your lips.	闭上你的嘴。	CC-BY 2.0 (France) Attribution: tatoeba.org #8557825 (CM) & #1691765 (sadhen)
+A bird can fly.	鸟会飞。	CC-BY 2.0 (France) Attribution: tatoeba.org #812362 (Zaphod) & #2999597 (sadhen)
+Allow me to go.	請允許我去。	CC-BY 2.0 (France) Attribution: tatoeba.org #433651 (CK) & #826174 (Martha)
+Are you afraid?	你害怕吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1485265 (arnxy20) & #9990081 (GlossaMatik)
+Are you coming?	你会来吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1417464 (CK) & #4970134 (wzhd)
+Are you crying?	你在哭嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886352 (CK) & #3718942 (egg0073)
+Are you hungry?	你肚子饿吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #434242 (lukaszpp) & #400025 (GlossaMatik)
+Are you single?	你是单身吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #280576 (CK) & #4956716 (musclegirlxyp)
+Aren't you Tom?	你不是湯姆嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #37392 (CK) & #727800 (Martha)
+Aren't you Tom?	你不是湯姆嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #37392 (CK) & #825908 (Martha)
+Aren't you hot?	你不热吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2951539 (CK) & #4956714 (musclegirlxyp)
+Birds lay eggs.	鳥下蛋。	CC-BY 2.0 (France) Attribution: tatoeba.org #278220 (CK) & #826163 (Martha)
+Boil the water.	把水燒開。	CC-BY 2.0 (France) Attribution: tatoeba.org #1795949 (ifethereal) & #896660 (Martha)
+Bring Tom here.	把汤姆带到这里来。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235648 (CK) & #8737070 (crescat)
+Bring it to me.	把它带给我。	CC-BY 2.0 (France) Attribution: tatoeba.org #41817 (CK) & #745903 (fucongcong)
+Buy Tom a beer.	给汤姆买一瓶啤酒。	CC-BY 2.0 (France) Attribution: tatoeba.org #8054569 (CK) & #8631023 (ZeroAurora)
+Buy me a snack.	帮我买点零食吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #5320767 (mailohilohi) & #9838191 (morningstar)
+Can I eat this?	我可以吃这个吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #54937 (CK) & #411609 (fucongcong)
+Can I help you?	我能幫你嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #25095 (CK) & #6559076 (xjjAstrus)
+Can I see that?	我能看看那个吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886275 (CK) & #8749676 (crescat)
+Can I sit here?	我能坐这里吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1537275 (niceguydave) & #4757682 (ryanwoo)
+Can we make it?	我們做得到嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2890988 (CK) & #9545095 (verdastelo9604)
+Can you get up?	你能起床嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1117779 (Scott) & #6057671 (xjjAstrus)
+Clean the room.	打掃房間。	CC-BY 2.0 (France) Attribution: tatoeba.org #378284 (CK) & #860817 (Martha)
+Close the door.	关门。	CC-BY 2.0 (France) Attribution: tatoeba.org #405379 (brauliobezerra) & #472970 (fucongcong)
+Close the gate.	关门。	CC-BY 2.0 (France) Attribution: tatoeba.org #853133 (piksea) & #472970 (fucongcong)
+Coffee, please.	我要咖啡,谢谢。	CC-BY 2.0 (France) Attribution: tatoeba.org #1907148 (CK) & #5092616 (mirrorvan)
+Come down here!	你给我下来!	CC-BY 2.0 (France) Attribution: tatoeba.org #1934782 (Spamster) & #1766123 (sadhen)
+Cows give milk.	牛可产奶。	CC-BY 2.0 (France) Attribution: tatoeba.org #619902 (darinmex) & #7767652 (jiangche)
+Deal with them.	解决他们。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245254 (CK) & #5091689 (mirrorvan)
+Did you see it?	您看见它了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #914018 (Jane_Austen) & #10182763 (slo_oth)
+Do I look rich?	我看起来很有钱吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #10317912 (CK) & #10635237 (gumblex)
+Do as you like.	你想怎么做就怎么做。	CC-BY 2.0 (France) Attribution: tatoeba.org #17188 (CK) & #398887 (GlossaMatik)
+Do as you want.	你想怎么做就怎么做。	CC-BY 2.0 (France) Attribution: tatoeba.org #2369 (Eldad) & #398887 (GlossaMatik)
+Do we know you?	我们认识你么?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886115 (CK) & #2065024 (sadhen)
+Do you hate me?	你讨厌我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3189152 (CK) & #4885096 (musclegirlxyp)
+Do you have it?	你们有吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2192241 (acbarbosa) & #6850351 (mao)
+Do you hear me?	你听得见吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #319989 (CK) & #333415 (fucongcong)
+Do you know me?	你认识我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #69295 (CK) & #1790035 (sadhen)
+Do you know me?	你还认识我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #69295 (CK) & #4835855 (sadhen)
+Do you know me?	你認識我嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #69295 (CK) & #5816150 (xjjAstrus)
+Do you like it?	你喜欢吗 ?	CC-BY 2.0 (France) Attribution: tatoeba.org #433500 (CK) & #423413 (fucongcong)
+Do you like it?	你喜歡嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #433500 (CK) & #825921 (Martha)
+Do you love me?	你爱我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #321497 (CK) & #10966779 (xjjAstrus)
+Do you miss me?	你想我了?	CC-BY 2.0 (France) Attribution: tatoeba.org #1230779 (alec) & #334429 (fucongcong)
+Do you miss me?	你想我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1230779 (alec) & #4835859 (sadhen)
+Do you promise?	你保證嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886067 (CK) & #5865504 (verdastelo9604)
+Don't eat that!	不要吃那個!	CC-BY 2.0 (France) Attribution: tatoeba.org #6029093 (Huskion) & #6835388 (User76378)
+Don't touch it.	別碰它。	CC-BY 2.0 (France) Attribution: tatoeba.org #433652 (CK) & #819332 (Martha)
+Drop the knife!	把刀放下!	CC-BY 2.0 (France) Attribution: tatoeba.org #2245412 (CK) & #9135872 (xjjAstrus)
+Everybody lies.	每个人都会说谎。	CC-BY 2.0 (France) Attribution: tatoeba.org #1008564 (Goracykabanos) & #5092416 (mirrorvan)
+French is easy.	法语很简单。	CC-BY 2.0 (France) Attribution: tatoeba.org #8410245 (CK) & #10156955 (yeyue)
+Get in the car.	上车吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #1839425 (CK) & #7768011 (jiangche)
+Get out of bed!	起床!	CC-BY 2.0 (France) Attribution: tatoeba.org #33985 (CK) & #771485 (Martha)
+Get rid of her.	把她干掉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1849374 (CK) & #9961721 (GlossaMatik)
+Give me a kiss.	吻我。	CC-BY 2.0 (France) Attribution: tatoeba.org #1844204 (CK) & #5092385 (mirrorvan)
+Good afternoon.	下午好。	CC-BY 2.0 (France) Attribution: tatoeba.org #499689 (CK) & #812493 (fucongcong)
+Happy New Year!	新年快樂!	CC-BY 2.0 (France) Attribution: tatoeba.org #361350 (blay_paul) & #6581625 (SofiaLee)
+Happy New Year!	元旦快樂!	CC-BY 2.0 (France) Attribution: tatoeba.org #361350 (blay_paul) & #6583810 (xjjAstrus)
+Have some more.	你該多吃點。	CC-BY 2.0 (France) Attribution: tatoeba.org #4755386 (garborg) & #4754672 (egg0073)
+He accelerated.	他提速了。	CC-BY 2.0 (France) Attribution: tatoeba.org #290321 (CM) & #5092269 (mirrorvan)
+He confused us.	他把我們弄糊塗了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2166227 (faraway9911) & #2112340 (egg0073)
+He doesn't lie.	他不说谎。	CC-BY 2.0 (France) Attribution: tatoeba.org #1173825 (CK) & #5865517 (verdastelo9604)
+He doesn't tan.	他晒不黑。	CC-BY 2.0 (France) Attribution: tatoeba.org #454617 (FeuDRenais) & #454618 (GlossaMatik)
+He gave a ball.	他举办了一场舞会。	CC-BY 2.0 (France) Attribution: tatoeba.org #303384 (CM) & #2143987 (ydcok)
+He held a ball.	他举办了一场舞会。	CC-BY 2.0 (France) Attribution: tatoeba.org #2162155 (FeuDRenais) & #2143987 (ydcok)
+He is a doctor.	他是医生来的。	CC-BY 2.0 (France) Attribution: tatoeba.org #293611 (CK) & #8593079 (easononizuka)
+He lives alone.	他一个人生活。	CC-BY 2.0 (France) Attribution: tatoeba.org #811376 (willhite2) & #346797 (fucongcong)
+He lives alone.	他独自生活。	CC-BY 2.0 (France) Attribution: tatoeba.org #811376 (willhite2) & #812227 (fucongcong)
+He looks happy.	他看上去很幸福。	CC-BY 2.0 (France) Attribution: tatoeba.org #1460417 (piksea) & #8715867 (crescat)
+He looks young.	他看起来很年轻。	CC-BY 2.0 (France) Attribution: tatoeba.org #299157 (CK) & #2188410 (sadhen)
+He lost a book.	他弄丟了一本書。	CC-BY 2.0 (France) Attribution: tatoeba.org #1275203 (CM) & #1275211 (egg0073)
+He loves music.	他非常喜歡音樂。	CC-BY 2.0 (France) Attribution: tatoeba.org #1316125 (CK) & #833780 (Martha)
+He sang a song.	他唱了一首歌。	CC-BY 2.0 (France) Attribution: tatoeba.org #283456 (CK) & #427999 (fucongcong)
+He was drowned.	他被淹死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #874946 (CM) & #1767972 (sadhen)
+He's a big boy.	他是個大男孩。	CC-BY 2.0 (France) Attribution: tatoeba.org #288238 (CK) & #824647 (Martha)
+He's an author.	他是作家。	CC-BY 2.0 (France) Attribution: tatoeba.org #593248 (CK) & #4970153 (wzhd)
+He's henpecked.	他對老婆言聽計從。	CC-BY 2.0 (France) Attribution: tatoeba.org #1493814 (niceguydave) & #775891 (Martha)
+Here is a book.	這裡有一本書。	CC-BY 2.0 (France) Attribution: tatoeba.org #61725 (CK) & #825137 (Martha)
+How much is it?	它多貴?	CC-BY 2.0 (France) Attribution: tatoeba.org #2418 (brauliobezerra) & #759540 (Martha)
+How much is it?	多少錢?	CC-BY 2.0 (France) Attribution: tatoeba.org #2418 (brauliobezerra) & #761442 (Martha)
+How much is it?	这个几块?	CC-BY 2.0 (France) Attribution: tatoeba.org #2418 (brauliobezerra) & #10052320 (GlossaMatik)
+How time flies!	时间过得多快呀。	CC-BY 2.0 (France) Attribution: tatoeba.org #240401 (CM) & #9484585 (jin1)
+How time flies!	时间过得真快啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #240401 (CM) & #9987087 (GlossaMatik)
+How's business?	生意怎么样?	CC-BY 2.0 (France) Attribution: tatoeba.org #267432 (CK) & #431126 (GlossaMatik)
+How's everyone?	大家好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #9709254 (megamanenm) & #819309 (Martha)
+How's it going?	你們好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #277972 (CK) & #1761553 (egg0073)
+I am a shy boy.	我是一個害羞的男孩。	CC-BY 2.0 (France) Attribution: tatoeba.org #97592 (fcbond) & #781497 (Martha)
+I am a student.	我是學生。	CC-BY 2.0 (France) Attribution: tatoeba.org #252287 (CK) & #3713544 (egg0073)
+I am a student.	我是个学生。	CC-BY 2.0 (France) Attribution: tatoeba.org #252287 (CK) & #7768226 (jiangche)
+I am a teacher.	我是個老師。	CC-BY 2.0 (France) Attribution: tatoeba.org #259069 (CK) & #926774 (Martha)
+I am not happy.	我不高兴。	CC-BY 2.0 (France) Attribution: tatoeba.org #3378134 (CM) & #3378133 (GlossaMatik)
+I am off today.	我今天休息。	CC-BY 2.0 (France) Attribution: tatoeba.org #242826 (CK) & #1990181 (sunnywqing)
+I am too short.	我太矮了。	CC-BY 2.0 (France) Attribution: tatoeba.org #436445 (lukaszpp) & #512866 (fucongcong)
+I ate an apple.	我吃了一個蘋果。	CC-BY 2.0 (France) Attribution: tatoeba.org #3294474 (CK) & #6057138 (xjjAstrus)
+I ate the meat.	我吃肉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2629267 (CK) & #2629582 (GlossaMatik)
+I believed you.	我信过你。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841709 (CK) & #4789627 (400S)
+I believed you.	我相信了你。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841709 (CK) & #7704610 (leafjensen)
+I borrow money.	我借錢。	CC-BY 2.0 (France) Attribution: tatoeba.org #435437 (CK) & #825878 (Martha)
+I broke my arm.	我的手臂斷了。	CC-BY 2.0 (France) Attribution: tatoeba.org #262315 (CK) & #919738 (Martha)
+I can hear you.	我听得到。	CC-BY 2.0 (France) Attribution: tatoeba.org #2301250 (CK) & #8727966 (crescat)
+I dislike eggs.	我不喜欢鸡蛋。	CC-BY 2.0 (France) Attribution: tatoeba.org #593244 (CK) & #4673809 (McMeao)
+I don't get it.	我不懂。	CC-BY 2.0 (France) Attribution: tatoeba.org #38392 (CK) & #409679 (egg0073)
+I go to school.	我去学校。	CC-BY 2.0 (France) Attribution: tatoeba.org #472089 (tamsanh) & #4878932 (musclegirlxyp)
+I got arrested.	我被逮捕了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245783 (CK) & #3718963 (egg0073)
+I got up early.	我起床早。	CC-BY 2.0 (France) Attribution: tatoeba.org #259164 (CK) & #5555832 (verdastelo9604)
+I had a vision.	我有一个设想。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887332 (CK) & #5091184 (mirrorvan)
+I had a vision.	我有一个愿景。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887332 (CK) & #5091185 (mirrorvan)
+I hate Mondays.	我讨厌星期一。	CC-BY 2.0 (France) Attribution: tatoeba.org #576084 (CK) & #1417551 (sadhen)
+I have a couch.	我有一個沙發。	CC-BY 2.0 (France) Attribution: tatoeba.org #8297812 (GuidoW) & #9139559 (xjjAstrus)
+I have a cough.	我咳嗽。	CC-BY 2.0 (France) Attribution: tatoeba.org #51340 (CK) & #826092 (Martha)
+I have a dream.	我有一个梦想。	CC-BY 2.0 (France) Attribution: tatoeba.org #1630 (al_ex_an_der) & #501456 (fucongcong)
+I have hiccups.	我打嗝了。	CC-BY 2.0 (France) Attribution: tatoeba.org #796086 (U2FS) & #796643 (fucongcong)
+I have no clue.	我一无所知。	CC-BY 2.0 (France) Attribution: tatoeba.org #2563243 (CK) & #7772071 (jiangche)
+I have no idea.	我一无所知。	CC-BY 2.0 (France) Attribution: tatoeba.org #273786 (CK) & #7772071 (jiangche)
+I have no time.	我没时间。	CC-BY 2.0 (France) Attribution: tatoeba.org #249910 (CK) & #782929 (fucongcong)
+I have to help.	我必须帮忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #2360532 (CK) & #9958568 (GlossaMatik)
+I hiccup a lot.	我经常打嗝。	CC-BY 2.0 (France) Attribution: tatoeba.org #53088 (CK) & #796644 (fucongcong)
+I just saw Tom.	我刚刚见到汤姆了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2261956 (CK) & #8776012 (crescat)
+I kept singing.	我繼續唱歌。	CC-BY 2.0 (France) Attribution: tatoeba.org #5852006 (CK) & #819338 (Martha)
+I kept singing.	我继续唱歌。	CC-BY 2.0 (France) Attribution: tatoeba.org #5852006 (CK) & #4270138 (notabene)
+I like drawing.	我喜欢画画。	CC-BY 2.0 (France) Attribution: tatoeba.org #7802995 (sharris123) & #1884732 (Venki)
+I like flowers.	我喜歡花。	CC-BY 2.0 (France) Attribution: tatoeba.org #4563343 (robbieheslop) & #4504367 (egg0073)
+I like jogging.	我喜欢跑步。	CC-BY 2.0 (France) Attribution: tatoeba.org #640717 (shanghainese) & #363979 (fucongcong)
+I like rabbits.	我喜欢兔子。	CC-BY 2.0 (France) Attribution: tatoeba.org #12259779 (sundown) & #7774808 (jiangche)
+I like reading.	我喜欢阅读。	CC-BY 2.0 (France) Attribution: tatoeba.org #1276130 (CK) & #2163112 (sadhen)
+I like running.	我喜欢跑步。	CC-BY 2.0 (France) Attribution: tatoeba.org #1444911 (CK) & #363979 (fucongcong)
+I like to read.	我喜欢阅读。	CC-BY 2.0 (France) Attribution: tatoeba.org #2164515 (CM) & #2163112 (sadhen)
+I love my life.	我爱我的生活。	CC-BY 2.0 (France) Attribution: tatoeba.org #436789 (lukaszpp) & #465838 (fucongcong)
+I love my life.	我爱我的生命。	CC-BY 2.0 (France) Attribution: tatoeba.org #436789 (lukaszpp) & #465839 (fucongcong)
+I love my wife.	我爱我的妻子。	CC-BY 2.0 (France) Attribution: tatoeba.org #436791 (lukaszpp) & #4759974 (ryanwoo)
+I love parties.	我愛派對。	CC-BY 2.0 (France) Attribution: tatoeba.org #435747 (CK) & #826027 (Martha)
+I met a friend.	我遇见一个朋友。	CC-BY 2.0 (France) Attribution: tatoeba.org #262062 (mamat) & #1428115 (sadhen)
+I missed a lot.	我错过了很多。	CC-BY 2.0 (France) Attribution: tatoeba.org #3822929 (CK) & #9961275 (GlossaMatik)
+I must decline.	我必须拒绝。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245986 (CK) & #5091270 (mirrorvan)
+I must go home.	我该回家了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2768606 (CK) & #343852 (fucongcong)
+I need a knife.	我需要一把刀。	CC-BY 2.0 (France) Attribution: tatoeba.org #693874 (Riskemulo) & #9135871 (xjjAstrus)
+I need a raise.	我需要加薪。	CC-BY 2.0 (France) Attribution: tatoeba.org #2387462 (CK) & #8792052 (slo_oth)
+I need a stamp.	我需要一張郵票。	CC-BY 2.0 (France) Attribution: tatoeba.org #735080 (Darkmaster) & #793499 (Martha)
+I need a towel.	我需要一塊毛巾。	CC-BY 2.0 (France) Attribution: tatoeba.org #2387469 (CK) & #9049735 (xjjAstrus)
+I need it ASAP.	我尽快需要。	CC-BY 2.0 (France) Attribution: tatoeba.org #275708 (CK) & #333429 (fucongcong)
+I need my coat.	我需要我的大衣。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887576 (CK) & #5496299 (egg0073)
+I need to know.	我需要知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #2246738 (Hybrid) & #5911609 (verdastelo9604)
+I often hiccup.	我经常打嗝。	CC-BY 2.0 (France) Attribution: tatoeba.org #1014156 (Albert) & #796644 (fucongcong)
+I remember now.	现在我想起来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1474622 (Chrikaru) & #472898 (fucongcong)
+I said shut up!	我说过了,闭嘴!	CC-BY 2.0 (France) Attribution: tatoeba.org #1453550 (Spamster) & #2499996 (fenfang557)
+I saw five men.	我看到了五個男人。	CC-BY 2.0 (France) Attribution: tatoeba.org #370730 (saeb) & #884221 (Martha)
+I saw five men.	我看见五个男人。	CC-BY 2.0 (France) Attribution: tatoeba.org #370730 (saeb) & #1372536 (sadhen)
+I saw her swim.	我看見她游泳。	CC-BY 2.0 (France) Attribution: tatoeba.org #261029 (CK) & #8388686 (wangchou)
+I sell flowers.	我卖花。	CC-BY 2.0 (France) Attribution: tatoeba.org #3378102 (_undertoad) & #3378101 (GlossaMatik)
+I should do it.	我应该去做。	CC-BY 2.0 (France) Attribution: tatoeba.org #5366319 (CK) & #5911768 (verdastelo9604)
+I study Korean.	我学韩语。	CC-BY 2.0 (France) Attribution: tatoeba.org #472091 (tamsanh) & #476227 (fucongcong)
+I turned right.	我往右拐了。	CC-BY 2.0 (France) Attribution: tatoeba.org #258392 (CK) & #406244 (GlossaMatik)
+I want the fan.	我要那個電風扇。	CC-BY 2.0 (France) Attribution: tatoeba.org #273343 (CK) & #5246179 (xjjAstrus)
+I want to play.	我想去玩。	CC-BY 2.0 (France) Attribution: tatoeba.org #2011294 (CK) & #8715885 (crescat)
+I want to stay.	我想要留下。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887895 (CK) & #9178046 (xiaohong)
+I was a doctor.	我以前是醫生。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549661 (CK) & #6293088 (verdastelo9604)
+I was learning.	我在學習。	CC-BY 2.0 (France) Attribution: tatoeba.org #2200277 (CM) & #6094816 (verdastelo9604)
+I was mistaken.	我想错了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247494 (CK) & #2367643 (GlossaMatik)
+I was to blame.	这是我的错。	CC-BY 2.0 (France) Attribution: tatoeba.org #3374200 (CK) & #790573 (GlossaMatik)
+I wasn't drunk.	我沒醉。	CC-BY 2.0 (France) Attribution: tatoeba.org #1133995 (CK) & #8215707 (verdastelo9604)
+I will sue you.	我要控告你。	CC-BY 2.0 (France) Attribution: tatoeba.org #64269 (xtofu80) & #793531 (Martha)
+I'd like to go.	我想要去。	CC-BY 2.0 (France) Attribution: tatoeba.org #241063 (CK) & #832461 (Martha)
+I'll alert Tom.	我会警告汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235745 (CK) & #5903479 (verdastelo9604)
+I'll come back.	我要回来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #261982 (CK) & #398080 (GlossaMatik)
+I'll come back.	我会回来的。	CC-BY 2.0 (France) Attribution: tatoeba.org #261982 (CK) & #512881 (fucongcong)
+I'll scold him.	我會責備他。	CC-BY 2.0 (France) Attribution: tatoeba.org #403371 (CK) & #824638 (Martha)
+I'll see to it.	我會留意的。	CC-BY 2.0 (France) Attribution: tatoeba.org #321354 (CK) & #771457 (Martha)
+I'll see to it.	由我来做.	CC-BY 2.0 (France) Attribution: tatoeba.org #321354 (CK) & #1423490 (asosan)
+I'll stay home.	我會待在家裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #321732 (CK) & #819453 (Martha)
+I'll treat you.	我請你。	CC-BY 2.0 (France) Attribution: tatoeba.org #17568 (CK) & #771474 (Martha)
+I'm a bachelor.	我单身。	CC-BY 2.0 (France) Attribution: tatoeba.org #2713780 (CK) & #4977440 (musclegirlxyp)
+I'm a bachelor.	我單身。	CC-BY 2.0 (France) Attribution: tatoeba.org #2713780 (CK) & #5691850 (xjjAstrus)
+I'm a free man.	我是一個自由的人。	CC-BY 2.0 (France) Attribution: tatoeba.org #25504 (CK) & #793247 (Martha)
+I'm a good guy.	我是一个好人。	CC-BY 2.0 (France) Attribution: tatoeba.org #1225236 (CK) & #1786008 (sadhen)
+I'm a nice guy.	我是一个好人。	CC-BY 2.0 (France) Attribution: tatoeba.org #838729 (Scott) & #1786008 (sadhen)
+I'm afraid not.	恐怕不行。	CC-BY 2.0 (France) Attribution: tatoeba.org #20899 (CK) & #429322 (GlossaMatik)
+I'm all for it.	我百分之百赞成。	CC-BY 2.0 (France) Attribution: tatoeba.org #275702 (CM) & #478144 (GlossaMatik)
+I'm an atheist.	我是无神论者。	CC-BY 2.0 (France) Attribution: tatoeba.org #379739 (CM) & #7771867 (jiangche)
+I'm behind him.	我在他後面。	CC-BY 2.0 (France) Attribution: tatoeba.org #403370 (CK) & #825930 (Martha)
+I'm busy today.	我今天忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #2713779 (CK) & #8215733 (verdastelo9604)
+I'm called Tom.	我叫Tom。	CC-BY 2.0 (France) Attribution: tatoeba.org #6645799 (CK) & #1850476 (egg0073)
+I'm called Tom.	我叫湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #6645799 (CK) & #6292456 (xjjAstrus)
+I'm dead tired.	我累死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #501385 (CK) & #333923 (fucongcong)
+I'm dead tired.	困死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #501385 (CK) & #2431733 (fenfang557)
+I'm free today.	我今天有空。	CC-BY 2.0 (France) Attribution: tatoeba.org #257587 (CK) & #333310 (fucongcong)
+I'm no quitter.	我不輕易放棄。	CC-BY 2.0 (France) Attribution: tatoeba.org #258684 (CK) & #8215727 (verdastelo9604)
+I'm not famous.	我没名气。	CC-BY 2.0 (France) Attribution: tatoeba.org #3330530 (CK) & #7781730 (jiangche)
+I'm not famous.	我不出名。	CC-BY 2.0 (France) Attribution: tatoeba.org #3330530 (CK) & #7781731 (jiangche)
+I'm not greedy.	我不貪婪。	CC-BY 2.0 (France) Attribution: tatoeba.org #3267389 (Ricardo14) & #6333811 (verdastelo9604)
+I'm not guilty.	我没有罪。	CC-BY 2.0 (France) Attribution: tatoeba.org #1563108 (CK) & #1772685 (sadhen)
+I'm not stupid.	我不是笨蛋。	CC-BY 2.0 (France) Attribution: tatoeba.org #1108790 (CK) & #8698960 (crescat)
+I'm so excited.	我很激动。	CC-BY 2.0 (France) Attribution: tatoeba.org #953850 (CK) & #5978316 (verdastelo9604)
+I'm thirty now.	我现在30岁了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2765317 (CK) & #335364 (fucongcong)
+I'm undressing.	我脱衣服。	CC-BY 2.0 (France) Attribution: tatoeba.org #1765 (Swift) & #502695 (fucongcong)
+I'm vegetarian.	我是素食主义者。	CC-BY 2.0 (France) Attribution: tatoeba.org #2111671 (CK) & #510809 (fucongcong)
+I'm very happy.	我很快樂。	CC-BY 2.0 (France) Attribution: tatoeba.org #255245 (CK) & #825970 (Martha)
+I'm very happy.	我好高興。	CC-BY 2.0 (France) Attribution: tatoeba.org #255245 (CK) & #826258 (Martha)
+I'm very happy.	我很快乐。	CC-BY 2.0 (France) Attribution: tatoeba.org #255245 (CK) & #1361961 (sadhen)
+I'm very happy.	我很幸福。	CC-BY 2.0 (France) Attribution: tatoeba.org #255245 (CK) & #7767739 (jiangche)
+I'm very tired.	我很累。	CC-BY 2.0 (France) Attribution: tatoeba.org #252193 (CK) & #397734 (GlossaMatik)
+I've been sick.	我生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #5850952 (CK) & #780291 (Martha)
+I've seen that.	我見過。	CC-BY 2.0 (France) Attribution: tatoeba.org #433647 (CK) & #824531 (Martha)
+Is Tom jealous?	汤姆嫉妒吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244614 (CK) & #10752755 (GlossaMatik)
+Is he Japanese?	他是日本人吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1123762 (CK) & #1366051 (sadhen)
+Is it too late?	来迟了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3333971 (CK) & #10002077 (GlossaMatik)
+Is that better?	那更好吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886907 (CK) & #5670784 (verdastelo9604)
+Is this edible?	这个能吃吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2719776 (WestofEden) & #5100266 (mirrorvan)
+Isn't it black?	它不是黑色的嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #442968 (CK) & #826098 (Martha)
+It disappeared.	它不见了。	CC-BY 2.0 (France) Attribution: tatoeba.org #11277823 (Aphima) & #6075514 (mendel)
+It is too late.	太晚了。	CC-BY 2.0 (France) Attribution: tatoeba.org #456133 (lukaszpp) & #1397366 (mtdot)
+It makes sense.	那样说得通。	CC-BY 2.0 (France) Attribution: tatoeba.org #780836 (sacredceltic) & #5090960 (mirrorvan)
+It took months.	它花了几个月。	CC-BY 2.0 (France) Attribution: tatoeba.org #5758387 (CM) & #5963990 (verdastelo9604)
+It's brand new.	这是全新的。	CC-BY 2.0 (France) Attribution: tatoeba.org #34819 (Eldad) & #745869 (fucongcong)
+It's dangerous!	它是危險的!	CC-BY 2.0 (France) Attribution: tatoeba.org #433517 (CK) & #832776 (Martha)
+It's delicious.	很美味。	CC-BY 2.0 (France) Attribution: tatoeba.org #2187204 (CK) & #3739208 (egg0073)
+It's foggy out.	外面起霧了。	CC-BY 2.0 (France) Attribution: tatoeba.org #9926150 (sundown) & #5957545 (xjjAstrus)
+It's not funny.	这不好笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #1749344 (Spamster) & #1786116 (sadhen)
+It's not right.	不对。	CC-BY 2.0 (France) Attribution: tatoeba.org #1723740 (Spamster) & #10961087 (xjjAstrus)
+It's our fault.	它是我們的錯誤。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249149 (CK) & #6146511 (verdastelo9604)
+It's so boring.	真的很无聊。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249242 (CK) & #9965052 (GlossaMatik)
+It's the truth.	这是事实。	CC-BY 2.0 (France) Attribution: tatoeba.org #560933 (darinmex) & #819808 (fucongcong)
+It's too early.	太早了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249321 (CK) & #2007046 (sadhen)
+It's too large.	它太大了。	CC-BY 2.0 (France) Attribution: tatoeba.org #435410 (CK) & #824484 (Martha)
+It's up to you.	这就要看您了。	CC-BY 2.0 (France) Attribution: tatoeba.org #237713 (CK) & #501185 (fucongcong)
+It's up to you.	由你來決定。	CC-BY 2.0 (France) Attribution: tatoeba.org #237713 (CK) & #834868 (Martha)
+It's very cold.	非常冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #435726 (CK) & #826300 (Martha)
+It's very cold.	天气非常寒冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #435726 (CK) & #4547211 (murr)
+It's well done.	做得很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #2366 (CK) & #1776598 (sadhen)
+It's your book.	它是你的書。	CC-BY 2.0 (France) Attribution: tatoeba.org #515538 (CK) & #825185 (Martha)
+It's your move.	該你走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #16925 (CK) & #819408 (Martha)
+It's your turn.	輪到您了。	CC-BY 2.0 (France) Attribution: tatoeba.org #370937 (saeb) & #734317 (Martha)
+It's your turn.	輪到你了。	CC-BY 2.0 (France) Attribution: tatoeba.org #370937 (saeb) & #765859 (Martha)
+Keep listening.	继续听。	CC-BY 2.0 (France) Attribution: tatoeba.org #911230 (papabear) & #5092403 (mirrorvan)
+Leave it to me.	让我来弄。	CC-BY 2.0 (France) Attribution: tatoeba.org #321442 (CK) & #335500 (fucongcong)
+Leave me alone!	别烦我!	CC-BY 2.0 (France) Attribution: tatoeba.org #25534 (CK) & #9964362 (GlossaMatik)
+Leave me alone.	让我一个人待着。	CC-BY 2.0 (France) Attribution: tatoeba.org #27641 (CK) & #8936496 (crescat)
+Let me come in.	让我进去。	CC-BY 2.0 (France) Attribution: tatoeba.org #3334006 (CK) & #333350 (fucongcong)
+Let me do that.	让我去做。	CC-BY 2.0 (France) Attribution: tatoeba.org #495419 (adjusting) & #347095 (fucongcong)
+Let us go home.	让我们回家吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #24136 (CK) & #1506916 (fenfang557)
+Let's go there.	咱去那吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #5178372 (CK) & #6938134 (Cheng)
+Let's just eat.	我們吃吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2007893 (CK) & #6105304 (verdastelo9604)
+Listen to this!	听这个!	CC-BY 2.0 (France) Attribution: tatoeba.org #320075 (CK) & #9932534 (SbrAkr)
+Listen to this.	聽聽這個。	CC-BY 2.0 (France) Attribution: tatoeba.org #1898342 (CK) & #5344342 (egg0073)
+Louder, please.	请大声一点。	CC-BY 2.0 (France) Attribution: tatoeba.org #30399 (CK) & #406714 (fucongcong)
+Lunch is ready.	午餐好了。	CC-BY 2.0 (France) Attribution: tatoeba.org #3560086 (lys1123) & #884745 (Tajfun)
+Lying is wrong.	说谎不好。	CC-BY 2.0 (France) Attribution: tatoeba.org #633502 (bferrant) & #343586 (fucongcong)
+May I help you?	我能幫你嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #456357 (lukaszpp) & #6559076 (xjjAstrus)
+May I use this?	我可以用嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #54956 (CK) & #6158452 (xjjAstrus)
+My dad is busy.	我爸爸很忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #4787511 (Joseph) & #332500 (fucongcong)
+My nose itches.	我的鼻子好癢。	CC-BY 2.0 (France) Attribution: tatoeba.org #1369203 (sacredceltic) & #6017291 (xjjAstrus)
+My tooth hurts.	我牙疼。	CC-BY 2.0 (France) Attribution: tatoeba.org #456485 (lukaszpp) & #470984 (fucongcong)
+My tummy hurts.	我肚子疼。	CC-BY 2.0 (France) Attribution: tatoeba.org #4471276 (Hybrid) & #396056 (GlossaMatik)
+Now I remember.	现在我想起来了。	CC-BY 2.0 (France) Attribution: tatoeba.org #72076 (CK) & #472898 (fucongcong)
+Open your eyes.	睁开眼睛。	CC-BY 2.0 (France) Attribution: tatoeba.org #323768 (CK) & #8916070 (howd)
+Play us a tune.	给我们弹一手。	CC-BY 2.0 (France) Attribution: tatoeba.org #815666 (CM) & #815668 (GlossaMatik)
+Please come in.	請進來。	CC-BY 2.0 (France) Attribution: tatoeba.org #435705 (CK) & #824704 (Martha)
+Please do that.	麻煩您那樣做。	CC-BY 2.0 (France) Attribution: tatoeba.org #441943 (CK) & #824505 (Martha)
+Please help me.	請幫助我。	CC-BY 2.0 (France) Attribution: tatoeba.org #262424 (CK) & #804501 (Martha)
+Please help me.	請幫我。	CC-BY 2.0 (France) Attribution: tatoeba.org #262424 (CK) & #884721 (Tajfun)
+Please join us.	請加入我們。	CC-BY 2.0 (France) Attribution: tatoeba.org #3333875 (CK) & #6150018 (verdastelo9604)
+Please tell me.	請告訴我。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249818 (CK) & #6120892 (verdastelo9604)
+Please wash it.	请清洗它。	CC-BY 2.0 (France) Attribution: tatoeba.org #2042296 (somekinda) & #1884741 (Venki)
+Prices went up.	物價上漲。	CC-BY 2.0 (France) Attribution: tatoeba.org #442109 (CK) & #826138 (Martha)
+Read this book.	看这本书。	CC-BY 2.0 (France) Attribution: tatoeba.org #56828 (CK) & #461535 (fucongcong)
+Say it clearly.	說清楚。	CC-BY 2.0 (France) Attribution: tatoeba.org #433592 (CK) & #825177 (Martha)
+Science is fun.	科學好玩。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247299 (Hybrid) & #6047500 (verdastelo9604)
+See you around.	再见!	CC-BY 2.0 (France) Attribution: tatoeba.org #32690 (CK) & #336477 (fucongcong)
+She fooled him.	她骗了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #887116 (CK) & #2032218 (ydcok)
+She fooled him.	她愚弄了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #887116 (CK) & #4270717 (notabene)
+She grew roses.	她種了玫瑰。	CC-BY 2.0 (France) Attribution: tatoeba.org #317533 (CK) & #825911 (Martha)
+She hugged him.	她抱了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #887217 (CK) & #8215704 (verdastelo9604)
+She is a nurse.	她是护士。	CC-BY 2.0 (France) Attribution: tatoeba.org #313056 (CK) & #2779129 (iMaple)
+She is dieting.	她在节食中。	CC-BY 2.0 (France) Attribution: tatoeba.org #542361 (blay_paul) & #1878324 (sadhen)
+She is dieting.	她在节食。	CC-BY 2.0 (France) Attribution: tatoeba.org #542361 (blay_paul) & #7767995 (jiangche)
+She is walking.	她在行走。	CC-BY 2.0 (France) Attribution: tatoeba.org #1202628 (etoile) & #5092290 (mirrorvan)
+She looked sad.	她看上去很伤心。	CC-BY 2.0 (France) Attribution: tatoeba.org #316541 (CK) & #334870 (fucongcong)
+She might come.	她也許會來。	CC-BY 2.0 (France) Attribution: tatoeba.org #388733 (CK) & #826122 (Martha)
+She seems rich.	她看來有錢。	CC-BY 2.0 (France) Attribution: tatoeba.org #313318 (CK) & #6093377 (verdastelo9604)
+Shut your eyes.	闭上你们的眼睛。	CC-BY 2.0 (France) Attribution: tatoeba.org #1883049 (Spamster) & #1661563 (sadhen)
+Smoke appeared.	烟雾出现了。	CC-BY 2.0 (France) Attribution: tatoeba.org #680229 (Source_VOA) & #5102239 (mirrorvan)
+Someone called.	有人打電話來。	CC-BY 2.0 (France) Attribution: tatoeba.org #765402 (Martha) & #765386 (Martha)
+Sorry I'm late.	对不起,我迟到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #808702 (ryanthewired) & #444740 (fucongcong)
+Stop grumbling.	停止发牢骚吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #18356 (CK) & #5092142 (mirrorvan)
+Stop resisting!	停止抵抗!	CC-BY 2.0 (France) Attribution: tatoeba.org #684473 (CM) & #5102240 (mirrorvan)
+Summer is over.	夏天过去了。	CC-BY 2.0 (France) Attribution: tatoeba.org #394438 (doviende) & #7774794 (jiangche)
+Take your time.	你可以慢慢来。	CC-BY 2.0 (France) Attribution: tatoeba.org #30121 (CK) & #334393 (fucongcong)
+Take your time.	慢慢来。	CC-BY 2.0 (France) Attribution: tatoeba.org #30121 (CK) & #334395 (fucongcong)
+That was wrong.	那样是错的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2250989 (CK) & #5096414 (mirrorvan)
+That's a shame.	那是一個恥辱。	CC-BY 2.0 (France) Attribution: tatoeba.org #435170 (CK) & #824604 (Martha)
+That's logical.	那符合逻辑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2187259 (CK) & #7068906 (la_kanro)
+That's my coat.	那是我的大衣。	CC-BY 2.0 (France) Attribution: tatoeba.org #3622101 (weihaiping) & #471091 (fucongcong)
+That's my goal.	这是我的目的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2256892 (CK) & #9961355 (GlossaMatik)
+That's perfect.	那是完美的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1897814 (CK) & #5650533 (verdastelo9604)
+That's strange.	奇怪。	CC-BY 2.0 (France) Attribution: tatoeba.org #320326 (CK) & #917754 (GlossaMatik)
+That's too bad.	太可惜了!	CC-BY 2.0 (France) Attribution: tatoeba.org #433625 (CK) & #332578 (fucongcong)
+That's too bad.	多遗憾啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #433625 (CK) & #469440 (fucongcong)
+That's too bad.	那太糟糕了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433625 (CK) & #826217 (Martha)
+The birds sang.	鳥兒歌唱。	CC-BY 2.0 (France) Attribution: tatoeba.org #278157 (CK) & #819283 (Martha)
+The cat meowed.	貓叫了叫。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549627 (CK) & #5670731 (verdastelo9604)
+The flag is up.	旗子升起了。	CC-BY 2.0 (France) Attribution: tatoeba.org #20530 (CK) & #813491 (fucongcong)
+The phone rang.	電話正在響。	CC-BY 2.0 (France) Attribution: tatoeba.org #2257534 (CK) & #710667 (egg0073)
+Their eyes met.	他們目光相接。	CC-BY 2.0 (France) Attribution: tatoeba.org #323737 (CK) & #6109301 (verdastelo9604)
+These are pens.	這些是筆。	CC-BY 2.0 (France) Attribution: tatoeba.org #737644 (CM) & #780043 (Martha)
+They hated Tom.	他們恨湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #305951 (CK) & #824618 (Martha)
+They have jobs.	他們有工作。	CC-BY 2.0 (France) Attribution: tatoeba.org #4397559 (CK) & #6624644 (verdastelo9604)
+They let me go.	他們讓我走。	CC-BY 2.0 (France) Attribution: tatoeba.org #495626 (CM) & #765254 (Martha)
+They love that.	他们喜欢那个	CC-BY 2.0 (France) Attribution: tatoeba.org #2243246 (CK) & #5975065 (zhangxr91)
+They trust Tom.	他们信任汤姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #2235922 (CK) & #5907509 (verdastelo9604)
+They want more.	他們想要更多。	CC-BY 2.0 (France) Attribution: tatoeba.org #1820314 (Spamster) & #4754636 (egg0073)
+They want this.	他們想要這箇。	CC-BY 2.0 (France) Attribution: tatoeba.org #2252724 (CK) & #6098442 (verdastelo9604)
+They were good.	他們不錯。	CC-BY 2.0 (France) Attribution: tatoeba.org #2243383 (CK) & #5569554 (verdastelo9604)
+This is a book.	这是一本书。	CC-BY 2.0 (France) Attribution: tatoeba.org #55399 (CK) & #336921 (fucongcong)
+This is a fake.	这是一个伪造品。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549624 (CK) & #630264 (CLARET)
+This is a fish.	這是一條魚。	CC-BY 2.0 (France) Attribution: tatoeba.org #2629585 (CM) & #2629586 (egg0073)
+This is a test.	这是一个测试。	CC-BY 2.0 (France) Attribution: tatoeba.org #2573684 (Hybrid) & #8602039 (mikeee)
+This is my bag.	那是我的包。	CC-BY 2.0 (France) Attribution: tatoeba.org #55628 (jakov) & #2040518 (sadhen)
+This isn't new.	这不是新的。	CC-BY 2.0 (France) Attribution: tatoeba.org #2233758 (CK) & #10260739 (GlossaMatik)
+Tom can change.	湯姆能改變。	CC-BY 2.0 (France) Attribution: tatoeba.org #4496506 (CK) & #6114396 (verdastelo9604)
+Tom can't stay.	汤姆不能留下。	CC-BY 2.0 (France) Attribution: tatoeba.org #1868426 (CK) & #9178012 (xiaohong)
+Tom can't swim.	汤姆不会游泳。	CC-BY 2.0 (France) Attribution: tatoeba.org #1026731 (CK) & #5072434 (musclegirlxyp)
+Tom can't walk.	汤姆不能走路了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1868425 (CK) & #9960184 (GlossaMatik)
+Tom got fatter.	汤姆胖了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236323 (CK) & #4977399 (musclegirlxyp)
+Tom has a plan.	湯姆有個計畫。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649102 (CK) & #6075556 (verdastelo9604)
+Tom has brains.	汤姆脑子好使。	CC-BY 2.0 (France) Attribution: tatoeba.org #8589486 (CK) & #5072415 (musclegirlxyp)
+Tom has failed.	汤姆失败了。	CC-BY 2.0 (France) Attribution: tatoeba.org #4667266 (CK) & #8671326 (crescat)
+Tom is a rabbi.	汤姆是个拉比。	CC-BY 2.0 (France) Attribution: tatoeba.org #1494868 (Spamster) & #5983579 (verdastelo9604)
+Tom is married.	汤姆已经结婚了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1868191 (CK) & #9961309 (GlossaMatik)
+Tom is miserly.	汤姆很小气。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236774 (CK) & #4264932 (notabene)
+Tom is no fool.	汤姆不是傻瓜。	CC-BY 2.0 (France) Attribution: tatoeba.org #2273328 (CK) & #4879070 (musclegirlxyp)
+Tom is no fool.	汤姆不是白痴。	CC-BY 2.0 (France) Attribution: tatoeba.org #2273328 (CK) & #10260786 (GlossaMatik)
+Tom is sloshed.	汤姆醉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203365 (CK) & #5142201 (musclegirlxyp)
+Tom is smashed.	汤姆醉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203374 (CK) & #5142201 (musclegirlxyp)
+Tom isn't dumb.	汤姆不傻。	CC-BY 2.0 (France) Attribution: tatoeba.org #2236962 (CK) & #5091664 (mirrorvan)
+Tom likes tofu.	汤姆喜欢豆腐。	CC-BY 2.0 (France) Attribution: tatoeba.org #6608788 (Hybrid) & #9932446 (GlossaMatik)
+Tom lives here.	汤姆住在这里。	CC-BY 2.0 (France) Attribution: tatoeba.org #2237182 (CK) & #5613703 (verdastelo9604)
+Tom looks pale.	湯姆看起來很蒼白。	CC-BY 2.0 (France) Attribution: tatoeba.org #37170 (CK) & #826200 (Martha)
+Tom loves dogs.	汤姆喜欢狗。	CC-BY 2.0 (France) Attribution: tatoeba.org #2244696 (CK) & #7771665 (jiangche)
+Tom seems nice.	汤姆看着是个好人。	CC-BY 2.0 (France) Attribution: tatoeba.org #1867923 (CK) & #8879824 (crescat)
+Tom turned red.	汤姆脸红了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2238843 (CK) & #5092418 (mirrorvan)
+Tom walked out.	湯姆走了出去。	CC-BY 2.0 (France) Attribution: tatoeba.org #2261170 (CK) & #6206740 (verdastelo9604)
+Tom was crying.	汤姆当时在哭。	CC-BY 2.0 (France) Attribution: tatoeba.org #1488808 (Spamster) & #5114279 (musclegirlxyp)
+Tom was humble.	湯姆曾是謙遜的。	CC-BY 2.0 (France) Attribution: tatoeba.org #3171136 (CK) & #7980250 (Leolaaziano)
+Tom went blind.	汤姆失明了。	CC-BY 2.0 (France) Attribution: tatoeba.org #3171099 (CK) & #4972485 (wzhd)
+Tom won't stop.	湯姆不會停。	CC-BY 2.0 (France) Attribution: tatoeba.org #2240229 (CK) & #8215700 (verdastelo9604)
+Tom's Canadian.	汤姆是加拿大人。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107460 (CK) & #10696148 (GlossaMatik)
+Tom's bleeding.	汤姆在流血。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107456 (CK) & #10182726 (slo_oth)
+Tom's diabetic.	汤姆是糖尿病患者。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107488 (CK) & #6774616 (basilhan)
+Tom's fearless.	汤姆无所畏惧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107511 (CK) & #2188407 (sadhen)
+Tom's grinning.	汤姆露齿而笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107526 (CK) & #10021278 (GlossaMatik)
+Tom's laughing.	汤姆在笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107557 (CK) & #5072342 (musclegirlxyp)
+Tom's out cold.	汤姆正昏迷不醒。	CC-BY 2.0 (France) Attribution: tatoeba.org #3171072 (CK) & #8725793 (crescat)
+Tom's thrilled.	汤姆兴奋不已。	CC-BY 2.0 (France) Attribution: tatoeba.org #2107625 (CK) & #5094100 (mirrorvan)
+Tom, answer me!	湯姆,回答我!	CC-BY 2.0 (France) Attribution: tatoeba.org #1877129 (Spamster) & #6579316 (xjjAstrus)
+Try once again.	再試一次。	CC-BY 2.0 (France) Attribution: tatoeba.org #2264432 (sharptoothed) & #824621 (Martha)
+Turn on the TV.	开电视。	CC-BY 2.0 (France) Attribution: tatoeba.org #1180903 (treskro3) & #472986 (fucongcong)
+Turn up the TV.	把电视声音调大点儿。	CC-BY 2.0 (France) Attribution: tatoeba.org #39214 (CK) & #1411619 (asosan)
+Was Tom asleep?	汤姆睡着了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3738354 (CK) & #5865518 (verdastelo9604)
+Wash your feet.	洗您的脚。	CC-BY 2.0 (France) Attribution: tatoeba.org #274488 (adjusting) & #487590 (fucongcong)
+Wash your feet.	洗你的脚。	CC-BY 2.0 (France) Attribution: tatoeba.org #274488 (adjusting) & #487593 (fucongcong)
+Watch yourself.	自己当心啊。	CC-BY 2.0 (France) Attribution: tatoeba.org #64496 (CK) & #5102151 (mirrorvan)
+We forgive you.	我們原諒你。	CC-BY 2.0 (France) Attribution: tatoeba.org #2241093 (CK) & #6068357 (verdastelo9604)
+We knew no one.	我們誰也不認識。	CC-BY 2.0 (France) Attribution: tatoeba.org #3733204 (CK) & #6131465 (verdastelo9604)
+We need a hero.	我們需要英雄。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649076 (CK) & #8215716 (verdastelo9604)
+We study music.	我们学习音乐。	CC-BY 2.0 (France) Attribution: tatoeba.org #247742 (CK) & #1358711 (sadhen)
+We were robbed.	我們被偷了。	CC-BY 2.0 (France) Attribution: tatoeba.org #4397511 (CK) & #6284532 (xjjAstrus)
+We'll continue.	我们要继续下去。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203625 (CK) & #7768123 (jiangche)
+We're a family.	我們是個家庭。	CC-BY 2.0 (France) Attribution: tatoeba.org #2240835 (CK) & #6936397 (verdastelo9604)
+We're involved.	我们正参与。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203037 (CK) & #10513304 (GlossaMatik)
+We're not late.	我们没迟到。	CC-BY 2.0 (France) Attribution: tatoeba.org #2240626 (CK) & #4456370 (plutowu)
+Well, let's go.	好吧,我們走吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #410596 (CK) & #832441 (Martha)
+Were you happy?	你开心吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2044396 (CK) & #8924804 (crescat)
+Were you right?	你是对的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2254510 (CK) & #5640753 (verdastelo9604)
+What about you?	你們呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #1642551 (CK) & #1623187 (egg0073)
+What about you?	您呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #1642551 (CK) & #1623188 (Yashanti)
+What do you do?	你的職業是什麼?	CC-BY 2.0 (France) Attribution: tatoeba.org #17125 (CK) & #908379 (Martha)
+What'll you do?	你要做什么?	CC-BY 2.0 (France) Attribution: tatoeba.org #2892667 (CK) & #9963161 (GlossaMatik)
+What's her job?	她做什麼工作?	CC-BY 2.0 (France) Attribution: tatoeba.org #3205365 (CM) & #5640735 (verdastelo9604)
+Where do we go?	我们去哪儿?	CC-BY 2.0 (France) Attribution: tatoeba.org #2649070 (CK) & #471103 (fucongcong)
+Where were you?	之前你在哪里?	CC-BY 2.0 (France) Attribution: tatoeba.org #16486 (CK) & #1778322 (sadhen)
+Who's at fault?	是誰的錯呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #441941 (CM) & #824533 (Martha)
+Who's that guy?	那家伙是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #2254911 (CK) & #5595183 (verdastelo9604)
+Who's that man?	那男人是谁?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886552 (CK) & #7773140 (jiangche)
+Who's to blame?	是誰的錯呢?	CC-BY 2.0 (France) Attribution: tatoeba.org #2057762 (CK) & #824533 (Martha)
+Why do you ask?	你問這個幹什麼?	CC-BY 2.0 (France) Attribution: tatoeba.org #1368 (CK) & #56 (fucongcong)
+Why is he here?	为什么他在这儿?	CC-BY 2.0 (France) Attribution: tatoeba.org #36344 (CK) & #408248 (fucongcong)
+Wipe your eyes.	擦擦你的眼睛。	CC-BY 2.0 (France) Attribution: tatoeba.org #3735829 (CK) & #6198252 (verdastelo9604)
+Yes, I know it.	是的,我知道。	CC-BY 2.0 (France) Attribution: tatoeba.org #433589 (CK) & #834241 (Martha)
+Yes, of course.	当然是的。	CC-BY 2.0 (France) Attribution: tatoeba.org #30530 (Zifre) & #421347 (GlossaMatik)
+Yes, of course.	是的,當然。	CC-BY 2.0 (France) Attribution: tatoeba.org #30530 (Zifre) & #712982 (egg0073)
+You are stupid.	你很愚蠢。	CC-BY 2.0 (France) Attribution: tatoeba.org #69480 (CM) & #993698 (leoyzy)
+You have to go.	你們得走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #16159 (xtofu80) & #1740732 (egg0073)
+You look bored.	你看起來很無聊。	CC-BY 2.0 (France) Attribution: tatoeba.org #15918 (CK) & #825165 (Martha)
+You look tense.	你看起来很紧张。	CC-BY 2.0 (France) Attribution: tatoeba.org #2255126 (CK) & #3289653 (sadhen)
+You look tired.	你看起來很疲倦。	CC-BY 2.0 (France) Attribution: tatoeba.org #63218 (CK) & #819306 (Martha)
+You look tired.	你看起来很困了。	CC-BY 2.0 (France) Attribution: tatoeba.org #63218 (CK) & #5097669 (mirrorvan)
+You must do it.	你必須去做。	CC-BY 2.0 (France) Attribution: tatoeba.org #770110 (marloncori) & #770244 (Martha)
+You must leave.	你必须走。	CC-BY 2.0 (France) Attribution: tatoeba.org #407094 (CM) & #407097 (GlossaMatik)
+You need to go.	你們得走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649063 (CK) & #1740732 (egg0073)
+You'll love it.	你會愛它。	CC-BY 2.0 (France) Attribution: tatoeba.org #2255375 (CK) & #6065877 (verdastelo9604)
+You're a woman.	你是个女人。	CC-BY 2.0 (France) Attribution: tatoeba.org #1228740 (CM) & #9961365 (GlossaMatik)
+You're kidding!	你開玩笑吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #433881 (CK) & #819312 (Martha)
+You're my hero.	你是我的英雄。	CC-BY 2.0 (France) Attribution: tatoeba.org #1895594 (CK) & #3709591 (egg0073)
+You're sloshed.	你們醉了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203364 (CK) & #6608082 (xjjAstrus)
+You're sloshed.	你們喝多了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2203364 (CK) & #6608084 (xjjAstrus)
+You're welcome.	您不必感谢我。	CC-BY 2.0 (France) Attribution: tatoeba.org #403068 (Ramses) & #7767730 (jiangche)
+A man must work.	男人应该工作。	CC-BY 2.0 (France) Attribution: tatoeba.org #270113 (CM) & #334672 (fucongcong)
+Anyone can join.	谁都可以参加。	CC-BY 2.0 (France) Attribution: tatoeba.org #5758358 (CM) & #9962353 (GlossaMatik)
+Are we finished?	我们完成了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244924 (CK) & #1783788 (sadhen)
+Are you at home?	你在家里吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #405500 (CK) & #406192 (GlossaMatik)
+Are you certain?	你确定?	CC-BY 2.0 (France) Attribution: tatoeba.org #1356753 (sacredceltic) & #4208543 (Ethan_lin)
+Are you friends?	你們是朋友嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #7787226 (sharris123) & #6047118 (xjjAstrus)
+Are you friends?	你们是朋友?	CC-BY 2.0 (France) Attribution: tatoeba.org #7787226 (sharris123) & #10696113 (GlossaMatik)
+Are you friends?	你们是朋友吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #7787226 (sharris123) & #10966829 (xjjAstrus)
+Are you kidding?	你在开玩笑吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #270147 (CK) & #7768013 (jiangche)
+Are you married?	您成家了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #413058 (CM) & #413061 (GlossaMatik)
+Are you nervous?	你紧张吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244956 (CK) & #8696388 (morningstar)
+Are you over 18?	你有18歲了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2900555 (Hybrid) & #6114400 (verdastelo9604)
+Are you serious?	你是认真的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #373215 (kotobaboke) & #4887667 (musclegirlxyp)
+Are you serious?	你认真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #373215 (kotobaboke) & #10024445 (GlossaMatik)
+Are you serious?	认真的?	CC-BY 2.0 (France) Attribution: tatoeba.org #373215 (kotobaboke) & #10983988 (Elaineeeeee)
+Are you thirsty?	你渴吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #434258 (lukaszpp) & #3365590 (go_oo)
+Are you working?	你在上班嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #245411 (CK) & #5999024 (xjjAstrus)
+Aren't you cold?	你不冷吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244975 (CK) & #8673739 (crescat)
+Balls are round.	球是圆的。	CC-BY 2.0 (France) Attribution: tatoeba.org #33654 (CK) & #1397373 (mtdot)
+Be happy for me.	爲我高興吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #2044400 (CK) & #5691285 (verdastelo9604)
+Be more precise.	更清晰些。	CC-BY 2.0 (France) Attribution: tatoeba.org #2244994 (CK) & #9961446 (GlossaMatik)
+Behave yourself.	规矩点。	CC-BY 2.0 (France) Attribution: tatoeba.org #64491 (CK) & #5092247 (mirrorvan)
+Black suits you.	黑色很衬你。	CC-BY 2.0 (France) Attribution: tatoeba.org #3140021 (Marissa) & #408242 (fucongcong)
+Boil some water.	烧一点水。	CC-BY 2.0 (France) Attribution: tatoeba.org #64141 (CK) & #392263 (fucongcong)
+Bring him to me.	把他给我带过来。	CC-BY 2.0 (France) Attribution: tatoeba.org #932524 (FeuDRenais) & #9970076 (GlossaMatik)
+Call me, please.	请给我打电话。	CC-BY 2.0 (France) Attribution: tatoeba.org #8794857 (dq) & #8933788 (crescat)
+Call my husband.	给我老公打电话。	CC-BY 2.0 (France) Attribution: tatoeba.org #1730012 (CM) & #10199327 (slo_oth)
+Call the police!	叫警察!	CC-BY 2.0 (France) Attribution: tatoeba.org #1718 (CK) & #1205903 (cienias)
+Call the police!	报警!	CC-BY 2.0 (France) Attribution: tatoeba.org #1718 (CK) & #1411630 (asosan)
+Call the police.	报警!	CC-BY 2.0 (France) Attribution: tatoeba.org #2245030 (CK) & #1411630 (asosan)
+Can I bring Tom?	我可以带上汤姆吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2261175 (CK) & #8888287 (crescat)
+Can I come over?	我能去你那吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2173923 (Hybrid) & #10617829 (han637376)
+Can Tom help us?	汤姆可以帮我们吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886268 (CK) & #8809754 (crescat)
+Can you feel it?	你感觉得到它吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3327479 (CK) & #10699361 (GlossaMatik)
+Can you find it?	你能找到它嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #239285 (adjusting) & #826199 (Martha)
+Can you hear me?	你听得见吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #250795 (CK) & #333415 (fucongcong)
+Can you help me?	您能幫我嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #434410 (lukaszpp) & #4071817 (egg0073)
+Can you help me?	你能幫我嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #434410 (lukaszpp) & #6559040 (xjjAstrus)
+Can you help me?	您能帮我吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #434410 (lukaszpp) & #7772052 (jiangche)
+Can you help us?	你能幫我們嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886253 (CK) & #8215708 (verdastelo9604)
+Can you whistle?	你会吹口哨吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2245065 (CK) & #10260714 (GlossaMatik)
+Clean your room.	清掃你的房間。	CC-BY 2.0 (France) Attribution: tatoeba.org #435774 (CK) & #771567 (Martha)
+Clean your room.	打扫一下你的房间。	CC-BY 2.0 (France) Attribution: tatoeba.org #435774 (CK) & #7768207 (jiangche)
+Close your eyes.	闭上你的眼睛。	CC-BY 2.0 (France) Attribution: tatoeba.org #434446 (lukaszpp) & #405129 (fucongcong)
+Close your eyes.	闭上你们的眼睛。	CC-BY 2.0 (France) Attribution: tatoeba.org #434446 (lukaszpp) & #1661563 (sadhen)
+Come if you can.	你能来就来!	CC-BY 2.0 (France) Attribution: tatoeba.org #450074 (CK) & #804811 (fucongcong)
+Come if you can.	如果你能就來吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #450074 (CK) & #825163 (Martha)
+Congratulations!	祝贺你。	CC-BY 2.0 (France) Attribution: tatoeba.org #1437 (CK) & #335058 (fucongcong)
+Congratulations!	恭喜!	CC-BY 2.0 (France) Attribution: tatoeba.org #1437 (CK) & #4990053 (boanw)
+Congratulations!	恭喜你!	CC-BY 2.0 (France) Attribution: tatoeba.org #1437 (CK) & #9992054 (GlossaMatik)
+Congratulations!	祝贺!	CC-BY 2.0 (France) Attribution: tatoeba.org #1437 (CK) & #10066362 (CreeperVLin)
+Count to thirty.	数到三十。	CC-BY 2.0 (France) Attribution: tatoeba.org #707526 (papabear) & #710390 (fucongcong)
+Did Tom respond?	汤姆有回应了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2235681 (CK) & #4885087 (musclegirlxyp)
+Did Tom say who?	湯姆說是誰了嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2891039 (CK) & #5640741 (verdastelo9604)
+Did you miss me?	你想我了?	CC-BY 2.0 (France) Attribution: tatoeba.org #1561 (CK) & #334429 (fucongcong)
+Did you take it?	你拿吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #3731817 (CM) & #6850327 (mao)
+Do you eat meat?	您吃不吃肉?	CC-BY 2.0 (France) Attribution: tatoeba.org #427988 (CM) & #427989 (GlossaMatik)
+Do you go often?	您经常去吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1043614 (Brian255) & #785919 (fucongcong)
+Do you have one?	你有嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #16547 (CK) & #793230 (Martha)
+Do you know him?	你认识他吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #69003 (CK) & #431556 (fucongcong)
+Do you know him?	你认识他吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #69003 (CK) & #10966855 (xjjAstrus)
+Do you know why?	您知道为什么吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2891110 (CK) & #10695962 (GlossaMatik)
+Do you like rap?	你喜欢说唱音乐吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2310 (CK) & #1776572 (sadhen)
+Do you remember?	你记得吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #21678 (CK) & #444736 (fucongcong)
+Do you watch TV?	您看电视吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1626139 (CM) & #405016 (fucongcong)
+Does love exist?	愛存在嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1743386 (CM) & #3957689 (egg0073)
+Does that count?	那算数吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2245285 (CK) & #10695968 (GlossaMatik)
+Don't be fooled.	別被騙了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245300 (CK) & #6105191 (verdastelo9604)
+Don't bother me.	别来烦我。	CC-BY 2.0 (France) Attribution: tatoeba.org #1488089 (arnxy20) & #1505477 (fenfang557)
+Don't follow me.	别跟着来啊。	CC-BY 2.0 (France) Attribution: tatoeba.org #1849386 (CK) & #4885130 (musclegirlxyp)
+Don't forget me.	別忘了我。	CC-BY 2.0 (France) Attribution: tatoeba.org #3733064 (CK) & #6325084 (verdastelo9604)
+Don't forget us.	别忘了我们。	CC-BY 2.0 (France) Attribution: tatoeba.org #2003078 (AlanF_US) & #7769301 (jiangche)
+Don't open that.	別打開。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245363 (CK) & #5842630 (verdastelo9604)
+Don't run risks.	不要冒险。	CC-BY 2.0 (France) Attribution: tatoeba.org #20715 (al_ex_an_der) & #819827 (fucongcong)
+Don't tell lies.	别说谎!	CC-BY 2.0 (France) Attribution: tatoeba.org #65615 (CK) & #796697 (fucongcong)
+Don't trust him.	你别相信他。	CC-BY 2.0 (France) Attribution: tatoeba.org #307858 (brauliobezerra) & #1750369 (sadhen)
+Don't you agree?	你不同意吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2136815 (GLOBULE38) & #7768002 (jiangche)
+Don't you agree?	您不同意吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2136815 (GLOBULE38) & #7768003 (jiangche)
+Drive carefully.	安全地駕駛。	CC-BY 2.0 (France) Attribution: tatoeba.org #265500 (CK) & #819285 (Martha)
+Drive carefully.	开车小心点。	CC-BY 2.0 (France) Attribution: tatoeba.org #265500 (CK) & #5102177 (mirrorvan)
+Eat more slowly.	慢点吃!	CC-BY 2.0 (France) Attribution: tatoeba.org #4630811 (CK) & #10260718 (GlossaMatik)
+Everyone was OK.	大家都还行。	CC-BY 2.0 (France) Attribution: tatoeba.org #4401086 (CK) & #5091089 (mirrorvan)
+Follow that car.	跟上那辆车。	CC-BY 2.0 (France) Attribution: tatoeba.org #1300736 (CK) & #4970157 (wzhd)
+Get off my lawn.	滚出我的草坪!	CC-BY 2.0 (France) Attribution: tatoeba.org #1934830 (Spamster) & #9958199 (GlossaMatik)
+Get out of here.	離開這裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #62081 (CK) & #826233 (Martha)
+Give Tom a hand.	幫湯姆一把。	CC-BY 2.0 (France) Attribution: tatoeba.org #2261873 (CK) & #6128506 (verdastelo9604)
+Give it to them.	把它给他们。	CC-BY 2.0 (France) Attribution: tatoeba.org #626780 (Archibald) & #792890 (fucongcong)
+Give me my beer.	把我的啤酒給我。	CC-BY 2.0 (France) Attribution: tatoeba.org #3151514 (CK) & #8215732 (verdastelo9604)
+Go home quickly.	赶快回家。	CC-BY 2.0 (France) Attribution: tatoeba.org #274014 (CK) & #5092584 (mirrorvan)
+Go to the patio.	去露台。	CC-BY 2.0 (France) Attribution: tatoeba.org #434798 (lukaszpp) & #1397108 (mtdot)
+Green suits you.	綠色適合你。	CC-BY 2.0 (France) Attribution: tatoeba.org #17538 (CK) & #824561 (Martha)
+Happy Halloween!	万圣节快乐!	CC-BY 2.0 (France) Attribution: tatoeba.org #34980 (gin) & #343668 (fucongcong)
+Has he come yet?	他已经来了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #293048 (CK) & #4267322 (notabene)
+Have a nice day.	祝你一天过得愉快。	CC-BY 2.0 (France) Attribution: tatoeba.org #30085 (CK) & #336675 (fucongcong)
+He acts quickly.	他行动迅速。	CC-BY 2.0 (France) Attribution: tatoeba.org #288254 (CM) & #1888657 (Venki)
+He began to cry.	他开始哭了。	CC-BY 2.0 (France) Attribution: tatoeba.org #295240 (CK) & #5715130 (verdastelo9604)
+He can't be ill.	他不可能生病了。	CC-BY 2.0 (France) Attribution: tatoeba.org #284135 (CK) & #347069 (fucongcong)
+He has gone mad.	他疯了。	CC-BY 2.0 (France) Attribution: tatoeba.org #295109 (CK) & #1417582 (sadhen)
+He is a teacher.	他是教师。	CC-BY 2.0 (France) Attribution: tatoeba.org #295346 (CK) & #7768344 (jiangche)
+He is a teacher.	他是老师。	CC-BY 2.0 (France) Attribution: tatoeba.org #295346 (CK) & #7768345 (jiangche)
+He is my father.	他是我父親。	CC-BY 2.0 (France) Attribution: tatoeba.org #297979 (eS) & #796081 (Martha)
+He is very kind.	他非常親切。	CC-BY 2.0 (France) Attribution: tatoeba.org #480142 (CK) & #819413 (Martha)
+He is very tall.	他很高。	CC-BY 2.0 (France) Attribution: tatoeba.org #292154 (CK) & #1361951 (sadhen)
+He just arrived.	他刚到。	CC-BY 2.0 (France) Attribution: tatoeba.org #451727 (CM) & #451439 (fucongcong)
+He likes Disney.	他喜欢迪士尼。	CC-BY 2.0 (France) Attribution: tatoeba.org #288037 (CK) & #347030 (fucongcong)
+He looks strong.	他看起來很強壯。	CC-BY 2.0 (France) Attribution: tatoeba.org #295303 (CK) & #825904 (Martha)
+He loves trains.	他喜歡火車。	CC-BY 2.0 (France) Attribution: tatoeba.org #489677 (CK) & #826287 (Martha)
+He pressured me.	他向我施壓。	CC-BY 2.0 (France) Attribution: tatoeba.org #1902518 (blay_paul) & #5595163 (verdastelo9604)
+He studied hard.	他努力學習。	CC-BY 2.0 (France) Attribution: tatoeba.org #1908967 (Spamster) & #6103217 (verdastelo9604)
+He swindled her.	他欺骗了她。	CC-BY 2.0 (France) Attribution: tatoeba.org #302875 (CK) & #1704363 (sadhen)
+He tires easily.	他很容易觉得累。	CC-BY 2.0 (France) Attribution: tatoeba.org #997850 (NickC) & #335106 (fucongcong)
+He walks slowly.	他慢慢地走。	CC-BY 2.0 (France) Attribution: tatoeba.org #293207 (CK) & #512111 (fucongcong)
+He was very old.	他很老。	CC-BY 2.0 (France) Attribution: tatoeba.org #291592 (CK) & #1533413 (CLARET)
+He will survive.	他會倖存。	CC-BY 2.0 (France) Attribution: tatoeba.org #2025437 (Spamster) & #6151302 (verdastelo9604)
+He's a comedian.	他是喜剧演员。	CC-BY 2.0 (France) Attribution: tatoeba.org #327941 (CK) & #808215 (fucongcong)
+He's a good lad.	他是個好人。	CC-BY 2.0 (France) Attribution: tatoeba.org #2675712 (FeuDRenais) & #780339 (Martha)
+He's a tall boy.	他是一个高大的男孩。	CC-BY 2.0 (France) Attribution: tatoeba.org #714434 (CM) & #714432 (Yashanti)
+He's not a hero.	他不是英雄。	CC-BY 2.0 (France) Attribution: tatoeba.org #1815763 (Spamster) & #5613619 (verdastelo9604)
+He's not stupid.	他不是傻子。	CC-BY 2.0 (France) Attribution: tatoeba.org #526990 (CM) & #429141 (fucongcong)
+He's very angry.	他非常生气。	CC-BY 2.0 (France) Attribution: tatoeba.org #1323916 (CK) & #426894 (fucongcong)
+Here's the bill.	这是账单。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245561 (CK) & #7774826 (jiangche)
+Here's your tea.	這是你的茶。	CC-BY 2.0 (France) Attribution: tatoeba.org #3900748 (felvideki) & #5863244 (verdastelo9604)
+Hi! How are you?	嗨!你好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #30316 (Zifre) & #873404 (Martha)
+His word is law.	他的话就是命令。	CC-BY 2.0 (France) Attribution: tatoeba.org #287669 (CM) & #792851 (fucongcong)
+How are you all?	大家好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #914019 (Jane_Austen) & #819309 (Martha)
+How are you all?	你們好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #914019 (Jane_Austen) & #1761553 (egg0073)
+How do you feel?	你感觉如何?	CC-BY 2.0 (France) Attribution: tatoeba.org #25724 (CK) & #5026446 (murr)
+How hot is that?	那個東西有多熱?	CC-BY 2.0 (France) Attribution: tatoeba.org #9144900 (shou) & #9144904 (shou)
+How interesting!	多么有趣啊!	CC-BY 2.0 (France) Attribution: tatoeba.org #1898371 (CK) & #7772100 (jiangche)
+How is everyone?	大家好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #22110 (CK) & #819309 (Martha)
+How is it going?	你們好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #38308 (CK) & #1761553 (egg0073)
+How much was it?	多少錢?	CC-BY 2.0 (France) Attribution: tatoeba.org #2912655 (CK) & #761442 (Martha)
+How old are you?	你幾歲?	CC-BY 2.0 (France) Attribution: tatoeba.org #436243 (lukaszpp) & #779497 (Martha)
+How rude of you!	你真粗魯!	CC-BY 2.0 (France) Attribution: tatoeba.org #16444 (CK) & #819340 (Martha)
+How unfortunate!	可憐!	CC-BY 2.0 (France) Attribution: tatoeba.org #2111810 (CK) & #766953 (Martha)
+How's everybody?	大家好嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1495905 (CK) & #819309 (Martha)
+How's the apple?	這個蘋果怎麼樣?	CC-BY 2.0 (France) Attribution: tatoeba.org #6110489 (Sethlang) & #6092463 (xjjAstrus)
+I ache all over.	我全身酸痛。	CC-BY 2.0 (France) Attribution: tatoeba.org #63521 (CK) & #917936 (Martha)
+I am a bachelor.	我单身。	CC-BY 2.0 (France) Attribution: tatoeba.org #29048 (CK) & #4977440 (musclegirlxyp)
+I am a bachelor.	我單身。	CC-BY 2.0 (France) Attribution: tatoeba.org #29048 (CK) & #5691850 (xjjAstrus)
+I am a good boy.	我是一个好男孩。	CC-BY 2.0 (France) Attribution: tatoeba.org #1070261 (Valodnieks) & #1786007 (sadhen)
+I am busy today.	我今天忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #242977 (sacredceltic) & #8215733 (verdastelo9604)
+I am dead tired.	困死了。	CC-BY 2.0 (France) Attribution: tatoeba.org #3259457 (CM) & #2431733 (fenfang557)
+I am in trouble.	我有麻煩了。	CC-BY 2.0 (France) Attribution: tatoeba.org #257640 (CK) & #917920 (Martha)
+I am in trouble.	我遇到困難了。	CC-BY 2.0 (France) Attribution: tatoeba.org #257640 (CK) & #917927 (Martha)
+I am not stupid.	我不是笨蛋。	CC-BY 2.0 (France) Attribution: tatoeba.org #2857953 (CM) & #8698960 (crescat)
+I am very tired.	我很累。	CC-BY 2.0 (France) Attribution: tatoeba.org #854452 (piksea) & #397734 (GlossaMatik)
+I ate the apple.	我吃了這個蘋果。	CC-BY 2.0 (France) Attribution: tatoeba.org #770172 (marloncori) & #770261 (Martha)
+I baked cookies.	我烤了曲奇。	CC-BY 2.0 (France) Attribution: tatoeba.org #2245614 (CK) & #6325143 (verdastelo9604)
+I began running.	我開始跑。	CC-BY 2.0 (France) Attribution: tatoeba.org #5850896 (CK) & #6103124 (verdastelo9604)
+I booked a seat.	我訂了一個位子。	CC-BY 2.0 (France) Attribution: tatoeba.org #243651 (CM) & #731759 (Martha)
+I bought a book.	我買了一本書。	CC-BY 2.0 (France) Attribution: tatoeba.org #256043 (CK) & #941107 (Martha)
+I called Tom up.	我打電話給湯姆了。	CC-BY 2.0 (France) Attribution: tatoeba.org #255286 (CK) & #826242 (Martha)
+I called her up.	我給她打電話。	CC-BY 2.0 (France) Attribution: tatoeba.org #261210 (CK) & #5911676 (verdastelo9604)
+I can come, too.	我也能去。	CC-BY 2.0 (France) Attribution: tatoeba.org #8405946 (CK) & #8746411 (cxpadonis)
+I can sing well.	我唱歌很好听。	CC-BY 2.0 (France) Attribution: tatoeba.org #501171 (swagner) & #6884328 (maggiesq)
+I can swim well.	我游泳可以游得很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #258725 (CK) & #926770 (Martha)
+I can't do that.	我做不到。	CC-BY 2.0 (France) Attribution: tatoeba.org #1650200 (Spamster) & #7768005 (jiangche)
+I can't do this.	我做不到。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887124 (CK) & #7768005 (jiangche)
+I can't feel it.	我感觉不到它。	CC-BY 2.0 (France) Attribution: tatoeba.org #4401081 (CK) & #10699359 (GlossaMatik)
+I can't see you.	我看不見你。	CC-BY 2.0 (France) Attribution: tatoeba.org #1784974 (Amastan) & #5114860 (xjjAstrus)
+I can't stop it.	我无法阻止它。	CC-BY 2.0 (France) Attribution: tatoeba.org #1647936 (Spamster) & #10260745 (GlossaMatik)
+I can't undo it.	我不能取消它。	CC-BY 2.0 (France) Attribution: tatoeba.org #826005 (U2FS) & #827591 (Martha)
+I did it myself.	我自己做的。	CC-BY 2.0 (France) Attribution: tatoeba.org #454165 (mamat) & #512813 (fucongcong)
+I don't like it.	我不喜欢。	CC-BY 2.0 (France) Attribution: tatoeba.org #2271878 (CK) & #1361974 (sadhen)
+I don't want it.	我不要.	CC-BY 2.0 (France) Attribution: tatoeba.org #452696 (CK) & #6850371 (mao)
+I enjoy running.	我喜欢跑步。	CC-BY 2.0 (France) Attribution: tatoeba.org #6358355 (CK) & #363979 (fucongcong)
+I feel relieved.	我感觉轻松了。	CC-BY 2.0 (France) Attribution: tatoeba.org #28489 (CK) & #787349 (fucongcong)
+I get up at six.	我六點起床。	CC-BY 2.0 (France) Attribution: tatoeba.org #321577 (CK) & #835368 (Martha)
+I had no choice.	那时我没有选择的余地。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553472 (CK) & #1783803 (sadhen)
+I hate studying.	我讨厌学习。	CC-BY 2.0 (France) Attribution: tatoeba.org #537021 (tomkun01) & #471099 (fucongcong)
+I have a laptop.	我有一臺筆記本電腦。	CC-BY 2.0 (France) Attribution: tatoeba.org #4305641 (CK) & #9057853 (xjjAstrus)
+I have brothers.	我有兄弟。	CC-BY 2.0 (France) Attribution: tatoeba.org #773503 (marloncori) & #774537 (Martha)
+I have diabetes.	我有糖尿病。	CC-BY 2.0 (France) Attribution: tatoeba.org #280075 (CK) & #10699400 (GlossaMatik)
+I have no money.	我没钱了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433613 (CK) & #10019726 (GlossaMatik)
+I have ten pens.	我有十支筆。	CC-BY 2.0 (France) Attribution: tatoeba.org #370732 (saeb) & #779472 (Martha)
+I have to hurry!	我要赶紧了!	CC-BY 2.0 (France) Attribution: tatoeba.org #705285 (Zifre) & #793948 (fucongcong)
+I have two cars.	我有两辆车。	CC-BY 2.0 (France) Attribution: tatoeba.org #321849 (CK) & #411702 (fucongcong)
+I have two cats.	我有两只猫。	CC-BY 2.0 (France) Attribution: tatoeba.org #2412739 (fjrjdk) & #4878929 (musclegirlxyp)
+I have two sons.	我有兩個兒子。	CC-BY 2.0 (France) Attribution: tatoeba.org #2714934 (CK) & #6486891 (xjjAstrus)
+I just threw up.	我剛才吐了。	CC-BY 2.0 (France) Attribution: tatoeba.org #3962738 (JSakuragi) & #3713809 (egg0073)
+I know your son.	我认识你儿子。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841674 (CK) & #10182738 (slo_oth)
+I lent him a CD.	我借给他一盘CD。	CC-BY 2.0 (France) Attribution: tatoeba.org #260265 (CK) & #846778 (fucongcong)
+I like Tom, too.	我也喜歡湯姆。	CC-BY 2.0 (France) Attribution: tatoeba.org #5840522 (CK) & #6333807 (verdastelo9604)
+I like eggplant.	我喜歡茄子。	CC-BY 2.0 (France) Attribution: tatoeba.org #7156338 (Kiwi) & #6940065 (xjjAstrus)
+I like football.	我喜歡足球。	CC-BY 2.0 (France) Attribution: tatoeba.org #858100 (miravalles) & #5568572 (egg0073)
+I like potatoes.	我喜歡土豆。	CC-BY 2.0 (France) Attribution: tatoeba.org #5858134 (CK) & #6075487 (verdastelo9604)
+I like the cold.	我喜歡寒冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #252385 (CK) & #1647824 (egg0073)
+I like this dog.	我喜欢这只狗。	CC-BY 2.0 (France) Attribution: tatoeba.org #439591 (landano) & #1785983 (sadhen)
+I like your car.	我喜欢您的车。	CC-BY 2.0 (France) Attribution: tatoeba.org #257112 (CK) & #343424 (fucongcong)
+I live with Tom.	我和汤姆住。	CC-BY 2.0 (France) Attribution: tatoeba.org #2261961 (CK) & #11282484 (biscotto)
+I lost my money.	我丢了我的钱。	CC-BY 2.0 (France) Attribution: tatoeba.org #7798513 (sharris123) & #847698 (fucongcong)
+I love barbecue.	我喜欢烧烤食物。	CC-BY 2.0 (France) Attribution: tatoeba.org #1635960 (Spamster) & #2595832 (iMaple)
+I love this car.	我愛這台車。	CC-BY 2.0 (France) Attribution: tatoeba.org #4401060 (CK) & #5496248 (egg0073)
+I love you, too.	我也愛你。	CC-BY 2.0 (France) Attribution: tatoeba.org #628763 (meloncurtains) & #5500487 (egg0073)
+I might say yes.	我可能会说是。	CC-BY 2.0 (France) Attribution: tatoeba.org #2387228 (CK) & #5945148 (verdastelo9604)
+I must help her.	我必須幫助她。	CC-BY 2.0 (France) Attribution: tatoeba.org #816064 (afeinberg) & #816890 (Martha)
+I need a doctor.	我需要医生。	CC-BY 2.0 (France) Attribution: tatoeba.org #2280312 (CK) & #10699408 (GlossaMatik)
+I need a friend.	我需要个朋友。	CC-BY 2.0 (France) Attribution: tatoeba.org #3824522 (CK) & #5983631 (verdastelo9604)
+I need a lawyer.	我需要一名律師。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887574 (CK) & #6292460 (xjjAstrus)
+I need evidence.	我需要證據。	CC-BY 2.0 (France) Attribution: tatoeba.org #2246003 (CK) & #6293115 (verdastelo9604)
+I need his help.	我需要他的帮助。	CC-BY 2.0 (France) Attribution: tatoeba.org #286703 (CK) & #343475 (fucongcong)
+I need my boots.	我需要我的靴子。	CC-BY 2.0 (France) Attribution: tatoeba.org #7799644 (sharris123) & #6062102 (xjjAstrus)
+I need you here.	我需要你在這裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887591 (CK) & #6075557 (verdastelo9604)
+I only want one.	我只想要一件东西。	CC-BY 2.0 (France) Attribution: tatoeba.org #1956085 (CK) & #7774358 (jiangche)
+I paid the bill.	我买了单。	CC-BY 2.0 (France) Attribution: tatoeba.org #680368 (Source_VOA) & #808214 (fucongcong)
+I play football.	我踢足球。	CC-BY 2.0 (France) Attribution: tatoeba.org #2175511 (frog1011) & #9953360 (GlossaMatik)
+I played tennis.	我打網球了。	CC-BY 2.0 (France) Attribution: tatoeba.org #255092 (CK) & #826104 (Martha)
+I run every day.	我每天跑步。	CC-BY 2.0 (France) Attribution: tatoeba.org #261849 (CK) & #414247 (fucongcong)
+I study English.	我学英语。	CC-BY 2.0 (France) Attribution: tatoeba.org #256236 (CK) & #10448719 (GlossaMatik)
+I talked to Tom.	我和汤姆说了话。	CC-BY 2.0 (France) Attribution: tatoeba.org #1887701 (CK) & #7768303 (jiangche)
+I talked to her.	我跟她談了話。	CC-BY 2.0 (France) Attribution: tatoeba.org #1457695 (CK) & #5942089 (verdastelo9604)
+I think it's OK.	我想沒關係。	CC-BY 2.0 (France) Attribution: tatoeba.org #433884 (CK) & #771479 (Martha)
+I think so, too.	我也这么认为。	CC-BY 2.0 (France) Attribution: tatoeba.org #262339 (CK) & #411523 (fucongcong)
+I think so, too.	我也这么想。	CC-BY 2.0 (France) Attribution: tatoeba.org #262339 (CK) & #440005 (GlossaMatik)
+I think so, too.	我也是這麼想的。	CC-BY 2.0 (France) Attribution: tatoeba.org #262339 (CK) & #1227132 (tsayng)
+I threw a party.	我举办了一场派对。	CC-BY 2.0 (France) Attribution: tatoeba.org #10547917 (sundown) & #10114137 (GlossaMatik)
+I took a shower.	我洗了澡。	CC-BY 2.0 (France) Attribution: tatoeba.org #3126551 (lavenir) & #5624915 (verdastelo9604)
+I totally agree.	我完全同意。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247422 (CK) & #926858 (Martha)
+I turned it off.	我把它关了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2570986 (Hybrid) & #9963079 (GlossaMatik)
+I want a guitar.	我想要一把吉他。	CC-BY 2.0 (France) Attribution: tatoeba.org #63403 (CK) & #390449 (fucongcong)
+I want that bag.	我想要那個袋子。	CC-BY 2.0 (France) Attribution: tatoeba.org #68478 (CK) & #824622 (Martha)
+I want to drive.	我想開車。	CC-BY 2.0 (France) Attribution: tatoeba.org #258396 (CK) & #826158 (Martha)
+I want to sleep.	真想睡过去啊。	CC-BY 2.0 (France) Attribution: tatoeba.org #321870 (CK) & #2442076 (fenfang557)
+I wanted to cry.	我想哭。	CC-BY 2.0 (France) Attribution: tatoeba.org #4383868 (Hybrid) & #334542 (fucongcong)
+I was a teacher.	我当过老师。	CC-BY 2.0 (France) Attribution: tatoeba.org #432340 (CM) & #432344 (GlossaMatik)
+I was not drunk.	我沒醉。	CC-BY 2.0 (France) Attribution: tatoeba.org #1156060 (CK) & #8215707 (verdastelo9604)
+I was surprised.	我吃了一驚。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247521 (CK) & #5585229 (verdastelo9604)
+I wish you luck.	我祝您好运。	CC-BY 2.0 (France) Attribution: tatoeba.org #858589 (piksea) & #344208 (fucongcong)
+I wish you luck.	祝你好运。	CC-BY 2.0 (France) Attribution: tatoeba.org #858589 (piksea) & #812490 (fucongcong)
+I wish you luck.	祝您好运。	CC-BY 2.0 (France) Attribution: tatoeba.org #858589 (piksea) & #10511466 (Selina)
+I wish you'd go.	我希望你去。	CC-BY 2.0 (France) Attribution: tatoeba.org #2155930 (CM) & #864359 (Martha)
+I woke up early.	我起得早。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549543 (CK) & #6678462 (verdastelo9604)
+I won't be long.	不會花很多時間的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1779996 (Spamster) & #1170427 (egg0073)
+I work too much.	我工作得太多了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1553441 (CK) & #1783806 (sadhen)
+I write letters.	我寫字母。	CC-BY 2.0 (France) Attribution: tatoeba.org #9401975 (BobbyLee) & #2243454 (cienias)
+I'll bring wine.	我會帶酒來。	CC-BY 2.0 (France) Attribution: tatoeba.org #5228978 (jaxhere) & #5640710 (verdastelo9604)
+I'll go by taxi.	我坐出租車去。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549527 (CK) & #9179887 (xjjAstrus)
+I'll never stop.	我絕不會停。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247791 (CK) & #6871856 (verdastelo9604)
+I'm a detective.	我是个侦探。	CC-BY 2.0 (France) Attribution: tatoeba.org #2247888 (CK) & #7774795 (jiangche)
+I'm a foreigner.	我是一個外國人。	CC-BY 2.0 (France) Attribution: tatoeba.org #809719 (Martha) & #809716 (Martha)
+I'm a good cook.	我是个好厨师。	CC-BY 2.0 (France) Attribution: tatoeba.org #325794 (CK) & #346721 (fucongcong)
+I'm a night owl.	我是個夜貓子。	CC-BY 2.0 (France) Attribution: tatoeba.org #321972 (CK) & #825924 (Martha)
+I'm a professor.	我是大学教授。	CC-BY 2.0 (France) Attribution: tatoeba.org #5853142 (CK) & #8762958 (crescat)
+I'm about ready.	我快好了。	CC-BY 2.0 (France) Attribution: tatoeba.org #33483 (CK) & #793259 (Martha)
+I'm almost done.	我差不多完成了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2040 (Swift) & #333787 (fucongcong)
+I'm always busy.	我总是有事。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649020 (CK) & #7771930 (jiangche)
+I'm always here.	我一直在這裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #5975691 (CK) & #6114424 (verdastelo9604)
+I'm chewing gum.	我嚼口香糖。	CC-BY 2.0 (France) Attribution: tatoeba.org #5853100 (CK) & #9956903 (GlossaMatik)
+I'm daydreaming.	我在做白日夢。	CC-BY 2.0 (France) Attribution: tatoeba.org #5198885 (AlanF_US) & #6105117 (verdastelo9604)
+I'm eating rice.	我在吃米饭。	CC-BY 2.0 (France) Attribution: tatoeba.org #6873303 (CK) & #334506 (fucongcong)
+I'm feeling fit.	我覺得精神很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #33524 (CK) & #826231 (Martha)
+I'm from Boston.	他來自波士頓。	CC-BY 2.0 (France) Attribution: tatoeba.org #2549516 (CK) & #764477 (Martha)
+I'm getting old.	我在变老。	CC-BY 2.0 (France) Attribution: tatoeba.org #1619683 (Spamster) & #7768006 (jiangche)
+I'm job hunting.	我在找工作。	CC-BY 2.0 (France) Attribution: tatoeba.org #5858327 (CK) & #406364 (fucongcong)
+I'm left-handed.	我是左撇子。	CC-BY 2.0 (France) Attribution: tatoeba.org #321826 (CK) & #832799 (Martha)
+I'm not a witch.	我不是巫婆。	CC-BY 2.0 (France) Attribution: tatoeba.org #6873301 (CK) & #796646 (fucongcong)
+I'm not jealous.	我不嫉妒。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248154 (CK) & #7768001 (jiangche)
+I'm not married.	我单身。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841625 (CK) & #4977440 (musclegirlxyp)
+I'm not married.	我單身。	CC-BY 2.0 (France) Attribution: tatoeba.org #1841625 (CK) & #5691850 (xjjAstrus)
+I'm not serious.	我不是认真的。	CC-BY 2.0 (France) Attribution: tatoeba.org #1139052 (soj4l) & #461488 (fucongcong)
+I'm out of here.	我走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #455837 (lukaszpp) & #405498 (GlossaMatik)
+I'm out of time.	我没时间了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2713773 (CK) & #5555760 (verdastelo9604)
+I'm pretty busy.	我挺忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #2046667 (CK) & #6940059 (Cheng)
+I'm pretty tall.	我相当高。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248216 (CK) & #7772595 (jiangche)
+I'm really busy.	我真的好忙。	CC-BY 2.0 (France) Attribution: tatoeba.org #2046669 (CK) & #4760008 (ryanwoo)
+I'm really cold.	我真的冷。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248227 (CK) & #6065730 (verdastelo9604)
+I'm so worn out.	我好累。	CC-BY 2.0 (France) Attribution: tatoeba.org #1556502 (brymck) & #785298 (Martha)
+I'm still angry.	我还是很气。	CC-BY 2.0 (France) Attribution: tatoeba.org #4397631 (CK) & #9972435 (GlossaMatik)
+I'm still young.	我還年輕。	CC-BY 2.0 (France) Attribution: tatoeba.org #1806286 (Spamster) & #832459 (Martha)
+I'm very hungry.	我很餓。	CC-BY 2.0 (France) Attribution: tatoeba.org #433809 (CK) & #826048 (Martha)
+I'm very hungry.	我好饿。	CC-BY 2.0 (France) Attribution: tatoeba.org #433809 (CK) & #9991926 (GlossaMatik)
+I'm very lonely.	我很寂寞。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649018 (CK) & #5091176 (mirrorvan)
+I'm very sleepy.	我非常困。	CC-BY 2.0 (France) Attribution: tatoeba.org #2649017 (CK) & #8968587 (ZeroAurora)
+I'm watching TV.	我在看电视。	CC-BY 2.0 (France) Attribution: tatoeba.org #2036345 (Dejo) & #10695997 (GlossaMatik)
+I'm your deputy.	我是你的代理人。	CC-BY 2.0 (France) Attribution: tatoeba.org #3374193 (CK) & #10513310 (GlossaMatik)
+I'm your father.	我是你爸爸。	CC-BY 2.0 (France) Attribution: tatoeba.org #1891163 (CK) & #6057860 (verdastelo9604)
+I'm your lawyer.	我是你的律师。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248326 (CK) & #10713945 (AwabiJan)
+I'm your sister.	我是你的妹妹。	CC-BY 2.0 (France) Attribution: tatoeba.org #1979740 (CM) & #2782904 (GlossaMatik)
+I've got a bike.	我有一輛自行車。	CC-BY 2.0 (France) Attribution: tatoeba.org #3091025 (CK) & #5112366 (xjjAstrus)
+I've got a boat.	我有一艘小船。	CC-BY 2.0 (France) Attribution: tatoeba.org #8399047 (CK) & #9179805 (xjjAstrus)
+I've got asthma.	我有哮喘。	CC-BY 2.0 (France) Attribution: tatoeba.org #10697421 (sundown) & #10699398 (GlossaMatik)
+I've had a bath.	我洗了澡。	CC-BY 2.0 (France) Attribution: tatoeba.org #10657443 (sundown) & #5624915 (verdastelo9604)
+I've had enough.	我已經受夠了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433859 (CK) & #826273 (Martha)
+I've had enough.	我已經吃飽了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433859 (CK) & #826276 (Martha)
+Is Tom Canadian?	Tom是加拿大人嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244584 (CK) & #5350387 (egg0073)
+Is Tom an actor?	汤姆是演员吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2649011 (CK) & #8877876 (crescat)
+Is Tom autistic?	汤姆有自闭症吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2235809 (CK) & #8832691 (crescat)
+Is Tom infected?	汤姆被感染了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2244610 (CK) & #8696436 (morningstar)
+Is Tom swimming?	汤姆在游泳吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2953034 (CK) & #8756401 (crescat)
+Is Tom with you?	汤姆和你在一起吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #1886872 (CK) & #10157039 (yeyue)
+Is anybody home?	家里有没有人?	CC-BY 2.0 (France) Attribution: tatoeba.org #276298 (CK) & #408723 (GlossaMatik)
+Is he breathing?	他在呼吸嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #239892 (CK) & #772142 (Martha)
+Is it all there?	全都在那裡嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2891415 (CK) & #6146643 (verdastelo9604)
+Is it poisonous?	它有毒嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #2248466 (CK) & #8215687 (verdastelo9604)
+Is it too salty?	还有多余的盐吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #995263 (NickC) & #993764 (leoyzy)
+Is she Japanese?	她是日本人嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #1123763 (CK) & #1671358 (egg0073)
+Is this a river?	這是一條河嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #56259 (CK) & #788741 (Martha)
+Isn't that mine?	那是我的吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #2248691 (CK) & #4463426 (MirendaBABY)
+It is up to you.	由你來決定。	CC-BY 2.0 (France) Attribution: tatoeba.org #42493 (CK) & #834868 (Martha)
+It really works.	真的有用。	CC-BY 2.0 (France) Attribution: tatoeba.org #2032690 (Amastan) & #9953347 (GlossaMatik)
+It snowed a lot.	下了很多的雪。	CC-BY 2.0 (France) Attribution: tatoeba.org #1045510 (tatomeimei) & #759541 (Martha)
+It was my fault.	这是我的错。	CC-BY 2.0 (France) Attribution: tatoeba.org #1745701 (Spamster) & #790573 (GlossaMatik)
+It was terrible.	真糟糕。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248884 (CK) & #5576793 (verdastelo9604)
+It was very far.	很遠。	CC-BY 2.0 (France) Attribution: tatoeba.org #5758327 (CM) & #6132230 (verdastelo9604)
+It'll be cloudy.	天要变多云了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2631810 (Joseph) & #6080240 (verdastelo9604)
+It'll rain soon.	天快要下雨了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2248988 (CK) & #335128 (fucongcong)
+It's a dead end.	这是个死胡同。	CC-BY 2.0 (France) Attribution: tatoeba.org #2176 (CK) & #503300 (fucongcong)
+It's a nice day.	今天天氣很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #433659 (CK) & #819387 (Martha)
+It's a surprise.	这是一个惊喜。	CC-BY 2.0 (France) Attribution: tatoeba.org #1567 (CK) & #334423 (fucongcong)
+It's almost six.	差不多六点了。	CC-BY 2.0 (France) Attribution: tatoeba.org #519311 (CK) & #609853 (CLARET)
+It's almost six.	快要六點了。	CC-BY 2.0 (France) Attribution: tatoeba.org #519311 (CK) & #832800 (Martha)
+It's already 11.	已经是11点了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1230697 (alec) & #334137 (fucongcong)
+It's cool today.	今天很凉快。	CC-BY 2.0 (France) Attribution: tatoeba.org #242990 (CK) & #405263 (fucongcong)
+It's fine today.	今天天气很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #242938 (CK) & #333127 (fucongcong)
+It's impossible.	這是不可能的。	CC-BY 2.0 (France) Attribution: tatoeba.org #433459 (CK) & #824702 (Martha)
+It's lunch time.	午餐時間到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #433692 (CK) & #825916 (Martha)
+It's nearly six.	差不多六点了。	CC-BY 2.0 (France) Attribution: tatoeba.org #5290178 (Joseph) & #609853 (CLARET)
+It's okay to go.	你可以走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #518554 (CK) & #824627 (Martha)
+It's over there.	在那裡。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249154 (CK) & #5856785 (verdastelo9604)
+It's really big.	它很大。	CC-BY 2.0 (France) Attribution: tatoeba.org #2249203 (CK) & #832782 (Martha)
+It's time to go.	該走了。	CC-BY 2.0 (France) Attribution: tatoeba.org #266757 (CK) & #793328 (Martha)
+It's time to go.	是該離開的時候了。	CC-BY 2.0 (France) Attribution: tatoeba.org #266757 (CK) & #793329 (Martha)
+Jesus loves you.	耶穌愛你。	CC-BY 2.0 (France) Attribution: tatoeba.org #823857 (slomox) & #824412 (Martha)
+Keep on smiling.	保持微笑。	CC-BY 2.0 (France) Attribution: tatoeba.org #318128 (CK) & #778735 (Martha)
+Keep on working.	繼續工作!	CC-BY 2.0 (France) Attribution: tatoeba.org #3507575 (CK) & #3982106 (tsayng)
+Keep the change!	不用找零钱了。	CC-BY 2.0 (France) Attribution: tatoeba.org #39748 (CK) & #1411509 (asosan)
+Large, isn't it?	很大, 不是嗎?	CC-BY 2.0 (France) Attribution: tatoeba.org #435613 (CK) & #771584 (Martha)
+Leave him alone.	让他一个人待着。	CC-BY 2.0 (France) Attribution: tatoeba.org #278533 (CK) & #363872 (fucongcong)
+Lemons are sour.	檸檬是酸的。	CC-BY 2.0 (France) Attribution: tatoeba.org #435751 (CK) & #826253 (Martha)
+Let me go alone.	讓我一個人去。	CC-BY 2.0 (France) Attribution: tatoeba.org #27652 (CK) & #825893 (Martha)
+Let me see that.	讓我看看。	CC-BY 2.0 (France) Attribution: tatoeba.org #41848 (CK) & #819468 (Martha)
+Let them decide.	讓他們決定。	CC-BY 2.0 (France) Attribution: tatoeba.org #3071634 (sharptoothed) & #4732044 (egg0073)
+Let's eat sushi.	讓我們吃壽司吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #449059 (CK) & #824678 (Martha)
+Let's get drunk.	让我们一醉方休吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #1891276 (CK) & #10552163 (GlossaMatik)
+Let's go by bus.	讓我們坐公共汽車去。	CC-BY 2.0 (France) Attribution: tatoeba.org #450028 (CK) & #826293 (Martha)
+Let's not argue.	我們別吵了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2007873 (CK) & #2660863 (egg0073)
+Let's rest here.	在这里稍微休息一下吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #61882 (CK) & #8749668 (crescat)
+Let's turn back.	我们掉头吧!	CC-BY 2.0 (France) Attribution: tatoeba.org #27144 (CK) & #472905 (fucongcong)
+Look at the sky.	看天上。	CC-BY 2.0 (France) Attribution: tatoeba.org #2648989 (CK) & #2081723 (sadhen)
+Look behind you.	瞧你身後。	CC-BY 2.0 (France) Attribution: tatoeba.org #433623 (CK) & #819456 (Martha)
+Make it smaller.	把它弄小一點。	CC-BY 2.0 (France) Attribution: tatoeba.org #433495 (CK) & #825894 (Martha)
+May I leave now?	我现在能走了吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #242132 (CK) & #476636 (fucongcong)
+May I try it on?	我能试一下吗?	CC-BY 2.0 (France) Attribution: tatoeba.org #41784 (CK) & #782915 (fucongcong)
+Maybe next time.	也许下一次吧。	CC-BY 2.0 (France) Attribution: tatoeba.org #1516119 (gonnastop) & #710745 (Yashanti)
+Men should work.	男人应该工作。	CC-BY 2.0 (France) Attribution: tatoeba.org #1479231 (weihaiping) & #334672 (fucongcong)
+Merry Christmas!	聖誕快樂。	CC-BY 2.0 (France) Attribution: tatoeba.org #1723 (brauliobezerra) & #779499 (Martha)
+Mom, I'm hungry.	妈妈,我肚子饿了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2764199 (CK) & #4473138 (yuiyu)
+My father walks.	我爸爸走路。	CC-BY 2.0 (France) Attribution: tatoeba.org #557422 (CK) & #4757681 (ryanwoo)
+My house is big.	我家很大。	CC-BY 2.0 (France) Attribution: tatoeba.org #250554 (Scott) & #336235 (fucongcong)
+Never say never.	永远不要说永远。	CC-BY 2.0 (France) Attribution: tatoeba.org #505754 (Mehdi) & #1330012 (vicch)
+Nice to see you.	见到你真好。	CC-BY 2.0 (France) Attribution: tatoeba.org #32688 (CK) & #795754 (fucongcong)
+No one was late.	没有人迟到。	CC-BY 2.0 (France) Attribution: tatoeba.org #415455 (CM) & #803851 (fucongcong)
+No, I didn't go.	不,我沒去。	CC-BY 2.0 (France) Attribution: tatoeba.org #516735 (CK) & #819356 (Martha)
+Nobody wants it.	这个没人要。	CC-BY 2.0 (France) Attribution: tatoeba.org #672179 (Eldad) & #6799704 (basilhan)
+Open the bottle.	把瓶子打开。	CC-BY 2.0 (France) Attribution: tatoeba.org #49963 (CK) & #1411634 (asosan)
+Please be quiet.	請安靜。	CC-BY 2.0 (France) Attribution: tatoeba.org #449049 (CK) & #825998 (Martha)
+Please continue.	请继续。	CC-BY 2.0 (France) Attribution: tatoeba.org #870628 (CK) & #5102256 (mirrorvan)
+Please sit down.	请坐一下。	CC-BY 2.0 (France) Attribution: tatoeba.org #415594 (CM) & #415599 (GlossaMatik)
+Please sit down.	請坐下。	CC-BY 2.0 (France) Attribution: tatoeba.org #415594 (CM) & #826147 (Martha)
+Prices are high.	价格高。	CC-BY 2.0 (France) Attribution: tatoeba.org #65710 (CK) & #8696342 (crescat)
+Put your hat on.	戴上你的帽子。	CC-BY 2.0 (France) Attribution: tatoeba.org #321117 (CK) & #895823 (Martha)
+Say no to drugs.	對毒品說不。	CC-BY 2.0 (France) Attribution: tatoeba.org #827226 (Scott) & #827526 (Martha)
+Scary, isn't it?	是不是嚇人?	CC-BY 2.0 (France) Attribution: tatoeba.org #2549491 (CK) & #6150894 (verdastelo9604)
+See you about 7.	我们7点左右碰头。	CC-BY 2.0 (France) Attribution: tatoeba.org #72342 (CK) & #375350 (fucongcong)
+See you tonight.	今晚見。	CC-BY 2.0 (France) Attribution: tatoeba.org #2648979 (CK) & #6028180 (verdastelo9604)
+Send it airmail.	航空邮寄它。	CC-BY 2.0 (France) Attribution: tatoeba.org #2259106 (_undertoad) & #9961356 (GlossaMatik)
+She calmed down.	她冷靜下來。	CC-BY 2.0 (France) Attribution: tatoeba.org #3272732 (CM) & #6132218 (verdastelo9604)
+She disappeared.	她消失了。	CC-BY 2.0 (France) Attribution: tatoeba.org #1442219 (CK) & #5372267 (egg0073)
+She is graceful.	她举止优雅。	CC-BY 2.0 (France) Attribution: tatoeba.org #317252 (CK) & #4972683 (wzhd)
+She looked away.	她轉移了視線。	CC-BY 2.0 (France) Attribution: tatoeba.org #512653 (CK) & #825166 (Martha)
+She looks young.	她看起来很年轻。	CC-BY 2.0 (France) Attribution: tatoeba.org #314853 (CK) & #2188409 (sadhen)
+She lost a book.	她弄丟了一本書。	CC-BY 2.0 (France) Attribution: tatoeba.org #1275204 (CK) & #1275212 (egg0073)
+She married him.	她嫁给了他。	CC-BY 2.0 (France) Attribution: tatoeba.org #316246 (CK) & #4970155 (wzhd)
+She worked hard.	她努力地工作。	CC-BY 2.0 (France) Attribution: tatoeba.org #312575 (CK) & #817269 (fucongcong)
+She's my sister.	她是我的姊妹。	CC-BY 2.0 (France) Attribution: tatoeba.org #469126 (CK) & #825891 (Martha)
+She's on a diet.	她在节食中。	CC-BY 2.0 (France) Attribution: tatoeba.org #707288 (papabear) & #1878324 (sadhen)
+She's on a diet.	她在节食。	CC-BY 2.0 (France) Attribution: tatoeba.org #707288 (papabear) & #7767995 (jiangche)
+She's seventeen.	她十七岁了。	CC-BY 2.0 (France) Attribution: tatoeba.org #2765315 (CK) & #3485499 (GlossaMatik)
+Shut your mouth.	闭上你的嘴。	CC-BY 2.0 (France) Attribution: tatoeba.org #240561 (CK) & #1691765 (sadhen)
+So far, so good.	迄今,一切妥当。	CC-BY 2.0 (France) Attribution: tatoeba.org #55348 (CM) & #1749264 (sadhen)
+Spring has come.	春天到了。	CC-BY 2.0 (France) Attribution: tatoeba.org #441964 (CK) & #1490515 (sadhen)
+That dog is big.	這隻狗很大。	CC-BY 2.0 (France) Attribution: tatoeba.org #68734 (CK) & #825158 (Martha)
+That feels good.	那看來很好。	CC-BY 2.0 (France) Attribution: tatoeba.org #2250109 (CK) & #5845579 (verdastelo9604)
+That isn't fair.	這不公平。	CC-BY 2.0 (France) Attribution: tatoeba.org #442966 (CK) & #819322 (Martha)
+That smells bad.	那不好聞。	CC-BY 2.0 (France) Attribution: tatoeba.org #4062886 (CK) & #6091666 (verdastelo9604)
+That's a pencil.	那是一支铅笔。	CC-BY 2.0 (France) Attribution: tatoeba.org #8305536 (shekitten) & #336695 (fucongcong)
+That's my money.	那是我的钱。	CC-BY 2.0 (France) Attribution: tatoeba.org #6670223 (thegui) & #8727837 (crescat)
diff --git a/examples/trans/data.py b/examples/trans/data.py
new file mode 100644
index 0000000..8be5157
--- /dev/null
+++ b/examples/trans/data.py
@@ -0,0 +1,181 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import re
+import numpy as np
+from collections import Counter
+
+
+class Vocab:
+    """
+    The class of vocab, include 2 dicts of token to index and index to token
+    """
+    def __init__(self, sentences):
+        """
+        Args:
+            sentences: a 2-dim list
+        """
+        flatten = lambda lst: [item for sublist in lst for item in sublist]
+        self.sentence = sentences
+        self.token2index = {'<pad>': 0, '<bos>': 1, '<eos>': 2, '<unk>': 3}
+        self.token2index.update({
+            token: index + 4
+            for index, (token, freq) in enumerate(
+                sorted(Counter(flatten(self.sentence)).items(), key=lambda x: x[1], reverse=True))
+        })
+        self.index2token = {index: token for token, index in self.token2index.items()}
+
+    def __getitem__(self, query):
+        if isinstance(query, str):
+            return self.token2index.get(query, self.token2index.get('<unk>'))
+        elif isinstance(query, (int, np.int32, np.int64)):
+            return self.index2token.get(query, '<unk>')
+        elif isinstance(query, (list, tuple, np.ndarray)):
+            return [self.__getitem__(item) for item in query]
+        else:
+            raise ValueError("The type of query is invalid.")
+
+    def __len__(self):
+        return len(self.index2token)
+
+
+class CmnDataset:
+    def __init__(self, path='cmn-eng/cmn.txt', shuffle=False, batch_size=32, train_ratio=0.8, random_seed=0):
+        """
+        cmn dataset, download from https://www.manythings.org/anki/, contains 29909 Chinese and English translation
+        pairs, the pair format: English + TAB + Chinese + TAB + Attribution
+        Args:
+            path: the path of the dataset, default 'cmn-eng/cnn.txt'
+            shuffle: shuffle the dataset, default False
+            batch_size: the size of every batch, default 32
+            train_ratio: the proportion of the training set to the total data set, default 0.8
+            random_seed: the random seed, used for shuffle operation, default 0
+        """
+        src_max_len, tgt_max_len, src_sts, tgt_sts = CmnDataset._split_sentences(path)
+        en_vab, cn_vab = Vocab(src_sts), Vocab(tgt_sts)
+        src_np, tgt_in_np, tgt_out_np = CmnDataset._encoding_stc(src_sts, tgt_sts, src_max_len, tgt_max_len,
+                                                                 en_vab, cn_vab)
+
+        self.src_max_len, self.tgt_max_len = src_max_len, tgt_max_len
+        self.en_vab, self.cn_vab = en_vab, cn_vab
+        self.en_vab_size, self.cn_vab_size = len(en_vab), len(cn_vab)
+
+        self.src_inputs, self.tgt_inputs, self.tgt_outputs = src_np, tgt_in_np, tgt_out_np
+
+        self.shuffle, self.random_seed = shuffle, random_seed
+
+        assert batch_size > 0, "The number of batch_size must be greater than 0"
+        self.batch_size = batch_size
+
+        assert (0 < train_ratio <= 1.0), "The number of train_ratio must be in (0.0, 1.0]"
+        self.train_ratio = train_ratio
+
+        self.total_size = len(src_np)
+        self.train_size = int(self.total_size * train_ratio)
+        self.test_size = self.total_size - self.train_size
+
+        if shuffle:
+            index = [i for i in range(self.total_size)]
+            np.random.seed(self.random_seed)
+            np.random.shuffle(index)
+
+            self.src_inputs = src_np[index]
+            self.tgt_inputs = tgt_in_np[index]
+            self.tgt_outputs = tgt_out_np[index]
+
+        self.train_src_inputs, self.test_src_inputs = self.src_inputs[:self.train_size], self.src_inputs[self.train_size:]
+        self.train_tgt_inputs, self.test_tgt_inputs = self.tgt_inputs[:self.train_size], self.tgt_inputs[self.train_size:]
+        self.train_tgt_outputs, self.test_tgt_outputs = self.tgt_outputs[:self.train_size], self.tgt_outputs[self.train_size:]
+
+    @staticmethod
+    def _split_sentences(path):
+        en_max_len, cn_max_len = 0, 0
+        en_sts, cn_sts = [], []
+        with open(path, 'r', encoding='utf-8') as f:
+            for line in f:
+                line_split = line.split('\t')
+                line_split[0] = re.sub(r'[^\w\s\'-]', '', line_split[0])
+                line_split[0] = line_split[0].lower()
+                # [\u4e00-\u9fa5] matching Chinese characters
+                line_split[1] = re.sub("[^\u4e00-\u9fa5]", "", line_split[1])
+
+                en_stc = line_split[0].split(' ')
+                cn_stc = [word for word in line_split[1]]
+                en_sts.append(en_stc)
+                cn_sts.append(cn_stc)
+                en_max_len = max(en_max_len, len(en_stc))
+                cn_max_len = max(cn_max_len, len(cn_stc))
+        return en_max_len, cn_max_len, en_sts, cn_sts
+
+    @staticmethod
+    def _encoding_stc(src_tokens, tgt_tokens, src_max_len, tgt_max_len, src_vocab, tgt_vocab):
+        src_list = []
+        for line in src_tokens:
+            if len(line) > src_max_len:
+                line = line[:src_max_len]
+            lst = src_vocab[line + ['<pad>'] * (src_max_len + 1 - len(line))]
+            src_list.append(lst)
+        tgt_in_list, tgt_out_list = [], []
+        for line in tgt_tokens:
+            if len(line) > tgt_max_len:
+                line = line[:tgt_max_len]
+            in_lst = tgt_vocab[['<bos>'] + line + ['<pad>'] * (tgt_max_len - len(line))]
+            out_lst = tgt_vocab[line + ['<eos>'] + ['<pad>'] * (tgt_max_len - len(line))]
+            tgt_in_list.append(in_lst)
+            tgt_out_list.append(out_lst)
+        src_np = np.asarray(src_list, dtype=np.int32)
+        tgt_in_np = np.asarray(tgt_in_list, dtype=np.int32)
+        tgt_out_np = np.asarray(tgt_out_list, dtype=np.int32)
+        return src_np, tgt_in_np, tgt_out_np
+
+    def get_batch_data(self, batch, mode='train'):
+        assert (mode == 'train' or mode == 'test'), "The mode must be 'train' or 'test'."
+        total_size = self.train_size
+        if mode == 'test':
+            total_size = self.test_size
+
+        max_batch = total_size // self.batch_size
+        if total_size % self.batch_size > 0:
+            max_batch += 1
+        assert batch < max_batch, "The batch number is out of bounds."
+
+        low = batch * self.batch_size
+        if (batch + 1) * self.batch_size < total_size:
+            high = (batch + 1) * self.batch_size
+        else:
+            high = total_size
+        if mode == 'train':
+            if high-low != self.batch_size:
+                return (np.concatenate((self.train_src_inputs[low:high], self.train_src_inputs[:self.batch_size-high+low]), axis=0),
+                        np.concatenate((self.train_tgt_inputs[low:high], self.train_tgt_inputs[:self.batch_size-high+low]), axis=0),
+                        np.concatenate((self.train_tgt_outputs[low:high], self.train_tgt_outputs[:self.batch_size-high+low]), axis=0))
+            else:
+                return self.train_src_inputs[low:high], self.train_tgt_inputs[low:high], self.train_tgt_outputs[low:high]
+        else:
+            if high-low != self.batch_size:
+                return (np.concatenate((self.test_src_inputs[low:high], self.test_src_inputs[:self.batch_size-high+low]), axis=0),
+                        np.concatenate((self.test_tgt_inputs[low:high], self.test_tgt_inputs[:self.batch_size-high+low]), axis=0),
+                        np.concatenate((self.test_tgt_outputs[low:high], self.test_tgt_outputs[:self.batch_size-high+low]), axis=0))
+            return self.test_src_inputs[low:high], self.test_tgt_inputs[low:high], self.test_tgt_outputs[low:high]
+
+    def __len__(self):
+        return self.src_inputs.shape[0]
+
+    def __getitem__(self, idx):
+        return self.src_inputs[idx], self.tgt_inputs[idx], self.tgt_outputs[idx]
diff --git a/examples/trans/model.py b/examples/trans/model.py
new file mode 100644
index 0000000..fc94a0c
--- /dev/null
+++ b/examples/trans/model.py
@@ -0,0 +1,625 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import math
+import numpy as np
+from singa import tensor
+from singa import autograd
+from singa import layer
+from singa import model
+from singa.tensor import Tensor
+
+
+class Transformer(model.Model):
+    def __init__(self, src_n_token, tgt_n_token, d_model=512, n_head=8, dim_feedforward=2048, n_layers=6):
+        """
+        Transformer model
+        Args:
+            src_n_token: the size of source vocab
+            tgt_n_token: the size of target vocab
+            d_model: the number of expected features in the encoder/decoder inputs (default=512)
+            n_head: the number of heads in the multi head attention models (default=8)
+            dim_feedforward: the dimension of the feedforward network model (default=2048)
+            n_layers: the number of sub-en(de)coder-layers in the en(de)coder (default=6)
+        """
+        super(Transformer, self).__init__()
+
+        self.opt = None
+        self.src_n_token = src_n_token
+        self.tgt_n_token = tgt_n_token
+        self.d_model = d_model
+        self.n_head = n_head
+        self.dim_feedforward = dim_feedforward
+        self.n_layers = n_layers
+
+        # encoder / decoder / linear
+        self.encoder = TransformerEncoder(src_n_token=src_n_token, d_model=d_model, n_head=n_head,
+                                          dim_feedforward=dim_feedforward, n_layers=n_layers)
+        self.decoder = TransformerDecoder(tgt_n_token=tgt_n_token, d_model=d_model, n_head=n_head,
+                                          dim_feedforward=dim_feedforward, n_layers=n_layers)
+
+        self.linear3d = Linear3D(in_features=d_model, out_features=tgt_n_token, bias=False)
+
+        self.soft_cross_entropy = layer.SoftMaxCrossEntropy()
+
+    def forward(self, enc_inputs, dec_inputs):
+        """
+        Args:
+            enc_inputs: [batch_size, src_len]
+            dec_inputs: [batch_size, tgt_len]
+
+        """
+        # enc_outputs: [batch_size, src_len, d_model],
+        # enc_self_attns: [n_layers, batch_size, n_heads, src_len, src_len]
+        enc_outputs, enc_self_attns = self.encoder(enc_inputs)
+
+        # dec_outputs: [batch_size, tgt_len, d_model]
+        # dec_self_attns: [n_layers, batch_size, n_heads, tgt_len, tgt_len]
+        # dec_enc_attn: [n_layers, batch_size, tgt_len, src_len]
+        dec_outputs, dec_self_attns, dec_enc_attns = self.decoder(dec_inputs, enc_inputs, enc_outputs)
+
+        # dec_logits: [batch_size, tgt_len, tgt_vocab_size]
+        dec_logits = self.linear3d(dec_outputs)
+        return dec_logits, enc_self_attns, dec_self_attns, dec_enc_attns
+
+    def train_one_batch(self, enc_inputs, dec_inputs, dec_outputs, pad):
+        out, _, _, _ = self.forward(enc_inputs, dec_inputs)
+        shape = out.shape[-1]
+        out = autograd.reshape(out, [-1, shape])
+
+        out_np = tensor.to_numpy(out)
+        preds_np = np.argmax(out_np, -1)
+
+        dec_outputs_np = tensor.to_numpy(dec_outputs)
+        dec_outputs_np = dec_outputs_np.reshape(-1)
+
+        y_label_mask = dec_outputs_np != pad
+        correct = preds_np == dec_outputs_np
+        acc = np.sum(y_label_mask * correct) / np.sum(y_label_mask)
+        dec_outputs = tensor.from_numpy(dec_outputs_np)
+
+        loss = self.soft_cross_entropy(out, dec_outputs)
+        self.opt(loss)
+        return out, loss, acc
+
+    def set_optimizer(self, opt):
+        self.opt = opt
+
+
+class TransformerDecoder(layer.Layer):
+    """TransformerDecoder is a stack of N decoder layers
+        Args:
+            tgt_n_token: the size of target vocab
+            d_model: the number of expected features in the decoder inputs (default=512).
+            n_head: the number of heads in the multi head attention models (default=8).
+            dim_feedforward: the dimension of the feedforward network model (default=2048).
+            n_layers: the number of sub-decoder-layers in the decoder (default=6).
+    """
+
+    def __init__(self, tgt_n_token, d_model=512, n_head=8, dim_feedforward=2048, n_layers=6):
+        super(TransformerDecoder, self).__init__()
+        self.tgt_n_token = tgt_n_token
+        self.d_model = d_model
+        self.n_head = n_head
+        self.dim_feedforward = dim_feedforward
+        self.n_layers = n_layers
+
+        # target_emb / pos_emb / n-layers
+        self.target_emb = layer.Embedding(input_dim=tgt_n_token, output_dim=d_model)
+        self.target_pos_emb = layer.Embedding(input_dim=tgt_n_token, output_dim=d_model)
+        self.layers = []
+        for _ in range(n_layers):
+            self.layers.append(TransformerDecoderLayer(d_model=d_model, n_head=n_head, dim_feedforward=dim_feedforward))
+
+    def forward(self, dec_inputs, enc_inputs, enc_outputs):
+        """
+        Args:
+            dec_inputs: [batch_size, tgt_len]
+            enc_inputs: [batch_size, src_len]
+            enc_outputs: [batch_size, src_len, d_model]
+
+        """
+
+        # [batch_size, tgt_len, d_model]
+        tgt_word_emb = self.target_emb(dec_inputs)
+        self.target_pos_emb.initialize(dec_inputs)
+        self.target_pos_emb.from_pretrained(W=TransformerDecoder._get_sinusoid_encoding_table(self.tgt_n_token, self.d_model),
+                                            freeze=True)
+        # [batch_size, tgt_len, d_model]
+        tgt_pos_emb = self.target_pos_emb(dec_inputs)
+        # [batch_size, tgt_len, d_model]
+        dec_outputs = autograd.add(tgt_word_emb, tgt_pos_emb)
+
+        # dec_self_attn_pad_mask  [batch_size, tgt_len, tgt_len]
+        dec_self_attn_pad_mask = TransformerDecoder._get_attn_pad_mask(dec_inputs, dec_inputs)
+        # [batch_size, tgt_len, tgt_len]
+        dec_self_attn_subsequent_mask = TransformerDecoder._get_attn_subsequence_mask(dec_inputs)
+
+        # dec_self_attn_mask [batch_size, tgt_len, tgt_len]
+        dec_self_attn_mask = tensor.gt((dec_self_attn_pad_mask + dec_self_attn_subsequent_mask), 0)
+
+        # dec_enc_attn_mask [batch_size, tgt_len, src_len]
+        dec_enc_attn_mask = TransformerDecoder._get_attn_pad_mask(dec_inputs, enc_inputs)
+
+        dec_self_attns, dec_enc_attns = [], []
+
+        for layer in self.layers:
+            # dec_outputs: [batch_size, tgt_len, d_model],
+            # dec_self_attn: [batch_size, n_heads, tgt_len, tgt_len],
+            # dec_enc_attn: [batch_size, h_heads, tgt_len,src_len]
+            dec_outputs, dec_self_attn, dec_enc_attn = layer(dec_outputs, enc_outputs, dec_self_attn_mask,
+                                                             dec_enc_attn_mask)
+            dec_self_attns.append(dec_self_attn)
+            dec_enc_attns.append(dec_enc_attn)
+        return dec_outputs, dec_self_attns, dec_enc_attns
+
+    @staticmethod
+    def _get_attn_pad_mask(seq_q, seq_k):
+        """
+        Args:
+            seq_q: [batch_size, seq_len]
+            seq_k: [batch_size, seq_len]
+        Returns:
+            [batch_size, seq_len, seq_len]
+        """
+
+        batch_size, len_q = seq_q.shape
+        batch_size, len_k = seq_k.shape
+        seq_k_np = tensor.to_numpy(seq_k)
+        pad_attn_mask_np = np.where(seq_k_np == 0, 1, 0)
+        pad_attn_mask_np.astype(np.int32)
+        pad_attn_mask_np = np.expand_dims(pad_attn_mask_np, axis=1)
+        pad_attn_mask_np = np.broadcast_to(pad_attn_mask_np, (batch_size, len_q, len_k))
+        pad_attn_mask_np = tensor.from_numpy(pad_attn_mask_np)
+        return pad_attn_mask_np
+
+    @staticmethod
+    def _get_attn_subsequence_mask(seq):
+        """
+        Args:
+            seq: [batch_size, tgt_len]
+
+        Returns:
+        """
+        attn_shape = [seq.shape[0], seq.shape[1], seq.shape[1]]
+
+        # generate the upper triangular matrix, [batch_size, tgt_len, tgt_len]
+        subsequence_mask = np.triu(np.ones(attn_shape), k=1)
+        subsequence_mask.astype(np.int32)
+        subsequence_mask = tensor.from_numpy(subsequence_mask)
+        return subsequence_mask
+
+    @staticmethod
+    def _get_sinusoid_encoding_table(n_position, d_model):
+        def cal_angle(position, hid_idx):
+            return position / np.power(10000, 2 * (hid_idx // 2) / d_model)
+
+        def get_posi_angle_vec(position):
+            return [cal_angle(position, hid_j) for hid_j in range(d_model)]
+
+        sinusoid_table = np.array([get_posi_angle_vec(pos_i) for pos_i in range(n_position)], np.float32)
+        sinusoid_table[:, 0::2] = np.sin(sinusoid_table[:, 0::2])  # Even bits use sine functions
+        sinusoid_table[:, 1::2] = np.cos(sinusoid_table[:, 1::2])  # Cosine function for odd digits
+        return tensor.Tensor(data=sinusoid_table, requires_grad=False)
+
+
+class TransformerDecoderLayer(layer.Layer):
+    def __init__(self, d_model=512, n_head=8, dim_feedforward=2048):
+        super(TransformerDecoderLayer, self).__init__()
+
+        self.d_model = d_model
+        self.n_head = n_head
+        self.dim_feedforward = dim_feedforward
+
+        self.dec_self_attn = MultiHeadAttention(d_model=d_model, n_head=n_head)
+        self.dec_enc_attn = MultiHeadAttention(d_model=d_model, n_head=n_head)
+        self.pos_ffn = PoswiseFeedForwardNet(d_model=d_model, dim_feedforward=dim_feedforward)
+
+    def forward(self, dec_inputs, enc_outputs, dec_self_attn_mask, dec_enc_attn_mask):
+        """
+        Args:
+            dec_inputs: [batch_size, tgt_len, d_model]
+            enc_outputs: [batch_size, src_len, d_model]
+            dec_self_attn_mask: [batch_size, tgt_len, tgt_len]
+            dec_enc_attn_mask: [batch_size, tgt_len, src_len]
+        """
+
+        # dec_outputs: [batch_size, tgt_len, d_model]
+        # dec_self_attn: [batch_size, n_heads, tgt_len, tgt_len]
+        dec_outputs, dec_self_attn = self.dec_self_attn(dec_inputs, dec_inputs, dec_inputs, dec_self_attn_mask)
+
+        # dec_outputs: [batch_size, tgt_len, d_model]
+        # dec_self_attn: [batch_size, n_heads, tgt_len, src_len]
+        dec_outputs, dec_enc_attn = self.dec_enc_attn(dec_outputs, enc_outputs, enc_outputs, dec_enc_attn_mask)
+        # [batch_size, tgt_len, d_model]
+        dec_outputs = self.pos_ffn(dec_outputs)
+        return dec_outputs, dec_self_attn, dec_enc_attn
+
+
+class TransformerEncoder(layer.Layer):
+    """TransformerEncoder is a stack of N encoder layers
+        Args:
+           src_n_token: the source vocab size
+           d_model: the number of expected features in the encoder inputs (default=512).
+           n_head: the number of heads in the multi head attention models (default=8).
+           dim_feedforward: the dimension of the feedforward network model (default=2048).
+           n_layers: the number of sub-encoder-layers in the encoder (default=6).
+    """
+
+    def __init__(self, src_n_token, d_model=512, n_head=8, dim_feedforward=2048, n_layers=6):
+        super(TransformerEncoder, self).__init__()
+        self.src_n_token = src_n_token
+        self.d_model = d_model
+        self.n_head = n_head
+        self.dim_feedforward = dim_feedforward
+        self.n_layers = n_layers
+
+        # input_emb / pos_emb / n-encoder layers
+        self.input_emb = layer.Embedding(input_dim=src_n_token, output_dim=d_model)
+        self.pos_emb = layer.Embedding(input_dim=src_n_token, output_dim=d_model)
+        self.layers = []
+        for _ in range(self.n_layers):
+            self.layers.append(TransformerEncoderLayer(d_model=d_model, n_head=n_head, dim_feedforward=dim_feedforward))
+
+    def forward(self, enc_inputs):
+        """Pass the input through the encoder in turn.
+        Args:
+            enc_inputs: the sequence to the encoder (required).   [batch_size, src_len]
+        """
+        # [batch_size, src_len, d_model]
+        word_emb = self.input_emb(enc_inputs)
+
+        self.pos_emb.initialize(enc_inputs)
+        self.pos_emb.from_pretrained(W=TransformerEncoder._get_sinusoid_encoding_table(self.src_n_token, self.d_model), freeze=True)
+        # [batch_size, src_len, d_model]
+        pos_emb = self.pos_emb(enc_inputs)
+        # enc_outputs [batch_size, src_len, d_model]
+        enc_outputs = autograd.add(word_emb, pos_emb)
+
+        # enc_self_attn_mask [batch_size, src_len, src_len]
+        enc_self_attn_mask = TransformerEncoder._get_attn_pad_mask(enc_inputs, enc_inputs)
+
+        enc_self_attns = []
+        for layer in self.layers:
+            enc_outputs, enc_self_attn = layer(enc_outputs, enc_self_attn_mask)
+            enc_self_attns.append(enc_self_attn)
+        return enc_outputs, enc_self_attns
+
+    @staticmethod
+    def _get_attn_pad_mask(seq_q, seq_k):
+        """
+        Args:
+            seq_q: [batch_size, seq_len]
+            seq_k: [batch_size, seq_len]
+        Returns: [batch_size, seq_len, seq_len]
+        """
+        batch_size, len_q = seq_q.shape
+        batch_size, len_k = seq_k.shape
+        seq_k_np = tensor.to_numpy(seq_k)
+        pad_attn_mask_np = np.where(seq_k_np == 0, 1, 0)
+        pad_attn_mask_np.astype(np.int32)
+        pad_attn_mask_np = np.expand_dims(pad_attn_mask_np, axis=1)
+        pad_attn_mask_np = np.broadcast_to(pad_attn_mask_np, (batch_size, len_q, len_k))
+        pad_attn_mask_np = tensor.from_numpy(pad_attn_mask_np)
+        return pad_attn_mask_np
+
+    @staticmethod
+    def _get_sinusoid_encoding_table(n_position, d_model):
+        def cal_angle(position, hid_idx):
+            return position / np.power(10000, 2 * (hid_idx // 2) / d_model)
+
+        def get_posi_angle_vec(position):
+            return [cal_angle(position, hid_j) for hid_j in range(d_model)]
+
+        sinusoid_table = np.array([get_posi_angle_vec(pos_i) for pos_i in range(n_position)], np.float32)
+        sinusoid_table[:, 0::2] = np.sin(sinusoid_table[:, 0::2])
+        sinusoid_table[:, 1::2] = np.cos(sinusoid_table[:, 1::2])
+        return tensor.Tensor(data=sinusoid_table, requires_grad=False)
+
+
+class TransformerEncoderLayer(layer.Layer):
+    def __init__(self, d_model=512, n_head=8, dim_feedforward=2048):
+        super(TransformerEncoderLayer, self).__init__()
+        self.d_model = d_model
+        self.n_head = n_head
+        self.dim_feedforward = dim_feedforward
+        self.enc_self_attn = MultiHeadAttention(d_model, n_head)
+        self.pos_ffn = PoswiseFeedForwardNet(d_model=d_model, dim_feedforward=dim_feedforward, bias=False)
+
+    def forward(self, enc_inputs, enc_self_attn_mask):
+        """
+        Args:
+            enc_inputs: [batch_size, src_len, d_model]
+            enc_self_attn_mask: [batch_size, src_len, src_len]
+
+        Returns:
+            enc_outputs: [batch_size, src_len, d_model]
+            attn: [batch_size, n_heads, src_len, src_len]
+        """
+        # enc_inputs to same Q,K,V
+        enc_outputs, attn = self.enc_self_attn(enc_inputs, enc_inputs, enc_inputs, enc_self_attn_mask)
+        enc_outputs = self.pos_ffn(enc_outputs)
+        return enc_outputs, attn
+
+
+def matmul4d(x1, x2):
+    batchs, heads = x1.shape[0], x1.shape[1]
+    ys = []
+    for b in range(batchs):
+        x1b, x2b = autograd.squeeze(x1[b]), autograd.squeeze(x2[b])
+        yb = []
+        for h in range(heads):
+            x1h, x2h = autograd.squeeze(x1b[h]), autograd.squeeze(x2b[h])
+            yh = autograd.matmul(x1h, x2h)
+            yh = autograd.unsqueeze(yh, axis=[0])
+            yb.append(yh)
+        yb = autograd.cat(yb, axis=0)
+        yb = autograd.unsqueeze(yb, axis=[0])
+        ys.append(yb)
+    y = autograd.cat(ys, axis=0)
+    return y
+
+
+class MultiHeadAttention(layer.Layer):
+    def __init__(self, d_model=512, n_head=8):
+        super(MultiHeadAttention, self).__init__()
+        self.d_k = d_model // n_head
+        assert (
+                self.d_k * n_head == d_model
+        ), "embed_dim must be divisible by num_heads"
+        self.d_model = d_model
+        self.d_v = self.d_k
+        self.n_head = n_head
+        self.W_Q = Linear3D(d_model, self.d_k * n_head)
+        self.W_K = Linear3D(d_model, self.d_k * n_head)
+        self.W_V = Linear3D(d_model, self.d_v * n_head)
+
+        self.scaled_dot_product_attention = ScaledDotProductAttention(d_model, n_head)
+        self.linear = Linear3D(self.d_v * n_head, d_model)
+        self.add = layer.Add()
+        self.layer_norm = LayerNorm(d_model)
+
+    def forward(self, query, key, value, attn_mask):
+        """
+        Args:
+            query: [batch_size, len_q, d_model]
+            key: [batch_size, len_k, d_model]
+            value: [batch_size, len_v(=len_k), d_model]
+            attn_mask: [batch_size, seq_len, seq_len]
+        Returns:
+        """
+        residual = query
+        batch_size = query.shape[0]
+
+        # (B, S, D) -proj-> (B, S, D_new) -split-> (B, S, H, W) -trans-> (B, H, S, W)
+        Q = self.W_Q(query)
+        Q = autograd.reshape(Q, [batch_size, -1, self.n_head, self.d_k])
+        Q = autograd.transpose(Q, [0, 2, 1, 3])
+
+        K = self.W_K(key)
+        K = autograd.reshape(K, [batch_size, -1, self.n_head, self.d_k])
+        K = autograd.transpose(K, [0, 2, 1, 3])
+
+        V = self.W_V(value)
+        V = autograd.reshape(V, [batch_size, -1, self.n_head, self.d_v])
+        V = autograd.transpose(V, [0, 2, 1, 3])
+
+        # Q: [batch_size, n_heads, len_q, d_k]
+        # K: [batch_size, n_heads, len_k, d_k]
+        # V: [batch_size, n_heads, len_v(=len_k), d_v]
+
+        # attn_mask : [batch_size, n_heads, seq_len, seq_len]
+        attn_mask = MultiHeadAttention._get_attn_mask(attn_mask, self.n_head)
+
+        # context: [batch_size, n_heads, len_q, d_v]
+        # attn: [batch_size, n_heads, seq_len, seq_len]
+        context, attn = self.scaled_dot_product_attention(Q, K, V, attn_mask)
+        context = autograd.transpose(context, [0, 2, 1, 3])
+        # context: [batch_size, len_q, n_heads * d_v]
+        context = autograd.reshape(context, [batch_size, -1, self.n_head * self.d_v])
+
+        output = self.linear(context)
+        output = self.add(output, residual)
+        # [batch_size, len_q, d_model]
+        output = self.layer_norm(output)
+        return output, attn
+
+    @staticmethod
+    def _get_attn_mask(attn_mask, n_head):
+        batch_size, seq_q_len,seq_k_len = attn_mask.shape[0], attn_mask.shape[1], attn_mask.shape[2]
+        attn_mask_np = tensor.to_numpy(attn_mask)
+        attn_mask_np = np.expand_dims(attn_mask_np, axis=1)
+        attn_mask_np = np.broadcast_to(attn_mask_np, (batch_size, n_head, seq_q_len, seq_k_len))
+        return tensor.from_numpy(attn_mask_np)
+
+
+class ScaledDotProductAttention(layer.Layer):
+    def __init__(self, d_model=512, n_head=8):
+        super(ScaledDotProductAttention, self).__init__()
+        self.d_k = d_model // n_head
+        assert (
+                self.d_k * n_head == d_model
+        ), "embed_dim must be divisible by num_heads"
+
+    def forward(self, query, key, value, attn_mask):
+        """
+        Args:
+            query: [batch_size, n_heads, len_q, d_k]
+            key: [batch_size, n_heads, len_k, d_k]
+            value: [batch_size, n_heads, len_v(=len_k), d_v]
+            attn_mask: [batch_size, n_heads, seq_len, seq_len]
+        Returns:
+        """
+
+        K_trans = autograd.transpose(key, [0, 1, 3, 2])
+
+        # scores : [batch_size, n_heads, len_q, len_k]
+        # query [batch_size, n_heads, len_q, d_k]
+        # k^T   [batch_size, n_heads, d_k, len_k]
+        scores = matmul4d(query, K_trans)
+        d_k_sqrt = Tensor(shape=(1,), requires_grad=False, stores_grad=False)
+        d_k_sqrt.set_value(np.sqrt(self.d_k))
+        scores = autograd.div(scores, d_k_sqrt)
+
+        mask_fill = Tensor(shape=attn_mask.shape, data=np.full(attn_mask.shape, -1e6, dtype=np.float32), requires_grad=False, stores_grad=False)
+        attn_mask_np = tensor.to_numpy(attn_mask)
+        scores = autograd.where(mask_fill, scores, attn_mask_np)
+
+        attn = autograd.softmax(scores, axis=-1)
+        # context: [batch_size, n_heads, len_q, d_v]
+        # attn: [batch_size, n_heads, len_q, len_k]  value: [batch_size, n_heads, len_v(=len_k), d_v]
+        context = matmul4d(attn, value)
+        return context, attn
+
+
+class PoswiseFeedForwardNet(layer.Layer):
+    def __init__(self, d_model=512, dim_feedforward=2048, bias=False):
+        super(PoswiseFeedForwardNet, self).__init__()
+
+        self.d_model = d_model
+        self.dim_feedforward = dim_feedforward
+        self.bias = bias
+
+        self.linear1 = Linear3D(d_model, dim_feedforward, bias=bias)
+        self.relu = layer.ReLU()
+        self.linear2 = Linear3D(dim_feedforward, d_model, bias=bias)
+        self.add = layer.Add()
+        self.norm = LayerNorm(d_model)
+
+    def forward(self, inputs):
+        # inputs: [batch_size, seq_len, d_model]
+        residual = inputs
+        output = self.linear1(inputs)
+        output = self.relu(output)
+        output = self.linear2(output)
+        # [batch_size, seq_len, d_model]
+        output = self.add(output, residual)
+        output = self.norm(output)
+        return output
+
+
+class LayerNorm(layer.Layer):
+    def __init__(self, n_features, eps=1e-6):
+        super(LayerNorm, self).__init__()
+        self.n_features = n_features
+        self.eps = eps
+
+    def initialize(self, x):
+        shape = (self.n_features,)
+        self.Gamma = Tensor(shape=shape, dtype=x.dtype, requires_grad=False, stores_grad=False)
+        self.Beta = Tensor(shape=shape, dtype=x.dtype, requires_grad=False, stores_grad=False)
+        self.Gamma.set_value(1.0)
+        self.Beta.set_value(0.0)
+
+    def forward(self, x):
+        # x: input tensor with shape [batch_size, n_features]
+        # x_normalized = (x - tensor.from_numpy(self.mean)) / tensor.from_numpy(np.sqrt(self.var + self.eps))
+        # y = self.gamma * x_normalized + self.beta
+        mean = np.mean(tensor.to_numpy(x), axis=-1, keepdims=True)
+        var = np.var(tensor.to_numpy(x), axis=-1, keepdims=True)
+
+        sub1 = tensor.from_numpy(mean)
+        div1 = tensor.from_numpy(np.sqrt(var + self.eps))
+        x_normalized = autograd.div(autograd.sub(x, sub1), div1)
+        y = autograd.mul(self.Gamma, x_normalized)
+        y = autograd.add(y, self.Beta)
+        return y
+
+
+class Linear3D(layer.Layer):
+    """
+    Generate a Linear3D operator
+    """
+
+    # TODO: replace current with
+    #   def __init__(self, out_features, bias=True):
+    def __init__(self, out_features, *args, bias=False, **kwargs):
+        """
+        Args:
+            ut_channels: int, the channel of output, also is the number of
+                filters
+            bias: bool
+        """
+        super(Linear3D, self).__init__()
+        self.out_features = out_features
+
+        # TODO: for backward compatibility, to remove
+        if len(args) > 0:
+            self.in_features = out_features
+            self.out_features = args[0]
+        if len(args) > 1:
+            self.bias = args[1]
+        else:
+            self.bias = bias
+
+    def initialize(self, x):
+        self.in_features = x.shape[-1]
+        w_shape = (self.in_features, self.out_features)
+        b_shape = (self.out_features,)
+
+        self.W = Tensor(shape=w_shape,
+                        dtype=x.dtype,
+                        requires_grad=True,
+                        stores_grad=True)
+        std = math.sqrt(2.0 / (self.in_features + self.out_features))
+        self.W.gaussian(0.0, std)
+
+        if self.bias:
+            self.b = Tensor(shape=b_shape,
+                            dtype=x.dtype,
+                            requires_grad=True,
+                            stores_grad=True)
+            self.b.set_value(0.0)
+        else:
+            self.b = None
+
+    def forward(self, x):
+        if self.b:
+            self.device_check(x, self.W, self.b)
+            self.dtype_check(x, self.W, self.b)
+        else:
+            self.device_check(x, self.W)
+            self.dtype_check(x, self.W)
+
+        assert x.shape[-1] == self.W.shape[0], (
+                "Linear3D layer expects input features size %d received %d" %
+                (self.W.shape[0], x.shape[-1]))
+
+        ys = []
+        batch = x.shape[0]
+        for i in range(batch):
+            xi = autograd.squeeze(x[i])
+            yi = autograd.matmul(xi, self.W)
+            if self.bias:
+                yi = autograd.add_bias(yi, self.b, axis=0)
+            yi = autograd.unsqueeze(yi, axis=[0])
+            ys.append(yi)
+        y = autograd.cat(ys, axis=0)
+        return y
+
+    def get_params(self):
+        if self.bias:
+            return {self.W.name: self.W, self.b.name: self.b}
+        else:
+            return {self.W.name: self.W}
+
+    def set_params(self, parameters):
+        self.W.copy_from(parameters[self.W.name])
+        if self.bias:
+            self.b.copy_from(parameters[self.b.name])
diff --git a/examples/trans/run.sh b/examples/trans/run.sh
new file mode 100644
index 0000000..3e7e11b
--- /dev/null
+++ b/examples/trans/run.sh
@@ -0,0 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+# run this example
+python train.py --dataset cmn-2000.txt --max-epoch 300 --batch-size 32 --lr 0.01
\ No newline at end of file
diff --git a/examples/trans/train.py b/examples/trans/train.py
new file mode 100644
index 0000000..9953120
--- /dev/null
+++ b/examples/trans/train.py
@@ -0,0 +1,167 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import random
+import time
+import argparse
+import numpy as np
+from singa import device
+from singa import tensor
+from singa import opt
+from model import Transformer
+import matplotlib.pyplot as plt
+from data import CmnDataset
+
+
+def run(args):
+    dev = device.create_cpu_device()
+    dev.SetRandSeed(args.seed)
+    np.random.seed(args.seed)
+
+    batch_size = args.batch_size
+    cmn_dataset = CmnDataset(path="cmn-eng/"+args.dataset, shuffle=args.shuffle, batch_size=batch_size, train_ratio=0.8)
+
+    print("【step-0】 prepare dataset...")
+    src_vocab_size, tgt_vocab_size = cmn_dataset.en_vab_size, cmn_dataset.cn_vab_size
+    src_len, tgt_len = cmn_dataset.src_max_len+1, cmn_dataset.tgt_max_len+1
+    pad = cmn_dataset.cn_vab["<pad>"]
+    # train set
+    train_size = cmn_dataset.train_size
+    train_max_batch = train_size // batch_size
+    if train_size % batch_size > 0:
+        train_max_batch += 1
+
+    # test set
+    test_size = cmn_dataset.test_size
+    test_max_batch = test_size // batch_size
+    if test_size % batch_size > 0:
+        test_max_batch += 1
+    print("【step-0】 src_vocab_size: %d, tgt_vocab_size: %d, src_max_len: %d, tgt_max_len: %d, "
+          "train_size: %d, test_size: %d, train_max_batch: %d, test_max_batch: %d" %
+          (src_vocab_size, tgt_vocab_size, src_len, tgt_len, train_size, test_size, train_max_batch, test_max_batch))
+
+    print("【step-1】 prepare transformer model...")
+    model = Transformer(src_n_token=src_vocab_size,
+                        tgt_n_token=tgt_vocab_size,
+                        d_model=args.d_model,
+                        n_head=args.n_head,
+                        dim_feedforward=args.dim_feedforward,
+                        n_layers=args.n_layers)
+
+    optimizer = opt.SGD(lr=args.lr, momentum=0.9, weight_decay=1e-5)
+    model.set_optimizer(optimizer)
+    print("【step-1】 src_n_token: %d, tgt_n_token: %d, d_model: %d, n_head: %d, dim_feedforward: %d, n_layers: %d, lr: %f"
+          % (src_vocab_size, tgt_vocab_size, args.d_model, args.n_head, args.dim_feedforward, args.n_layers, args.lr))
+
+    tx_enc_inputs = tensor.Tensor((batch_size, src_len), dev, tensor.int32,
+                                  np.zeros((batch_size, src_len), dtype=np.int32))
+    tx_dec_inputs = tensor.Tensor((batch_size, tgt_len), dev, tensor.int32,
+                                  np.zeros((batch_size, tgt_len), dtype=np.int32))
+    ty_dec_outputs = tensor.Tensor((batch_size, tgt_len), dev, tensor.int32,
+                                   np.zeros((batch_size, tgt_len), dtype=np.int32))
+    # model.compile([tx_enc_inputs, tx_dec_inputs], is_train=True)
+
+    print("【step-2】 training start...")
+    train_epoch_avg_loss_history = []
+    train_epoch_avg_acc_history = []
+    test_epoch_avg_acc_history = []
+    for epoch in range(args.max_epoch):
+        # ok = input("Train[Yes/No]")
+        # if ok == "No":
+        #     break
+        model.train()
+        model.graph(mode=False, sequential=False)
+        train_epoch_total_loss = 0
+        train_epoch_total_acc = 0.0
+        print("【Train epoch %d】 Start..." % epoch)
+        start_time = time.time()
+        for bat in range(train_max_batch):
+            x_enc_inputs, x_dec_inputs, y_dec_outputs = cmn_dataset.get_batch_data(batch=bat, mode='train')
+            tx_enc_inputs.copy_from_numpy(x_enc_inputs)
+            tx_dec_inputs.copy_from_numpy(x_dec_inputs)
+            ty_dec_outputs.copy_from_numpy(y_dec_outputs)
+            out, loss, acc = model(tx_enc_inputs, tx_dec_inputs, ty_dec_outputs, pad)
+            loss_np = tensor.to_numpy(loss)
+            batch_loss = loss_np[0]
+            train_epoch_total_loss += batch_loss
+            train_epoch_total_acc += acc
+            if bat % 5 == 0:
+                end_time = time.time()
+                print("[Train epoch-%d] [%d/%d] batch loss: [%.6f], acc: [%.3f %%] time:[%.6fs]" %
+                      (epoch, bat, train_max_batch, batch_loss, acc*100.0, end_time-start_time))
+                start_time = time.time()
+        train_epoch_avg_loss = train_epoch_total_loss / train_max_batch
+        train_epoch_avg_acc = train_epoch_total_acc / train_max_batch
+        train_epoch_avg_loss_history.append(train_epoch_avg_loss)
+        train_epoch_avg_acc_history.append(train_epoch_avg_acc)
+        print("[Train epoch-%d] avg loss: [%.6f], avg acc: [%.3f %%]" % (epoch, train_epoch_avg_loss, train_epoch_avg_acc*100.0))
+        print("【Train Epoch %d】 End" % (epoch))
+        # eval
+        model.eval()
+        print("【Test Eval】 Start...")
+        avg_acc = 0.0
+        for bat in range(test_max_batch):
+            x_enc_inputs, x_dec_inputs, y_dec_outputs = cmn_dataset.get_batch_data(batch=bat, mode='test')
+            tx_enc_inputs.copy_from_numpy(x_enc_inputs)
+            tx_dec_inputs.copy_from_numpy(x_dec_inputs)
+            # ty_dec_outputs.copy_from_numpy(y_dec_outputs)
+            # y_dec_outputs [batch_size, tgt_len]
+            # out [batch_size, tgt_len, tgt_vocab_size]
+            out, _, _, _ = model(tx_enc_inputs, tx_dec_inputs)
+            out_np = tensor.to_numpy(out)
+            out_np = np.reshape(out_np, (-1, out_np.shape[-1]))
+            pred_np = np.argmax(out_np, -1)
+            y_dec_outputs = np.reshape(y_dec_outputs, -1)
+            y_label_mask = y_dec_outputs != pad
+            correct = pred_np == y_dec_outputs
+            acc = np.sum(y_label_mask * correct) / np.sum(y_label_mask)
+            avg_acc += acc
+        avg_acc = avg_acc / test_max_batch
+        test_epoch_avg_acc_history.append(avg_acc)
+        print("[Test epoch-%d] avg acc: %.3f %%" % (epoch, avg_acc*100.0))
+    print("【Test Eval】 End...")
+    plt.subplot(2, 1, 1)
+    plt.plot(train_epoch_avg_loss_history, 'r-', label="train loss")
+    plt.legend()
+
+    plt.subplot(2, 1, 2)
+    plt.plot(train_epoch_avg_acc_history, 'r-', label="train acc")
+    plt.plot(test_epoch_avg_acc_history, 'b-', label="test acc")
+    plt.legend()
+    plt.show()
+    timestamp = time.time()
+    plt.savefig("batch_train_loss" + str(timestamp).replace(".", "_") + ".png")
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description="Training Transformer Model.")
+    parser.add_argument('--dataset', choices=['cmn.txt', 'cmn-15000.txt',
+                                              'cmn-2000.txt'],  default='cmn-2000.txt')
+    parser.add_argument('--max-epoch', default=100, type=int, help='maximum epochs.', dest='max_epoch')
+    parser.add_argument('--batch-size', default=64, type=int, help='batch size', dest='batch_size')
+    parser.add_argument('--shuffle', default=True, type=bool, help='shuffle the dataset', dest='shuffle')
+    parser.add_argument('--lr', default=0.005, type=float, help='learning rate', dest='lr')
+    parser.add_argument('--seed', default=0, type=int, help='random seed', dest='seed')
+    parser.add_argument('--d_model', default=512, type=int, help='transformer model d_model', dest='d_model')
+    parser.add_argument('--n_head', default=8, type=int, help='transformer model n_head', dest='n_head')
+    parser.add_argument('--dim_feedforward', default=2048, type=int, help='transformer model dim_feedforward', dest='dim_feedforward')
+    parser.add_argument('--n_layers', default=6, type=int, help='transformer model n_layers', dest='n_layers')
+    args = parser.parse_args()
+    print(args)
+    run(args)
diff --git a/java/pom.xml b/java/pom.xml
index 7f40b2d..82976f9 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -108,6 +108,7 @@
                             <exclude>examples/model_selection/Trails/internal/pg_extension/template/Cargo.pg11.toml</exclude>
                             <exclude>examples/model_selection/Trails/documents/ai_db.001.jpeg</exclude>
                             <exclude>examples/singa_easy/examples/data/SampleQuestion.json</exclude>
+			    <exclude>examples/trans/cmn-eng/cmn-2000.txt</exclude>
                         </excludes>
                         <consoleOutput>True</consoleOutput>
                     </configuration>
diff --git a/setup.py b/setup.py
index c057b78..a7811c7 100644
--- a/setup.py
+++ b/setup.py
@@ -83,7 +83,7 @@
 from datetime import date
 
 # stable version
-VERSION = '4.2.0'
+VERSION = '4.3.0'
 # get the git hash
 # git_hash = subprocess.check_output(["git", "describe"]).strip().split('-')[-1][1:]
 # comment the next line to build wheel for stable version
diff --git a/tool/conda/singa/meta.yaml b/tool/conda/singa/meta.yaml
index a3428a5..e8e2fcc 100644
--- a/tool/conda/singa/meta.yaml
+++ b/tool/conda/singa/meta.yaml
@@ -20,7 +20,7 @@
 # https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#templating-with-jinja
 # {% set data = load_setup_py_data(setup_file='../../../python/singa/setup.py', from_recipe_dir=True) %}
 
-{% set version = "4.2.0" %}
+{% set version = "4.3.0" %}
 
 package:
   name: singa