diff --git a/doc/de/index.md b/doc/de/index.md
index ec8442e..dac8adc 100644
--- a/doc/de/index.md
+++ b/doc/de/index.md
@@ -31,6 +31,7 @@
 *   Amazon Fire OS
 *   Android
 *   BlackBerry 10
+*   Browser
 *   Firefox OS
 *   iOS
 *   Tizen
@@ -95,6 +96,10 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### Browser-Eigenheiten
+
+Werte für aktuelle Überschrift werden nach dem Zufallsprinzip generiert, um den Kompass zu simulieren.
+
 ### iOS Macken
 
 Nur ein `watchHeading` kann in der Tat auf einmal in iOS sein. Wenn ein `watchHeading` benutzt einen Filter Aufrufen von `getCurrentHeading` oder `watchHeading` verwendet den Wert des vorhandenen Filters Überschrift Änderungen festlegen. Überschrift Veränderungen beobachten, mit einem Filter ist effizienter als mit Zeitintervallen.
@@ -121,7 +126,7 @@
 
 ## navigator.compass.clearWatch
 
-Stoppen Sie, beobachten den Kompass auf der Uhr-ID-Parameter verweist.
+Stoppen Sie, beobachten den Kompass auf der Watch-ID-Parameter verweist.
 
     navigator.compass.clearWatch(watchID);
     
@@ -139,7 +144,7 @@
 
 ## CompassHeading
 
-Ein `CompassHeading` Objekt wird an die `CompassSuccess` Callback-Funktion zurückgegeben.
+A `CompassHeading` Objekt wird zurückgegeben, um die `compassSuccess` Callback-Funktion.
 
 ### Eigenschaften
 
diff --git a/doc/es/index.md b/doc/es/index.md
index 0f4238e..3f730fd 100644
--- a/doc/es/index.md
+++ b/doc/es/index.md
@@ -31,6 +31,7 @@
 *   Amazon fuego OS
 *   Android
 *   BlackBerry 10
+*   Explorador
 *   Firefox OS
 *   iOS
 *   Tizen
@@ -95,9 +96,13 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### Navegador rarezas
+
+Los valores de partida actual son generados al azar para simular la brújula.
+
 ### iOS rarezas
 
-Solamente un `watchHeading` puede ser en efecto al mismo tiempo en iOS. Si un `watchHeading` utiliza un filtro llamado `getCurrentHeading` o `watchHeading` el valor existente de filtro se utiliza para especificar cambios de rumbo. Observando los cambios de rumbo con un filtro es más eficiente que con intervalos de tiempo.
+Solamente un `watchHeading` puede ser en efecto a la vez en iOS. Si un `watchHeading` utiliza un filtro, llamando a `getCurrentHeading` o `watchHeading` utiliza el valor existente del filtro para especificar los cambios de rumbo. Observando los cambios de rumbo con un filtro es más eficiente que con intervalos de tiempo.
 
 ### Amazon fuego OS rarezas
 
diff --git a/doc/fr/index.md b/doc/fr/index.md
index 80a2e12..1284fe7 100644
--- a/doc/fr/index.md
+++ b/doc/fr/index.md
@@ -31,6 +31,7 @@
 *   Amazon Fire OS
 *   Android
 *   BlackBerry 10
+*   Navigateur
 *   Firefox OS
 *   iOS
 *   Paciarelli
@@ -95,9 +96,13 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### Bizarreries navigateur
+
+Valeurs pour la rubrique actuelle sont générés au hasard afin de simuler la boussole.
+
 ### iOS Quirks
 
-Seulement un `watchHeading` peut être utilisé à un moment donné sur iOS. Si un `watchHeading` utilise un filtre, un appel à `getCurrentHeading` ou `watchHeading` utilise la valeur existante de filtre pour spécifier des changements de direction. Surveiller les changements de position avec un filtre est plus efficace qu'avec des intervalles de temps.
+Seul `watchHeading` peut être en effet à un moment donné dans l'iOS. Si un `watchHeading` utilise un filtre, appeler `getCurrentHeading` ou `watchHeading` utilise la valeur existante de filtre pour spécifier des changements de position. En regardant les changements de position avec un filtre est plus efficace qu'avec des intervalles de temps.
 
 ### Amazon Fire OS Quirks
 
@@ -139,7 +144,7 @@
 
 ## CompassHeading
 
-Un objet `CompassHeading` est retourné à la fonction de callback `compassSuccess`.
+A `CompassHeading` objet est retourné à la `compassSuccess` fonction de rappel.
 
 ### Propriétés
 
@@ -177,7 +182,7 @@
 
 ## CompassError
 
