diff --git a/cluster/cluster_impl/base_cluster_invoker.go b/cluster/cluster_impl/base_cluster_invoker.go
index 2426258b95e8a2ecf5067b2ed469eeb9a5617f18..d42a099bbf71608753e463084c6a403ae9627e01 100644
--- a/cluster/cluster_impl/base_cluster_invoker.go
+++ b/cluster/cluster_impl/base_cluster_invoker.go
@@ -84,7 +84,7 @@ func (invoker *baseClusterInvoker) checkWhetherDestroyed() error {
 }
 
 func (invoker *baseClusterInvoker) doSelect(lb cluster.LoadBalance, invocation protocol.Invocation, invokers []protocol.Invoker, invoked []protocol.Invoker) protocol.Invoker {
-	//todo:ticky connect 绮樼焊杩炴帴
+	//todo:sticky connect
 	if len(invokers) == 1 {
 		return invokers[0]
 	}
diff --git a/config_center/zookeeper/impl.go b/config_center/zookeeper/impl.go
index ef0761efcd0d2cee47425dd5e1099200d3be6a70..f2827b2bb693fc1943116686f8056c0edaeadc99 100644
--- a/config_center/zookeeper/impl.go
+++ b/config_center/zookeeper/impl.go
@@ -196,7 +196,7 @@ func (r *zookeeperDynamicConfiguration) closeConfigs() {
 	r.cltLock.Lock()
 	defer r.cltLock.Unlock()
 	logger.Infof("begin to close provider zk client")
-	// 鍏堝叧闂棫client锛屼互鍏抽棴tmp node
+	// Close the old client first to close the tmp node
 	r.client.Close()
 	r.client = nil
 }
diff --git a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/client.go b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/client.go
index fb2e0ef7ec4cc82e681ff8d352a8f45276ccfd99..5da8506d5d0a3f16388446fe29799ffb28023c7f 100644
--- a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/client.go
+++ b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/client.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-hessian2"
+	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
 import (
@@ -140,7 +140,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.//
 			fmt.Println("app exit now...")
 			return
 		}
diff --git a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/user.go b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/user.go
index 8140acaef621f361e5b35fa90318d73546902913..5bddf1e19f59be1b7fae917cffddfde4d362f44e 100644
--- a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/user.go
+++ b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-client/app/user.go
@@ -83,7 +83,7 @@ type User struct {
 	Name string
 	Age  int32
 	Time time.Time
-	Sex  Gender // 娉ㄦ剰姝ゅ锛宩ava enum Object <--> go string
+	Sex  Gender // notice: java enum Object <--> go string
 }
 
 func (u User) String() string {
diff --git a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/server.go b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/server.go
index 814978566774c449e058c7f0d4e73176f5a1f57b..cd982992171fdf674e560bfb4ed280c1951cccde 100644
--- a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/server.go
+++ b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/server.go
@@ -78,7 +78,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("provider app exit now...")
 			return
 		}
diff --git a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/user.go b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/user.go
index d0ac61e4c41e805dbcadc30238993e3946da7cd0..0e4d05766887ae41440313b49ba4dc859a09ed35 100644
--- a/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/user.go
+++ b/examples/configcenter/zookeeper/dubbo/with-configcenter-go-server/app/user.go
@@ -84,7 +84,7 @@ type (
 		Name string
 		Age  int32
 		Time time.Time
-		Sex  Gender // 娉ㄦ剰姝ゅ锛宩ava enum Object <--> go string
+		Sex  Gender // notice: java enum Object <--> go string
 	}
 
 	UserProvider struct {
diff --git a/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-client/app/client.go b/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-client/app/client.go
index 642b45a9343477086300ccb78d56756fbf51a817..5b1634788c455f6b8f0fb964f25a07b525492cf0 100644
--- a/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-client/app/client.go
+++ b/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-client/app/client.go
@@ -125,7 +125,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("app exit now...")
 			return
 		}
diff --git a/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-server/app/server.go b/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-server/app/server.go
index 851a97c15543961ad29784de449fe1ee56adc9c9..0a0e72915fef0ca4613f78a87fa1057152c1cc9a 100644
--- a/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-server/app/server.go
+++ b/examples/configcenter/zookeeper/jsonrpc/with-configcenter-go-server/app/server.go
@@ -67,7 +67,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("provider app exit now...")
 			return
 		}
diff --git a/examples/general/dubbo/go-client/app/client.go b/examples/general/dubbo/go-client/app/client.go
index b7ee0e662a26251a79af13d36215cc2cb44fd794..47f453c3a451a4c6d98f40e1ec7e7618440fe4f9 100644
--- a/examples/general/dubbo/go-client/app/client.go
+++ b/examples/general/dubbo/go-client/app/client.go
@@ -86,7 +86,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("app exit now...")
 			return
 		}
