diff --git a/_layouts/guides-thanks.html b/_layouts/guides-thanks.html
new file mode 100644
index 0000000000..3bfd721fbd
--- /dev/null
+++ b/_layouts/guides-thanks.html
@@ -0,0 +1,12 @@
+---
+layout: index
+---
+
+
diff --git a/overviews/collections/arrays.md b/overviews/collections/arrays.md
index e6913307ea..415ec62498 100644
--- a/overviews/collections/arrays.md
+++ b/overviews/collections/arrays.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 10
-languages: [ja]
+languages: [ja, zh-cn]
---
[Array](http://www.scala-lang.org/api/{{ site.scala-version }}/scala/Array.html) is a special kind of collection in Scala. On the one hand, Scala arrays correspond one-to-one to Java arrays. That is, a Scala array `Array[Int]` is represented as a Java `int[]`, an `Array[Double]` is represented as a Java `double[]` and a `Array[String]` is represented as a Java `String[]`. But at the same time, Scala arrays offer much more than their Java analogues. First, Scala arrays can be _generic_. That is, you can have an `Array[T]`, where `T` is a type parameter or abstract type. Second, Scala arrays are compatible with Scala sequences - you can pass an `Array[T]` where a `Seq[T]` is required. Finally, Scala arrays also support all sequence operations. Here's an example of this in action:
diff --git a/overviews/collections/concrete-immutable-collection-classes.md b/overviews/collections/concrete-immutable-collection-classes.md
index 5adc5cc99d..6e9daf956c 100644
--- a/overviews/collections/concrete-immutable-collection-classes.md
+++ b/overviews/collections/concrete-immutable-collection-classes.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 8
-languages: [ja]
+languages: [ja, zh-cn]
---
Scala provides many concrete immutable collection classes for you to choose from. They differ in the traits they implement (maps, sets, sequences), whether they can be infinite, and the speed of various operations. Here are some of the most common immutable collection types used in Scala.
diff --git a/overviews/collections/concrete-mutable-collection-classes.md b/overviews/collections/concrete-mutable-collection-classes.md
index e60459b334..9132131340 100644
--- a/overviews/collections/concrete-mutable-collection-classes.md
+++ b/overviews/collections/concrete-mutable-collection-classes.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 9
-languages: [ja]
+languages: [ja, zh-cn]
---
You've now seen the most commonly used immutable collection classes that Scala provides in its standard library. Take a look now at the mutable collection classes.
diff --git a/overviews/collections/conversions-between-java-and-scala-collections.md b/overviews/collections/conversions-between-java-and-scala-collections.md
index 2777347f79..d0bfcbb682 100644
--- a/overviews/collections/conversions-between-java-and-scala-collections.md
+++ b/overviews/collections/conversions-between-java-and-scala-collections.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 17
-languages: [ja]
+languages: [ja, zh-cn]
---
Like Scala, Java also has a rich collections library. There are many similarities between the two. For instance, both libraries know iterators, iterables, sets, maps, and sequences. But there are also important differences. In particular, the Scala libraries put much more emphasis on immutable collections, and provide many more operations that transform a collection into a new one.
diff --git a/overviews/collections/creating-collections-from-scratch.md b/overviews/collections/creating-collections-from-scratch.md
index 88e29af8b9..d8431f7677 100644
--- a/overviews/collections/creating-collections-from-scratch.md
+++ b/overviews/collections/creating-collections-from-scratch.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 16
-languages: [ja]
+languages: [ja, zh-cn]
---
You have syntax `List(1, 2, 3)` to create a list of three integers and `Map('A' -> 1, 'C' -> 2)` to create a map with two bindings. This is actually a universal feature of Scala collections. You can take any collection name and follow it by a list of elements in parentheses. The result will be a new collection with the given elements. Here are some more examples:
diff --git a/overviews/collections/equality.md b/overviews/collections/equality.md
index 8d36b26fa6..3a076bf967 100644
--- a/overviews/collections/equality.md
+++ b/overviews/collections/equality.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 13
-languages: [ja]
+languages: [ja, zh-cn]
---
The collection libraries have a uniform approach to equality and hashing. The idea is, first, to divide collections into sets, maps, and sequences. Collections in different categories are always unequal. For instance, `Set(1, 2, 3)` is unequal to `List(1, 2, 3)` even though they contain the same elements. On the other hand, within the same category, collections are equal if and only if they have the same elements (for sequences: the same elements in the same order). For example, `List(1, 2, 3) == Vector(1, 2, 3)`, and `HashSet(1, 2) == TreeSet(2, 1)`.
diff --git a/overviews/collections/introduction.md b/overviews/collections/introduction.md
index a475a45a8a..3a3caa7c2a 100644
--- a/overviews/collections/introduction.md
+++ b/overviews/collections/introduction.md
@@ -6,11 +6,11 @@ disqus: true
partof: collections
num: 1
-languages: [ja, pt-br]
+languages: [ja, zh-cn, pt-br]
---
**Martin Odersky, and Lex Spoon**
-
+
In the eyes of many, the new collections framework is the most significant
change in the Scala 2.8 release. Scala had collections before (and in fact the new
framework is largely compatible with them). But it's only 2.8 that
diff --git a/overviews/collections/iterators.md b/overviews/collections/iterators.md
index f8a6562bc6..7f4f78430e 100644
--- a/overviews/collections/iterators.md
+++ b/overviews/collections/iterators.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 15
-languages: [ja]
+languages: [ja, zh-cn]
---
An iterator is not a collection, but rather a way to access the elements of a collection one by one. The two basic operations on an iterator `it` are `next` and `hasNext`. A call to `it.next()` will return the next element of the iterator and advance the state of the iterator. Calling `next` again on the same iterator will then yield the element one beyond the one returned previously. If there are no more elements to return, a call to `next` will throw a `NoSuchElementException`. You can find out whether there are more elements to return using [Iterator](http://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Iterator.html)'s `hasNext` method.
diff --git a/overviews/collections/maps.md b/overviews/collections/maps.md
index f65f4043a4..ad1ed7f590 100644
--- a/overviews/collections/maps.md
+++ b/overviews/collections/maps.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 7
-languages: [ja]
+languages: [ja, zh-cn]
---
A [Map](http://www.scala-lang.org/api/current/scala/collection/Map.html) is an [Iterable](http://www.scala-lang.org/api/current/scala/collection/Iterable.html) consisting of pairs of keys and values (also named _mappings_ or _associations_). Scala's [Predef](http://www.scala-lang.org/api/current/scala/Predef$.html) class offers an implicit conversion that lets you write `key -> value` as an alternate syntax for the pair `(key, value)`. For instance `Map("x" -> 24, "y" -> 25, "z" -> 26)` means exactly the same as `Map(("x", 24), ("y", 25), ("z", 26))`, but reads better.
diff --git a/overviews/collections/migrating-from-scala-27.md b/overviews/collections/migrating-from-scala-27.md
index b37fd5e2c5..c99bd40e09 100644
--- a/overviews/collections/migrating-from-scala-27.md
+++ b/overviews/collections/migrating-from-scala-27.md
@@ -7,7 +7,7 @@ disqus: true
partof: collections
num: 18
outof: 18
-languages: [ja]
+languages: [ja, zh-cn]
---
Porting your existing Scala applications to use the new collections should be almost automatic. There are only a couple of possible issues to take care of.
diff --git a/overviews/collections/overview.md b/overviews/collections/overview.md
index bb18ec2b17..b733880b74 100644
--- a/overviews/collections/overview.md
+++ b/overviews/collections/overview.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 2
-languages: [ja]
+languages: [ja, zh-cn]
---
Scala collections systematically distinguish between mutable and
diff --git a/overviews/collections/performance-characteristics.md b/overviews/collections/performance-characteristics.md
index 057a5b8155..65e349403c 100644
--- a/overviews/collections/performance-characteristics.md
+++ b/overviews/collections/performance-characteristics.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 12
-languages: [ja]
+languages: [ja, zh-cn]
---
The previous explanations have made it clear that different collection types have different performance characteristics. That's often the primary reason for picking one collection type over another. You can see the performance characteristics of some common operations on collections summarized in the following two tables.
diff --git a/overviews/collections/seqs.md b/overviews/collections/seqs.md
index 060a504893..2a8c18581c 100644
--- a/overviews/collections/seqs.md
+++ b/overviews/collections/seqs.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 5
-languages: [ja]
+languages: [ja, zh-cn]
---
The [Seq](http://www.scala-lang.org/api/current/scala/collection/Seq.html) trait represents sequences. A sequence is a kind of iterable that has a `length` and whose elements have fixed index positions, starting from `0`.
diff --git a/overviews/collections/sets.md b/overviews/collections/sets.md
index 41c0c5e0f1..a6fda8fbaa 100644
--- a/overviews/collections/sets.md
+++ b/overviews/collections/sets.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 6
-languages: [ja]
+languages: [ja, zh-cn]
---
`Set`s are `Iterable`s that contain no duplicate elements. The operations on sets are summarized in the following table for general sets and in the table after that for mutable sets. They fall into the following categories:
diff --git a/overviews/collections/strings.md b/overviews/collections/strings.md
index 68a57ecc3b..a49cf46d9c 100644
--- a/overviews/collections/strings.md
+++ b/overviews/collections/strings.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 11
-languages: [ja]
+languages: [ja, zh-cn]
---
Like arrays, strings are not directly sequences, but they can be converted to them, and they also support all sequence operations on strings. Here are some examples of operations you can invoke on strings.
diff --git a/overviews/collections/trait-iterable.md b/overviews/collections/trait-iterable.md
index 0fb7ab53b2..00c0aa498f 100644
--- a/overviews/collections/trait-iterable.md
+++ b/overviews/collections/trait-iterable.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 4
-languages: [ja]
+languages: [ja, zh-cn]
---
The next trait from the top in the collections hierarchy is `Iterable`. All methods in this trait are defined in terms of an an abstract method, `iterator`, which yields the collection's elements one by one. The `foreach` method from trait `Traversable` is implemented in `Iterable` in terms of `iterator`. Here is the actual implementation:
diff --git a/overviews/collections/trait-traversable.md b/overviews/collections/trait-traversable.md
index ac3eeb6f52..c6f950e69a 100644
--- a/overviews/collections/trait-traversable.md
+++ b/overviews/collections/trait-traversable.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 3
-languages: [ja]
+languages: [ja, zh-cn]
---
At the top of the collection hierarchy is trait `Traversable`. Its only abstract operation is `foreach`:
diff --git a/overviews/collections/views.md b/overviews/collections/views.md
index f2e2a38f10..24c57b1419 100644
--- a/overviews/collections/views.md
+++ b/overviews/collections/views.md
@@ -6,7 +6,7 @@ disqus: true
partof: collections
num: 14
-languages: [ja]
+languages: [ja, zh-cn]
---
Collections have quite a few methods that construct new collections. Examples are `map`, `filter` or `++`. We call such methods transformers because they take at least one collection as their receiver object and produce another collection as their result.
diff --git a/overviews/core/_posts/2010-11-30-actors.md b/overviews/core/_posts/2010-11-30-actors.md
index 1d6552ecf5..0493ff979f 100644
--- a/overviews/core/_posts/2010-11-30-actors.md
+++ b/overviews/core/_posts/2010-11-30-actors.md
@@ -2,7 +2,7 @@
layout: overview
title: The Scala Actors API
overview: actors
-languages: [es]
+languages: [zh-cn, es]
---
**Philipp Haller and Stephen Tu**
diff --git a/overviews/core/_posts/2010-12-15-architecture-of-scala-collections.md b/overviews/core/_posts/2010-12-15-architecture-of-scala-collections.md
index 1ea207e6bd..7d7eb5dc1c 100644
--- a/overviews/core/_posts/2010-12-15-architecture-of-scala-collections.md
+++ b/overviews/core/_posts/2010-12-15-architecture-of-scala-collections.md
@@ -2,6 +2,7 @@
layout: overview
title: The Architecture of Scala Collections
overview: architecture-of-scala-collections
+languages: [zh-cn]
---
**Martin Odersky and Lex Spoon**
diff --git a/overviews/core/_posts/2012-09-20-futures.md b/overviews/core/_posts/2012-09-20-futures.md
index 663cd41c87..362e2af6be 100644
--- a/overviews/core/_posts/2012-09-20-futures.md
+++ b/overviews/core/_posts/2012-09-20-futures.md
@@ -4,7 +4,7 @@ title: Futures and Promises
label-color: success
label-text: New in 2.10
overview: futures
-languages: [ja]
+languages: [ja, zh-cn]
---
**By: Philipp Haller, Aleksandar Prokopec, Heather Miller, Viktor Klang, Roland Kuhn, and Vojin Jovanovic**
diff --git a/overviews/core/_posts/2012-09-20-implicit-classes.md b/overviews/core/_posts/2012-09-20-implicit-classes.md
index afd5b732af..c37f49361e 100644
--- a/overviews/core/_posts/2012-09-20-implicit-classes.md
+++ b/overviews/core/_posts/2012-09-20-implicit-classes.md
@@ -1,8 +1,10 @@
---
layout: overview
title: Implicit Classes
+overview: implicit-classes
label-color: success
label-text: Available
+languages: [zh-cn]
---
**Josh Suereth**
diff --git a/overviews/core/_posts/2012-09-21-string-interpolation.md b/overviews/core/_posts/2012-09-21-string-interpolation.md
index 2f5239417f..f738856d28 100644
--- a/overviews/core/_posts/2012-09-21-string-interpolation.md
+++ b/overviews/core/_posts/2012-09-21-string-interpolation.md
@@ -5,7 +5,7 @@ disqus: true
label-color: success
label-text: New in 2.10
overview: string-interpolation
-languages: [es, ja]
+languages: [es, ja, zh-cn]
---
**Josh Suereth**
diff --git a/overviews/core/_posts/2012-11-03-value-classes.md b/overviews/core/_posts/2012-11-03-value-classes.md
index 291deb2fab..aea31a6553 100644
--- a/overviews/core/_posts/2012-11-03-value-classes.md
+++ b/overviews/core/_posts/2012-11-03-value-classes.md
@@ -4,7 +4,7 @@ title: Value Classes and Universal Traits
label-color: success
label-text: New in 2.10
overview: value-classes
-languages: [ja]
+languages: [ja, zh-cn]
---
**Mark Harrah**
diff --git a/overviews/core/_posts/2012-11-08-actors-migration-guide.md b/overviews/core/_posts/2012-11-08-actors-migration-guide.md
index ed5a09f90a..482ca60648 100644
--- a/overviews/core/_posts/2012-11-08-actors-migration-guide.md
+++ b/overviews/core/_posts/2012-11-08-actors-migration-guide.md
@@ -3,6 +3,8 @@ layout: overview
title: The Scala Actors Migration Guide
label-color: success
label-text: New in 2.10
+overview: actors-migration-guide
+languages: [zh-cn]
---
**Vojin Jovanovic and Philipp Haller**
diff --git a/overviews/index.md b/overviews/index.md
index 7f790ac881..f19ad76dbf 100644
--- a/overviews/index.md
+++ b/overviews/index.md
@@ -1,7 +1,7 @@
---
layout: guides-index
title: Guides and Overviews
-languages: [es, ja]
+languages: [ja, zh-cn, es]
---