-Un objet `CompassError` est retourné à la fonction de callback `compassError` lorsqu'une erreur survient.
+A `CompassError` objet est retourné à la `compassError` fonction de rappel lorsqu'une erreur survient.
 
 ### Propriétés
 
diff --git a/doc/it/index.md b/doc/it/index.md
index adf3196..e52b2dc 100644
--- a/doc/it/index.md
+++ b/doc/it/index.md
@@ -31,6 +31,7 @@
 *   Amazon fuoco OS
 *   Android
 *   BlackBerry 10
+*   Browser
 *   Firefox OS
 *   iOS
 *   Tizen
@@ -95,6 +96,10 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### Stranezze browser
+
+I valori per la rubrica attuale sono generati casualmente al fine di simulare la bussola.
+
 ### iOS stranezze
 
 Solo un `watchHeading` può essere in effetti una volta in iOS. Se un `watchHeading` utilizza un filtro, chiamata `getCurrentHeading` o `watchHeading` utilizza il valore esistente di filtro per specificare le modifiche intestazione. Guardando i cambiamenti di direzione con un filtro è più efficiente con intervalli di tempo.
diff --git a/doc/ja/index.md b/doc/ja/index.md
index 7f389fa..42f888c 100644
--- a/doc/ja/index.md
+++ b/doc/ja/index.md
@@ -31,10 +31,11 @@
 *   アマゾン火 OS
 *   アンドロイド
 *   ブラックベリー 10
+*   ブラウザー
 *   Firefox の OS
 *   iOS
 *   Tizen
-*   Windows Phone 7 および 8 (ハードウェアである場合)
+*   Windows Phone 7 および 8 (可能な場合ハードウェアで)
 *   Windows 8
 
 ## メソッド
@@ -95,9 +96,13 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### ブラウザーの癖
+
+現在の見出しの値は、コンパスをシミュレートするためにランダムに生成されます。
+
 ### iOS の癖
 
-1 つだけ `watchHeading` iOS で一度に有効にすることができます。 場合は、 `watchHeading` 、フィルターを使用して呼び出す `getCurrentHeading` または `watchHeading` 既存のフィルターの値を使用して見出しの変更を指定します。 フィルターを使用して見出しの変更を見て時間間隔よりも効率的です。
+1 つだけ `watchHeading` iOS で一度に有効にすることができます。 場合は、 `watchHeading` 、フィルターを使用して呼び出す `getCurrentHeading` または `watchHeading` 既存のフィルターの値を使用して見出しの変更を指定します。 フィルターを使用して見出しの変更を見て時間間隔よりも効率的にファイルです。
 
 ### アマゾン火 OS 癖
 
diff --git a/doc/ko/index.md b/doc/ko/index.md
index 7628902..ae37492 100644
--- a/doc/ko/index.md
+++ b/doc/ko/index.md
@@ -31,10 +31,11 @@
 *   아마존 화재 운영 체제
 *   안 드 로이드
 *   블랙베리 10
+*   브라우저
 *   Firefox 운영 체제
 *   iOS
 *   Tizen
-*   Windows Phone 7 및 8 (해당 되는 경우 하드웨어 사용 가능)
+*   Windows Phone 7, 8 (사용 가능한 경우 하드웨어)
 *   윈도우 8
 
 ## 메서드
@@ -95,6 +96,10 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### 브라우저 만지면
+
+현재 제목에 대 한 값은 나침반을 시뮬레이션 하기 위해 임의로 생성 됩니다.
+
 ### iOS 단점
 
 단 하나 `watchHeading` iOS에서 한 번에 적용에서 될 수 있습니다. 경우는 `watchHeading` 필터를 사용 하 여 호출 `getCurrentHeading` 또는 `watchHeading` 기존 필터 값을 사용 하 여 제목 변화를 지정 합니다. 필터와 제목 변화를 보고 시간을 간격으로 보다 더 효율적입니다.
diff --git a/doc/pl/index.md b/doc/pl/index.md
index 39a15aa..3980f81 100644
--- a/doc/pl/index.md
+++ b/doc/pl/index.md
@@ -31,6 +31,7 @@
 *   Amazon ogień OS
 *   Android
 *   Jeżyna 10
+*   Przeglądarka
 *   Firefox OS
 *   iOS
 *   Tizen
@@ -95,6 +96,10 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### Quirks przeglądarki
+
+Wartości dla bieżącej pozycji są losowo generowane w celu symulacji kompas.
+
 ### iOS dziwactwa
 
 Tylko jeden `watchHeading` może być efekt w tym samym czasie w iOS. Jeśli `watchHeading` używa filtru, wywołanie `getCurrentHeading` lub `watchHeading` używa istniejących wartości filtru określić zmiany pozycji. Obserwując zmiany pozycji z filtrem jest bardziej efektywne niż z odstępach czasu.
