diff --git a/2-ui/1-document/07-modifying-document/1-createtextnode-vs-innerhtml/task.md b/2-ui/1-document/07-modifying-document/1-createtextnode-vs-innerhtml/task.md
index e127bc0ef..4228d8d42 100644
--- a/2-ui/1-document/07-modifying-document/1-createtextnode-vs-innerhtml/task.md
+++ b/2-ui/1-document/07-modifying-document/1-createtextnode-vs-innerhtml/task.md
@@ -4,9 +4,9 @@ importance: 5
# createTextNode vs innerHTML vs textContent
-We have an empty DOM element `elem` and a string `text`.
+Boş bir DOM elementimiz `elem` ve bir string metnimiz `text` var.
-Which of these 3 commands do exactly the same?
+Bu 3 komuttan hangisi tamamen aynıdır?
1. `elem.append(document.createTextNode(text))`
2. `elem.innerHTML = text`
diff --git a/2-ui/1-document/07-modifying-document/11-append-to-list/task.md b/2-ui/1-document/07-modifying-document/11-append-to-list/task.md
index 543cd3e46..dccdccdd3 100644
--- a/2-ui/1-document/07-modifying-document/11-append-to-list/task.md
+++ b/2-ui/1-document/07-modifying-document/11-append-to-list/task.md
@@ -4,7 +4,7 @@ importance: 5
# Insert the HTML in the list
-Write the code to insert `
diff --git a/2-ui/1-document/07-modifying-document/9-calendar-table/solution.md b/2-ui/1-document/07-modifying-document/9-calendar-table/solution.md
index 67bb5e13d..95a538966 100644
--- a/2-ui/1-document/07-modifying-document/9-calendar-table/solution.md
+++ b/2-ui/1-document/07-modifying-document/9-calendar-table/solution.md
@@ -1,9 +1,9 @@
-We'll create the table as a string: `""`, and then assign it to `innerHTML`.
+Tabloyu bir string olarak oluşturacağız: `""` ve ardından `innerHTML`'ye atayacağız.
-The algorithm:
+Algoritma:
-1. Create the table header with `| ` and weekday names.
-1. Create the date object `d = new Date(year, month-1)`. That's the first day of `month` (taking into account that months in JavaScript start from `0`, not `1`).
-2. First few cells till the first day of the month `d.getDay()` may be empty. Let's fill them in with ` | | `.
-3. Increase the day in `d`: `d.setDate(d.getDate()+1)`. If `d.getMonth()` is not yet the next month, then add the new cell `` to the calendar. If that's a Sunday, then add a newline "</tr><tr>".
-4. If the month has finished, but the table row is not yet full, add empty ` | ` into it, to make it square.
+1. Tablo başlığını ve hafta içi gün isimlerini ` | ` ile oluşturun.
+1. Tarih nesnesini ile `d = new Date(year, month-1)` oluşturun. Bu, ayın ilk günüdür. (JavaScript'te ayların `1`den değil, `0`dan başladığını hesaba katarak)
+2. Ayın ilk gününe kadar ilk birkaç hücre `d.getDay()` boş olabilir. Onları ` | | ` ile dolduralım.
+3. `d`: `d.setDate(d.getDate()+1)` içindeki günü artırın. Eğer `d.getMonth()` henüz gelecek ay değilse, ondan sonra takvime yeni hücre ekle. Eğer bu bir Pazar günüyse, yeni bir satır "</tr><tr>"'i ekleyin.
+4. Eğer ay bitmişse, ama tablo satırı henüz dolu değilse, onu kare yapmak için içine boş `` ekleyin.
diff --git a/2-ui/1-document/07-modifying-document/article.md b/2-ui/1-document/07-modifying-document/article.md
index 9c756193d..763be7fbc 100644
--- a/2-ui/1-document/07-modifying-document/article.md
+++ b/2-ui/1-document/07-modifying-document/article.md
@@ -1,16 +1,16 @@
# Modifying the document
-DOM modifications is the key to create "live" pages.
+DOM değişiklikleri "canlı" sayfalar oluşturmak için anahtardır.
-Here we'll see how to create new elements "on the fly" and modify the existing page content.
+Burada, "anında" nasıl yeni öğeler yaratmayı ve var olan sayfa içeriğini değiştirmeyi göreceğiz.
-First we'll see a simple example and then explain the methods.
+İlk önce, basit bir örnek göreceğiz ve ondan sonra yöntemleri açıklacağız.
## Example: show a message
-For a start, let's see how to add a message on the page that looks nicer than `alert`.
+Başlangıç için, sayfa üzerinde `alert`ten daha güzel görünen bir mesajın nasıl eklendiğini görelim.
-Here's how it will look:
+İşte nasıl görüneceği:
```html autorun height="80"
- Hi there! You've read an important message.
+ Hi there!You've read an important message.
```
@@ -340,11 +340,11 @@ An example of copying the message:
## DocumentFragment [#document-fragment]
-`DocumentFragment` is a special DOM node that serves as a wrapper to pass around lists of nodes.
+`DocumentFragment` düğüm listelerini geçirmek için bir sarıcı olarak görevi olan özel bir DOM düğümüdür.
-We can append other nodes to it, but when we insert it somewhere, then its content is inserted instead.
+Buna diğer düğümler ekleyebiliriz, ama bunu herhangi bir yere yerleştirdiğimizde, daha sonra içeriği bunun yerine eklenir.
-For example, `getListContent` below generates a fragment with `- ` items, that are later inserted into `
`:
+Örneğin, aşağıdaki `getListContent` `- ` öğeleriyle bir parça oluşturur, ki daha sonra `
`içine eklenir:
```html run
@@ -368,7 +368,7 @@ ul.append(getListContent()); // (*)
```
-Please note, at the last line `(*)` we append `DocumentFragment`, but it "blends in", so the resulting structure will be:
+Lütfen not edin, sondaki satıra `(*)`, `DocumentFragment`i ekleriz, ama o "içine karışır", sonuçta ortaya çıkan yapı:
```html
@@ -378,7 +378,7 @@ Please note, at the last line `(*)` we append `DocumentFragment`, but it "blends
```
-`DocumentFragment` is rarely used explicitly. Why append to a special kind of node, if we can return an array of nodes instead? Rewritten example:
+'DocumentFragment' pek nadir açıkça kullanılır. Bunun yerine bir sıra düğümü geri döndürebiliyorsak, neden özel bir düğüme eklemeliyiz? Yeniden yazılmış örnek:
```html run
@@ -402,40 +402,40 @@ ul.append(...getListContent()); // append + "..." operator = friends!
```
-We mention `DocumentFragment` mainly because there are some concepts on top of it, like [template](info:template-element) element, that we'll cover much later.
+Temel olarak `DocumentFragment` ifadesinden bahsediyoruz. çünkü bunun üzerinde [template](info:template-element) element, gibi bazı kavramlar vardır, ki daha sonra bunlari ele alacağız.
## Removal methods
-To remove nodes, there are the following methods:
+Düğümleri kaldırmak için, aşağıdaki yöntemler vardır:
`parentElem.removeChild(node)`
-: Removes `node` from `parentElem` (assuming it's a child).
+: `parentElem`den `node`ı kaldırır (Farzedelim ki, o bir alt öğedir(child)).
`node.remove()`
-: Removes the `node` from its place.
+: `node`ı kendi yerinden kaldırır.
-We can easily see that the second method is much shorter. The first one exists for historical reasons.
+Kolayca görebiliriz ki, ikinci yöntem çok daha kısadır. İlki tarihsel nedenlerden dolayı vardır.
-````smart
-If we want to *move* an element to another place -- there's no need to remove it from the old one.
+````Akıllıca
+Eğer biz bir öğeyi baska bir yere *taşımak* istiyorsak --- Onu eskisinden kaldırmaya gerek yok.
-**All insertion methods automatically remove the node from the old place.**
+**Tüm ekleme yöntemleri düğümü otomatik olarak eski yerinden kaldırır.**
-For instance, let's swap elements:
+ Örneğin, elementleri değiştirelim:
```html run height=50
First
Second
```
````
-Let's make our message disappear after a second:
+Mesajımız bir saniye sonra ortadan kaybolsun:
```html run untrusted
|