diff --git a/examples/general/dubbo/go-client/app/user.go b/examples/general/dubbo/go-client/app/user.go
index affa5418a701842e890f9e2498c2ef7a769532bd..104d325d052940439da1c89c565a47520c73dd88 100644
--- a/examples/general/dubbo/go-client/app/user.go
+++ b/examples/general/dubbo/go-client/app/user.go
@@ -89,7 +89,7 @@ type User struct {
 	Name string
 	Age  int32
 	Time time.Time
-	Sex  Gender // 娉ㄦ剰姝ゅ锛宩ava enum Object <--> go string
+	Sex  Gender // notice: java enum Object <--> go string
 }
 
 func (u User) String() string {
diff --git a/examples/general/dubbo/go-server/app/server.go b/examples/general/dubbo/go-server/app/server.go
index de9c28737b43cee780494c6f0824cabac84b6595..ac92b879b15cb88ebc71fc5df90675b01760c899 100644
--- a/examples/general/dubbo/go-server/app/server.go
+++ b/examples/general/dubbo/go-server/app/server.go
@@ -79,7 +79,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("provider app exit now...")
 			return
 		}
diff --git a/examples/general/dubbo/go-server/app/user.go b/examples/general/dubbo/go-server/app/user.go
index ce53bca080e388c2ef8bb852a4ddc7f95a232d96..e07a02e772de589bd9df85ef6e1e69fb2468d347 100644
--- a/examples/general/dubbo/go-server/app/user.go
+++ b/examples/general/dubbo/go-server/app/user.go
@@ -24,7 +24,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-hessian2"
+	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
 type Gender hessian.JavaEnum
@@ -73,7 +73,7 @@ type (
 		Name string
 		Age  int32
 		Time time.Time
-		Sex  Gender // 娉ㄦ剰姝ゅ锛宩ava enum Object <--> go string
+		Sex  Gender // notice: java enum Object <--> go string
 	}
 )
 