@@ -121,7 +126,7 @@
 
 ## navigator.compass.clearWatch
 
-Zatrzymuje obserwowanie kompasu określonego przez parametr watchID.
+Przestać oglądać określany przez parametr ID Zegarek kompas.
 
     navigator.compass.clearWatch(watchID);
     
diff --git a/doc/ru/index.md b/doc/ru/index.md
index c687291..11eecce 100644
--- a/doc/ru/index.md
+++ b/doc/ru/index.md
@@ -31,10 +31,11 @@
 *   Amazon Fire ОС
 *   Android
 *   BlackBerry 10
+*   Обозреватель
 *   Firefox OS
 *   iOS
 *   Tizen
-*   Windows Phone 7 и 8 (при наличии в аппаратной)
+*   Windows Phone 7 и 8 (при наличии оборудования)
 *   Windows 8
 
 ## Методы
@@ -95,9 +96,13 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### Браузер причуды
+
+Для того, чтобы имитировать компас генерируются случайным образом значения для текущего заголовка.
+
 ### iOS причуды
 
-Только один `watchHeading` может быть в силе в одно время в iOS. Если `watchHeading` использует фильтр, вызов `getCurrentHeading` или `watchHeading` для указания изменения заголовка используется существующее значение фильтра. Наблюдая изменения заголовка с помощью фильтра является более эффективным, чем с интервалами времени.
+Только один `watchHeading` может быть в одно время эффекта в iOS. Если `watchHeading` использует фильтр, вызов `getCurrentHeading` или `watchHeading` для указания изменения заголовка используется существующее значение фильтра. Наблюдая изменения заголовка с помощью фильтра является более эффективным, чем с интервалов времени.
 
 ### Amazon Fire OS причуды
 
@@ -121,7 +126,7 @@
 
 ## navigator.compass.clearWatch
 
-Перестать смотреть компас, на которую ссылается параметр ID часы.
+Перестать смотреть компас, на который ссылается параметр ID смотреть.
 
     navigator.compass.clearWatch(watchID);
     
@@ -177,7 +182,7 @@
 
 ## CompassError
 
-A `CompassError` объект возвращается к `compassError` функции обратного вызова при возникновении ошибки.
+A `CompassError` объект возвращается к `compassError` функцию обратного вызова при возникновении ошибки.
 
 ### Свойства
 
diff --git a/doc/zh/index.md b/doc/zh/index.md
index 8c2b2f8..7b536c6 100644
--- a/doc/zh/index.md
+++ b/doc/zh/index.md
@@ -31,10 +31,11 @@
 *   亞馬遜火 OS
 *   Android 系統
 *   黑莓 10
-*   火狐瀏覽器作業系統
+*   瀏覽器
+*   火狐瀏覽器的作業系統
 *   iOS
-*   Tizen
-*   Windows Phone 7 和 8 （如果在硬體中可用）
+*   泰
+*   Windows Phone 7 和第 8 （如果在硬體中可用）
 *   Windows 8
 
 ## 方法
@@ -95,9 +96,13 @@
     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
     
 
+### 瀏覽器的怪癖
+
+隨機生成當前標題的值，以便類比羅盤。
+
 ### iOS 的怪癖
 
-只有一個 `watchHeading` 可以在 iOS 中一次效果。 如果 `watchHeading` 使用篩選器中，調用 `getCurrentHeading` 或 `watchHeading` 使用現有的篩選器值來指定標題的更改。 使用篩選器看標題的變化是與時間間隔比效率更高。
+只有一個 `watchHeading` 可以在 iOS 中一次的效果。 如果 `watchHeading` 使用篩選器中，調用 `getCurrentHeading` 或 `watchHeading` 使用現有的篩選器值來指定標題的變化。 帶有篩選器看標題的變化是與時間間隔比效率更高。
 
 ### 亞馬遜火 OS 怪癖
 
@@ -111,17 +116,17 @@
 
 *   不支援`filter`.
 
-### Tizen 怪癖
+### 泰怪癖
 
 *   不支援`filter`.
 
-### Windows Phone 7 和 8 怪癖
+### Windows Phone 7 和 8 的怪癖
 
 *   不支援`filter`.
 
 ## navigator.compass.clearWatch
 
-再看看 ID 參數所引用的指南針。
+別看手錶 ID 參數所引用的指南針。
 
     navigator.compass.clearWatch(watchID) ；
     