diff --git a/examples/general/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java b/examples/general/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java
index 9122a629f49cb1e5eeee1641e89fa0c91091e960..5c9870eecacb51115b266e8e13d81e02323d5a74 100644
--- a/examples/general/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java
+++ b/examples/general/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java
@@ -17,12 +17,12 @@ import com.alibaba.dubbo.rpc.service.EchoService;
 import java.util.List;
 
 public class Consumer {
-    //瀹氫箟涓€涓鏈夊彉閲� 锛圫pring涓姹傦級
+    // Define a private variable (Required in Spring)
     private UserProvider userProvider;
     private UserProvider userProvider1;
     private UserProvider userProvider2;
 
-    //Spring娉ㄥ叆锛圫pring涓姹傦級
+    // Spring DI (Required in Spring)
     public void setUserProvider(UserProvider u) {
         this.userProvider = u;
     }
@@ -33,7 +33,7 @@ public class Consumer {
         this.userProvider2 = u;
     }
 
-    //鍚姩consumer鐨勫叆鍙e嚱鏁�(鍦ㄩ厤缃枃浠朵腑鎸囧畾)
+    // Start the entry function for consumer (Specified in the configuration file)
     public void start() throws Exception {
         System.out.println("\n\ntest");
         testGetUser();
diff --git a/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java b/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
index d600545c5084a40f1318e47a6a1c20bfcd6d36bc..04729fb7a33abe9738ccfdd48a7b2b19028587da 100644
--- a/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
+++ b/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
@@ -9,8 +9,8 @@ import org.slf4j.LoggerFactory;
 import java.util.*;
 
 public class UserProviderAnotherImpl implements UserProvider {
-    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // 鍙緭鍑哄埌dubbo鐨刲og(logs/server.log)
-    private static final Logger logger = LoggerFactory.getLogger("userLogger"); // 杈撳嚭鍒皍ser-server.log
+    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+    private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to user-server.log
 
     private Map<String, User> userMap = new HashMap<String, User>();
 
diff --git a/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
index 47a4e2d9732aa8d8d9279d47af5bb4fb3db37195..1efbf823740f5e3e4e82931a48bfc02ee9e78029 100644
--- a/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
+++ b/examples/general/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
@@ -14,8 +14,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class UserProviderImpl implements UserProvider {
-    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // 鍙緭鍑哄埌dubbo鐨刲og(logs/server.log)
-    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // 杈撳嚭鍒皍ser-server.log
+    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to user-server.log
     Map<String, User> userMap = new HashMap<String, User>();
 
     public UserProviderImpl() {
diff --git a/examples/general/jsonrpc/go-client/app/client.go b/examples/general/jsonrpc/go-client/app/client.go
index b781f860bc41cdc616f8836499d584056c29af43..abbe586de94a26c9d1a71892b38844662ae4863a 100644
--- a/examples/general/jsonrpc/go-client/app/client.go
+++ b/examples/general/jsonrpc/go-client/app/client.go
@@ -78,7 +78,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("app exit now...")
 			return
 		}
diff --git a/examples/general/jsonrpc/go-server/app/server.go b/examples/general/jsonrpc/go-server/app/server.go
index 231082b5b4accbbb9aa78b2241416f0c8014c5ef..e36b6efe9d115d8352f09f1f5011ea00d92f0d13 100644
--- a/examples/general/jsonrpc/go-server/app/server.go
+++ b/examples/general/jsonrpc/go-server/app/server.go
@@ -69,7 +69,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("provider app exit now...")
 			return
 		}
diff --git a/examples/general/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java b/examples/general/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java
index 2c7b27b5e6a494420a57d6614a8f76017fccbea7..1a38dbfba906a951fcf8bd481650608bd5d35c9f 100644
--- a/examples/general/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java
+++ b/examples/general/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java
@@ -17,12 +17,12 @@ import com.alibaba.dubbo.rpc.service.EchoService;
 import java.util.List;
 
 public class Consumer {
-    //瀹氫箟涓€涓鏈夊彉閲� 锛圫pring涓姹傦級
+    // Define a private variable (Required in Spring)
     private UserProvider userProvider;
     private UserProvider userProvider1;
     private UserProvider userProvider2;
 
-    //Spring娉ㄥ叆锛圫pring涓姹傦級
+    // Spring DI (Required in Spring)
     public void setUserProvider(UserProvider u) {
         this.userProvider = u;
     }
@@ -33,7 +33,7 @@ public class Consumer {
         this.userProvider2 = u;
     }
 
-    //鍚姩consumer鐨勫叆鍙e嚱鏁�(鍦ㄩ厤缃枃浠朵腑鎸囧畾)
+    // Start the entry function for consumer (Specified in the configuration file)
     public void start() throws Exception {
         System.out.println("\n\ntest");
         testGetUser();
diff --git a/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java b/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
index 753a6f89a5f60e0f4884711d4c3b79e52ed2f094..9e22b78b3de2412c8aefbfdbb37d2886d016a0f4 100644
--- a/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
+++ b/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
@@ -9,8 +9,8 @@ import org.slf4j.LoggerFactory;
 import java.util.*;
 
 public class UserProviderAnotherImpl implements UserProvider {
-    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // 鍙緭鍑哄埌dubbo鐨刲og(logs/server.log)
-    private static final Logger logger = LoggerFactory.getLogger("userLogger"); // 杈撳嚭鍒皍ser-server.log
+    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+    private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to user-server.log
 
     private Map<String, User> userMap = new HashMap<String, User>();
 
diff --git a/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
index 960c678cf76cf4bafb3de9d5ce2a587b61aa1bac..1ff8afa62220463932872df2172b35e4e16a4591 100644
--- a/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
+++ b/examples/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
@@ -14,8 +14,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class UserProviderImpl implements UserProvider {
-    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // 鍙緭鍑哄埌dubbo鐨刲og(logs/server.log)
-    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // 杈撳嚭鍒皍ser-server.log
+    // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to user-server.log
     Map<String, User> userMap = new HashMap<String, User>();
 
     public UserProviderImpl() {
diff --git a/examples/helloworld/dubbo/go-server/app/server.go b/examples/helloworld/dubbo/go-server/app/server.go
index 29f2ad57ead58c09614ccf5f7098c77612085449..f02a6ba05e8723410c985823caafe88192f5af7e 100644
--- a/examples/helloworld/dubbo/go-server/app/server.go
+++ b/examples/helloworld/dubbo/go-server/app/server.go
@@ -69,7 +69,7 @@ func initSignal() {
 				os.Exit(1)
 			})
 
-			// 瑕佷箞fastFailTimeout鏃堕棿鍐呮墽琛屽畬姣曚笅闈㈢殑閫昏緫鐒跺悗绋嬪簭閫€鍑猴紝瑕佷箞鎵ц涓婇潰鐨勮秴鏃跺嚱鏁扮▼搴忓己琛岄€€鍑�
+			// The program exits normally or timeout forcibly exits.
 			fmt.Println("provider app exit now...")
 			return
 		}
diff --git a/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
index ddbccab37bbe2cc59b584e59ef317d5bdaeae32d..d57ae54e386c981656ab68c1133dd37a9cc6711a 100644
--- a/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
+++ b/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
@@ -6,7 +6,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class UserProviderImpl implements UserProvider {
-    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // 杈撳嚭鍒皍ser-server.log
+    private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to user埌user-server.log
 
     public User GetUser(String userId) {
         return new User(userId, "zhangsan", 18);
diff --git a/registry/zookeeper/listener.go b/registry/zookeeper/listener.go
index 67f20370602a0a9c5c3d87ef93b1bafed3449d36..19f25693c82b6390c7c54e47d13a4e9e36fa85ce 100644
--- a/registry/zookeeper/listener.go
+++ b/registry/zookeeper/listener.go
@@ -45,7 +45,7 @@ func (l *RegistryDataListener) AddInterestedURL(url *common.URL) {
 }
 
 func (l *RegistryDataListener) DataChange(eventType remoting.Event) bool {
-	//鎴彇鏈€鍚庝竴浣�
+	// Intercept the last bit
 	url := eventType.Path[strings.Index(eventType.Path, "/providers/")+len("/providers/"):]
 	serviceURL, err := common.NewURL(context.TODO(), url)
 	if err != nil {
diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go
index c272c5bba615c68c452f36819edef0f2a821a5dc..9ce3ee580ee1abdb413bf80882689df60cf2ea2d 100644
--- a/registry/zookeeper/registry.go
+++ b/registry/zookeeper/registry.go
@@ -230,7 +230,7 @@ func (r *zkRegistry) Register(conf common.URL) error {
 
 	case common.PROVIDER:
 
-		// 妫€楠屾湇鍔℃槸鍚﹀凡缁忔敞鍐岃繃
+		// Check if the service has been registered
 		r.cltLock.Lock()
 		// 娉ㄦ剰姝ゅ涓巆onsumerZookeeperRegistry鐨勫樊寮傦紝consumer鐢ㄧ殑鏄痗onf.Path锛�
 		// 鍥犱负consumer瑕佹彁渚泈atch鍔熻兘缁檚elector浣跨敤, provider鍏佽娉ㄥ唽鍚屼竴涓猻ervice鐨勫涓猤roup or version
@@ -320,7 +320,7 @@ func (r *zkRegistry) register(c common.URL) error {
 		rawURL = fmt.Sprintf("%s://%s%s?%s", c.Protocol, host, c.Path, params.Encode())
 		encodedURL = url.QueryEscape(rawURL)
 
-		// 鎶婅嚜宸辨敞鍐宻ervice providers
+		// Print your own registration service providers.
 		dubboPath = fmt.Sprintf("/dubbo/%s/%s", c.Service(), (common.RoleType(common.PROVIDER)).String())
 		logger.Debugf("provider path:%s, url:%s", dubboPath, rawURL)
 
@@ -416,7 +416,7 @@ func (r *zkRegistry) getListener(conf common.URL) (*RegistryConfigurationListene
 		r.listenerLock.Unlock()
 	}
 
-	//娉ㄥ唽鍒癲ataconfig鐨刬nterested
+	//Interested register to dataconfig.
 	r.dataListener.AddInterestedURL(&conf)
 
 	go r.listener.ListenServiceEvent(fmt.Sprintf("/dubbo/%s/providers", conf.Service()), r.dataListener)
@@ -428,7 +428,7 @@ func (r *zkRegistry) closeRegisters() {
 	r.cltLock.Lock()
 	defer r.cltLock.Unlock()
 	logger.Infof("begin to close provider zk client")
-	// 鍏堝叧闂棫client锛屼互鍏抽棴tmp node
+	// Close the old client first to close the tmp node.
 	r.client.Close()
 	r.client = nil
 	r.services = nil
diff --git a/remoting/zookeeper/facade.go b/remoting/zookeeper/facade.go
index 4eace5e9d540ac86ca01683963b19ae547c7c732..cdc7ead61226906a629fdb99b6b966ada5ee5253 100644
--- a/remoting/zookeeper/facade.go
+++ b/remoting/zookeeper/facade.go
@@ -63,14 +63,14 @@ LOOP:
 			r.SetZkClient(nil)
 			r.ZkClientLock().Unlock()
 
-			// 鎺k锛岀洿鑷虫垚鍔�
+			// Connect zk until success.
 			failTimes = 0
 			for {
 				select {
 				case <-r.GetDone():
 					logger.Warnf("(ZkProviderRegistry)reconnectZkRegistry goroutine exit now...")
 					break LOOP
-				case <-getty.GetTimeWheel().After(timeSecondDuration(failTimes * ConnDelay)): // 闃叉鐤媯閲嶈繛zk
+				case <-getty.GetTimeWheel().After(timeSecondDuration(failTimes * ConnDelay)): // Prevent crazy reconnection zk.
 				}
 				err = ValidateZookeeperClient(r, WithZkName(zkName))
 				logger.Infof("ZkProviderRegistry.validateZookeeperClient(zkAddr{%s}) = error{%#v}",