diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index a9448a94bc..06b9fa4207 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -12,6 +12,8 @@ en/    @ruby/www-ruby-lang-org-editorial
 
 es/    @ruby/www-ruby-lang-org-i18n-es
 
+fa/    @ruby/www-ruby-lang-org-i18n-fa
+
 fr/    @ruby/www-ruby-lang-org-i18n-fr
 
 id/    @ruby/www-ruby-lang-org-i18n-id
diff --git a/_config.yml b/_config.yml
index 167fa34951..4452425b8f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -1,1827 +1,1938 @@
-markdown: kramdown
-permalink: pretty
-highlighter: rouge
-
-timezone: UTC
-
-kramdown:
-  auto_ids: false
-  syntax_highlighter_opts:
-    disable: true
-
-exclude:
-  - config.ru
-  - Gemfile
-  - Gemfile.lock
-  - Procfile
-  - Rakefile
-  - README.md
-  - unicorn.rb
-  - lib
-  - test
-  - vendor
-
-url: https://www.ruby-lang.org
-
-license:
-  url: /en/about/license.txt
-
-svn:
-  stable:
-    version: 2.6
-    branch:  ruby_2_6
-  previous:
-    version: 2.5
-    branch:  ruby_2_5
-  old:
-    version: 2.4
-    branch:  ruby_2_4
-
-locales:
-  sitelinks:
-    bg:
-      - text: За сваляне
-        url: /bg/downloads
-      - text: Документация
-        url: /bg/documentation
-      - text: Библиотеки
-        url: /bg/libraries
-      - text: Общност
-        url: /bg/community
-      - text: Новини
-        url: /bg/news
-      - text: Сигурност
-        url: /bg/security
-      - text: Относно
-        url: /bg/about
-    de:
-      - text: Downloads
-        url:  /de/downloads
-      - text: Dokumentation
-        url:  /de/documentation
-      - text: Bibliotheken
-        url:  /de/libraries
-      - text: Community
-        url:  /de/community
-      - text: Neuigkeiten
-        url:  /de/news
-      - text: Sicherheit
-        url:  /de/security
-      - text: Über Ruby
-        url:  /de/about
-    en:
-      - text: Downloads
-        url:  /en/downloads
-      - text: Documentation
-        url:  /en/documentation
-      - text: Libraries
-        url:  /en/libraries
-      - text: Community
-        url:  /en/community
-      - text: News
-        url:  /en/news
-      - text: Security
-        url:  /en/security
-      - text: About Ruby
-        url:  /en/about
-    es:
-      - text: Descargas
-        url:  /es/downloads
-      - text: Documentación
-        url:  /es/documentation
-      - text: Bibliotecas
-        url:  /es/libraries
-      - text: Comunidad
-        url:  /es/community
-      - text: Noticias
-        url:  /es/news
-      - text: Seguridad
-        url:  /es/security
-      - text: Acerca de Ruby
-        url:  /es/about
-    fr:
-      - text: Téléchargements
-        url:  /fr/downloads
-      - text: Documentation
-        url:  /fr/documentation
-      - text: Bibliothèques
-        url:  /fr/libraries
-      - text: Communauté
-        url:  /fr/community
-      - text: Actualités
-        url:  /fr/news
-      - text: Sécurité
-        url:  /fr/security
-      - text: À propos de Ruby
-        url:  /fr/about
-    id:
-      - text: Unduh
-        url: /id/downloads
-      - text: Dokumentasi
-        url: /id/documentation
-      - text: Pustaka
-        url: /id/libraries
-      - text: Komunitas
-        url: /id/community
-      - text: Berita
-        url: /id/news
-      - text: Keamanan
-        url: /id/security
-      - text: Tentang Ruby
-        url: /id/about
-    it:
-      - text: Scarica
-        url:  /it/downloads
-      - text: Documentazione
-        url:  /it/documentation
-      - text: Librerie
-        url:  /it/libraries
-      - text: Comunità
-        url:  /it/community
-      - text: Notizie
-        url:  /it/news
-      - text: Sicurezza
-        url:  /it/security
-      - text: A proposito di Ruby
-        url:  /it/about
-    ja:
-      - text: ダウンロード
-        url: /ja/downloads
-      - text: ドキュメント
-        url: /ja/documentation
-      - text: ライブラリ
-        url: /ja/libraries
-      - text: コミュニティ
-        url: /ja/community
-      - text: コア開発
-        url: /ja/dev
-      - text: ニュース
-        url: /ja/news
-      - text: セキュリティ
-        url: /ja/security
-      - text: Rubyとは
-        url: /ja/about
-    ko:
-      - text: 다운로드
-        url: /ko/downloads
-      - text: 문서
-        url: /ko/documentation
-      - text: 라이브러리
-        url: /ko/libraries
-      - text: 커뮤니티
-        url: /ko/community
-      - text: 뉴스
-        url: /ko/news
-      - text: 보안이슈
-        url: /ko/security
-      - text: 루비에 대해서
-        url: /ko/about
-    pl:
-      - text: Pobierz
-        url: /pl/downloads
-      - text: Dokumentacja
-        url: /pl/documentation
-      - text: Biblioteki
-        url: /pl/libraries
-      - text: Społeczność
-        url: /pl/community
-      - text: Wiadomości
-        url: /pl/news
-      - text: Bezpieczeństwo
-        url: /pl/security
-      - text: O języku Ruby
-        url: /pl/about
-    pt:
-      - text:  Downloads
-        url: /pt/downloads
-      - text: Documentação
-        url: /pt/documentation
-      - text: Módulos
-        url: /pt/libraries
-      - text: Comunidade
-        url: /pt/community
-      - text: Notícias
-        url: /pt/news
-      - text: Segurança
-        url: /pt/security
-      - text: Sobre Ruby
-        url: /pt/about
-    ru:
-      - text: Скачать
-        url:  /ru/downloads
-      - text: Документация
-        url:  /ru/documentation
-      - text: Библиотеки
-        url:  /ru/libraries
-      - text: Сообщество
-        url:  /ru/community
-      - text: Новости
-        url:  /ru/news
-      - text: Безопасность
-        url:  /ru/security
-      - text: О Ruby
-        url:  /ru/about
-    tr:
-      - text: İndirin
-        url: /tr/downloads
-      - text: Belgeler
-        url: /tr/documentation
-      - text: Kütüphaneler
-        url: /tr/libraries
-      - text: Topluluk
-        url: /tr/community
-      - text: Haberler
-        url: /tr/news
-#     - text: Güvenlik
-#       url: /tr/security
-      - text: Ruby Hakkında
-        url: /tr/about
-    vi:
-      - text: Downloads
-        url:  /vi/downloads
-      - text: Tài liệu
-        url:  /vi/documentation
-      - text: Thư viện
-        url:  /vi/libraries
-      - text: Cộng đồng
-        url:  /vi/community
-      - text: Tin tức
-        url:  /vi/news
-      - text: Bảo mật
-        url:  /vi/security
-      - text: Về Ruby
-        url:  /vi/about
-    zh_cn:
-      - text: 下载
-        url: /zh_cn/downloads
-      - text: 文档
-        url: /zh_cn/documentation
-      - text: 代码库
-        url: /zh_cn/libraries
-      - text: 社区
-        url: /zh_cn/community
-      - text: 新闻
-        url: /zh_cn/news
-      - text: 安全
-        url: /zh_cn/security
-      - text: 关于 Ruby
-        url: /zh_cn/about
-    zh_tw:
-      - text: 下載安裝
-        url: /zh_tw/downloads
-      - text: 文件
-        url: /zh_tw/documentation
-      - text: 函式庫
-        url: /zh_tw/libraries
-      - text: 社群
-        url: /zh_tw/community
-      - text: 新聞
-        url: /zh_tw/news
-      - text: 安全
-        url: /zh_tw/security
-      - text: 關於 Ruby
-        url: /zh_tw/about
-
-  search:
-    bg:
-      text: Търси
-    de:
-      text: Suche
-      cx_id: "008918821236166936739:xplclbf3sh0"
-    en:
-      text: Search
-      cx_id: "013598269713424429640:g5orptiw95w"
-    es:
-      text: Buscar
-    fr:
-      text: Recherche
-      cx_id: "016749562256550695330:efcmgh3a1ac"
-    id:
-      text: Cari
-    it:
-      text: Cerca
-    ja:
-      text: 検索
-      cx_id: "008288045305770251182:fvruzsaknew"
-    ko:
-      text: 찾기
-    pl:
-      text: Szukaj
-    pt:
-      text: Procurar
-    ru:
-      text: Поиск
-    tr:
-      text: Ara
-      cx_id: "011743037637077038592:5tuc9cqilws"
-    vi:
-      text: Tìm
-    zh_cn:
-      text: 搜索
-    zh_tw:
-      text: 搜尋
-
-  slogan:
-    bg: "най-добрият приятел на програмиста"
-    de: "Der beste Freund eines Programmierers"
-    en: "A Programmer's Best Friend"
-    es: "El mejor amigo de un desarrollador"
-    fr: "A Programmer's Best Friend"
-    id: "Sahabat Terbaik Programmer"
-    it: "Il migliore amico dei programmatori"
-    ja: "A Programmer's Best Friend"
-    ko: "프로그래머의 단짝 친구"
-    pl: "Najlepszy Przyjaciel Programisty"
-    pt: "O melhor amigo do programador"
-    ru: "лучший друг программиста"
-    tr: "BİR PROGRAMCININ EN İYİ ARKADAŞI"
-    vi: "Người bạn tri kỉ của lập trình viên"
-    zh_cn: "程序员最好的朋友"
-    zh_tw: "程式設計師的摯友"
-
-  ruby:
-    bg: "Ruby"
-    de: "Ruby"
-    en: "Ruby"
-    es: "Ruby"
-    fr: "Ruby"
-    id: "Ruby"
-    it: "Ruby"
-    ja: "Ruby"
-    ko: "루비"
-    pl: "Ruby"
-    pt: "Ruby"
-    ru: "Ruby"
-    tr: "Ruby"
-    vi: "Ruby"
-    zh_cn: "Ruby"
-    zh_tw: "Ruby"
-
-  month_names:
-    bg: [януари, февруари, март, април, май, юни, юли, август, септември, октомври, ноември, декември]
-    de: [Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
-    en: [January, February, March, April, May, June, July, August, September, October, November, December]
-    es: [Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
-    fr: [Janvier, Février, Mars, Avril, Mai, Juin, Juillet, Août, Septembre, Octobre, Novembre, Décembre]
-    id: [Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, Desember]
-    it: [Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, Ottobre, Novembre, Dicembre]
-    pl: [Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień]
-    pt: [Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
-    ru: [Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь]
-    tr: [Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
-    vi: [Tháng một, Tháng hai, Tháng ba, Tháng tư, Tháng năm, Tháng sáu, Tháng bảy, Tháng tám, Tháng chín, Tháng mười, Tháng mười một, Tháng mười hai]
-
-  posted_by:
-    bg: "Публикувана от AUTHOR на %Y-%m-%d"
-    de: "Geschrieben von AUTHOR am %-d.%-m.%Y"
-    en: "Posted by AUTHOR on %-d %b %Y"
-    es: "Publicado por AUTHOR el %Y-%m-%d"
-    fr: "Posté par AUTHOR le %Y-%m-%d"
-    id: "Ditulis oleh AUTHOR tanggal %Y-%m-%d"
-    it: "Inserito da AUTHOR il %Y-%m-%d"
-#   ja:
-    ko: "작성자: AUTHOR (%Y-%m-%d)"
-    pl: "Zamieszczone przez AUTHOR %Y-%m-%d"
-    pt: "Escrito por AUTHOR em %d/%m/%Y"
-    ru: "Опубликовал AUTHOR %Y-%m-%d"
-    tr: "AUTHOR tarafından %d.%m.%Y tarihinde gönderildi"
-    vi: "Đăng bởi AUTHOR vào %-d %b %Y"
-    zh_cn: "由 AUTHOR 发表于 %Y-%m-%d"
-    zh_tw: "由 AUTHOR 發表於 %Y-%m-%d"
-
-  translated_by:
-    bg: "Превод от"
-    de: "Übersetzt von"
-    en: "Translated by"
-    es: "Traducción de"
-    fr: "Traduit par"
-    id: "Diterjemahkan oleh"
-    it: "Tradotto da"
-#   ja:
-    ko: "번역자:"
-    pl: "Tłumaczone przez"
-    pt: "Traduzido por"
-    ru: "Перевел:"
-    tr: "Çeviri:"
-    vi: "Dịch bởi"
-    zh_cn: "翻译:"
-    zh_tw: "翻譯:"
-
-  feed:
-    bg:
-      title: Ruby новини
-      description: Последните новини от ruby-lang.org.
-      lang_code: bg
-    de:
-      title: Ruby RSS News
-      description: Die letzten Neuigkeiten von ruby-lang.org.
-      lang_code: de-DE
-    en:
-      title: Ruby News
-      description: The latest news from ruby-lang.org.
-      lang_code: en-US
-    es:
-      title: Noticias de Ruby por RSS
-      description: Las últimas noticias de ruby-lang.org en español.
-      lang_code: es-ES
-    fr:
-      title: Actualités de Ruby-lang
-      description: Les dernières news sur ruby-lang.org.
-      lang_code: fr-FR
-    id:
-      title: Berita Ruby
-      description: Berita terhangat dari ruby-lang.org.
-      lang_code: id
-    it:
-      title: Notizie su Ruby
-      description: Le ultime notizie da ruby-lang.org.
-      lang_code: it-IT
-    ja:
-      title: ruby-langの最新ニュース
-      description: ruby-lang.orgの最新ニュース
-      lang_code: ja
-    ko:
-      title: 루비 뉴스
-      description: ruby-lang.org의 최근 소식
-      lang_code: ko-KR
-    pl:
-      title: Ruby Lang PL
-      description: Najnowsze wiadomości z ruby-lang.org.
-      lang_code: pl
-    pt:
-      title: Notícias sobre Ruby
-      description: As notícias mais recentes do ruby-lang.org em português.
-      lang_code: pt-PT
-    ru:
-      title: Новости Ruby
-      description: Последние новости с ruby-lang.org.
-      lang_code: ru-RU
-    tr:
-      title: Ruby Son Haberler
-      description: ruby-lang.org'dan en son haberler.
-      lang_code: tr
-    vi:
-      title: Tin tức Ruby
-      description: Những tin mới nhất từ ruby-lang.org.
-      lang_code: vi
-    zh_cn:
-      title: Ruby 新闻更新
-      description: 来自 ruby-lang.org 的最新文章。
-      lang_code: zh-CN
-    zh_tw:
-      title: Ruby 新聞
-      description: 來自 ruby-lang.org 的新聞快報。
-      lang_code: zh-TW
-
-  news:
-    bg:
-      other_news: Други новини
-      more_news: Още новини...
-      continue: Прочетете още...
-      back_to_year: "Обратно към архив %Y"
-      recent_news: Последни новини
-      yearly_archive_title: "Архив %Y"
-      monthly_archive_title: "Архив %B %Y"
-      yearly_archives: Архив по година
-      monthly_archives: Архив по месец
-      yearly_archive_link: "%Y"
-      monthly_archive_link: "%B %Y"
-    de:
-      other_news: Weitere Neuigkeiten
-      more_news: Mehr Neuigkeiten...
-      continue: Weiterlesen...
-      back_to_year: "Zurück zum Archiv für %Y"
-      recent_news: Aktuelle Neuigkeiten
-      yearly_archive_title: "Archiv für %Y"
-      monthly_archive_title: "Archiv für %B %Y"
-      yearly_archives: Archiv
-      monthly_archives: Archiv nach Monat
-      yearly_archive_link: "Archiv für %Y"
-      monthly_archive_link: "%B %Y"
-    en:
-      other_news: Other News
-      more_news: More News...
-      continue: Continue Reading...
-      back_to_year: "Back to %Y Archives"
-      recent_news: Recent News
-      yearly_archive_title: "%Y Archives"
-      monthly_archive_title: "%B %Y Archives"
-      yearly_archives: Archives by Year
-      monthly_archives: Archives by Month
-      yearly_archive_link: "%Y Archives"
-      monthly_archive_link: "%B %Y"
-    es:
-      other_news: Otras noticias
-      more_news: Más noticias...
-      continue: Continuar leyendo...
-      back_to_year: "Volver a las noticias de %Y"
-      recent_news: Noticias recientes
-      yearly_archive_title: "Noticias de %Y"
-      monthly_archive_title: "Noticias de %B %Y"
-      yearly_archives: Noticias por año
-      monthly_archives: Noticias por mes
-      yearly_archive_link: "Noticias de %Y"
-      monthly_archive_link: "%B %Y"
-    fr:
-      other_news: Autres actualités
-      more_news: Plus d’actualités...
-      continue: Lire la suite...
-      back_to_year: "Retour aux %Y archives"
-      recent_news: Actualité récente
-      yearly_archive_title: "%Y Archives"
-      monthly_archive_title: "%B %Y Archives"
-      yearly_archives: Archives par années
-      monthly_archives: Archives par mois
-      yearly_archive_link: "Actualités de %Y"
-      monthly_archive_link: "%m/%Y"
-    id:
-      other_news: Berita Lain
-      more_news: Arsip Sebelumnya...
-      continue: Baca Selengkapnya...
-      back_to_year: "Kembali ke Arsip Tahun %Y"
-      recent_news: Berita Baru
-      yearly_archive_title: "Arsip Tahun %Y"
-      monthly_archive_title: "Arsip %B %Y"
-      yearly_archives: Arsip Tahunan
-      monthly_archives: Arsip Bulanan
-      yearly_archive_link: "Tahun %Y"
-      monthly_archive_link: "%B %Y"
-    it:
-      other_news: Altre Notizie
-      more_news: Ulteriori Notizie...
-      continue: Continua...
-      back_to_year: "Vai all'archivio %Y"
-      recent_news: Notizie Recenti
-      yearly_archive_title: "Archivio dell'anno %Y"
-      monthly_archive_title: "Archivio mensile %B %Y"
-      yearly_archives: Archivio dell'anno
-      monthly_archives: Archivio Mensile
-      yearly_archive_link: "Archivio dell'anno %Y"
-      monthly_archive_link: "%B %Y"
-    ja:
-      other_news: その他のニュース
-      more_news: もっと読む...
-      continue: もっと読む...
-      back_to_year: "%Y年のアーカイブに戻る"
-      recent_news: 最近のニュース
-      yearly_archive_title: "%Y年のアーカイブ"
-      monthly_archive_title: "%Y年%m月のアーカイブ"
-      yearly_archives: 年毎のアーカイブ
-      monthly_archives: 月毎のアーカイブ
-      yearly_archive_link: "%Y年のアーカイブ"
-      monthly_archive_link: "%Y年%m月"
-    ko:
-      other_news: 이전 뉴스
-      more_news: 뉴스 더보기...
-      continue: 자세히 읽기
-      back_to_year: "%Y년 아카이브로 돌아가기"
-      recent_news: 최근 소식
-      yearly_archive_title: "%Y년 아카이브"
-      monthly_archive_title: "%Y년 %m월 아카이브"
-      yearly_archives: 년도별 아카이브
-      monthly_archives: 월별 아카이브
-      yearly_archive_link: "%Y년"
-      monthly_archive_link: "%Y년 %m월"
-    pl:
-      other_news: Pozostałe aktualności
-      more_news: Więcej aktualności...
-      continue: Więcej...
-      back_to_year: "Powrót do Archiwum %Y"
-      recent_news: Aktualności
-      yearly_archive_title: "Archiwum %Y"
-      monthly_archive_title: "Archiwum %B %Y"
-      yearly_archives: Archiwum wiadomości
-      monthly_archives: Archiwum według miesiąca
-      yearly_archive_link: "%Y"
-      monthly_archive_link: "%B %Y"
-    pt:
-      other_news: Outras Notícias
-      more_news: Mais Notícias...
-      continue: Continuar a Leitura...
-      back_to_year: "Voltar aos arquivos de %Y"
-      recent_news: Notícias Recentes
-      yearly_archive_title: "Arquivos de %Y"
-      monthly_archive_title: "Arquivos de %B %Y"
-      yearly_archives: Arquivos por Ano
-      monthly_archives: Arquivos por Mês
-      yearly_archive_link: "Arquivos de %Y"
-      monthly_archive_link: "%B %Y"
-    ru:
-      other_news: Другие новости
-      more_news: Больше новостей...
-      continue: Узнать больше...
-      back_to_year: "Вернуться к архивам %Y года"
-      recent_news: Последние новости
-      yearly_archive_title: "Архивы %Y года"
-      monthly_archive_title: "Архивы %B %Y"
-      yearly_archives: Архивы по годам
-      monthly_archives: Архивы по месяцам
-      yearly_archive_link: "Архивы %Y"
-      monthly_archive_link: "%B %Y"
-    tr:
-      other_news: Diğer Haberler
-      more_news: Dahası...
-      continue: Devamını Okuyun...
-      back_to_year: "%Y arşivlerine geri dönün."
-      recent_news: Son Haberler
-      yearly_archive_title: "%Y Arşivleri"
-      monthly_archive_title: "%B %Y Arşivleri"
-      yearly_archives: Yıllara göre Arşivler
-      monthly_archives: Aylara göre Arşivler
-      yearly_archive_link: "%Y Arşivleri"
-      monthly_archive_link: "%B %Y"
-    vi:
-      other_news: Tin khác
-      more_news: Thêm Tin...
-      continue: Đọc tiếp...
-      back_to_year: "Trở về %Y Lưu trữ"
-      recent_news: Tin mới nhất
-      yearly_archive_title: "Lưu trữ %Y"
-      monthly_archive_title: "Lưu trữ %B %Y"
-      yearly_archives: Lưu trữ bằng Năm
-      monthly_archives: Lưu trữ bằng Tháng
-      yearly_archive_link: "Lưu trữ %Y"
-      monthly_archive_link: "%B %Y"
-    zh_cn:
-      other_news: 其它新闻
-      more_news: 更多新闻...
-      continue: 阅读全文...
-      back_to_year: "返回%Y年归档"
-      recent_news: 最新消息
-      yearly_archive_title: "%Y年归档"
-      monthly_archive_title: "%Y年%-m月归档"
-      yearly_archives: 按年存档
-      monthly_archives: 按月归档
-      yearly_archive_link: "%Y年归档"
-      monthly_archive_link: "%Y年%-m月归档"
-    zh_tw:
-      other_news: 其他新聞
-      more_news: 更多新聞...
-      continue: 深入閱讀...
-      back_to_year: "回到 %Y 年彙整"
-      recent_news: 最新消息
-      yearly_archive_title: "%Y 彙整"
-      monthly_archive_title: "%Y 年 %-m 月彙整"
-      yearly_archives: 按年份彙整
-      monthly_archives: 按月份彙整
-      yearly_archive_link: "%Y 年彙整"
-      monthly_archive_link: "%Y 年 %-m 月彙整"
-
-  sidebar:
-    try_ruby: &try_ruby
-      url: https://ruby.github.io/TryRuby/
-    rubybib: &rubybib
-      url: https://rubybib.org/
-
-    bg:
-      get_started:
-        text: <strong>Започнете</strong> лесно е!
-        try_ruby:
-          text: Пробвайте Ruby! (в браузъра)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby в 20 минути
-          url: /bg/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby от други езици
-          url: /bg/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Изследвайте</strong> нов свят…
-        documentation:
-          text: Документация
-          url: /bg/documentation/
-        # books:
-        #   text: Книги
-        libraries:
-          text: Библиотеки
-          url: /bg/libraries/
-        success_stories:
-          text: Успешни истории
-          url: /bg/documentation/success-stories/
-      participate:
-        text: <strong>Участвайте</strong> в приятелски настроено общество.
-        mailing_lists:
-          text: Пощенски списъци
-          url: /bg/community/mailing-lists/
-          description: |
-            Дискусии относно Ruby с програмисти от цял свят.
-        user_groups:
-          text: Потребителски групи
-          url: /bg/community/user-groups/
-          description: |
-            Свържете се с рубисти в твоя район.
-        weblogs:
-          text: Блогове
-          url: /bg/community/weblogs/
-          description: |
-            Прочетете какво се случва в Ruby обществото.
-        ruby_core:
-          text: Ruby ядро
-          url: /bg/community/ruby-core/
-          description: |
-            Помогнете за разработката на Ruby.
-        issue_tracking:
-          text: Следене на бъгове
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Докладвайте или помогнете за решаването на проблеми в Ruby.
-      syndicate:
-        text: Новини
-        recent_news:
-          text: Последните новини (RSS)
-          url: /bg/feeds/news.rss
-    de:
-      get_started:
-        text: <strong>Der Einstieg</strong> ist einfach!
-        try_ruby:
-          text: Teste Ruby! (im Browser)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby in 20 Minuten
-          url: /de/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby für Umsteiger
-          url: /de/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Entdecke</strong> eine neue Welt…
-        documentation:
-          text: Dokumentation
-          url: /de/documentation/
-        # books:
-        #   text: Bücher
-        libraries:
-          text: Bibliotheken
-          url: /de/libraries/
-        success_stories:
-          text: Erfolgsgeschichten
-          url: /de/documentation/success-stories/
-      participate:
-        text: <strong>Beteilige dich</strong> an einer freundlichen und wachsenden Community.
-        mailing_lists:
-          text: Mailing-Listen
-          url: /de/community/mailing-lists/
-          description: |
-            Sprich mit Programmierern auf der ganzen Welt über Ruby.
-        user_groups:
-          text: User-Groups
-          url: /de/community/user-groups/
-          description: |
-            Treffe Rubyisten in deiner Umgebung.
-        weblogs:
-          text: Weblogs
-          url: /de/community/weblogs/
-          description: |
-            Lies, was gerade jetzt in der Ruby-Community passiert.
-        ruby_core:
-          text: Ruby-Entwicklung
-          url: /de/community/ruby-core/
-          description: |
-            Hilf mit, die neuesten Ruby-Versionen zu verbessern.
-        issue_tracking:
-          text: Fehler melden
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Melde einen Fehler oder hilf mit, offene Fehler zu beseitigen.
-      syndicate:
-        text: Syndication
-        recent_news:
-          text: Aktuelle Neuigkeiten (RSS)
-          url: /de/feeds/news.rss
-    en:
-      get_started:
-        text: <strong>Get Started</strong>, it's easy!
-        try_ruby:
-          text: Try Ruby! (in your browser)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby in Twenty Minutes
-          url: /en/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby from Other Languages
-          url: /en/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Explore</strong> a new world…
-        documentation:
-          text: Documentation
-          url: /en/documentation/
-        # books:
-        #   text: Books
-        rubybib:
-          text: Academic Research
-          <<: *rubybib
-        libraries:
-          text: Libraries
-          url: /en/libraries/
-        success_stories:
-          text: Success Stories
-          url: /en/documentation/success-stories/
-      participate:
-        text: <strong>Participate</strong> in a friendly and growing community.
-        mailing_lists:
-          text: Mailing Lists
-          url: /en/community/mailing-lists/
-          description: |
-            Talk about Ruby with programmers from all around the world.
-        user_groups:
-          text: User Groups
-          url: /en/community/user-groups/
-          description: |
-            Get in contact with Rubyists in your area.
-        weblogs:
-          text: Blogs
-          url: /en/community/weblogs/
-          description: |
-            Read about what’s happening right now in the Ruby community.
-        ruby_core:
-          text: Ruby Core
-          url: /en/community/ruby-core/
-          description: |
-            Help polish the rough edges of the latest Ruby.
-        issue_tracking:
-          text: Issue Tracking
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Report or help solve issues in Ruby.
-      syndicate:
-        text: Syndicate
-        recent_news:
-          text: Recent News (RSS)
-          url: /en/feeds/news.rss
-    es:
-      get_started:
-        text: "<strong>Iníciate</strong>, ¡es fácil!"
-        try_ruby:
-          text: ¡Prueba Ruby! (en tu navegador)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby en 20 Minutos
-          url: /es/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby desde otros lenguajes
-          url: /es/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Explora</strong> un nuevo mundo…
-        documentation:
-          text: Documentación
-          url: /es/documentation/
-        # books:
-        #   text: Libros
-        libraries:
-          text: Bibliotecas
-          url: /es/libraries/
-        success_stories:
-          text: Casos exitosos (en inglés)
-          url: /en/documentation/success-stories/
-      participate:
-        text: <strong>Participa</strong> en una amistosa y creciente comunidad.
-        mailing_lists:
-          text: Listas de correo
-          url: /es/community/mailing-lists/
-          description: |
-            Habla sobre Ruby con desarrolladores alrededor del mundo.
-        user_groups:
-          text: Grupos de usuarios
-          url: /es/community/user-groups/
-          description: |
-            Ponte en contacto con otros Rubyistas en tu localidad.
-        weblogs:
-          text: Blogs (en inglés)
-          url: /en/community/weblogs/
-          description: |
-             Entérate de lo que está sucediendo en la comunidad.
-        ruby_core:
-          text: Ruby Core (en inglés)
-          url: /en/community/ruby-core/
-          description: |
-            Ayuda a mejorar el futuro de Ruby.
-        issue_tracking:
-          text: Reportes de errores
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Reporta o ayuda a resolver problemas en Ruby.
-      syndicate:
-        text: Feeds de noticias (RSS)
-        recent_news:
-          text: En español
-          url: /es/feeds/news.rss
-    fr:
-      get_started:
-        text: <strong>Lancez-vous</strong>, c’est facile !
-        try_ruby:
-          text: Essayez Ruby !
-          <<: *try_ruby
-        quickstart:
-          text: Apprenez Ruby en vingt minutes
-          url: /fr/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Vous venez d'un autre langage ?
-          url: /fr/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Explorez</strong> un nouvel univers…
-        documentation:
-          text: Documentation
-          url: /fr/documentation/
-        # books:
-        #   text: Livres
-        libraries:
-          text: Bibliothèques
-          url: /fr/libraries/
-        success_stories:
-          text: Témoignages
-          url: /fr/documentation/success-stories/
-      participate:
-        text: <strong>Participez</strong> à la communauté
-        mailing_lists:
-          text: Listes de diffusion
-          url: /fr/community/mailing-lists/
-          description: |
-            discutez de Ruby avec des programmeurs du monde entier.
-        user_groups:
-          text: Groupes d’utilisateur
-          url: /fr/community/user-groups/
-          description: |
-            entrez en contact avec d’autres rubyistes de votre région.
-        weblogs:
-          text: Blogs
-          url: /fr/community/weblogs/
-          description: |
-            suivez toute l’actualité de la communauté Ruby.
-        ruby_core:
-          text: Ruby Core
-          url: /fr/community/ruby-core/
-          description: |
-            apportez votre aide à l'élaboration du prochain Ruby.
-        issue_tracking:
-          text: Rapports de bugs
-          url: https://bugs.ruby-lang.org/
-          description: |
-            aidez à corriger et améliorer Ruby.
-      syndicate:
-        text: Syndication
-        recent_news:
-          text: Actualité récente (RSS)
-          url: /fr/feeds/news.rss
-    id:
-      get_started:
-        text: <strong>Coba Sekarang</strong>, sangat mudah!
-        try_ruby:
-          text: Try Ruby! (langsung di browser Anda)
-          <<: *try_ruby
-        quickstart:
-          text: Menguasai Ruby dalam 20 Menit
-          url: /id/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Dari Bahasa Pemrograman Lain ke Ruby
-          url: /id/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Jelajahi</strong> sebuah dunia baru…
-        documentation:
-          text: Dokumentasi
-          url: /id/documentation/
-        # books:
-        #   text: Buku-buku
-        libraries:
-          text: Pustaka
-          url: /id/libraries/
-        success_stories:
-          text: Kisah Sukses
-          url: /id/documentation/success-stories/
-      participate:
-        text: |
-          <strong>Bergabunglah</strong> dalam komunitas yang ramah dan makin
-          berkembang.
-        mailing_lists:
-          text: Mailing List
-          url: /id/community/mailing-lists/
-          description: |
-            Berdiskusi dengan programmer Ruby dari Indonesia dan seluruh dunia.
-        user_groups:
-          text: Komunitas Pengguna
-          url: /id/community/user-groups/
-          description: |
-            Berpartisipasilah dengan Rubyist di lokasi Anda.
-        weblogs:
-          text: Blog
-          url: /id/community/weblogs/
-          description: |
-            Ulasan terbaru dari komunitas Ruby.
-        ruby_core:
-          text: Ruby Core
-          url: /id/community/ruby-core/
-          description: |
-            Silakan berkontribusi untuk versi Ruby terbaru.
-        issue_tracking:
-          text: Laporkan Masalah
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Lapor atau bantu memecahkan masalah yang ada di Ruby.
-      syndicate:
-        text: Sindikasi Web
-        recent_news:
-          text: Umpan Web (RSS)
-          url: /id/feeds/news.rss
-    it:
-      get_started:
-        text: <strong>Per iniziare</strong>, è facile!
-        try_ruby:
-          text: Prova Ruby! (nel tuo browser)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby in venti minuti
-          url: /it/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby a partire da altri linguaggi
-          url: /it/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Esplora</strong> un nuovo mondo…
-        documentation:
-          text: Documentazione
-          url: /it/documentation/
-        # books:
-        #   text: Libri
-        libraries:
-          text: Librerie
-          url: /it/libraries/
-        success_stories:
-          text: Esperienze Positive
-          url: /it/documentation/success-stories/
-      participate:
-        text: |
-          <strong>Partecipa</strong> ad una comunità amichevole e in crescita.
-        mailing_lists:
-          text: Liste di Discussione
-          url: /it/community/mailing-lists/
-          description: |
-            Parla con altri programmatori Ruby da tutto il mondo.
-        user_groups:
-          text: Gruppi di Utenti
-          url: /it/community/user-groups/
-          description: |
-            Entra in contatto con "Rubysti" nella tua zona.
-        weblogs:
-          text: Blog
-          url: /it/community/weblogs/
-          description: |
-            Leggi cosa sta succedendo proprio adesso nella comunità di Ruby.
-        ruby_core:
-          text: Ruby Core
-          url: /it/community/ruby-core/
-          description: |
-            Aiutaci a perfezionare l'ultimo Ruby.
-        issue_tracking:
-          text: Issue Tracking
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Segnalaci o aiutaci a risolvere problemi in Ruby
-      syndicate:
-        text: Feed RSS
-        recent_news:
-          text: Ultime Notizie (RSS)
-          url: /it/feeds/news.rss
-    ja:
-      get_started:
-        text: <strong>はじめよう!</strong>
-        try_ruby:
-          text: 試してみる! (ブラウザから)
-          <<: *try_ruby
-        quickstart:
-          text: 20分ではじめるRuby
-          url: /ja/documentation/quickstart/
-        ruby_from_other_languages:
-          text: 他言語からのRuby入門
-          url: /ja/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>探求しよう</strong>
-        documentation:
-          text: ドキュメント
-          url: /ja/documentation/
-        # books:
-        #   text: Books
-        rubybib:
-          text: 学術研究(英語)
-          <<: *rubybib
-        libraries:
-          text: ライブラリ
-          url: /ja/libraries/
-#       success_stories:
-#         text: Success Stories
-#         url: /ja/documentation/success-stories/
-      participate:
-        text: <strong>コミュニティに参加しよう</strong>
-        mailing_lists:
-          text: メーリングリスト
-          url: /ja/community/mailing-lists/
-          description: |
-            世界中のプログラマとRubyについて話しましょう。
-        user_groups:
-          text: 日本Rubyの会
-          url: http://ruby-no-kai.org/
-          description: |
-            Rubyの利用者/開発者の支援を目的としたグループです。
-        weblogs:
-          text: 更新順リンク
-          url: http://www.rubyist.net/~kazu/samidare/
-          description: |
-            Ruby関連のサイトのリンクを更新順に並べたものです。
-#       ruby_core:
-#         text: Ruby Core
-#         url: /en/community/ruby-core/
-#         description: |
-#           Help polish the rough edges of the latest Ruby.
-#       issue_tracking:
-#         text: Issue Tracking
-#         url: https://bugs.ruby-lang.org/
-#         description: |
-#           Report or help solve issues in Ruby.
-      syndicate:
-        text: Syndicate
-        recent_news:
-          text: 最近のニュース (RSS)
-          url: /ja/feeds/news.rss
-    ko:
-      get_started:
-        text: <strong>시작하기</strong>
-        try_ruby:
-          text: Try Ruby!
-          <<: *try_ruby
-        quickstart:
-          text: 20분 가이드
-          url: /ko/documentation/quickstart/
-        ruby_from_other_languages:
-          text: 다른 언어에서 루비로
-          url: /ko/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>탐험하기</strong>
-        documentation:
-          text: 문서
-          url: /ko/documentation/
-        # books:
-        #   text: 책
-        libraries:
-          text: 라이브러리
-          url: /ko/libraries/
-        success_stories:
-          text: 사용 사례
-          url: /ko/documentation/success-stories/
-      participate:
-        text: <strong>커뮤니티에 참여하기</strong>
-        mailing_lists:
-          text: 루비 사용자 포럼
-          url: http://groups.google.com/group/rubykr
-          description: |
-            한국의 루비스트를 만나세요
-        user_groups:
-          text: 유저 그룹
-          url: /ko/community/user-groups/
-          description: |
-            근처의 루비스트와 연락하기
-        weblogs:
-          text: 웹로그
-          url: /ko/community/weblogs/
-          description: |
-            루비 커뮤니티에서 지금 무슨 일이 일어나는지 읽기
-        ruby_core:
-          text: 루비 코어
-          url: /ko/community/ruby-core/
-          description: |
-            최신판 루비의 연마를 돕기
-        issue_tracking:
-          text: 이슈 관리
-          url: https://bugs.ruby-lang.org/
-          description: |
-            루비에 관한 이슈를 제보하거나 해결을 돕기
-      syndicate:
-        text: 구독
-        recent_news:
-          text: 최근 소식(RSS)
-          url: /ko/feeds/news.rss
-    pl:
-      get_started:
-        text: <strong>Zacznij</strong>, to proste!
-        try_ruby:
-          text: Wypróbuj Ruby! (w twojej przeglądarce)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby w 20 Minut
-          url: /pl/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby a inne języki programowania
-          url: /pl/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Poznaj</strong> nowy świat…
-        documentation:
-          text: Dokumentacja
-          url: /pl/documentation/
-        # books:
-        #   text: Książki
-        libraries:
-          text: Biblioteki
-          url: /pl/libraries/
-        success_stories:
-          text: Udane wdrożenia
-          url: /pl/documentation/success-stories/
-      participate:
-        text: |
-          <strong>Dołącz</strong> do przyjaznej i rozrastającej się
-          społeczności.
-        mailing_lists:
-          text: Listy dyskusyjne
-          url: /pl/community/mailing-lists/
-          description: |
-            Porozmawiaj o Ruby z programistami z całego świata.
-        user_groups:
-          text: Grupy Użytkowników
-          url: /pl/community/user-groups/
-          description: |
-            Bądź w kontakcie z użytkownikami Rubiego z Twojej okolicy.
-        weblogs:
-          text: Blogi
-          url: /pl/community/weblogs/
-          description: |
-            Czytaj na bieżąco co dzieje się w społeczności języka Ruby.
-        ruby_core:
-          text: Ruby Core
-          url: /en/community/ruby-core/
-          description: |
-            Pomóż dopracować najnowszą wersję Rubiego.
-        issue_tracking:
-          text: Śledzenie problemów
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Zgłoś lub pomóż rozwiązać problemy w Rubim.
-      syndicate:
-        text: Syndicate
-        recent_news:
-          text: Ostatnie Wiadomości (RSS)
-          url: /pl/feeds/news.rss
-    pt:
-      get_started:
-        text: <strong>Primeiros passos</strong>, é fácil!
-        try_ruby:
-          text: Try Ruby! (in your browser)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby em Vinte Minutos
-          url: /pt/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby a partir de outras linguagens
-          url: /pt/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Explore</strong> um novo mundo…
-        documentation:
-          text: Documentação
-          url: /pt/documentation/
-        # books:
-        #   text: Livros
-        libraries:
-          text: Bibliotecas
-          url: /pt/libraries/
-        success_stories:
-          text: Histórias de sucesso
-          url: /pt/documentation/success-stories/
-      participate:
-        text: |
-          <strong>Participe</strong> de uma comunidade simpática e em crescimento.
-        mailing_lists:
-          text: Listas de E-mail
-          url: /pt/community/mailing-lists/
-          description: |
-            Fale sobre Ruby com programadores de todo o mundo.
-        user_groups:
-          text: Grupos de Usuários
-          url: /pt/community/user-groups/
-          description: |
-            Entre em contato com colegas da sua área.
-        weblogs:
-          text: Weblogs
-          url: /pt/community/weblogs/
-          description: |
-            Leia sobre o que está acontecendo agora na comunidade Ruby.
-        ruby_core:
-          text: Ruby Core
-          url: /pt/community/ruby-core/
-          description: |
-            Ajude a polir as arestas da última versão do Ruby.
-        issue_tracking:
-          text: Issue Tracking
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Informe ou ajude a resolver problemas do Ruby.
-      syndicate:
-        text: Feeds de notícias (RSS)
-        recent_news:
-          text: Em português
-          url: /pt/feeds/news.rss
-    ru:
-      get_started:
-        text: <strong>Начните сейчас</strong>, это легко!
-        try_ruby:
-          text: Попробуйте Ruby! (в своем браузере)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby за двадцать минут
-          url: /ru/documentation/quickstart/
-        ruby_from_other_languages:
-          text: В Ruby из других языков
-          url: /ru/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Исследуйте</strong> новый мир…
-        documentation:
-          text: Документация
-          url: /ru/documentation/
-        # books:
-        #   text: Книги
-        libraries:
-          text: Библиотеки
-          url: /ru/libraries/
-        success_stories:
-          text: Истории успеха
-          url: /ru/documentation/success-stories/
-      participate:
-        text: <strong>Вступайте</strong> в дружелюбное и развивающееся сообщество.
-        mailing_lists:
-          text: Почтовые рассылки
-          url: /ru/community/mailing-lists/
-          description: |
-            Разговоры о Ruby в кругу программистов со всего мира.
-        user_groups:
-          text: Группы пользователей
-          url: /ru/community/user-groups/
-          description: |
-            Познакомьтесь с рубистами рядом с вами.
-        weblogs:
-          text: Блоги
-          url: /ru/community/weblogs/
-          description: |
-            Читайте о том, что происходит в сообществе Ruby прямо сейчас.
-        ruby_core:
-          text: Ядро Ruby
-          url: /ru/community/ruby-core/
-          description: |
-            Помощь в полировке последней версии Ruby.
-        issue_tracking:
-          text: Решение проблем
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Сообщайте или помогите решить проблемы в Ruby.
-      syndicate:
-        text: Синдикат
-        recent_news:
-          text: Последние новости (RSS)
-          url: /ru/feeds/news.rss
-    tr:
-      get_started:
-        text: <strong>Başlamak</strong>, çok kolay!
-        try_ruby:
-          text: Ruby'yi Deneyin! (tarayıcınızda)
-          <<: *try_ruby
-        quickstart:
-          text: Yirmi Dakikada Ruby
-          url: /tr/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Diğer Dillerden Ruby'ye
-          url: /tr/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Yeni Bir Dünya</strong> keşfedin…
-        documentation:
-          text: Belgeler
-          url: /tr/documentation/
-        # books:
-        #   text: Kitaplar
-        rubybib:
-          text: Akademik Araştırma
-          <<: *rubybib
-        libraries:
-          text: Kütüphaneler
-          url: /tr/libraries/
-        success_stories:
-          text: Başarı Hikayeleri
-          url: /tr/documentation/success-stories/
-      participate:
-        text: <strong>Arkadaşça</strong> ve büyüyen bir topluluğa katılın.
-#       mailing_lists:
-#         text: Mail Listeleri
-#         url: /tr/community/mailing-lists/
-#         description: |
-#           Tüm dünyadan Ruby programcılarıyla görüşün.
-#       user_groups:
-#         text: Kullanıcı Grupları
-#         url: /tr/community/user-groups/
-#         description: |
-#           Bölgenizdeki Ruby'cilerle temas kurun.
-#       weblogs:
-#         text: Web günlükleri
-#         url: /tr/community/weblogs/
-#         description: |
-#           Rubyde neler olduğunu takip edin.
-#       ruby_core:
-#         text: Ruby Core
-#         url: /tr/community/ruby-core/
-#         description: |
-#           En son Rubynin kaba taraflarının parlatılmasına yardımcı olun.
-        issue_tracking:
-          text: Sorun Takibi
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Ruby sorunlarını rapor edin ya da çözümüne yardım edin.
-      syndicate:
-        text: Takip Edin
-        recent_news:
-          text: Son Haberler (RSS)
-          url: /tr/feeds/news.rss
-    vi:
-      get_started:
-        text: <strong>Nhập môn</strong>, quá dễ!
-        try_ruby:
-          text: Thử Ruby! (trong trình duyệt)
-          <<: *try_ruby
-        quickstart:
-          text: Ruby trong 20 phút
-          url: /vi/documentation/quickstart/
-        ruby_from_other_languages:
-          text: Ruby từ những ngôn ngữ khác
-          url: /vi/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>Khám phá</strong> một thề giới mới…
-        documentation:
-          text: Tài liệu
-          url: /vi/documentation/
-        # books:
-        #   text: Sách
-        libraries:
-          text: Thư viện
-          url: /vi/libraries/
-        success_stories:
-          text: Những câu chuyện thành công
-          url: /vi/documentation/success-stories/
-      participate:
-        text: <strong>Tham gia</strong> vào một cộng đồng lớn mạnh và thân thiện.
-        mailing_lists:
-          text: Mailing Lists
-          url: /vi/community/mailing-lists/
-          description: |
-            Trao đổi về Ruby với các lập trình viên trên thế giới
-        user_groups:
-          text: Nhóm người dùng
-          url: /vi/community/user-groups/
-          description: |
-            Làm quen với những Rubyist trong khu vực của bạn.
-        weblogs:
-          text: Weblogs
-          url: /vi/community/weblogs/
-          description: |
-            Đọc về những gì đang xảy ra với cộng đồng Ruby.
-        ruby_core:
-          text: Lõi Ruby
-          url: /vi/community/ruby-core/
-          description: |
-            Giúp hoàn thiện Ruby.
-        issue_tracking:
-          text: Thông báo lỗi
-          url: https://bugs.ruby-lang.org/
-          description: |
-            Báo hoặc giúp xử lý các lỗi trong Ruby.
-      syndicate:
-        text: Syndicate
-        recent_news:
-          text: Tin mới (RSS)
-          url: /vi/feeds/news.rss
-    zh_tw:
-      get_started:
-        text: <strong>上手入門</strong>,一點都不難!
-        try_ruby:
-          text: 在瀏覽器中試用 Ruby!
-          <<: *try_ruby
-        quickstart:
-          text: 20 分鐘 Ruby 體驗
-          url: /zh_tw/documentation/quickstart/
-        ruby_from_other_languages:
-          text: 從其他語言到 Ruby
-          url: /zh_tw/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>探索</strong> 新世界…
-        documentation:
-          text: 文件
-          url: /zh_tw/documentation/
-        # books:
-        #   text: 書籍
-        rubybib:
-          text: 學術研究
-          <<: *rubybib
-        libraries:
-          text: 函式庫
-          url: /zh_tw/libraries/
-        success_stories:
-          text: 成功案例
-          url: /zh_tw/documentation/success-stories/
-      participate:
-        text: <strong>加入</strong> 友善且持續成長的社群
-        mailing_lists:
-          text: 郵件論壇
-          url: /zh_tw/community/mailing-lists/
-          description: |
-            與世界各地的程式設計師一同聊聊
-        user_groups:
-          text: 使用者群組
-          url: /zh_tw/community/user-groups/
-          description: |
-            與身旁的 Ruby 使用者接觸
-        weblogs:
-          text: 部落格
-          url: /zh_tw/community/weblogs/
-          description: |
-            了解 Ruby 社群中的最新消息
-        ruby_core:
-          text: Ruby 核心
-          url: /zh_tw/community/ruby-core/
-          description: |
-            幫助開發最新的 Ruby
-        issue_tracking:
-          text: 問題追蹤
-          url: https://bugs.ruby-lang.org/
-          description: |
-            回報或解決 Ruby 問題
-      syndicate:
-        text: 訂閱
-        recent_news:
-          text: 最新消息(RSS)
-          url: /zh_tw/feeds/news.rss
-    zh_cn:
-      get_started:
-        text: <strong>试用</strong>,其实很简单!
-        try_ruby:
-          text: 在浏览器中试用 Ruby(英文)
-          <<: *try_ruby
-        quickstart:
-          text: 20 分钟体验 Ruby
-          url: /zh_cn/documentation/quickstart/
-        ruby_from_other_languages:
-          text: 从其它语言转到 Ruby
-          url: /zh_cn/documentation/ruby-from-other-languages/
-      explore:
-        text: <strong>探索</strong>新的世界
-        documentation:
-          text: 文档
-          url: /zh_cn/documentation/
-        # books:
-        #   text: Books
-        rubybib:
-          text: 学术研究
-          <<: *rubybib
-        libraries:
-          text: 代码库
-          url: /zh_cn/libraries/
-        success_stories:
-          text: 成功案例
-          url: /zh_cn/documentation/success-stories/
-      participate:
-        text: <strong>加入</strong>友善及日益壮大的社区
-        mailing_lists:
-          text: 邮件列表
-          url: /zh_cn/community/mailing-lists/
-          description: |
-            联系喜爱 Ruby 的朋友
-        user_groups:
-          text: 用户组
-          url: /zh_cn/community/user-groups/
-          description: |
-            参与 Ruby 爱好者活动
-        weblogs:
-          text: 博客
-          url: /zh_cn/community/weblogs/
-          description: |
-            阅读 Ruby 相关的博客
-        ruby_core:
-          text: Ruby 核心
-          url: /zh_cn/community/ruby-core/
-          description: |
-            帮助开发 Ruby 语言
-        issue_tracking:
-          text: 问题跟踪
-          url: https://bugs.ruby-lang.org/
-          description: |
-            报告或帮助解决 Ruby 的问题
-      syndicate:
-        text: 订阅
-        recent_news:
-          text: 最新消息(RSS)
-          url: /zh_cn/feeds/news.rss
-
-  subscription_form:
-    bg:
-      list: Пощенски списък
-      first_name: Име
-      last_name: Фамилия
-      email: Email адрес
-      action: Действие
-      subscribe: Записване
-      unsubscribe: Отписване
-      submit: Изпрати
-    de:
-      list: Mailingliste
-      first_name: Vorname
-      last_name: Nachname
-      email: E-Mail
-      action: Vorgang
-      subscribe: Anmelden
-      unsubscribe: Abmelden
-      submit: Absenden
-    en:
-      list: Mailing List
-      first_name: First Name
-      last_name: Last Name
-      email: Email Address
-      action: Action
-      subscribe: Subscribe
-      unsubscribe: Unsubscribe
-      submit: Submit Form
-    es:
-      list: Lista de correo
-      first_name: Nombre
-      last_name: Apellidos
-      email: Correo electrónico
-      action: Acción
-      subscribe: Subscribe
-      unsubscribe: Unsubscribe
-      submit: Enviar
-    fr:
-      list: Liste de diffusion
-      first_name: Prénom
-      last_name: Nom
-      email: e-mail
-      action: Action
-      subscribe: Subscribe
-      unsubscribe: Unsubscribe
-      submit: Valider
-    id:
-      list: Nama Milis
-      first_name: Nama Depan
-      last_name: Nama Belakang
-      email: Alamat E-mail
-      action: Tindakan
-      subscribe: Subscribe
-      unsubscribe: Unsubscribe
-      submit: Kirim
-    it:
-      list: Lista di discussione
-      first_name: Nome
-      last_name: Cognome
-      email: Indirizzo e-mail
-      action: Azione
-      subscribe: Subscribe
-      unsubscribe: Unsubscribe
-      submit: Invia
-#   ja:
-#     list: Mailing List
-#     first_name: First Name
-#     last_name: Last Name
-#     email: Email Address
-#     action: Action
-#     subscribe: Subscribe
-#     unsubscribe: Unsubscribe
-#     submit: Submit Form
-    ko:
-      list: 메일링 리스트
-      first_name: 이름
-      last_name: 성
-      email: 이메일 주소
-      action: 할일
-      subscribe: 구독하기
-      unsubscribe: 구독 해지
-      submit: 제출하기
-    pl:
-      list: Mailing List
-      first_name: First Name
-      last_name: Last Name
-      email: Email Address
-      action: Action
-      subscribe: Subscribe
-      unsubscribe: Unsubscribe
-      submit: Submit Form
-    pt:
-      list: Lista de E-mails
-      first_name: Primeiro Nome
-      last_name: Último Nome
-      email: E-mail
-      action: Ação
-      subscribe: Inscrever
-      unsubscribe: Desinscrever
-      submit: Enviar Formulário
-    ru:
-      list: Почтовая рассылка
-      first_name: Имя
-      last_name: Фамилия
-      email: Email
-      action: Действие
-      subscribe: Подписаться
-      unsubscribe: Отписаться
-      submit: Отправить
-    tr:
-      list: E-posta Listesi
-      first_name: Ad
-      last_name: Soyad
-      email: E-posta Adresi
-      action: Eylem
-      subscribe: Abone Ol
-      unsubscribe: Abonelikten Çık
-      submit: Formu Gönder
-    vi:
-      list: Mailing List
-      first_name: Tên
-      last_name: Họ
-      email: Email
-      action: Hành động
-      subscribe: Đăng kí
-      unsubscribe: Hủy đăng kí
-      submit: Nộp đơn
-    zh_cn:
-      list: 邮件列表
-      first_name: 名
-      last_name: 姓
-      email: 电子邮件
-      action: 操作
-      subscribe: 订阅
-      unsubscribe: 退订
-      submit: 提交表单
-    zh_tw:
-      list: 郵件論壇
-      first_name: 名
-      last_name: 姓
-      email: 電子郵件
-      action: Action
-      subscribe: 訂閱
-      unsubscribe: 退訂
-      submit: 送出表格
-
-  languages_heading:
-    bg: "Този сайт на други езици:"
-    de: "Diese Website in anderen Sprachen:"
-    en: "This site in other languages:"
-    fr: "Autres langues disponibles :"
-    id: "Situs ini dalam bahasa lain:"
-    it: "Questo sito in altre lingue:"
-    pl: "Ta strona w innych językach:"
-    pt: "Este site em outros idiomas:"
-    ru: "Этот сайт на других языках:"
-    tr: "Diğer dillerde bu site:"
-    zh_cn: "本站其他语言版本:"
-
-  credits:
-    bg: |
-      <a href="/bg/about/website/">Този сайт</a>
-      се поддържа от членове на Ruby обществото.
-    de: |
-      <a href="/de/about/website/">Diese Website</a>
-      wird mit Stolz von Mitgliedern der Ruby-Community gepflegt.
-    en: |
-      <a href="/en/about/website/">This website</a>
-      is proudly maintained by members of the Ruby community.
-    es: |
-      Este sitio web está desarrollado con Ruby y <a href="http://www.jekyllrb.com/">Jekyll</a>
-      y es orgullosamente mantenido por miembros de la comunidad.
-      Si quieres contribuir, por favor hazlo en <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
-      o contacta a nuestro <a href="mailto:webmaster@ruby-lang.org">webmaster</a>
-      si tienes preguntas o comentarios.
-    fr: |
-      Ce site est propulsé par Ruby et <a href="http://www.jekyllrb.com/">Jekyll</a>.
-      Il est fièrement maintenu par des membres de la communauté Ruby.
-      Contribuez en vous rendant sur <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
-      ou contactez le <a href="mailto:webmaster@ruby-lang.org">webmaster</a>
-      pour toute question ou tout commentaire.
-    id: |
-      <a href="/id/about/website/">Situs ini</a>
-      dengan bangga dirawat oleh anggota komunitas Ruby.
-    it: |
-      <a href="/it/about/website/">Questo sito web</a>
-      è mantenuto con orgoglio dai membri della comunità Ruby.
-    ja: |
-      <a href="/ja/about/website/">このウェブサイト</a>は Ruby コミュニティのメンバーによって運営されています。
-    ko: |
-      <a href="/ko/about/website/">이 사이트</a>는 루비 커뮤니티의
-      구성원들이 직접 관리합니다.
-    pl: |
-      <a href="/pl/about/logo/">Logo Rubiego</a> jest Zastrzeżone &copy; 2006, Yukihiro Matsumoto; licencjonowane na warunkach <a href="http://creativecommons.org/licenses/by-sa/2.5/">CC BY-SA 2.5</a>.<br><br>
-      Serwis powstał w języku Ruby przy użyciu <a href="http://www.jekyllrb.com/">Jekyll</a>.
-      Utrzymaniem serwisu zajmuje się społeczność Rubiego.
-      Projekt strony <a href="https://twitter.com/jasonzimdars">Jason Zimdars</a>.
-      Proszę udziel nam wsparcia na <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
-      lub skontaktuj się z naszym <a href="mailto:webmaster@ruby-lang.org">webmasterem</a>
-      jeśli masz jakieś pytania lub komentarze dotyczące tego serwisu.
-    pt: |
-      <a href="/pt/about/website/">Este website</a>
-      é mantido com orgulho por membros da comunidade Ruby.
-    ru: |
-      <a href="/ru/about/website/">Этот сайт</a> с гордостью поддерживается членами сообщества Ruby.
-    tr: |
-      <a href="/tr/about/website/">Bu web sitesi</a>
-      Ruby topluluğunun üyeleri tarafından gururla sürdürülmektedir.
-    vi: |
-      Website này được tạo ra với Ruby sử dụng <a href="http://www.jekyllrb.com/">Jekyll</a>.
-      Trang được bảo trì bởi các thành viên của cộng đồng Ruby.
-      Xin đóng góp trên <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
-      hay liên lạc với <a href="mailto:webmaster@ruby-lang.org">webmaster</a> (bằng tiếng Anh)
-      nếu có câu hỏi hoặc ý kiến phản hồi về trang này.
-    zh_cn: |
-      <a href="/zh_cn/about/website/">本站</a>由 Ruby 社区的成员共同维护。
-    zh_tw: |
-      <a href="/zh_tw/about/website/">本站</a>由 Ruby 社群成員共同維護。
+markdown: kramdown
+permalink: pretty
+highlighter: rouge
+
+timezone: UTC
+
+kramdown:
+  auto_ids: false
+  syntax_highlighter_opts:
+    disable: true
+
+exclude:
+  - config.ru
+  - Gemfile
+  - Gemfile.lock
+  - Procfile
+  - Rakefile
+  - README.md
+  - unicorn.rb
+  - lib
+  - test
+  - vendor
+
+url: https://www.ruby-lang.org
+
+license:
+  url: /en/about/license.txt
+
+svn:
+  stable:
+    version: 2.6
+    branch:  ruby_2_6
+  previous:
+    version: 2.5
+    branch:  ruby_2_5
+  old:
+    version: 2.4
+    branch:  ruby_2_4
+
+locales:
+  sitelinks:
+    bg:
+      - text: За сваляне
+        url: /bg/downloads
+      - text: Документация
+        url: /bg/documentation
+      - text: Библиотеки
+        url: /bg/libraries
+      - text: Общност
+        url: /bg/community
+      - text: Новини
+        url: /bg/news
+      - text: Сигурност
+        url: /bg/security
+      - text: Относно
+        url: /bg/about
+    de:
+      - text: Downloads
+        url:  /de/downloads
+      - text: Dokumentation
+        url:  /de/documentation
+      - text: Bibliotheken
+        url:  /de/libraries
+      - text: Community
+        url:  /de/community
+      - text: Neuigkeiten
+        url:  /de/news
+      - text: Sicherheit
+        url:  /de/security
+      - text: Über Ruby
+        url:  /de/about
+    en:
+      - text: Downloads
+        url:  /en/downloads
+      - text: Documentation
+        url:  /en/documentation
+      - text: Libraries
+        url:  /en/libraries
+      - text: Community
+        url:  /en/community
+      - text: News
+        url:  /en/news
+      - text: Security
+        url:  /en/security
+      - text: About Ruby
+        url:  /en/about
+    es:
+      - text: Descargas
+        url:  /es/downloads
+      - text: Documentación
+        url:  /es/documentation
+      - text: Bibliotecas
+        url:  /es/libraries
+      - text: Comunidad
+        url:  /es/community
+      - text: Noticias
+        url:  /es/news
+      - text: Seguridad
+        url:  /es/security
+      - text: Acerca de Ruby
+        url:  /es/about
+    fa:
+      - text: دانلودها
+        url:  /fa/downloads
+      - text: مستندات
+        url:  /fa/documentation
+      - text: کتابخانه‌ها
+        url:  /fa/libraries
+      - text: جامعه
+        url:  /fa/community
+      - text: اخبار
+        url:  /fa/news
+      - text: امنیت
+        url:  /fa/security
+      - text: درباره روبی
+        url:  /fa/about
+    fr:
+      - text: Téléchargements
+        url:  /fr/downloads
+      - text: Documentation
+        url:  /fr/documentation
+      - text: Bibliothèques
+        url:  /fr/libraries
+      - text: Communauté
+        url:  /fr/community
+      - text: Actualités
+        url:  /fr/news
+      - text: Sécurité
+        url:  /fr/security
+      - text: À propos de Ruby
+        url:  /fr/about
+    id:
+      - text: Unduh
+        url: /id/downloads
+      - text: Dokumentasi
+        url: /id/documentation
+      - text: Pustaka
+        url: /id/libraries
+      - text: Komunitas
+        url: /id/community
+      - text: Berita
+        url: /id/news
+      - text: Keamanan
+        url: /id/security
+      - text: Tentang Ruby
+        url: /id/about
+    it:
+      - text: Scarica
+        url:  /it/downloads
+      - text: Documentazione
+        url:  /it/documentation
+      - text: Librerie
+        url:  /it/libraries
+      - text: Comunità
+        url:  /it/community
+      - text: Notizie
+        url:  /it/news
+      - text: Sicurezza
+        url:  /it/security
+      - text: A proposito di Ruby
+        url:  /it/about
+    ja:
+      - text: ダウンロード
+        url: /ja/downloads
+      - text: ドキュメント
+        url: /ja/documentation
+      - text: ライブラリ
+        url: /ja/libraries
+      - text: コミュニティ
+        url: /ja/community
+      - text: コア開発
+        url: /ja/dev
+      - text: ニュース
+        url: /ja/news
+      - text: セキュリティ
+        url: /ja/security
+      - text: Rubyとは
+        url: /ja/about
+    ko:
+      - text: 다운로드
+        url: /ko/downloads
+      - text: 문서
+        url: /ko/documentation
+      - text: 라이브러리
+        url: /ko/libraries
+      - text: 커뮤니티
+        url: /ko/community
+      - text: 뉴스
+        url: /ko/news
+      - text: 보안이슈
+        url: /ko/security
+      - text: 루비에 대해서
+        url: /ko/about
+    pl:
+      - text: Pobierz
+        url: /pl/downloads
+      - text: Dokumentacja
+        url: /pl/documentation
+      - text: Biblioteki
+        url: /pl/libraries
+      - text: Społeczność
+        url: /pl/community
+      - text: Wiadomości
+        url: /pl/news
+      - text: Bezpieczeństwo
+        url: /pl/security
+      - text: O języku Ruby
+        url: /pl/about
+    pt:
+      - text:  Downloads
+        url: /pt/downloads
+      - text: Documentação
+        url: /pt/documentation
+      - text: Módulos
+        url: /pt/libraries
+      - text: Comunidade
+        url: /pt/community
+      - text: Notícias
+        url: /pt/news
+      - text: Segurança
+        url: /pt/security
+      - text: Sobre Ruby
+        url: /pt/about
+    ru:
+      - text: Скачать
+        url:  /ru/downloads
+      - text: Документация
+        url:  /ru/documentation
+      - text: Библиотеки
+        url:  /ru/libraries
+      - text: Сообщество
+        url:  /ru/community
+      - text: Новости
+        url:  /ru/news
+      - text: Безопасность
+        url:  /ru/security
+      - text: О Ruby
+        url:  /ru/about
+    tr:
+      - text: İndirin
+        url: /tr/downloads
+      - text: Belgeler
+        url: /tr/documentation
+      - text: Kütüphaneler
+        url: /tr/libraries
+      - text: Topluluk
+        url: /tr/community
+      - text: Haberler
+        url: /tr/news
+#     - text: Güvenlik
+#       url: /tr/security
+      - text: Ruby Hakkında
+        url: /tr/about
+    vi:
+      - text: Downloads
+        url:  /vi/downloads
+      - text: Tài liệu
+        url:  /vi/documentation
+      - text: Thư viện
+        url:  /vi/libraries
+      - text: Cộng đồng
+        url:  /vi/community
+      - text: Tin tức
+        url:  /vi/news
+      - text: Bảo mật
+        url:  /vi/security
+      - text: Về Ruby
+        url:  /vi/about
+    zh_cn:
+      - text: 下载
+        url: /zh_cn/downloads
+      - text: 文档
+        url: /zh_cn/documentation
+      - text: 代码库
+        url: /zh_cn/libraries
+      - text: 社区
+        url: /zh_cn/community
+      - text: 新闻
+        url: /zh_cn/news
+      - text: 安全
+        url: /zh_cn/security
+      - text: 关于 Ruby
+        url: /zh_cn/about
+    zh_tw:
+      - text: 下載安裝
+        url: /zh_tw/downloads
+      - text: 文件
+        url: /zh_tw/documentation
+      - text: 函式庫
+        url: /zh_tw/libraries
+      - text: 社群
+        url: /zh_tw/community
+      - text: 新聞
+        url: /zh_tw/news
+      - text: 安全
+        url: /zh_tw/security
+      - text: 關於 Ruby
+        url: /zh_tw/about
+
+  search:
+    bg:
+      text: Търси
+    de:
+      text: Suche
+      cx_id: "008918821236166936739:xplclbf3sh0"
+    en:
+      text: Search
+      cx_id: "013598269713424429640:g5orptiw95w"
+    es:
+      text: Buscar
+    fa:
+      text: جستجو
+    fr:
+      text: Recherche
+      cx_id: "016749562256550695330:efcmgh3a1ac"
+    id:
+      text: Cari
+    it:
+      text: Cerca
+    ja:
+      text: 検索
+      cx_id: "008288045305770251182:fvruzsaknew"
+    ko:
+      text: 찾기
+    pl:
+      text: Szukaj
+    pt:
+      text: Procurar
+    ru:
+      text: Поиск
+    tr:
+      text: Ara
+      cx_id: "011743037637077038592:5tuc9cqilws"
+    vi:
+      text: Tìm
+    zh_cn:
+      text: 搜索
+    zh_tw:
+      text: 搜尋
+
+  slogan:
+    bg: "най-добрият приятел на програмиста"
+    de: "Der beste Freund eines Programmierers"
+    en: "A Programmer's Best Friend"
+    es: "El mejor amigo de un desarrollador"
+    fa: "بهترین دوست برنامه نویس"
+    fr: "A Programmer's Best Friend"
+    id: "Sahabat Terbaik Programmer"
+    it: "Il migliore amico dei programmatori"
+    ja: "A Programmer's Best Friend"
+    ko: "프로그래머의 단짝 친구"
+    pl: "Najlepszy Przyjaciel Programisty"
+    pt: "O melhor amigo do programador"
+    ru: "лучший друг программиста"
+    tr: "BİR PROGRAMCININ EN İYİ ARKADAŞI"
+    vi: "Người bạn tri kỉ của lập trình viên"
+    zh_cn: "程序员最好的朋友"
+    zh_tw: "程式設計師的摯友"
+
+  ruby:
+    bg: "Ruby"
+    de: "Ruby"
+    en: "Ruby"
+    es: "Ruby"
+    fa: "روبی"
+    fr: "Ruby"
+    id: "Ruby"
+    it: "Ruby"
+    ja: "Ruby"
+    ko: "루비"
+    pl: "Ruby"
+    pt: "Ruby"
+    ru: "Ruby"
+    tr: "Ruby"
+    vi: "Ruby"
+    zh_cn: "Ruby"
+    zh_tw: "Ruby"
+
+  month_names:
+    bg: [януари, февруари, март, април, май, юни, юли, август, септември, октомври, ноември, декември]
+    de: [Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
+    en: [January, February, March, April, May, June, July, August, September, October, November, December]
+    es: [Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
+    fa: [ژانویه, فوریه, مارس, آوریل, مه, ژوئن, جولای, اوت, سپتامبر, اکتبر, نوامبر, دسامبر]
+    fr: [Janvier, Février, Mars, Avril, Mai, Juin, Juillet, Août, Septembre, Octobre, Novembre, Décembre]
+    id: [Januari, Februari, Maret, April, Mei, Juni, Juli, Agustus, September, Oktober, November, Desember]
+    it: [Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, Ottobre, Novembre, Dicembre]
+    pl: [Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień]
+    pt: [Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro]
+    ru: [Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь]
+    tr: [Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz, Ağustos, Eylül, Ekim, Kasım, Aralık]
+    vi: [Tháng một, Tháng hai, Tháng ba, Tháng tư, Tháng năm, Tháng sáu, Tháng bảy, Tháng tám, Tháng chín, Tháng mười, Tháng mười một, Tháng mười hai]
+
+  posted_by:
+    bg: "Публикувана от AUTHOR на %Y-%m-%d"
+    de: "Geschrieben von AUTHOR am %-d.%-m.%Y"
+    en: "Posted by AUTHOR on %-d %b %Y"
+    es: "Publicado por AUTHOR el %Y-%m-%d"
+    fa: "ارسال شده توسط AUTHOR در تاریخ %-d %b %Y"
+    fr: "Posté par AUTHOR le %Y-%m-%d"
+    id: "Ditulis oleh AUTHOR tanggal %Y-%m-%d"
+    it: "Inserito da AUTHOR il %Y-%m-%d"
+#   ja:
+    ko: "작성자: AUTHOR (%Y-%m-%d)"
+    pl: "Zamieszczone przez AUTHOR %Y-%m-%d"
+    pt: "Escrito por AUTHOR em %d/%m/%Y"
+    ru: "Опубликовал AUTHOR %Y-%m-%d"
+    tr: "AUTHOR tarafından %d.%m.%Y tarihinde gönderildi"
+    vi: "Đăng bởi AUTHOR vào %-d %b %Y"
+    zh_cn: "由 AUTHOR 发表于 %Y-%m-%d"
+    zh_tw: "由 AUTHOR 發表於 %Y-%m-%d"
+
+  translated_by:
+    bg: "Превод от"
+    de: "Übersetzt von"
+    en: "Translated by"
+    es: "Traducción de"
+    fa: "ترجمه شده توسط"
+    fr: "Traduit par"
+    id: "Diterjemahkan oleh"
+    it: "Tradotto da"
+#   ja:
+    ko: "번역자:"
+    pl: "Tłumaczone przez"
+    pt: "Traduzido por"
+    ru: "Перевел:"
+    tr: "Çeviri:"
+    vi: "Dịch bởi"
+    zh_cn: "翻译:"
+    zh_tw: "翻譯:"
+
+  feed:
+    bg:
+      title: Ruby новини
+      description: Последните новини от ruby-lang.org.
+      lang_code: bg
+    de:
+      title: Ruby RSS News
+      description: Die letzten Neuigkeiten von ruby-lang.org.
+      lang_code: de-DE
+    en:
+      title: Ruby News
+      description: The latest news from ruby-lang.org.
+      lang_code: en-US
+    es:
+      title: Noticias de Ruby por RSS
+      description: Las últimas noticias de ruby-lang.org en español.
+      lang_code: es-ES
+    fa:
+      title: اخبار روبی
+      description: آخرین اخبار از ruby-lang.org.
+      lang_code: fa-IR
+    fr:
+      title: Actualités de Ruby-lang
+      description: Les dernières news sur ruby-lang.org.
+      lang_code: fr-FR
+    id:
+      title: Berita Ruby
+      description: Berita terhangat dari ruby-lang.org.
+      lang_code: id
+    it:
+      title: Notizie su Ruby
+      description: Le ultime notizie da ruby-lang.org.
+      lang_code: it-IT
+    ja:
+      title: ruby-langの最新ニュース
+      description: ruby-lang.orgの最新ニュース
+      lang_code: ja
+    ko:
+      title: 루비 뉴스
+      description: ruby-lang.org의 최근 소식
+      lang_code: ko-KR
+    pl:
+      title: Ruby Lang PL
+      description: Najnowsze wiadomości z ruby-lang.org.
+      lang_code: pl
+    pt:
+      title: Notícias sobre Ruby
+      description: As notícias mais recentes do ruby-lang.org em português.
+      lang_code: pt-PT
+    ru:
+      title: Новости Ruby
+      description: Последние новости с ruby-lang.org.
+      lang_code: ru-RU
+    tr:
+      title: Ruby Son Haberler
+      description: ruby-lang.org'dan en son haberler.
+      lang_code: tr
+    vi:
+      title: Tin tức Ruby
+      description: Những tin mới nhất từ ruby-lang.org.
+      lang_code: vi
+    zh_cn:
+      title: Ruby 新闻更新
+      description: 来自 ruby-lang.org 的最新文章。
+      lang_code: zh-CN
+    zh_tw:
+      title: Ruby 新聞
+      description: 來自 ruby-lang.org 的新聞快報。
+      lang_code: zh-TW
+
+  news:
+    bg:
+      other_news: Други новини
+      more_news: Още новини...
+      continue: Прочетете още...
+      back_to_year: "Обратно към архив %Y"
+      recent_news: Последни новини
+      yearly_archive_title: "Архив %Y"
+      monthly_archive_title: "Архив %B %Y"
+      yearly_archives: Архив по година
+      monthly_archives: Архив по месец
+      yearly_archive_link: "%Y"
+      monthly_archive_link: "%B %Y"
+    de:
+      other_news: Weitere Neuigkeiten
+      more_news: Mehr Neuigkeiten...
+      continue: Weiterlesen...
+      back_to_year: "Zurück zum Archiv für %Y"
+      recent_news: Aktuelle Neuigkeiten
+      yearly_archive_title: "Archiv für %Y"
+      monthly_archive_title: "Archiv für %B %Y"
+      yearly_archives: Archiv
+      monthly_archives: Archiv nach Monat
+      yearly_archive_link: "Archiv für %Y"
+      monthly_archive_link: "%B %Y"
+    en:
+      other_news: Other News
+      more_news: More News...
+      continue: Continue Reading...
+      back_to_year: "Back to %Y Archives"
+      recent_news: Recent News
+      yearly_archive_title: "%Y Archives"
+      monthly_archive_title: "%B %Y Archives"
+      yearly_archives: Archives by Year
+      monthly_archives: Archives by Month
+      yearly_archive_link: "%Y Archives"
+      monthly_archive_link: "%B %Y"
+    es:
+      other_news: Otras noticias
+      more_news: Más noticias...
+      continue: Continuar leyendo...
+      back_to_year: "Volver a las noticias de %Y"
+      recent_news: Noticias recientes
+      yearly_archive_title: "Noticias de %Y"
+      monthly_archive_title: "Noticias de %B %Y"
+      yearly_archives: Noticias por año
+      monthly_archives: Noticias por mes
+      yearly_archive_link: "Noticias de %Y"
+      monthly_archive_link: "%B %Y"
+    fa:
+      other_news: سایر اخبار
+      more_news: اخبار بیشتر...
+      continue: در ادامه بخوانید...
+      back_to_year: "بازگشت به بایگانی %Y"
+      recent_news: آخرین اخبار
+      yearly_archive_title: "بایگانی %Y"
+      monthly_archive_title: "بایگانی %Y %B"
+      yearly_archives: بایگانی سالیانه
+      monthly_archives: بایگانی ماهانه
+      yearly_archive_link: "بایگانی %Y"
+      monthly_archive_link: "%B %Y"
+    fr:
+      other_news: Autres actualités
+      more_news: Plus d’actualités...
+      continue: Lire la suite...
+      back_to_year: "Retour aux %Y archives"
+      recent_news: Actualité récente
+      yearly_archive_title: "%Y Archives"
+      monthly_archive_title: "%B %Y Archives"
+      yearly_archives: Archives par années
+      monthly_archives: Archives par mois
+      yearly_archive_link: "Actualités de %Y"
+      monthly_archive_link: "%m/%Y"
+    id:
+      other_news: Berita Lain
+      more_news: Arsip Sebelumnya...
+      continue: Baca Selengkapnya...
+      back_to_year: "Kembali ke Arsip Tahun %Y"
+      recent_news: Berita Baru
+      yearly_archive_title: "Arsip Tahun %Y"
+      monthly_archive_title: "Arsip %B %Y"
+      yearly_archives: Arsip Tahunan
+      monthly_archives: Arsip Bulanan
+      yearly_archive_link: "Tahun %Y"
+      monthly_archive_link: "%B %Y"
+    it:
+      other_news: Altre Notizie
+      more_news: Ulteriori Notizie...
+      continue: Continua...
+      back_to_year: "Vai all'archivio %Y"
+      recent_news: Notizie Recenti
+      yearly_archive_title: "Archivio dell'anno %Y"
+      monthly_archive_title: "Archivio mensile %B %Y"
+      yearly_archives: Archivio dell'anno
+      monthly_archives: Archivio Mensile
+      yearly_archive_link: "Archivio dell'anno %Y"
+      monthly_archive_link: "%B %Y"
+    ja:
+      other_news: その他のニュース
+      more_news: もっと読む...
+      continue: もっと読む...
+      back_to_year: "%Y年のアーカイブに戻る"
+      recent_news: 最近のニュース
+      yearly_archive_title: "%Y年のアーカイブ"
+      monthly_archive_title: "%Y年%m月のアーカイブ"
+      yearly_archives: 年毎のアーカイブ
+      monthly_archives: 月毎のアーカイブ
+      yearly_archive_link: "%Y年のアーカイブ"
+      monthly_archive_link: "%Y年%m月"
+    ko:
+      other_news: 이전 뉴스
+      more_news: 뉴스 더보기...
+      continue: 자세히 읽기
+      back_to_year: "%Y년 아카이브로 돌아가기"
+      recent_news: 최근 소식
+      yearly_archive_title: "%Y년 아카이브"
+      monthly_archive_title: "%Y년 %m월 아카이브"
+      yearly_archives: 년도별 아카이브
+      monthly_archives: 월별 아카이브
+      yearly_archive_link: "%Y년"
+      monthly_archive_link: "%Y년 %m월"
+    pl:
+      other_news: Pozostałe aktualności
+      more_news: Więcej aktualności...
+      continue: Więcej...
+      back_to_year: "Powrót do Archiwum %Y"
+      recent_news: Aktualności
+      yearly_archive_title: "Archiwum %Y"
+      monthly_archive_title: "Archiwum %B %Y"
+      yearly_archives: Archiwum wiadomości
+      monthly_archives: Archiwum według miesiąca
+      yearly_archive_link: "%Y"
+      monthly_archive_link: "%B %Y"
+    pt:
+      other_news: Outras Notícias
+      more_news: Mais Notícias...
+      continue: Continuar a Leitura...
+      back_to_year: "Voltar aos arquivos de %Y"
+      recent_news: Notícias Recentes
+      yearly_archive_title: "Arquivos de %Y"
+      monthly_archive_title: "Arquivos de %B %Y"
+      yearly_archives: Arquivos por Ano
+      monthly_archives: Arquivos por Mês
+      yearly_archive_link: "Arquivos de %Y"
+      monthly_archive_link: "%B %Y"
+    ru:
+      other_news: Другие новости
+      more_news: Больше новостей...
+      continue: Узнать больше...
+      back_to_year: "Вернуться к архивам %Y года"
+      recent_news: Последние новости
+      yearly_archive_title: "Архивы %Y года"
+      monthly_archive_title: "Архивы %B %Y"
+      yearly_archives: Архивы по годам
+      monthly_archives: Архивы по месяцам
+      yearly_archive_link: "Архивы %Y"
+      monthly_archive_link: "%B %Y"
+    tr:
+      other_news: Diğer Haberler
+      more_news: Dahası...
+      continue: Devamını Okuyun...
+      back_to_year: "%Y arşivlerine geri dönün."
+      recent_news: Son Haberler
+      yearly_archive_title: "%Y Arşivleri"
+      monthly_archive_title: "%B %Y Arşivleri"
+      yearly_archives: Yıllara göre Arşivler
+      monthly_archives: Aylara göre Arşivler
+      yearly_archive_link: "%Y Arşivleri"
+      monthly_archive_link: "%B %Y"
+    vi:
+      other_news: Tin khác
+      more_news: Thêm Tin...
+      continue: Đọc tiếp...
+      back_to_year: "Trở về %Y Lưu trữ"
+      recent_news: Tin mới nhất
+      yearly_archive_title: "Lưu trữ %Y"
+      monthly_archive_title: "Lưu trữ %B %Y"
+      yearly_archives: Lưu trữ bằng Năm
+      monthly_archives: Lưu trữ bằng Tháng
+      yearly_archive_link: "Lưu trữ %Y"
+      monthly_archive_link: "%B %Y"
+    zh_cn:
+      other_news: 其它新闻
+      more_news: 更多新闻...
+      continue: 阅读全文...
+      back_to_year: "返回%Y年归档"
+      recent_news: 最新消息
+      yearly_archive_title: "%Y年归档"
+      monthly_archive_title: "%Y年%-m月归档"
+      yearly_archives: 按年存档
+      monthly_archives: 按月归档
+      yearly_archive_link: "%Y年归档"
+      monthly_archive_link: "%Y年%-m月归档"
+    zh_tw:
+      other_news: 其他新聞
+      more_news: 更多新聞...
+      continue: 深入閱讀...
+      back_to_year: "回到 %Y 年彙整"
+      recent_news: 最新消息
+      yearly_archive_title: "%Y 彙整"
+      monthly_archive_title: "%Y 年 %-m 月彙整"
+      yearly_archives: 按年份彙整
+      monthly_archives: 按月份彙整
+      yearly_archive_link: "%Y 年彙整"
+      monthly_archive_link: "%Y 年 %-m 月彙整"
+
+  sidebar:
+    try_ruby: &try_ruby
+      url: https://ruby.github.io/TryRuby/
+    rubybib: &rubybib
+      url: https://rubybib.org/
+
+    bg:
+      get_started:
+        text: <strong>Започнете</strong> лесно е!
+        try_ruby:
+          text: Пробвайте Ruby! (в браузъра)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby в 20 минути
+          url: /bg/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby от други езици
+          url: /bg/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Изследвайте</strong> нов свят…
+        documentation:
+          text: Документация
+          url: /bg/documentation/
+        # books:
+        #   text: Книги
+        libraries:
+          text: Библиотеки
+          url: /bg/libraries/
+        success_stories:
+          text: Успешни истории
+          url: /bg/documentation/success-stories/
+      participate:
+        text: <strong>Участвайте</strong> в приятелски настроено общество.
+        mailing_lists:
+          text: Пощенски списъци
+          url: /bg/community/mailing-lists/
+          description: |
+            Дискусии относно Ruby с програмисти от цял свят.
+        user_groups:
+          text: Потребителски групи
+          url: /bg/community/user-groups/
+          description: |
+            Свържете се с рубисти в твоя район.
+        weblogs:
+          text: Блогове
+          url: /bg/community/weblogs/
+          description: |
+            Прочетете какво се случва в Ruby обществото.
+        ruby_core:
+          text: Ruby ядро
+          url: /bg/community/ruby-core/
+          description: |
+            Помогнете за разработката на Ruby.
+        issue_tracking:
+          text: Следене на бъгове
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Докладвайте или помогнете за решаването на проблеми в Ruby.
+      syndicate:
+        text: Новини
+        recent_news:
+          text: Последните новини (RSS)
+          url: /bg/feeds/news.rss
+    de:
+      get_started:
+        text: <strong>Der Einstieg</strong> ist einfach!
+        try_ruby:
+          text: Teste Ruby! (im Browser)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby in 20 Minuten
+          url: /de/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby für Umsteiger
+          url: /de/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Entdecke</strong> eine neue Welt…
+        documentation:
+          text: Dokumentation
+          url: /de/documentation/
+        # books:
+        #   text: Bücher
+        libraries:
+          text: Bibliotheken
+          url: /de/libraries/
+        success_stories:
+          text: Erfolgsgeschichten
+          url: /de/documentation/success-stories/
+      participate:
+        text: <strong>Beteilige dich</strong> an einer freundlichen und wachsenden Community.
+        mailing_lists:
+          text: Mailing-Listen
+          url: /de/community/mailing-lists/
+          description: |
+            Sprich mit Programmierern auf der ganzen Welt über Ruby.
+        user_groups:
+          text: User-Groups
+          url: /de/community/user-groups/
+          description: |
+            Treffe Rubyisten in deiner Umgebung.
+        weblogs:
+          text: Weblogs
+          url: /de/community/weblogs/
+          description: |
+            Lies, was gerade jetzt in der Ruby-Community passiert.
+        ruby_core:
+          text: Ruby-Entwicklung
+          url: /de/community/ruby-core/
+          description: |
+            Hilf mit, die neuesten Ruby-Versionen zu verbessern.
+        issue_tracking:
+          text: Fehler melden
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Melde einen Fehler oder hilf mit, offene Fehler zu beseitigen.
+      syndicate:
+        text: Syndication
+        recent_news:
+          text: Aktuelle Neuigkeiten (RSS)
+          url: /de/feeds/news.rss
+    en:
+      get_started:
+        text: <strong>Get Started</strong>, it's easy!
+        try_ruby:
+          text: Try Ruby! (in your browser)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby in Twenty Minutes
+          url: /en/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby from Other Languages
+          url: /en/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Explore</strong> a new world…
+        documentation:
+          text: Documentation
+          url: /en/documentation/
+        # books:
+        #   text: Books
+        rubybib:
+          text: Academic Research
+          <<: *rubybib
+        libraries:
+          text: Libraries
+          url: /en/libraries/
+        success_stories:
+          text: Success Stories
+          url: /en/documentation/success-stories/
+      participate:
+        text: <strong>Participate</strong> in a friendly and growing community.
+        mailing_lists:
+          text: Mailing Lists
+          url: /en/community/mailing-lists/
+          description: |
+            Talk about Ruby with programmers from all around the world.
+        user_groups:
+          text: User Groups
+          url: /en/community/user-groups/
+          description: |
+            Get in contact with Rubyists in your area.
+        weblogs:
+          text: Blogs
+          url: /en/community/weblogs/
+          description: |
+            Read about what’s happening right now in the Ruby community.
+        ruby_core:
+          text: Ruby Core
+          url: /en/community/ruby-core/
+          description: |
+            Help polish the rough edges of the latest Ruby.
+        issue_tracking:
+          text: Issue Tracking
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Report or help solve issues in Ruby.
+      syndicate:
+        text: Syndicate
+        recent_news:
+          text: Recent News (RSS)
+          url: /en/feeds/news.rss
+    es:
+      get_started:
+        text: "<strong>Iníciate</strong>, ¡es fácil!"
+        try_ruby:
+          text: ¡Prueba Ruby! (en tu navegador)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby en 20 Minutos
+          url: /es/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby desde otros lenguajes
+          url: /es/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Explora</strong> un nuevo mundo…
+        documentation:
+          text: Documentación
+          url: /es/documentation/
+        # books:
+        #   text: Libros
+        libraries:
+          text: Bibliotecas
+          url: /es/libraries/
+        success_stories:
+          text: Casos exitosos (en inglés)
+          url: /en/documentation/success-stories/
+      participate:
+        text: <strong>Participa</strong> en una amistosa y creciente comunidad.
+        mailing_lists:
+          text: Listas de correo
+          url: /es/community/mailing-lists/
+          description: |
+            Habla sobre Ruby con desarrolladores alrededor del mundo.
+        user_groups:
+          text: Grupos de usuarios
+          url: /es/community/user-groups/
+          description: |
+            Ponte en contacto con otros Rubyistas en tu localidad.
+        weblogs:
+          text: Blogs (en inglés)
+          url: /en/community/weblogs/
+          description: |
+             Entérate de lo que está sucediendo en la comunidad.
+        ruby_core:
+          text: Ruby Core (en inglés)
+          url: /en/community/ruby-core/
+          description: |
+            Ayuda a mejorar el futuro de Ruby.
+        issue_tracking:
+          text: Reportes de errores
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Reporta o ayuda a resolver problemas en Ruby.
+      syndicate:
+        text: Feeds de noticias (RSS)
+        recent_news:
+          text: En español
+          url: /es/feeds/news.rss
+    fa:
+      get_started:
+        text: <strong>شروع کنید</strong>، آسان است!
+        try_ruby:
+          text: روبی را امتحان کن! (در مرورگر خود)
+          <<: *try_ruby
+        quickstart:
+          text: روبی در ۲۰ دقیقه
+          url: /fa/documentation/quickstart/
+        ruby_from_other_languages:
+          text: روبی از زبان‌های دیگر
+          url: /fa/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>کاوش</strong> در دنیای جدید…
+        documentation:
+          text: مستندات
+          url: /fa/documentation/
+        # books:
+        #   text: کتاب‌ها
+        rubybib:
+          text: تحقیقات دانشگاهی
+          <<: *rubybib
+        libraries:
+          text: کتابخانه‌ها
+          url: /fa/libraries/
+        success_stories:
+          text: داستان‌های موفقیت
+          url: /fa/documentation/success-stories/
+      participate:
+        text: <strong>مشارکت</strong> در یک جامعه دوستانه و رو به رشد.
+        mailing_lists:
+          text: فهرست‌های ایمیل
+          url: /fa/community/mailing-lists/
+          description: |
+            در مورد روبی با برنامه نویسان سراسر جهان صحبت کنید.
+        user_groups:
+          text: گروه‌های کاربری
+          url: /fa/community/user-groups/
+          description: |
+            با Rubyists در منطقه خود تماس بگیرید.
+        weblogs:
+          text: وبلاگ‌ها
+          url: /fa/community/weblogs/
+          description: |
+            اطلاعات بیشتر در مورد آنچه که الان در جامعه روبی اتفاق می‌افتد.
+        ruby_core:
+          text: هسته روبی
+          url: /fa/community/ruby-core/
+          description: |
+            Help polish the rough edges of the latest Ruby.
+        issue_tracking:
+          text: ردیابی موضوع
+          url: https://bugs.ruby-lang.org/
+          description: |
+            گزارش یا کمک به حل مسائل در روبی.
+      syndicate:
+        text: سندیکا
+        recent_news:
+          text: آخرین اخبار (آر‌اس‌اس)
+          url: /fa/feeds/news.rss
+    fr:
+      get_started:
+        text: <strong>Lancez-vous</strong>, c’est facile !
+        try_ruby:
+          text: Essayez Ruby !
+          <<: *try_ruby
+        quickstart:
+          text: Apprenez Ruby en vingt minutes
+          url: /fr/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Vous venez d'un autre langage ?
+          url: /fr/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Explorez</strong> un nouvel univers…
+        documentation:
+          text: Documentation
+          url: /fr/documentation/
+        # books:
+        #   text: Livres
+        libraries:
+          text: Bibliothèques
+          url: /fr/libraries/
+        success_stories:
+          text: Témoignages
+          url: /fr/documentation/success-stories/
+      participate:
+        text: <strong>Participez</strong> à la communauté
+        mailing_lists:
+          text: Listes de diffusion
+          url: /fr/community/mailing-lists/
+          description: |
+            discutez de Ruby avec des programmeurs du monde entier.
+        user_groups:
+          text: Groupes d’utilisateur
+          url: /fr/community/user-groups/
+          description: |
+            entrez en contact avec d’autres rubyistes de votre région.
+        weblogs:
+          text: Blogs
+          url: /fr/community/weblogs/
+          description: |
+            suivez toute l’actualité de la communauté Ruby.
+        ruby_core:
+          text: Ruby Core
+          url: /fr/community/ruby-core/
+          description: |
+            apportez votre aide à l'élaboration du prochain Ruby.
+        issue_tracking:
+          text: Rapports de bugs
+          url: https://bugs.ruby-lang.org/
+          description: |
+            aidez à corriger et améliorer Ruby.
+      syndicate:
+        text: Syndication
+        recent_news:
+          text: Actualité récente (RSS)
+          url: /fr/feeds/news.rss
+    id:
+      get_started:
+        text: <strong>Coba Sekarang</strong>, sangat mudah!
+        try_ruby:
+          text: Try Ruby! (langsung di browser Anda)
+          <<: *try_ruby
+        quickstart:
+          text: Menguasai Ruby dalam 20 Menit
+          url: /id/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Dari Bahasa Pemrograman Lain ke Ruby
+          url: /id/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Jelajahi</strong> sebuah dunia baru…
+        documentation:
+          text: Dokumentasi
+          url: /id/documentation/
+        # books:
+        #   text: Buku-buku
+        libraries:
+          text: Pustaka
+          url: /id/libraries/
+        success_stories:
+          text: Kisah Sukses
+          url: /id/documentation/success-stories/
+      participate:
+        text: |
+          <strong>Bergabunglah</strong> dalam komunitas yang ramah dan makin
+          berkembang.
+        mailing_lists:
+          text: Mailing List
+          url: /id/community/mailing-lists/
+          description: |
+            Berdiskusi dengan programmer Ruby dari Indonesia dan seluruh dunia.
+        user_groups:
+          text: Komunitas Pengguna
+          url: /id/community/user-groups/
+          description: |
+            Berpartisipasilah dengan Rubyist di lokasi Anda.
+        weblogs:
+          text: Blog
+          url: /id/community/weblogs/
+          description: |
+            Ulasan terbaru dari komunitas Ruby.
+        ruby_core:
+          text: Ruby Core
+          url: /id/community/ruby-core/
+          description: |
+            Silakan berkontribusi untuk versi Ruby terbaru.
+        issue_tracking:
+          text: Laporkan Masalah
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Lapor atau bantu memecahkan masalah yang ada di Ruby.
+      syndicate:
+        text: Sindikasi Web
+        recent_news:
+          text: Umpan Web (RSS)
+          url: /id/feeds/news.rss
+    it:
+      get_started:
+        text: <strong>Per iniziare</strong>, è facile!
+        try_ruby:
+          text: Prova Ruby! (nel tuo browser)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby in venti minuti
+          url: /it/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby a partire da altri linguaggi
+          url: /it/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Esplora</strong> un nuovo mondo…
+        documentation:
+          text: Documentazione
+          url: /it/documentation/
+        # books:
+        #   text: Libri
+        libraries:
+          text: Librerie
+          url: /it/libraries/
+        success_stories:
+          text: Esperienze Positive
+          url: /it/documentation/success-stories/
+      participate:
+        text: |
+          <strong>Partecipa</strong> ad una comunità amichevole e in crescita.
+        mailing_lists:
+          text: Liste di Discussione
+          url: /it/community/mailing-lists/
+          description: |
+            Parla con altri programmatori Ruby da tutto il mondo.
+        user_groups:
+          text: Gruppi di Utenti
+          url: /it/community/user-groups/
+          description: |
+            Entra in contatto con "Rubysti" nella tua zona.
+        weblogs:
+          text: Blog
+          url: /it/community/weblogs/
+          description: |
+            Leggi cosa sta succedendo proprio adesso nella comunità di Ruby.
+        ruby_core:
+          text: Ruby Core
+          url: /it/community/ruby-core/
+          description: |
+            Aiutaci a perfezionare l'ultimo Ruby.
+        issue_tracking:
+          text: Issue Tracking
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Segnalaci o aiutaci a risolvere problemi in Ruby
+      syndicate:
+        text: Feed RSS
+        recent_news:
+          text: Ultime Notizie (RSS)
+          url: /it/feeds/news.rss
+    ja:
+      get_started:
+        text: <strong>はじめよう!</strong>
+        try_ruby:
+          text: 試してみる! (ブラウザから)
+          <<: *try_ruby
+        quickstart:
+          text: 20分ではじめるRuby
+          url: /ja/documentation/quickstart/
+        ruby_from_other_languages:
+          text: 他言語からのRuby入門
+          url: /ja/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>探求しよう</strong>
+        documentation:
+          text: ドキュメント
+          url: /ja/documentation/
+        # books:
+        #   text: Books
+        rubybib:
+          text: 学術研究(英語)
+          <<: *rubybib
+        libraries:
+          text: ライブラリ
+          url: /ja/libraries/
+#       success_stories:
+#         text: Success Stories
+#         url: /ja/documentation/success-stories/
+      participate:
+        text: <strong>コミュニティに参加しよう</strong>
+        mailing_lists:
+          text: メーリングリスト
+          url: /ja/community/mailing-lists/
+          description: |
+            世界中のプログラマとRubyについて話しましょう。
+        user_groups:
+          text: 日本Rubyの会
+          url: http://ruby-no-kai.org/
+          description: |
+            Rubyの利用者/開発者の支援を目的としたグループです。
+        weblogs:
+          text: 更新順リンク
+          url: http://www.rubyist.net/~kazu/samidare/
+          description: |
+            Ruby関連のサイトのリンクを更新順に並べたものです。
+#       ruby_core:
+#         text: Ruby Core
+#         url: /en/community/ruby-core/
+#         description: |
+#           Help polish the rough edges of the latest Ruby.
+#       issue_tracking:
+#         text: Issue Tracking
+#         url: https://bugs.ruby-lang.org/
+#         description: |
+#           Report or help solve issues in Ruby.
+      syndicate:
+        text: Syndicate
+        recent_news:
+          text: 最近のニュース (RSS)
+          url: /ja/feeds/news.rss
+    ko:
+      get_started:
+        text: <strong>시작하기</strong>
+        try_ruby:
+          text: Try Ruby!
+          <<: *try_ruby
+        quickstart:
+          text: 20분 가이드
+          url: /ko/documentation/quickstart/
+        ruby_from_other_languages:
+          text: 다른 언어에서 루비로
+          url: /ko/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>탐험하기</strong>
+        documentation:
+          text: 문서
+          url: /ko/documentation/
+        # books:
+        #   text: 책
+        libraries:
+          text: 라이브러리
+          url: /ko/libraries/
+        success_stories:
+          text: 사용 사례
+          url: /ko/documentation/success-stories/
+      participate:
+        text: <strong>커뮤니티에 참여하기</strong>
+        mailing_lists:
+          text: 루비 사용자 포럼
+          url: http://groups.google.com/group/rubykr
+          description: |
+            한국의 루비스트를 만나세요
+        user_groups:
+          text: 유저 그룹
+          url: /ko/community/user-groups/
+          description: |
+            근처의 루비스트와 연락하기
+        weblogs:
+          text: 웹로그
+          url: /ko/community/weblogs/
+          description: |
+            루비 커뮤니티에서 지금 무슨 일이 일어나는지 읽기
+        ruby_core:
+          text: 루비 코어
+          url: /ko/community/ruby-core/
+          description: |
+            최신판 루비의 연마를 돕기
+        issue_tracking:
+          text: 이슈 관리
+          url: https://bugs.ruby-lang.org/
+          description: |
+            루비에 관한 이슈를 제보하거나 해결을 돕기
+      syndicate:
+        text: 구독
+        recent_news:
+          text: 최근 소식(RSS)
+          url: /ko/feeds/news.rss
+    pl:
+      get_started:
+        text: <strong>Zacznij</strong>, to proste!
+        try_ruby:
+          text: Wypróbuj Ruby! (w twojej przeglądarce)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby w 20 Minut
+          url: /pl/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby a inne języki programowania
+          url: /pl/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Poznaj</strong> nowy świat…
+        documentation:
+          text: Dokumentacja
+          url: /pl/documentation/
+        # books:
+        #   text: Książki
+        libraries:
+          text: Biblioteki
+          url: /pl/libraries/
+        success_stories:
+          text: Udane wdrożenia
+          url: /pl/documentation/success-stories/
+      participate:
+        text: |
+          <strong>Dołącz</strong> do przyjaznej i rozrastającej się
+          społeczności.
+        mailing_lists:
+          text: Listy dyskusyjne
+          url: /pl/community/mailing-lists/
+          description: |
+            Porozmawiaj o Ruby z programistami z całego świata.
+        user_groups:
+          text: Grupy Użytkowników
+          url: /pl/community/user-groups/
+          description: |
+            Bądź w kontakcie z użytkownikami Rubiego z Twojej okolicy.
+        weblogs:
+          text: Blogi
+          url: /pl/community/weblogs/
+          description: |
+            Czytaj na bieżąco co dzieje się w społeczności języka Ruby.
+        ruby_core:
+          text: Ruby Core
+          url: /en/community/ruby-core/
+          description: |
+            Pomóż dopracować najnowszą wersję Rubiego.
+        issue_tracking:
+          text: Śledzenie problemów
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Zgłoś lub pomóż rozwiązać problemy w Rubim.
+      syndicate:
+        text: Syndicate
+        recent_news:
+          text: Ostatnie Wiadomości (RSS)
+          url: /pl/feeds/news.rss
+    pt:
+      get_started:
+        text: <strong>Primeiros passos</strong>, é fácil!
+        try_ruby:
+          text: Try Ruby! (in your browser)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby em Vinte Minutos
+          url: /pt/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby a partir de outras linguagens
+          url: /pt/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Explore</strong> um novo mundo…
+        documentation:
+          text: Documentação
+          url: /pt/documentation/
+        # books:
+        #   text: Livros
+        libraries:
+          text: Bibliotecas
+          url: /pt/libraries/
+        success_stories:
+          text: Histórias de sucesso
+          url: /pt/documentation/success-stories/
+      participate:
+        text: |
+          <strong>Participe</strong> de uma comunidade simpática e em crescimento.
+        mailing_lists:
+          text: Listas de E-mail
+          url: /pt/community/mailing-lists/
+          description: |
+            Fale sobre Ruby com programadores de todo o mundo.
+        user_groups:
+          text: Grupos de Usuários
+          url: /pt/community/user-groups/
+          description: |
+            Entre em contato com colegas da sua área.
+        weblogs:
+          text: Weblogs
+          url: /pt/community/weblogs/
+          description: |
+            Leia sobre o que está acontecendo agora na comunidade Ruby.
+        ruby_core:
+          text: Ruby Core
+          url: /pt/community/ruby-core/
+          description: |
+            Ajude a polir as arestas da última versão do Ruby.
+        issue_tracking:
+          text: Issue Tracking
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Informe ou ajude a resolver problemas do Ruby.
+      syndicate:
+        text: Feeds de notícias (RSS)
+        recent_news:
+          text: Em português
+          url: /pt/feeds/news.rss
+    ru:
+      get_started:
+        text: <strong>Начните сейчас</strong>, это легко!
+        try_ruby:
+          text: Попробуйте Ruby! (в своем браузере)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby за двадцать минут
+          url: /ru/documentation/quickstart/
+        ruby_from_other_languages:
+          text: В Ruby из других языков
+          url: /ru/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Исследуйте</strong> новый мир…
+        documentation:
+          text: Документация
+          url: /ru/documentation/
+        # books:
+        #   text: Книги
+        libraries:
+          text: Библиотеки
+          url: /ru/libraries/
+        success_stories:
+          text: Истории успеха
+          url: /ru/documentation/success-stories/
+      participate:
+        text: <strong>Вступайте</strong> в дружелюбное и развивающееся сообщество.
+        mailing_lists:
+          text: Почтовые рассылки
+          url: /ru/community/mailing-lists/
+          description: |
+            Разговоры о Ruby в кругу программистов со всего мира.
+        user_groups:
+          text: Группы пользователей
+          url: /ru/community/user-groups/
+          description: |
+            Познакомьтесь с рубистами рядом с вами.
+        weblogs:
+          text: Блоги
+          url: /ru/community/weblogs/
+          description: |
+            Читайте о том, что происходит в сообществе Ruby прямо сейчас.
+        ruby_core:
+          text: Ядро Ruby
+          url: /ru/community/ruby-core/
+          description: |
+            Помощь в полировке последней версии Ruby.
+        issue_tracking:
+          text: Решение проблем
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Сообщайте или помогите решить проблемы в Ruby.
+      syndicate:
+        text: Синдикат
+        recent_news:
+          text: Последние новости (RSS)
+          url: /ru/feeds/news.rss
+    tr:
+      get_started:
+        text: <strong>Başlamak</strong>, çok kolay!
+        try_ruby:
+          text: Ruby'yi Deneyin! (tarayıcınızda)
+          <<: *try_ruby
+        quickstart:
+          text: Yirmi Dakikada Ruby
+          url: /tr/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Diğer Dillerden Ruby'ye
+          url: /tr/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Yeni Bir Dünya</strong> keşfedin…
+        documentation:
+          text: Belgeler
+          url: /tr/documentation/
+        # books:
+        #   text: Kitaplar
+        rubybib:
+          text: Akademik Araştırma
+          <<: *rubybib
+        libraries:
+          text: Kütüphaneler
+          url: /tr/libraries/
+        success_stories:
+          text: Başarı Hikayeleri
+          url: /tr/documentation/success-stories/
+      participate:
+        text: <strong>Arkadaşça</strong> ve büyüyen bir topluluğa katılın.
+#       mailing_lists:
+#         text: Mail Listeleri
+#         url: /tr/community/mailing-lists/
+#         description: |
+#           Tüm dünyadan Ruby programcılarıyla görüşün.
+#       user_groups:
+#         text: Kullanıcı Grupları
+#         url: /tr/community/user-groups/
+#         description: |
+#           Bölgenizdeki Ruby'cilerle temas kurun.
+#       weblogs:
+#         text: Web günlükleri
+#         url: /tr/community/weblogs/
+#         description: |
+#           Rubyde neler olduğunu takip edin.
+#       ruby_core:
+#         text: Ruby Core
+#         url: /tr/community/ruby-core/
+#         description: |
+#           En son Rubynin kaba taraflarının parlatılmasına yardımcı olun.
+        issue_tracking:
+          text: Sorun Takibi
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Ruby sorunlarını rapor edin ya da çözümüne yardım edin.
+      syndicate:
+        text: Takip Edin
+        recent_news:
+          text: Son Haberler (RSS)
+          url: /tr/feeds/news.rss
+    vi:
+      get_started:
+        text: <strong>Nhập môn</strong>, quá dễ!
+        try_ruby:
+          text: Thử Ruby! (trong trình duyệt)
+          <<: *try_ruby
+        quickstart:
+          text: Ruby trong 20 phút
+          url: /vi/documentation/quickstart/
+        ruby_from_other_languages:
+          text: Ruby từ những ngôn ngữ khác
+          url: /vi/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>Khám phá</strong> một thề giới mới…
+        documentation:
+          text: Tài liệu
+          url: /vi/documentation/
+        # books:
+        #   text: Sách
+        libraries:
+          text: Thư viện
+          url: /vi/libraries/
+        success_stories:
+          text: Những câu chuyện thành công
+          url: /vi/documentation/success-stories/
+      participate:
+        text: <strong>Tham gia</strong> vào một cộng đồng lớn mạnh và thân thiện.
+        mailing_lists:
+          text: Mailing Lists
+          url: /vi/community/mailing-lists/
+          description: |
+            Trao đổi về Ruby với các lập trình viên trên thế giới
+        user_groups:
+          text: Nhóm người dùng
+          url: /vi/community/user-groups/
+          description: |
+            Làm quen với những Rubyist trong khu vực của bạn.
+        weblogs:
+          text: Weblogs
+          url: /vi/community/weblogs/
+          description: |
+            Đọc về những gì đang xảy ra với cộng đồng Ruby.
+        ruby_core:
+          text: Lõi Ruby
+          url: /vi/community/ruby-core/
+          description: |
+            Giúp hoàn thiện Ruby.
+        issue_tracking:
+          text: Thông báo lỗi
+          url: https://bugs.ruby-lang.org/
+          description: |
+            Báo hoặc giúp xử lý các lỗi trong Ruby.
+      syndicate:
+        text: Syndicate
+        recent_news:
+          text: Tin mới (RSS)
+          url: /vi/feeds/news.rss
+    zh_tw:
+      get_started:
+        text: <strong>上手入門</strong>,一點都不難!
+        try_ruby:
+          text: 在瀏覽器中試用 Ruby!
+          <<: *try_ruby
+        quickstart:
+          text: 20 分鐘 Ruby 體驗
+          url: /zh_tw/documentation/quickstart/
+        ruby_from_other_languages:
+          text: 從其他語言到 Ruby
+          url: /zh_tw/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>探索</strong> 新世界…
+        documentation:
+          text: 文件
+          url: /zh_tw/documentation/
+        # books:
+        #   text: 書籍
+        rubybib:
+          text: 學術研究
+          <<: *rubybib
+        libraries:
+          text: 函式庫
+          url: /zh_tw/libraries/
+        success_stories:
+          text: 成功案例
+          url: /zh_tw/documentation/success-stories/
+      participate:
+        text: <strong>加入</strong> 友善且持續成長的社群
+        mailing_lists:
+          text: 郵件論壇
+          url: /zh_tw/community/mailing-lists/
+          description: |
+            與世界各地的程式設計師一同聊聊
+        user_groups:
+          text: 使用者群組
+          url: /zh_tw/community/user-groups/
+          description: |
+            與身旁的 Ruby 使用者接觸
+        weblogs:
+          text: 部落格
+          url: /zh_tw/community/weblogs/
+          description: |
+            了解 Ruby 社群中的最新消息
+        ruby_core:
+          text: Ruby 核心
+          url: /zh_tw/community/ruby-core/
+          description: |
+            幫助開發最新的 Ruby
+        issue_tracking:
+          text: 問題追蹤
+          url: https://bugs.ruby-lang.org/
+          description: |
+            回報或解決 Ruby 問題
+      syndicate:
+        text: 訂閱
+        recent_news:
+          text: 最新消息(RSS)
+          url: /zh_tw/feeds/news.rss
+    zh_cn:
+      get_started:
+        text: <strong>试用</strong>,其实很简单!
+        try_ruby:
+          text: 在浏览器中试用 Ruby(英文)
+          <<: *try_ruby
+        quickstart:
+          text: 20 分钟体验 Ruby
+          url: /zh_cn/documentation/quickstart/
+        ruby_from_other_languages:
+          text: 从其它语言转到 Ruby
+          url: /zh_cn/documentation/ruby-from-other-languages/
+      explore:
+        text: <strong>探索</strong>新的世界
+        documentation:
+          text: 文档
+          url: /zh_cn/documentation/
+        # books:
+        #   text: Books
+        rubybib:
+          text: 学术研究
+          <<: *rubybib
+        libraries:
+          text: 代码库
+          url: /zh_cn/libraries/
+        success_stories:
+          text: 成功案例
+          url: /zh_cn/documentation/success-stories/
+      participate:
+        text: <strong>加入</strong>友善及日益壮大的社区
+        mailing_lists:
+          text: 邮件列表
+          url: /zh_cn/community/mailing-lists/
+          description: |
+            联系喜爱 Ruby 的朋友
+        user_groups:
+          text: 用户组
+          url: /zh_cn/community/user-groups/
+          description: |
+            参与 Ruby 爱好者活动
+        weblogs:
+          text: 博客
+          url: /zh_cn/community/weblogs/
+          description: |
+            阅读 Ruby 相关的博客
+        ruby_core:
+          text: Ruby 核心
+          url: /zh_cn/community/ruby-core/
+          description: |
+            帮助开发 Ruby 语言
+        issue_tracking:
+          text: 问题跟踪
+          url: https://bugs.ruby-lang.org/
+          description: |
+            报告或帮助解决 Ruby 的问题
+      syndicate:
+        text: 订阅
+        recent_news:
+          text: 最新消息(RSS)
+          url: /zh_cn/feeds/news.rss
+
+  subscription_form:
+    bg:
+      list: Пощенски списък
+      first_name: Име
+      last_name: Фамилия
+      email: Email адрес
+      action: Действие
+      subscribe: Записване
+      unsubscribe: Отписване
+      submit: Изпрати
+    de:
+      list: Mailingliste
+      first_name: Vorname
+      last_name: Nachname
+      email: E-Mail
+      action: Vorgang
+      subscribe: Anmelden
+      unsubscribe: Abmelden
+      submit: Absenden
+    en:
+      list: Mailing List
+      first_name: First Name
+      last_name: Last Name
+      email: Email Address
+      action: Action
+      subscribe: Subscribe
+      unsubscribe: Unsubscribe
+      submit: Submit Form
+    es:
+      list: Lista de correo
+      first_name: Nombre
+      last_name: Apellidos
+      email: Correo electrónico
+      action: Acción
+      subscribe: Subscribe
+      unsubscribe: Unsubscribe
+      submit: Enviar
+    fa:
+      list: Mailing List
+      first_name: نام
+      last_name: نام خانوادگی
+      email: آدرس ایمیل
+      action: عمل
+      subscribe: اشتراک
+      unsubscribe: لغو اشتراک
+      submit: ثبت فرم
+    fr:
+      list: Liste de diffusion
+      first_name: Prénom
+      last_name: Nom
+      email: e-mail
+      action: Action
+      subscribe: Subscribe
+      unsubscribe: Unsubscribe
+      submit: Valider
+    id:
+      list: Nama Milis
+      first_name: Nama Depan
+      last_name: Nama Belakang
+      email: Alamat E-mail
+      action: Tindakan
+      subscribe: Subscribe
+      unsubscribe: Unsubscribe
+      submit: Kirim
+    it:
+      list: Lista di discussione
+      first_name: Nome
+      last_name: Cognome
+      email: Indirizzo e-mail
+      action: Azione
+      subscribe: Subscribe
+      unsubscribe: Unsubscribe
+      submit: Invia
+#   ja:
+#     list: Mailing List
+#     first_name: First Name
+#     last_name: Last Name
+#     email: Email Address
+#     action: Action
+#     subscribe: Subscribe
+#     unsubscribe: Unsubscribe
+#     submit: Submit Form
+    ko:
+      list: 메일링 리스트
+      first_name: 이름
+      last_name: 성
+      email: 이메일 주소
+      action: 할일
+      subscribe: 구독하기
+      unsubscribe: 구독 해지
+      submit: 제출하기
+    pl:
+      list: Mailing List
+      first_name: First Name
+      last_name: Last Name
+      email: Email Address
+      action: Action
+      subscribe: Subscribe
+      unsubscribe: Unsubscribe
+      submit: Submit Form
+    pt:
+      list: Lista de E-mails
+      first_name: Primeiro Nome
+      last_name: Último Nome
+      email: E-mail
+      action: Ação
+      subscribe: Inscrever
+      unsubscribe: Desinscrever
+      submit: Enviar Formulário
+    ru:
+      list: Почтовая рассылка
+      first_name: Имя
+      last_name: Фамилия
+      email: Email
+      action: Действие
+      subscribe: Подписаться
+      unsubscribe: Отписаться
+      submit: Отправить
+    tr:
+      list: E-posta Listesi
+      first_name: Ad
+      last_name: Soyad
+      email: E-posta Adresi
+      action: Eylem
+      subscribe: Abone Ol
+      unsubscribe: Abonelikten Çık
+      submit: Formu Gönder
+    vi:
+      list: Mailing List
+      first_name: Tên
+      last_name: Họ
+      email: Email
+      action: Hành động
+      subscribe: Đăng kí
+      unsubscribe: Hủy đăng kí
+      submit: Nộp đơn
+    zh_cn:
+      list: 邮件列表
+      first_name: 名
+      last_name: 姓
+      email: 电子邮件
+      action: 操作
+      subscribe: 订阅
+      unsubscribe: 退订
+      submit: 提交表单
+    zh_tw:
+      list: 郵件論壇
+      first_name: 名
+      last_name: 姓
+      email: 電子郵件
+      action: Action
+      subscribe: 訂閱
+      unsubscribe: 退訂
+      submit: 送出表格
+
+  languages_heading:
+    bg: "Този сайт на други езици:"
+    de: "Diese Website in anderen Sprachen:"
+    en: "This site in other languages:"
+    fa: "این سایت به زبان‌های دیگر:"
+    fr: "Autres langues disponibles :"
+    id: "Situs ini dalam bahasa lain:"
+    it: "Questo sito in altre lingue:"
+    pl: "Ta strona w innych językach:"
+    pt: "Este site em outros idiomas:"
+    ru: "Этот сайт на других языках:"
+    tr: "Diğer dillerde bu site:"
+    zh_cn: "本站其他语言版本:"
+
+  credits:
+    bg: |
+      <a href="/bg/about/website/">Този сайт</a>
+      се поддържа от членове на Ruby обществото.
+    de: |
+      <a href="/de/about/website/">Diese Website</a>
+      wird mit Stolz von Mitgliedern der Ruby-Community gepflegt.
+    en: |
+      <a href="/en/about/website/">This website</a>
+      is proudly maintained by members of the Ruby community.
+    es: |
+      Este sitio web está desarrollado con Ruby y <a href="http://www.jekyllrb.com/">Jekyll</a>
+      y es orgullosamente mantenido por miembros de la comunidad.
+      Si quieres contribuir, por favor hazlo en <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
+      o contacta a nuestro <a href="mailto:webmaster@ruby-lang.org">webmaster</a>
+      si tienes preguntas o comentarios.
+    fa: |
+      <a href="/fa/about/website/">این وب‌سایت</a>
+      با افتخار توسط اعضای جامعه روبی نگهداری می‌شود.
+    fr: |
+      Ce site est propulsé par Ruby et <a href="http://www.jekyllrb.com/">Jekyll</a>.
+      Il est fièrement maintenu par des membres de la communauté Ruby.
+      Contribuez en vous rendant sur <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
+      ou contactez le <a href="mailto:webmaster@ruby-lang.org">webmaster</a>
+      pour toute question ou tout commentaire.
+    id: |
+      <a href="/id/about/website/">Situs ini</a>
+      dengan bangga dirawat oleh anggota komunitas Ruby.
+    it: |
+      <a href="/it/about/website/">Questo sito web</a>
+      è mantenuto con orgoglio dai membri della comunità Ruby.
+    ja: |
+      <a href="/ja/about/website/">このウェブサイト</a>は Ruby コミュニティのメンバーによって運営されています。
+    ko: |
+      <a href="/ko/about/website/">이 사이트</a>는 루비 커뮤니티의
+      구성원들이 직접 관리합니다.
+    pl: |
+      <a href="/pl/about/logo/">Logo Rubiego</a> jest Zastrzeżone &copy; 2006, Yukihiro Matsumoto; licencjonowane na warunkach <a href="http://creativecommons.org/licenses/by-sa/2.5/">CC BY-SA 2.5</a>.<br><br>
+      Serwis powstał w języku Ruby przy użyciu <a href="http://www.jekyllrb.com/">Jekyll</a>.
+      Utrzymaniem serwisu zajmuje się społeczność Rubiego.
+      Projekt strony <a href="https://twitter.com/jasonzimdars">Jason Zimdars</a>.
+      Proszę udziel nam wsparcia na <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
+      lub skontaktuj się z naszym <a href="mailto:webmaster@ruby-lang.org">webmasterem</a>
+      jeśli masz jakieś pytania lub komentarze dotyczące tego serwisu.
+    pt: |
+      <a href="/pt/about/website/">Este website</a>
+      é mantido com orgulho por membros da comunidade Ruby.
+    ru: |
+      <a href="/ru/about/website/">Этот сайт</a> с гордостью поддерживается членами сообщества Ruby.
+    tr: |
+      <a href="/tr/about/website/">Bu web sitesi</a>
+      Ruby topluluğunun üyeleri tarafından gururla sürdürülmektedir.
+    vi: |
+      Website này được tạo ra với Ruby sử dụng <a href="http://www.jekyllrb.com/">Jekyll</a>.
+      Trang được bảo trì bởi các thành viên của cộng đồng Ruby.
+      Xin đóng góp trên <a href="https://github.com/ruby/www.ruby-lang.org/">GitHub</a>
+      hay liên lạc với <a href="mailto:webmaster@ruby-lang.org">webmaster</a> (bằng tiếng Anh)
+      nếu có câu hỏi hoặc ý kiến phản hồi về trang này.
+    zh_cn: |
+      <a href="/zh_cn/about/website/">本站</a>由 Ruby 社区的成员共同维护。
+    zh_tw: |
+      <a href="/zh_tw/about/website/">本站</a>由 Ruby 社群成員共同維護。
diff --git a/_includes/languages.html b/_includes/languages.html
index 7fb863ca8a..980ce0c817 100644
--- a/_includes/languages.html
+++ b/_includes/languages.html
@@ -8,6 +8,7 @@
 <a href="/de/">Deutsch</a>,
 <a href="/en/">English</a>,
 <a href="/es/">Español</a>,
+<a href="/fa/">فارسی</a>,
 <a href="/fr/">Français</a>,
 <a href="/id/">Bahasa Indonesia</a>,
 <a href="/it/">Italiano</a>,
diff --git a/_layouts/default.html b/_layouts/default.html
index 603c5eea3c..0012312d41 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -19,10 +19,13 @@
     <link rel="stylesheet" type="text/css" href="/stylesheets/print.css">
     <link href='https://fonts.googleapis.com/css?family=Noto+Sans:400,700,400italic,700italic&amp;subset=latin,cyrillic,greek,vietnamese' rel='stylesheet' type='text/css'>
     <link rel="canonical" href="{{ site.url }}{{ page.url | replace: 'index.html', '' }}">
-
+    {% if page.lang == "fa" %}
+    <link rel="stylesheet" type="text/css" href="/stylesheets/rtl.css">
+    {% endif %}
+    
     <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
     {% include rss_discovery.html %}
-
+    
     <script type="text/javascript" src="/javascripts/jquery.min.js"></script>
     <script type="text/javascript" src="/javascripts/page.js"></script>
     {% if layout.javascript != null %}
@@ -30,6 +33,7 @@
     <script type="text/javascript" src="/javascripts/{{ javascript }}.js"></script>
     {% endfor %}
     {% endif %}
+
   </head>
 
   {% capture homepage_url %}/{{ page.lang }}/{% endcapture %}
diff --git a/_plugins/translation_status.rb b/_plugins/translation_status.rb
index 56ba749e27..04d51f3b2b 100644
--- a/_plugins/translation_status.rb
+++ b/_plugins/translation_status.rb
@@ -8,7 +8,7 @@ module Jekyll
   # Outputs HTML.
   module TranslationStatus
 
-    LANGS =  %w[en de es id ja ko pt tr zh_cn zh_tw]
+    LANGS =  %w[en de es fa id ja ko pt tr zh_cn zh_tw]
     START_DATE = '2013-04-01'
 
     OK_CHAR      = '✓'
diff --git a/exit b/exit
new file mode 100644
index 0000000000..8578c7274c
--- /dev/null
+++ b/exit
@@ -0,0 +1,2270 @@
+commit e9d6c7f949df32300bc052e6136d26308ec6e70e (HEAD -> master)
+Author: Goudarz <goudarz.jafari@gmail.com>
+Date:   Fri May 31 15:17:11 2019 +0430
+
+    Added Persian translation
+
+commit dbb60a67a884c871a39d109da99de9cdf992a3b6
+Merge: d9405276 4e65b7c2
+Author: Goudarz Jafari <goudarz.jafari@gmail.com>
+Date:   Sun Mar 24 03:02:26 2019 +0430
+
+    Merge pull request #2 from ruby/master
+    
+    update repo
+
+commit 4e65b7c20147586fd5b873f5cd7dddce862823db
+Author: Shia <rise.shia@gmail.com>
+Date:   Sat Mar 23 19:39:32 2019 +0900
+
+    Update documents (ko) (#2011)
+    
+    * Backport #1682 (ko)
+    
+    * Backport #1681 (ko)
+    
+    * Backport da7c5408a5a6fb2d5c79555cb28700c096d578ba (ko)
+    
+    Ref: #1958
+    
+    * Add RubyConferences.org
+    
+    * Update ko/community/conferences/index.md
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit f867117c1e220a9de9999cc39e4cb0c4de413fd0
+Author: Shia <rise.shia@gmail.com>
+Date:   Sat Mar 23 19:28:00 2019 +0900
+
+     Translate 2019-03-05-multiple-vulnerabilities-in-rubygems.md (ko) (#2012)
+    
+    * cp {en,ko}/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md
+    
+    * Translate 2019-03-05-multiple-vulnerabilities-in-rubygems.md
+    
+    * Apply suggestions from code review
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+    
+    * Omit some text.
+
+commit 9528fa34dd1856b36947f2b352147d7a7c3284db
+Author: Shia <rise.shia@gmail.com>
+Date:   Sat Mar 23 19:27:22 2019 +0900
+
+    Translate ruby 2.5.5 release note (ko) (#2014)
+    
+    * Import origin article
+    
+    * Translate ruby 2.5.5 release note
+    
+    * Update ko/news/_posts/2019-03-15-ruby-2-5-5-released.md
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit 30c73e610b47c64b623c3a5f78badccf107d5fc6
+Author: Shia <rise.shia@gmail.com>
+Date:   Sat Mar 23 17:17:52 2019 +0900
+
+    Translate ruby 2.5.4/2.6.2 release note (ko) (#2013)
+    
+    * Import origin articles
+    
+    cp {en,ko}/news/_posts/2019-03-13-ruby-2-5-4-released.md
+    cp {en,ko}/news/_posts/2019-03-13-ruby-2-5-4-released.md
+    
+    * Translate ruby 2.5.4/2.6.2 release note
+
+commit 6be0ae7fb9debc835985a19b2926373eda1c34a8
+Merge: 6ea14a82 72fc7d21
+Author: David Padilla <david@padilla.cc>
+Date:   Thu Mar 21 11:12:16 2019 -0600
+
+    Merge pull request #2010 from vtamara/es-20190305-rubygems
+    
+    Translation of 2019-03-05-multiple-vulnerabilities-in-rubygems (es)
+
+commit 72fc7d210cdbc2bd8d49dcff92fb45230c8e0656
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Wed Mar 20 21:28:47 2019 -0500
+
+    Translation of 2019-03-05-multiple-vulnerabilities-in-rubygems (es)
+
+commit 6ea14a821c0d1893deee6c98437f54c65810eb47
+Author: Vincent Lin <bugtender@gmail.com>
+Date:   Thu Mar 7 17:04:14 2019 +0800
+
+    Translate 2019-03-05 Multiple vulnerabilities in RubyGems (zh_tw)
+
+commit 7f34146884267e2f386469d5bd0a91fded24c905
+Author: Kuniaki IGARASHI <igaiga@gmail.com>
+Date:   Tue Mar 19 08:52:34 2019 +0900
+
+    Add WSL in en/documentation/installation
+
+commit ed84088a60e617472e09d0a2fc57cd94fe9a1aa8
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 18 08:57:20 2019 +0900
+
+    typo
+
+commit db16d6e041d8788995b9013b21f8aab46d1ddb31
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 18 08:52:43 2019 +0900
+
+    Move to before_install.
+
+commit 239eeaac2a72a231107a7f8c2a228f14727c15f6
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 18 08:50:09 2019 +0900
+
+    Support Bundler 2.
+
+commit 50f6bf598ce026cb9dd67f2f32138d0736d7f1c2
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 18 08:47:35 2019 +0900
+
+    bump version on Travis CI.
+
+commit 97c943c69845973f3d94bfdae556a02cc912e00f
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 18 08:31:39 2019 +0900
+
+    update bundles and ruby version.
+
+commit f8a7982951bdb794cc3cff8b34c656c00268a2c6
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Mar 16 15:51:58 2019 +0100
+
+    Drop parallel build jobs on Travis CI
+    
+    For now it doesn't make sense, because build duration is not shortened
+    noticeably. The `test` task usually runs for only just under a second
+    (but as separate job adds about one minute of total runtime for setup).
+
+commit 4ca5fe19b3024d4b28259226e55714d1e3fb2799
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Mar 16 14:30:11 2019 +0100
+
+    Small improvements in 2.5.5 post (ja)
+
+commit 54c33961abeddf2ab7741cbc59a21de7029e207e
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 15 15:13:36 2019 +0100
+
+    Small improvements in 2.5.5 post (en)
+
+commit 6b1634b152e298f63ba5f19e2dc528ab8a0d83e4
+Merge: 08db24f7 21f5b200
+Author: nagachika <nagachika@ruby-lang.org>
+Date:   Fri Mar 15 11:10:40 2019 +0900
+
+    Merge pull request #2005 from nagachika/release_2_5_5
+    
+    Add release notes for 2.5.5.
+
+commit 21f5b2003db0b6c85f88f695e07e67b44bb14224
+Author: Chikanaga Tomoyuki <t-chikanaga@groovenauts.jp>
+Date:   Fri Mar 15 09:38:05 2019 +0900
+
+    Add release notes for 2.5.5.
+
+commit 08db24f75f17c13fb625931196c430dafd7905b1
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Thu Mar 14 14:52:21 2019 +0100
+
+    Translate Ruby 2.6.2 released (de)
+
+commit e24eb606e1223a4e428338fbe9f178450b0f8320
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Thu Mar 14 14:52:14 2019 +0100
+
+    Translate Ruby 2.5.4 released (de)
+
+commit 5c142322c69242ba55d128f450b3cd7a972f921d
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Thu Mar 14 14:52:02 2019 +0100
+
+    Translate RubyGems vulnerabilities post (de)
+
+commit fa3ef0dcd70a3a589be23321fe133f206b7139b3
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 21:39:00 2019 +0100
+
+    Mark bg, fr, it, ru, vi as unmaintained
+    
+    * add unmaintained notice
+    * do not redirect there from /index.html
+    * update language list for translation_status tag
+
+commit baefd72dbabe5c59a08eef28c94e40a073bf1320
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 21:38:48 2019 +0100
+
+    Do not redirect to unmaintained translations
+    
+    Do not automatically redirect from /index.html to unmaintained
+    or outdated translations. Currently this affects pl, tr.
+    
+    Related to #1828.
+
+commit 405929d8f38bab4fe4147222b353537c9058e70c
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 21:38:39 2019 +0100
+
+    Remove unmaintained notice for pt
+
+commit 218d5569e9dbf7219e657acefcef0f6061ae1bad
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 21:38:29 2019 +0100
+
+    Remove unmaintained notice for id
+
+commit 348885026bbbf61527a7025acf4d17bf4fb3984d
+Merge: e19302df 7b7bdec0
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 21:23:01 2019 +0100
+
+    Merge pull request #1997 from sho-h/add_2.6_rurema_link
+    
+    Add a link to rurema for Ruby 2.6.0 (ja)
+
+commit e19302df6c4d5c5b09a185e89298980e186c4cbf
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 14:56:25 2019 +0100
+
+    Update gem bundle
+
+commit e94406b23ba3e27d7267f15b43691af628414e90
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 14:45:20 2019 +0100
+
+    Fix grammar in news posts (en)
+
+commit 38e65bfa5a49cc8d068757d95609bb1b5355c2d7
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Mar 13 14:40:43 2019 +0100
+
+    Add newlines
+
+commit 8f324ed68229fb9a4c19e5e4d373b7ebb7b94bd1
+Merge: e218bf24 da7c635d
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Wed Mar 13 21:31:56 2019 +0900
+
+    Merge pull request #2004 from ruby/fix_typo_in_ruby_2_6_2_releasenotes
+    
+    Fix typo in commit log links.
+
+commit da7c635db790d6ed246ce2883b5ba116a1591cb5
+Author: Chikanaga Tomoyuki <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 21:24:58 2019 +0900
+
+    Fix typo in commit log links.
+
+commit e218bf24326b177270bc1ae102bb2fdc704fda65
+Author: nagachika <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 20:16:06 2019 +0900
+
+    Update en/news/_posts/2019-03-13-ruby-2-6-2-released.md
+    
+    fix author
+    
+    Co-Authored-By: nurse <nurse@users.noreply.github.com>
+
+commit 1c8a85805eb027320dc2119d2ce5eb1cff9ad334
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Wed Mar 13 20:08:34 2019 +0900
+
+    Ruby 2.6.2 released
+
+commit cb2cd1263be2efc92a482a73a21e91c334a1d9c1
+Merge: 7560b1bd dced8d87
+Author: nagachika <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 20:32:11 2019 +0900
+
+    Merge pull request #2002 from nagachika/release_2.5.4
+    
+    Release 2.5.4
+
+commit dced8d87d3981db3f4981a814326530e3232a1db
+Author: Chikanaga Tomoyuki <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 19:58:13 2019 +0900
+
+    Fix typos.
+
+commit 20a399fd447b20b35e3cebd20a20edb95d6515f4
+Author: Chikanaga Tomoyuki <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 19:42:41 2019 +0900
+
+    Update _data/releases.yml and _data/downloads.yml
+
+commit ed3a28378a37f6b40ef06de5a4e80795e79c2462
+Author: Chikanaga Tomoyuki <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 19:38:34 2019 +0900
+
+    Add release notes for ruby 2.5.4.
+
+commit 6076694972892cb1a1693134fee72b0be5f33a7c
+Author: Chikanaga Tomoyuki <nagachika@ruby-lang.org>
+Date:   Wed Mar 13 19:33:32 2019 +0900
+
+    Add fixed rubygems version 2.7.6.2 in Workarounds section.
+
+commit 7560b1bdda368f683ff9d819fe8a225f6df4fa55
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Mar 11 20:31:04 2019 +0100
+
+    Remove dead link to MORPHA
+    
+    The site of the MORPHA project is no longer available under this URL
+    and the domain is not even related to the project anymore.
+    
+    Closes #1845
+
+commit d229628f43e6ecf8d916f863c25268ec1649695b
+Merge: da7c5408 69b5892b
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 11 14:20:51 2019 +0900
+
+    Merge pull request #1993 from alaxalves/travis-improv
+    
+    Paralleling Travis jobs to shorten build duration
+
+commit 7b7bdec0c17663ebdcfb6c0ce8be4293589f587b
+Author: Sho Hashimoto <sho.hsmt@gmail.com>
+Date:   Mon Mar 11 09:42:24 2019 +0900
+
+    Change listing order. Make newer versions upper.
+
+commit 32f55d6f8b47ba0263fa30cf3525942745fd24ae
+Author: Sho Hashimoto <sho.hsmt@gmail.com>
+Date:   Sun Mar 10 16:56:01 2019 +0900
+
+    Add a link to rurema for Ruby 2.6.0 (ja)
+
+commit 69b5892bf6c65d2d8bf3b25e8581189bc3dc21db
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 22:47:51 2019 +0100
+
+    Simplify build matrix for Travis CI
+
+commit da7c5408a5a6fb2d5c79555cb28700c096d578ba
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 22:15:24 2019 +0100
+
+    Remove defunct conference sites (en)
+    
+    Closes #1958
+    
+    Co-authored-by: Jacob Herrington <jacobherringtondeveloper@gmail.com>
+
+commit b0fc2a7098ba42c6eee308aa86bafc1b59d7e3e2
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 22:06:16 2019 +0100
+
+    Remove dead link to blastwave.org
+    
+    Closes #1860
+
+commit 9124a20b4f78bd615f0213c95bf0c9a8c3b8cdbf
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 21:58:26 2019 +0100
+
+    Use named link references on community page
+
+commit 118909f9021a77d67508cc5bbffbac7bc16ca8fa
+Author: BannerGames <davidandrade339@gmail.com>
+Date:   Fri Jul 20 21:28:12 2018 +0100
+
+    Translate Ruby 2.2 EOL post (pt)
+    
+    Closes #1818
+    
+    Co-authored-by: Marcus Stollsteimer <sto.mar@web.de>
+    Co-authored-by: Júlio Campos <jcserracampos@gmail.com>
+    Co-authored-by: Alax Alves <alaxallves@gmail.com>
+
+commit 58f2af25dfe081bd014cf6f8f1cc1e413f6606c5
+Merge: 3901bf1d b26c5feb
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 08:37:25 2019 +0100
+
+    Merge pull request #1466 olivierlacan/podcasts
+    
+    Add Podcasts section to Community
+    
+    Conflicts:
+      en/community/index.md (outdated URLs)
+
+commit 3901bf1d4a97e03084dec948321d9bb0d7a38a03
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Fri Mar 8 08:34:25 2019 +0100
+
+    Use named link references on community page (en)
+
+commit a3b31d305ef74e6d22672408a120d2ccfb65ccfd
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 08:30:16 2019 +0100
+
+    Add newline after YAML front matter
+
+commit e2b3274573cfeb94f8f003f6ef5ef15647c4f319
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Mar 8 08:29:40 2019 +0100
+
+    Use untranslated 'SIZE' in download section (es)
+
+commit 3de10c19b94b1a0292c6facd6be9e818e93eb08a
+Merge: b72499bc faaecfc5
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Fri Mar 8 09:03:42 2019 +0900
+
+    Merge pull request #1996 from stomar/update-history
+    
+    Mention updated patches in news post history
+
+commit faaecfc5c5c0f6beb06f1001ffd8c3c793353c0a
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Thu Mar 7 19:37:42 2019 +0100
+
+    Mention updated patches in news post history
+
+commit b72499bcfe2645ff19fcd82a722841da35fcfdf8
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Wed Mar 6 14:26:27 2019 +0900
+
+    Update urls for the latest patch
+
+commit e3caede3377cfb6618091e3a2d1697b4c9e747b8
+Author: Alax Alves <alaxallves@gmail.com>
+Date:   Tue Mar 5 22:44:59 2019 -0300
+
+    Making bundle cache work properly
+
+commit 18e17f9e4119c48bac39be02235660c764a8f8b0
+Author: Alax Alves <alaxallves@gmail.com>
+Date:   Tue Mar 5 22:28:42 2019 -0300
+
+    Paralleling Travis jobs to shorten build duration
+
+commit ffe9e474fe3255a292faac8fcf6514ddfff29b22
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Tue Mar 5 22:24:36 2019 +0100
+
+    Small improvements on blogs page (en)
+    
+    Fix questionable statement in summary (replacing "past year"
+    with "past years"), and typos.
+
+commit 167e93910936ae3b8fc134d2176f7791d0b610ba
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Tue Mar 5 22:06:10 2019 +0100
+
+    Small improvements on installation page (en)
+    
+    Remove reference to latest macOS to avoid having to update it;
+    improve snap section; other small fixes.
+
+commit 379e180226bacd54ddeb6a4dafa56241382104ff
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Tue Mar 5 21:49:21 2019 +0100
+
+    Use named link reference for recently added link
+
+commit cf032c821d0e85a0a4b396d026eccb39f67aabaa
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Tue Mar 5 21:35:08 2019 +0100
+
+    Small fix in news post (en)
+
+commit 907980a835da2a5541c0de9538e3d06232f3bcdb
+Merge: bc7c7eca 944a697e
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Tue Mar 5 15:49:19 2019 +0900
+
+    Merge pull request #1991 from stomar/use-ruby-2.6.1
+    
+    Use Ruby 2.6.1
+
+commit bc7c7ecad4cef92c6980bd43e4f55de3ec7a3e74
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Tue Mar 5 12:34:43 2019 +0900
+
+    Update the wrong version of RG 2.7.x and the revision of trunk branch.
+
+commit 02b7079b039f998bcf88957d1858c817c2424719
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Tue Mar 5 09:16:30 2019 +0900
+
+    oops
+
+commit ed4d7a21cd6b72e95694de814814b3d0bb83f9cf
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Tue Mar 5 09:06:18 2019 +0900
+
+    Update patch link with bugs.ruby-lang.org.
+
+commit 8f11fef7298968c5597283b0a0c252cb73001e31
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 18:02:57 2019 +0900
+
+    Revert to mention the released version of Ruby.
+
+commit e2f18e4bb2204d32f73b78412be0e8ff16627253
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 11:11:09 2019 +0900
+
+    Security Advisories for RubyGems Mar, 2019.
+
+commit 944a697e3a3d21c646ab3aaa422ec6d26057097a
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Mar 4 22:22:21 2019 +0100
+
+    Use Ruby 2.6.1
+
+commit 2bcc020a21c6603ba5b717991e51a23ade9eda05
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Mar 4 22:15:05 2019 +0100
+
+    Remove HOST constant
+    
+    HOST was only used by validate-website-static via the check:markup task,
+    but it has no significance, since the task checks the local files and not
+    the specified URL.
+
+commit 455e796d20d93793022c90f67ca4e4a6ddef66c1
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Mar 4 16:05:57 2019 +0100
+
+    Drop mention of specific Ruby versions (en) (#1681)
+
+commit 3cac2f50c1384a25eb8b9296e5b746a56a9592c7
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Mar 4 15:48:38 2019 +0100
+
+    Fix typo (en)
+
+commit 6fc0cdd5f46debecb1226daa6f94554df59c5509
+Merge: f2bf13ee d0cbdb32
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 13:00:03 2019 +0900
+
+    Merge pull request #1988 from znz/revive-yaml-front-matter
+    
+    Revive YAML front matter
+
+commit d0cbdb32665864929c618ac1c80e223af31250c3
+Author: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+Date:   Mon Mar 4 11:22:18 2019 +0900
+
+    Revive YAML front matter
+    
+    to enable liquid tags again.
+    This partially reverts 2c8ff6b80a1d8fb2b8b86e38996fdd7e6b8c491d.
+
+commit f2bf13ee6189fa4b9f033d5f2f3f3ac48b73b452
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 11:10:41 2019 +0900
+
+    update bundles
+
+commit 1179e693a79f0ee64b18888091b375761c53b5f1
+Merge: 5dae4fd9 2c8ff6b8
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 10:59:28 2019 +0900
+
+    Merge pull request #1987 from spk/fix-markup-issues
+    
+    Fix markup issues
+
+commit 5dae4fd98fd3067362ff965390f056d88777d8a2
+Merge: 1f5e3048 8a558839
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 10:58:51 2019 +0900
+
+    Merge pull request #1978 from ismailarilik/fix-meaning-of-description
+    
+    Fix meaning of language description in main page (tr)
+
+commit 1f5e30482b7f9dc7d8adc427ccde58bf64d8d283
+Merge: 578c091b 17059f34
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 10:58:35 2019 +0900
+
+    Merge pull request #1976 from ismailarilik/add-necessary-suffix
+    
+    Add necessary suffix (tr)
+
+commit 578c091be7d0f60c8a6dd2397ab7cc0a5e878a3a
+Merge: ffba6ad8 4ee1fd32
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 10:57:34 2019 +0900
+
+    Merge pull request #1944 from infertux/add-fr-mirror
+    
+    Add French mirror (HTTP, HTTPS and rsync)
+
+commit ffba6ad82088c3cfcca3fb1b8314d73a92aa9fae
+Merge: 9feddd17 f088a9ed
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 10:54:57 2019 +0900
+
+    Merge pull request #1843 from jcserracampos/fukuokarubyaward2018
+    
+    Translate 2018 Fukuoka Ruby Award Competition (pt)
+
+commit 9feddd1751a71d6f557c3234bb1fdf7ccf945726
+Merge: 660a8159 6320b95e
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Mon Mar 4 10:51:46 2019 +0900
+
+    Merge pull request #1682 from stomar/solaris-en
+    
+    Remove Solaris section from installation page (en)
+
+commit 2c8ff6b80a1d8fb2b8b86e38996fdd7e6b8c491d
+Author: Laurent Arnoud <laurent@spkdev.net>
+Date:   Sun Mar 3 16:23:28 2019 +0100
+
+    Fix tidy js check
+    
+    ref https://github.com/htacg/tidy-html5/issues/65
+
+commit f386e7f9720f3224ed07a40c28888c42f61caf15
+Author: Laurent Arnoud <laurent@spkdev.net>
+Date:   Sun Mar 3 16:11:56 2019 +0100
+
+    Fix uri encoding
+    
+    >> URI.encode "https://www.google.com/maps/search/松江テルサ/@35.463976,133.062015,14z?hl=ja"
+    => "https://www.google.com/maps/search/%E6%9D%BE%E6%B1%9F%E3%83%86%E3%83%AB%E3%82%B5/@35.463976,133.062015,14z?hl=ja"
+
+commit a44c5af2f3ed2fb446e48d0178db0ff9c7a18c53
+Author: Laurent Arnoud <laurent@spkdev.net>
+Date:   Sun Mar 3 16:11:11 2019 +0100
+
+    Fix missing open code tag
+
+commit 660a8159bdee73f1c56e25bf667872c6dea4511c
+Author: Vincent Lin <bugtender@users.noreply.github.com>
+Date:   Mon Feb 25 09:44:37 2019 +0800
+
+    Remove useless backspace in posts (zh_tw, zh_cn) (#1986)
+
+commit 5db6009dd330ae56797c0355434d38ded634c1f8
+Author: İsmail Arılık <arilik.ismail@gmail.com>
+Date:   Mon Feb 25 02:36:39 2019 +0300
+
+    Fix typo in installation page (ko) (#1984)
+
+commit 8a558839967960d7821e2853457d963851cfb319
+Author: İsmail Arılık <arilik.ismail@gmail.com>
+Date:   Sat Feb 23 14:42:04 2019 +0300
+
+    Fix meaning of language description in main page (tr)
+
+commit 17059f34db45eeead056338d8d60218b4d04c360
+Author: İsmail Arılık <arilik.ismail@gmail.com>
+Date:   Sat Feb 23 12:47:18 2019 +0300
+
+    Add necessary suffix (tr)
+
+commit c50956c36e6d66c438504ec1aacfc975fae25484
+Author: Chayoung You <yousbe@gmail.com>
+Date:   Thu Feb 21 09:31:05 2019 +0900
+
+    Update translation of downloads page (ko) (#1975)
+
+commit b2cf27fdad276eb754c4be2f145d92c572d161a8
+Author: Vincent Lin <bugtender@gmail.com>
+Date:   Wed Feb 20 18:11:06 2019 +0800
+
+    Update Download Ruby page (zh_tw, zh_cn)
+
+commit 824ddc013d4cae5a13a442efe7bdf0e5e465abc4
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Thu Feb 14 15:38:43 2019 +0100
+
+    Use named link references
+    
+    Partially revert 1171065 and d4e30a683 to use named link references
+    for Atom, and restore previous order of the references;
+    also introduce named link references for VS code.
+
+commit c3fe63969513de1214ce2e6497fc22ee159acdb0
+Author: Chayoung You <yousbe@gmail.com>
+Date:   Tue Feb 12 12:05:13 2019 +0900
+
+    Rephrase copy on the blog page (ko) (#1972)
+
+commit d4e30a683194e6695b766092aac83924d2d10b99
+Author: Jacob Herrington <jacobherringtondeveloper@gmail.com>
+Date:   Sun Feb 10 08:02:28 2019 -0600
+
+    Editor list fixes in more languages (id, ja, ko, pt, vi, zh_cn, zh_tw) (#1968)
+    
+    * Remove duplicate instances of Atom (vi)
+    
+    * Add VS Code to editors (vi)
+    
+    * Move extensions link (vi)
+    
+    * Remove multiple instances of Atom (ja)
+    
+    * Add VS Code to editor list (ja)
+    
+    * Remove duplicate instances of Atom (tw)
+    
+    * Add VS Code to editor list (tw)
+    
+    * Remove duplicate instances of Atom (cn)
+    
+    * Add VS Code to editor list (cn)
+    
+    * Remove duplicate instances of Aton (pt)
+    
+    * Add VS Code to editor list (pt)
+    
+    * Remove duplicate instances of Atom (ko)
+    
+    * Move extensions link (ko)
+    
+    * Add VS code to editor list (ko)
+    
+    * Remove duplicate instances of Atom (id)
+    
+    * Move extensions link (id)
+    
+    * Add VS code to editor list (id)
+
+commit 4eef1d373cbc54bf2e97398b35da6f23a9a30ce9
+Author: Vincent Lin <bugtender@gmail.com>
+Date:   Sun Feb 10 19:15:13 2019 +0800
+
+    Add the link to the Ruby Bibliography in the sidebar (zh_tw, zh_cn)
+
+commit 147cf89e8510939643a29c52cc20f370309b61e8
+Author: jacobherrington <jacobherringtondeveloper@gmail.com>
+Date:   Sat Feb 9 12:26:25 2019 -0600
+
+    Fix dmoz.org links
+    
+    dmoz.org is no longer active. dmoztools.net still hosts a lot of the
+    same content. This commit updates those links.
+
+commit 6358ecb254d0312d0e1a1f5c92e7613dc36a1c81
+Author: Jacob Herrington <jacobherringtondeveloper@gmail.com>
+Date:   Sat Feb 9 05:58:17 2019 -0600
+
+    Update dmoz.org to dmoztools.net on community page (en) (#1966)
+    
+    * Update dmoz.org to dmoztools.net
+    
+    dmoz.org is no longer operating, but the information is still available
+    on dmoztools.net. I think it's worth considering changing these
+    resources out for more modern ones.
+    
+    * Add https to links and fix broken dmztools.net link
+
+commit 117106587e2f0c98b6b643ce69855b764ffff631
+Author: Jacob Herrington <jacobherringtondeveloper@gmail.com>
+Date:   Sat Feb 9 05:56:43 2019 -0600
+
+    Fixes Editor list on documentation page  (en) (#1965)
+    
+    * Standardize editor links
+    
+    Atom was using a different style for the markdown link than the other
+    editors, so I changed it to be consistent.
+    
+    * Move extensions link due to it's uniqueness
+    
+    * Add VS Code to cross platform editors
+    
+    * Remove multiple links to Atom
+    
+    Atom should be listed only once on the cross-platform list
+
+commit 4b192570d10e2a24b49df9b07f270261820c0073
+Author: jacobherrington <jacobherringtondeveloper@gmail.com>
+Date:   Fri Feb 8 09:11:22 2019 -0600
+
+    Rephrase copy on the blog page (en)
+    
+    The copy on this page had a bit of odd phrasing. These changes make more
+    sense to me.
+
+commit f22ca9c53260ce0f89f1809bb210430e19d51bf9
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Feb 8 14:20:41 2019 +0100
+
+    Add newlines
+
+commit 97c48651ef1def20266ebf4fd55d365d7304d718
+Author: Shia <rise.shia@gmail.com>
+Date:   Fri Feb 8 16:34:55 2019 +0900
+
+    Add known problem section to 2.6.0 release post (ko) (#1962)
+    
+    * Add known problem section
+    
+    Ref: https://github.com/ruby/www.ruby-lang.org/pull/1953/files#diff-75096a7d388db30daf2a0bcdcf0a035b
+    
+    * Better korean sentence
+
+commit 0c72b6e2418494bca5e0e9e04024b628e28a7882
+Merge: 7bf7df86 9aaf816b
+Author: Andrias Meisyal <andriasonline+github@gmail.com>
+Date:   Wed Feb 6 13:51:14 2019 +0700
+
+    Merge pull request #1961 from meisyal/ruby-2.6.0-rc2-news
+    
+    Translate Ruby 2.6.0-rc2 released news (id)
+
+commit 9aaf816b9b354ad32875b8ec184c6d651520cf1d
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Tue Feb 5 20:55:33 2019 +0700
+
+    Translate Ruby 2.6.0-rc2 released news (id)
+
+commit 7bf7df8695f0d79039048069035b351a243227fc
+Author: Tadashi Saito <tad.a.digger@gmail.com>
+Date:   Thu Jan 31 00:29:38 2019 +0900
+
+    Add a item to sync with English version announcement of Ruby 2.6.1
+
+commit 543830cccbdd82622ec6f89d648e456fc98ec065
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Mon Feb 4 01:03:55 2019 +0900
+
+    Translate 2.6.1 Release Post (zh_cn)
+
+commit 966a4d221857b07e463d1e3cfe35018be1b05037
+Author: Vincent Lin <bugtender@gmail.com>
+Date:   Fri Feb 1 01:56:43 2019 +0800
+
+    Translate Ruby 2.6.1 Released (zh_tw)
+
+commit c38799a198ba05afc491e7852c81523a602bee87
+Author: Chayoung You <yousbe@gmail.com>
+Date:   Fri Feb 1 09:58:33 2019 +0900
+
+    Translate Patch Writer's Guide (ko) (#1952)
+    
+    * Translate Patch Writer's Guide (ko)
+    * Apply reviews
+
+commit ac8eeb6da0303aa81a4981497092e1fa1defe47f
+Merge: 44dc0b0b 813f6374
+Author: David Padilla <david@padilla.cc>
+Date:   Thu Jan 31 17:50:05 2019 -0600
+
+    Merge pull request #1956 from vtamara/es-20190130-ruby-2-6-1
+    
+    Translate Ruby 2.6.1 (es)
+
+commit 44dc0b0b56ba4edb9f1b6bbd79a1725c7ee25629
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Thu Jan 31 15:00:50 2019 +0100
+
+    Translate 2.6.1 release post (de)
+
+commit 813f6374beb8f2cb17d577fed4c292238f7c5255
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Thu Jan 31 07:44:03 2019 -0500
+
+    Translate Ruby 2.6.1 (es)
+
+commit eaf295f51ce9b7ffa29f35b02e189762efd476e9
+Author: Shia <rise.shia@gmail.com>
+Date:   Thu Jan 31 16:46:23 2019 +0900
+
+    Translate ruby 2.6.1 release news (ko) (#1955)
+    
+    * Copy origin news
+    
+    * Translate ruby 2.6.1 release news (ko)
+    
+    * Update ko/news/_posts/2019-01-30-ruby-2-6-1-released.md
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit 8f0d8c2bd0edc24950eabb1282a808e14dda8c2c
+Merge: 2cde0d44 4bd41f08
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Wed Jan 30 21:29:29 2019 +0900
+
+    Merge pull request #1953 from nurse/ruby-2-6-1-released
+    
+    Ruby 2.6.1 Released
+
+commit 4bd41f0862390e3c698e9919e64afe4afe152291
+Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date:   Thu Jan 31 01:12:51 2019 +1300
+
+    Fix formatting.
+
+commit 894ec6e7751785b782ec2cbddcb8d93cbcb6d8ae
+Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date:   Thu Jan 31 01:11:23 2019 +1300
+
+    Hot topic first then see others.
+
+commit 26f8db9b88d8446efd1a99b3ab649780b89a9e98
+Author: Oshan Wisumperuma <warunaoshan@gmail.com>
+Date:   Mon Jan 28 14:52:05 2019 +0530
+
+    Update 2018-12-25-ruby-2-6-0-released.md
+    
+    ruby/ruby#2058
+
+commit 5b4396bebd59e7aa5b5f7106d5d25d643ffc9006
+Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date:   Thu Jan 31 01:05:30 2019 +1300
+
+    Add notable changes/fixes.
+
+commit 2d90aff31c27614ed715bf4faf759ebfd47a452d
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Wed Jan 30 20:01:05 2019 +0900
+
+    Ruby 2.6.1 Released
+
+commit 2cde0d4464d2ec3b32a1ba94445e33f6d1ff1edc
+Merge: fe09aede 537ababb
+Author: Sorah Fukumori <sora134@gmail.com>
+Date:   Sun Jan 27 20:41:40 2019 +0900
+
+    Merge pull request #1950 from miyohide/patch-4
+    
+    Add posts about Rubima 0059 published (ja)
+
+commit 537ababb6206a37a76188eeab030773b74570c91
+Author: miyohide <miyohide@gmail.com>
+Date:   Sun Jan 27 09:28:42 2019 +0900
+
+    Add posts about Rubima 0059 published (ja)
+    
+    RubiMa Editors have released Rubyist Magazine 0059 (in japanese).
+
+commit fe09aedecd335e1ea31fca29f25eafac2bff4d04
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Fri Nov 30 06:24:14 2018 +0700
+
+    Translate Ruby 2.5.3 released news (id)
+
+commit 48f03b32459bb99bf2bcbeae8373aced9208809c
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Sat Nov 17 22:48:55 2018 +0700
+
+    Translate Ruby 2.3.8 released news (id)
+
+commit 37b9f9bf4b8331d0d63cd9a12cb6f9f62aa70dfd
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Wed Jan 23 10:52:47 2019 +0900
+
+    Translate 2.6.0 Released Post (zh_cn) (#1927)
+
+commit a35bad79ec90e4b8a281614d95a6028ce6b9e708
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Sun Dec 30 15:16:39 2018 +0700
+
+    Translate 2019 Fukuoka Ruby Award Competition post (id)
+
+commit 5e68a22ff611c1a47d893009c32946c5fb2bd2dc
+Author: Andrias Meisyal <andriasonline+github@gmail.com>
+Date:   Tue Jan 22 10:52:00 2019 +0700
+
+    Translate the official ruby snap news post (id) (#1919)
+
+commit 6a4069736afabed620b5200743bda7b80493fc3b
+Author: Vincent Lin <bugtender@gmail.com>
+Date:   Sun Jan 20 23:49:24 2019 +0800
+
+    Translate Ruby 2.6.0 Released post (zh_tw)
+
+commit 3d8dd1b2800ec5e1b028d668a6ec772bb3f74262
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Jan 20 16:42:29 2019 +0100
+
+    Remove MacRuby from about page (translations)
+
+commit 81f6058cca50bd1adf482ecbfccac397b12b986f
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Jan 20 16:18:20 2019 +0100
+
+    Add newlines
+
+commit 5ddf5cd51488bd723b3f73a7c7d97941dd32bcbf
+Author: Andrias Meisyal <andriasonline+github@gmail.com>
+Date:   Sun Jan 20 20:43:03 2019 +0700
+
+    Translate Ruby 2.6.0-rc1 released news (id) (#1945)
+
+commit d110924ee592ef6bab9afc6ea391e9a1409d3c9a
+Author: Vinicius Brasil <vnbrs@icloud.com>
+Date:   Sun Jan 20 11:41:44 2019 -0200
+
+    Translate Fukuoka Ruby Award 2019 post (pt) (#1937)
+    
+    Translate pt/news/_posts/2018-11-29-fukuoka-ruby-award-2019.md
+    
+    Co-Authored-By: vnbrs <vnbrs@icloud.com>
+    Co-Authored-By: Júlio Campos <jcserracampos@gmail.com>
+
+commit c3e2ff68a287740572cf659336f55ec8158a98bf
+Author: Shia <rise.shia@gmail.com>
+Date:   Tue Jan 15 23:54:17 2019 +0900
+
+    Translate Ruby Community Conduct Guideline (ko) (#1946)
+    
+    * Copy original article
+    
+    * Translate Ruby Community Conduct Guideline(ko)
+    
+    * Apply suggestions from code review
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit 7a0e41bec13cb65a3dd9012d3b1546f66495432c
+Author: Vincent Lin <bugtender@gmail.com>
+Date:   Sat Jan 12 20:12:50 2019 +0800
+
+    Update translation of Documentation (zh_tw)
+
+commit 6900c10b75c0038e64c4150ccd80103014317b7f
+Author: Vinicius Brasil <vnbrs@icloud.com>
+Date:   Wed Jan 9 00:32:23 2019 +0000
+
+    Translate Ruby Snap post (pt) (#1940)
+    
+    * Translate 2018 Nov Ruby Snap post (pt)
+    
+    Co-Authored-By: vnbrs <vnbrs@icloud.com>
+
+commit 669538a74d96b11a7cc3031fd176f062ee3469bd
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Sat Dec 29 19:33:01 2018 +0900
+
+    Translate 2.6.0-rc2 released news (zh_tw)
+
+commit f35e71090cc5e78a7efe64f506b88cf48e32ad5a
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Mon Dec 31 10:36:19 2018 +0900
+
+    Translate Ruby 2.6.0-rc1 Released Post (zh_tw)
+
+commit 4ee1fd324b04ca4bdba2ed3d42a9bbd1d08a85a1
+Author: Cédric Félizard <cedric@felizard.fr>
+Date:   Thu Jan 3 10:20:50 2019 +0000
+
+    Add French mirror (HTTP, HTTPS and rsync)
+
+commit 5f9f13ace38ac91760466820c71464e6700efad7
+Author: Andrias Meisyal <andriasonline+github@gmail.com>
+Date:   Wed Jan 2 20:59:35 2019 +0700
+
+    Update success stories (id) (#1844)
+
+commit 003344c4670fa9b3710a0320f60e2564194d1f4f
+Author: Shia <rise.shia@gmail.com>
+Date:   Tue Jan 1 22:49:33 2019 +0900
+
+     Translate snap article (ko) (#1943)
+    
+    * Import Original diff
+    
+    * Translate snap article (ko)
+    
+    * Apply suggestions from code review
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit 0328087520358160abda366c3e9ed7e761b3220f
+Author: Shia <rise.shia@gmail.com>
+Date:   Tue Jan 1 12:52:16 2019 +0900
+
+    Update blog section (ko) (#1942)
+    
+    * %s/웹로그/블로그/
+    
+    * Sync up Original post
+    
+    * Follow up blog section update (ko)
+    
+    Follow up https://github.com/ruby/www.ruby-lang.org/pull/1889
+    
+    * Backport of #1941
+    
+    * Use single quote
+    
+    * Apply suggestions from code review
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+    
+    * Better translation
+
+commit f3c342483067fea19b30039faaa15bc0347927e6
+Author: Shia <rise.shia@gmail.com>
+Date:   Tue Jan 1 11:23:31 2019 +0900
+
+    Add link for Ruby Weekly (#1941)
+
+commit e72d59b11ef642478c3ceacc2b66490ee20262e5
+Author: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date:   Wed Dec 26 13:22:08 2018 +1300
+
+    Adjust CSS for code (#1933)
+    
+    Make font size of code the same as of parent element.
+
+commit 1bc734ebbf7baf4d1702c6427af64ea21266d0b4
+Merge: df8d016f 90c52536
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 23:15:55 2018 +0100
+
+    Merge pull request #1936 from vnbrs/patch-2
+    
+    Update about/website/index.md with supporting orgs (pt)
+
+commit df8d016f031f84bcd0f6f7ae567f237ce40c5c01
+Merge: 5373a5a2 8f9e9203
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 22:46:28 2018 +0100
+
+    Merge pull request #1939 from stomar/linter-check-sha-sums
+    
+    Add Linter test for SHA sum lengths
+
+commit 8f9e920331437b698ddb3d1b67faeb6ad3611faa
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:12:05 2018 +0100
+
+    Fix SHA512 sums in Ruby 2.4.0-preview3 post (pt)
+
+commit 99880bb4db08c2d3d81d8e3ddfe0c9d1e33b46ab
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:11:18 2018 +0100
+
+    Fix SHA512 sum in Ruby 2.6.0-rc1 posts
+
+commit 5a34b3b436e6229a4a40e23be0dbf91b56b1ff3e
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:10:16 2018 +0100
+
+    Small change in layout of SHA sums in some old posts
+    
+    Small format change to avoid Linter errors for some old release posts.
+    The previous format caused errors because of the seemingly missing
+    SHA sum (which is given in the following line of the definition list).
+    Removing the ':' after 'SHA256' makes the Linter ignore these sums.
+
+commit 51580e535b7246f43a6b2034c9b0d60bed81d64e
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:09:16 2018 +0100
+
+    Add test for SHA sum lengths
+    
+    Check for wrong SHA sum lengths in release posts, an error that
+    happens from time to time (mainly truncated or wrapped SHA512).
+
+commit 6144c5c48da1733e46c6675a13d96f8a829ca4b0
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:08:05 2018 +0100
+
+    Fix line breaks for SHA sums in some old posts
+    
+    Drop nonessential line breaks in markdown source of
+    some old release posts for easier parsing of SHA sums.
+
+commit 1ba26514a3b4cbe8e88b71a83e91830a46e20502
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:07:03 2018 +0100
+
+    Never exit on errors during Linter test runs
+    
+    Always set +exit_on_errors+ to false for Linter test runs,
+    even for test cases that should not cause errors, to avoid
+    stopping test runs and silencing (unexpected) error messages
+    during development.
+
+commit 2bc187be5366d076dbe9e9f55740c2c82a0bf222
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Dec 30 21:06:13 2018 +0100
+
+    Add minitest to development group
+    
+    For Linter tests with 'bundle exec ruby test/test_linter.rb'.
+
+commit 5373a5a207681366fbe57108a748c634d37679fe
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 29 17:42:33 2018 +0100
+
+    Fix SHA512 sums in Ruby 2.6.0 post (es)
+
+commit 092c8c84b823b5925058dfb8da56a2f07d19f5aa
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 29 10:02:47 2018 +0100
+
+    Fix SHA512 sums in Ruby 2.6.0 post (ja)
+
+commit 90c52536f25a934dcc64c222a460fbd5f0af2c19
+Author: Vinicius Brasil <vnbrs@icloud.com>
+Date:   Fri Dec 28 10:17:47 2018 -0200
+
+    Update URL reference order to match en version (pt)
+
+commit fd1ae53d21941dae7423a02bfe49a30b4816b7d6
+Merge: d769dd58 cdb8e2c6
+Author: David Padilla <david@padilla.cc>
+Date:   Thu Dec 27 14:11:39 2018 -0700
+
+    Merge pull request #1932 from vtamara/es-20181225-ruby-2-6-0
+    
+    Translation of 2018-12-25-ruby-2-6-0-released.md (es)
+
+commit 506f2a4866e798ce738d3d7bfc0abb047b8dfd52
+Author: Vinicius Brasil <vnbrs@icloud.com>
+Date:   Wed Dec 26 22:14:22 2018 -0200
+
+    Remove trailing spaces
+
+commit c97165bbcc493c83a95091f1d64a9be771c3ac5c
+Author: Vinicius Brasil <vnbrs@icloud.com>
+Date:   Wed Dec 26 21:12:30 2018 -0200
+
+    Update about/website/index.md with supporting orgs (pt)
+
+commit d769dd58e1ee7c69362a16c38a180a18df0a9ef1
+Author: Shia <rise.shia@gmail.com>
+Date:   Thu Dec 27 08:02:12 2018 +0900
+
+    Follow up 43399ee (#1935)
+    
+    Follow up 43399ee (ko)
+
+commit cdb8e2c6681b1c14632b6675c23024e5c72c28b1
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Tue Dec 25 16:00:57 2018 -0500
+
+    Translation of 2018-12-25-ruby-2-6-0-released.md (es)
+
+commit bc01381b8270d76424eec5b8ee2d4cf7f72af2ea
+Merge: c8e9589b fd3d543a
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Dec 26 13:03:19 2018 -0700
+
+    Merge pull request #1923 from vtamara/es-20181215-2-6-0-rc2
+    
+    Translation of 2018-12-15-ruby-2-6-0-rc2-release (es)
+
+commit c8e9589b9aded39fb96afb91007df388eb36ec31
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Wed Dec 26 13:01:22 2018 +0100
+
+    Translate 2.6.0 release post (de)
+
+commit 43399ee7c0dd1a310d839101623d97e1892fe32b
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Dec 26 10:02:09 2018 +0100
+
+    Small improvements in 2.6.0 post (en)
+
+commit 6f1061ecacb4f2817dce12044118d87a86dfc785
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Dec 26 09:16:41 2018 +0100
+
+    Fix sha512 sums in Ruby 2.6.0 post (ko)
+
+commit 26e3629b8b3b855966120960010ec7e491a9a606
+Merge: 2f4cc3e6 fdba9b9b
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Wed Dec 26 17:02:26 2018 +0900
+
+    Merge pull request #1930 from vnbrs/patch-2
+    
+    Fix Ruby 2.6 release post typo
+
+commit 2f4cc3e69c51de85655b5ec5600c85b46d3aeaa0
+Merge: c3a14589 e73d4c1b
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Wed Dec 26 17:01:56 2018 +0900
+
+    Merge pull request #1934 from epistrephein/fix-2.6-branches-status
+    
+    Remove duplicate `status` and use expected `date` key for 2.6 branch
+
+commit c3a145897b03970fa78b469a3ece1c43e234ddf5
+Author: Shia <rise.shia@gmail.com>
+Date:   Wed Dec 26 16:36:45 2018 +0900
+
+     Translate Ruby 2.6.0 Release (ko) (#1928)
+    
+    * Copy from original news
+    
+    * Translate Ruby 2.6.0 Release (ko)
+    
+    * Apply suggestions from code review
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+    
+    * More natural explanation
+    
+    * Apply Suggestion
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit a763274efd88580046234bece7dfe0ca51762bff
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Dec 26 08:23:07 2018 +0100
+
+    Fix sha512 sums in Ruby 2.6.0 post (en)
+
+commit e73d4c1b0e81cc286442069305188aa3392eab81
+Author: epistrephein <epistrephein@gmail.com>
+Date:   Wed Dec 26 08:19:02 2018 +0100
+
+    Use date key instead of status for release date
+
+commit 845d4983279672a6c48e4fc45c87a500c70e91f4
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Wed Dec 26 08:17:32 2018 +0100
+
+    Fix date field for Ruby 2.6 series
+
+commit fdba9b9bc1c336994bb002b4e7592fcc03290c43
+Author: Vinicius Brasil <vnbrs@icloud.com>
+Date:   Tue Dec 25 14:28:16 2018 -0200
+
+    Fix Ruby 2.6 release post typo
+
+commit c1299d04044dba5d9a1a8e917ce420f306817a4d
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Tue Dec 25 22:08:27 2018 +0900
+
+    Translate Ruby 2.6.0-rc2 released (zh_cn) (#1921)
+
+commit c3db46db02084897562e0100245d2f746ff34989
+Author: Shia <rise.shia@gmail.com>
+Date:   Tue Dec 25 18:52:44 2018 +0900
+
+    Translate 2.6.0-rc{1,2} release (ko) (#1924)
+    
+    * Copy original news
+    
+    * [KO] Translate 2.6.0-rc{1,2} release
+    
+    * Fix to use 2.6.0
+    
+    * Follow up f8e7266
+    
+    * Apply suggestions from code review
+    
+    Apply reviews
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+    
+    * Use 11, not 11.0.0
+    
+    * better korean
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit 68a659ed37888caaf50129d2b862676b0f3b21ee
+Author: Shia <rise.shia@gmail.com>
+Date:   Tue Dec 25 17:40:00 2018 +0900
+
+    Translate fukuoka-ruby-award 2019 (ko) (#1925)
+    
+    * Copy original news
+    
+    * [KO] Translate fukuoka-ruby-award 2019
+    
+    * s/여러분에게/여러분께/
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+    
+    * Better korean
+    
+    /대회에 참가하는 것은/대회참가는/
+    
+    * Fix to correct year
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+    
+    * Fix to correct year (2)
+    
+    Co-Authored-By: riseshia <rise.shia@gmail.com>
+
+commit 4b65379f81c3a70eb9d016c9bf67fb112393cbac
+Merge: df17fd69 0f574345
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Tue Dec 25 16:37:40 2018 +0900
+
+    Merge pull request #1926 from nurse/ruby-2-6-0-released
+    
+    Ruby 2.6.0 Released
+
+commit 0f5743456952e2d28fc9287535cc6e99aaee2530
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Tue Dec 25 16:26:27 2018 +0900
+
+    update shortstat
+
+commit 5739e20f4ac94d577dd80d07b37dcbc93909335a
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Tue Dec 25 16:22:51 2018 +0900
+
+    fix missing version
+
+commit 1ad3dd1bff49a12cf92f4741b4119b33dbb4b9ce
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Tue Dec 25 15:55:47 2018 +0900
+
+    Ruby 2.6.0 Released
+
+commit df17fd69d1ff4e405c97732e944337f1b8324613
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Dec 24 12:22:13 2018 +0100
+
+    Improvements in Ruby 2.6.0-rc2 post (de)
+
+commit fe3c5d73d30c8114949eee92bb8b93551f3d2fc1
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Dec 24 12:16:45 2018 +0100
+
+    Small improvements in Ruby 2.6.0-rc2 post (en)
+
+commit f8e7266e51d4ff00e3456d38a58c9f69cb944dfd
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Mon Dec 24 12:02:32 2018 +0100
+
+    Imrovements in Ruby 2.6.0-rc2 post (en)
+
+commit 764f649e0443af2cd4196f5789b4cf152dd8832d
+Author: Shia <rise.shia@gmail.com>
+Date:   Sun Dec 23 22:08:06 2018 +0900
+
+    [KO] Follow up changes of #1877 (#1879)
+    
+    * [KO] Follow up changes of #1877
+    
+    Ref: https://github.com/ruby/www.ruby-lang.org/pull/1877
+    
+    * Add faq
+    
+    * Add C API reference
+    
+    * Add Atom to list
+    
+    * Translate FreeBSD
+    
+    Ports Collection from
+    https://docs.freebsd.org/doc/10.3-RELEASE/usr/local/share/doc/freebsd/ko/articles/contributing/ports-contributing.html
+    
+    * Add missing text
+    
+    * Use 모하브 as Mojave translation
+    
+    * Follow up dc375e4aa909ce78d9cfb019a4a81940086830cf
+    
+    * Prefer 가상 머신 than 가상 기기 for virtual machine
+    
+    * Fix more
+    
+    * Use korean link
+
+commit d3d96e59317231d25888f5de9e98adeb2315fddd
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Dec 21 00:12:46 2018 +0100
+
+    Fix typos in Ruby 2.6.0-rc2 post (de)
+
+commit 8c21be1fb4158d28e4e9a3170450c1a5f33d5063
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Dec 21 00:08:11 2018 +0100
+
+    Imrovements in Ruby 2.6.0-rc2 post (en)
+
+commit b272b60dfd0fffa1243eaaba5e59cc48a4933aff
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Thu Dec 20 16:04:59 2018 +0100
+
+    Translate 2.6.0-rc2 release (de)
+
+commit fd3d543a4a7b7434cf4cbf593a74590bc263615c
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Wed Dec 19 14:09:24 2018 -0500
+
+    Translation of 2018-12-15-ruby-2-6-0-rc2-release (es)
+
+commit f145587990ad04fed15bf44587a4b43beb87b266
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 15 21:45:57 2018 +0100
+
+    Small fix in snap post (de)
+
+commit af2733ed1a439307a483f273b7f09d18574da122
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 15 21:43:06 2018 +0100
+
+    Various improvements in snap post (en)
+
+commit eabc38210dbabeea261ab58689f887ef18e94bbe
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 15 21:26:09 2018 +0100
+
+    Rewrap snap post (en)
+
+commit 805b0a02d7e95a4c857d7d3e80d6c2f7c9cef8a5
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 15 21:11:25 2018 +0100
+
+    Fix date and link for Ruby 2.6.0-rc1
+
+commit 91a70cef90e24623e3f99240a459530991d4e2e5
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 15 21:10:31 2018 +0100
+
+    Fix typo (zh_cn)
+
+commit 0a656877802e352b3d333c8e77fd9d32358db2a3
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sat Dec 15 21:09:40 2018 +0100
+
+    Add newlines
+
+commit 9abb25a0d5c5024d7e2cf1d5137e1a72daaeaab9
+Merge: a240d577 3040463f
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Sat Dec 15 13:46:20 2018 +0100
+
+    Merge branch 'translate-2-6-0-rc1-to-de'
+
+commit 3040463f7ceb8b63f1243413bffe6b90a431958c
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Sat Dec 15 13:38:06 2018 +0100
+
+    Translate 2.6.0-rc1 post (de)
+
+commit a240d5772c3d4db2958ebfb1f185b73aa6ae5954
+Merge: e52b3008 55e062dd
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Sat Dec 15 21:24:20 2018 +0900
+
+    Merge pull request #1920 from nurse/ruby-2-6-0-rc2-released
+    
+    Ruby 2.6.0-rc2 Released
+
+commit 55e062dd6d63a4824c311b6c0543cb00008e562a
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Sat Dec 15 20:12:29 2018 +0900
+
+    fix url and so on
+
+commit ee2f791f3a4511bfa07ba0f49caa67f092d09d60
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Sat Dec 15 20:05:36 2018 +0900
+
+    Ruby 2.6.0-rc2 Released
+
+commit e52b3008740d2226d01b39da1fb7055eda2abc2c
+Merge: 15a19ed6 ed6185f6
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Dec 12 10:20:59 2018 -0600
+
+    Merge pull request #1917 from vtamara/es-20181206-2-6-0-rc1
+    
+    Translate 2018-12-06-ruby-2-6-0-rc1-released (es)
+
+commit 15a19ed6d58e849c0eebd939d5fb902495a2a390
+Merge: 117e4b62 e7d2a14d
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Dec 12 10:18:17 2018 -0600
+
+    Merge pull request #1916 from vtamara/es-2018-11-29-fukuoka
+    
+    Translation of 2018-11-29-fukuoka-ruby-award-2019.md (es)
+
+commit ed6185f64c655600613438b30bd56e58deffd514
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Fri Dec 7 14:30:01 2018 -0500
+
+    Translate 2018-12-06-ruby-2-6-0-rc1-released.md (es)
+
+commit e7d2a14d6bc0f1df34e9bb072ba84e19f6d1fe21
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Fri Dec 7 14:03:26 2018 -0500
+
+    Translation of 2018-11-29-fukuoka-ruby-award-2019.md (es)
+
+commit 117e4b62ae59b52b2b098ec4b1d84a8ba671c1b1
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Tue Dec 11 17:21:17 2018 +0900
+
+    Translate Ruby 2.6.0-rc1 Released (zh_cn)
+
+commit 688e5e907c1feee17cf0dacf14f0318fcb5cb329
+Author: Shia <rise.shia@gmail.com>
+Date:   Sun Dec 9 16:30:56 2018 +0900
+
+    [KO] Remove MacRuby from about page (#1918)
+    
+    Follow up https://github.com/ruby/www.ruby-lang.org/pull/1836
+
+commit 359bc1955b1c444f2f7d66cedc9515fad5b6f395
+Merge: 4396c61b e10ba235
+Author: David Padilla <david@padilla.cc>
+Date:   Fri Dec 7 12:44:26 2018 -0600
+
+    Merge pull request #1902 from vtamara/es-20181108-snap
+    
+    Translates 2018-11-08-snap.md (es)
+
+commit e10ba235d53ffdf0a1121e5ab5ece400f3af77e1
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Fri Dec 7 13:34:15 2018 -0500
+
+    Fixing urls after https://github.com/ruby/www.ruby-lang.org/pull/1907/files
+
+commit 4396c61b38868b92aa40ee22a761d099ca390dee
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Fri Dec 7 09:16:57 2018 +0900
+
+    Fix candidate version number (en)
+
+commit 93b65db83e16ad070e8997a6f11c2c7021aa2aeb
+Author: Shannon Skipper <shannonskipper@gmail.com>
+Date:   Thu Dec 6 16:55:00 2018 -0800
+
+    Fix ruby-2.6.0-rc1 announcement file exts (en, ja) (#1911)
+
+commit aae76c9f90e6d98fe4d4160192cd6b5ef1da382a
+Merge: 3410ff29 b09acaf2
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Fri Dec 7 02:05:22 2018 +0900
+
+    Merge pull request #1910 from nurse/ruby-2-6-0-rc1-released
+    
+    fix url
+
+commit b09acaf2f1e8b45f199f20f830ca3387060b467d
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Fri Dec 7 01:58:50 2018 +0900
+
+    fix url
+
+commit 3410ff29bf7a33d8522ef585e29b8b57ccbed1b7
+Merge: 1f549080 db778633
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Fri Dec 7 01:34:58 2018 +0900
+
+    Merge pull request #1909 from nurse/ruby-2-6-0-rc1-released
+    
+    Ruby 2.6.0-rc1 Released
+
+commit db77863392c0f2143ada28a57d5065c22ce7d24e
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Fri Dec 7 01:14:05 2018 +0900
+
+    Ruby 2.6.0-rc1 Released
+
+commit 5435d8686c6999c516bb83ea1bde0394bd8fc043
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Sun Dec 2 21:53:14 2018 -0500
+
+    Translates 2018-11-08-snap.md (es)
+
+commit 1f5490807647b4542b2efd1d7c396ca37e7d8f76
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Sun Dec 2 14:43:17 2018 +0700
+
+    Translate Ruby 2.6.0-preview3 released news (id)
+
+commit cf216f80c92030c15897ec58492dbe430688f241
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Sat Nov 24 19:59:11 2018 +0700
+
+    Translate Ruby 2.4.5 released news (id)
+
+commit e87b7ada205e88c2ff60816cf1665ab2ccfb910f
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Wed Dec 5 20:02:50 2018 +0900
+
+    Translate snap post (zh_tw)
+
+commit e0ea92a2f6791610846fc620a75ae5814efc0bc1
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Wed Dec 5 07:55:00 2018 +0900
+
+    Translate snap post (zh_cn)
+
+commit 97ef6910f74bd2b4e635d5c35983798fbe865d46
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Wed Dec 5 07:53:07 2018 +0900
+
+    Translate Fukuoka 2019 Post (zh_cn)
+
+commit fefa8d15cf9dc9e2bc76f4e5b649c9222deb8613
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Wed Dec 5 17:35:20 2018 +0900
+
+    Translate 2019 Fukuoka award post (zh_tw) (#1908)
+
+commit 71e9cb1d67783735784aff0072a1a91926482faf
+Merge: 710d49f4 9885c8d8
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Tue Dec 4 17:33:48 2018 +0900
+
+    Merge pull request #1907 from olivierlacan/fix-snap-post-links
+    
+    Fix links in English Snap post
+
+commit 9885c8d817e7ffc7074552c523b87e0a70c1d3f4
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Tue Dec 4 07:12:24 2018 +0100
+
+    Fix links in English Snap post
+    
+    See https://github.com/ruby/www.ruby-lang.org/pull/1888#issuecomment-442523867
+    
+    @hsbt, read your GitHub emails! :-p
+
+commit 710d49f4d217a26b51b8a7202b767312c1c184f5
+Merge: dfa7e9d5 d9ea771e
+Author: David Padilla <david@padilla.cc>
+Date:   Mon Dec 3 18:16:14 2018 -0600
+
+    Merge pull request #1903 from vtamara/fix-es20180620-2-2
+    
+    Translate title of 2018-06-20-support-of-ruby-2-2-has-ended.md
+
+commit dfa7e9d5249f065ef4cb3b1ae96772bfd54721e2
+Author: Jakob Krigovsky <jakob@krigovsky.com>
+Date:   Wed Oct 3 10:55:33 2018 +0200
+
+    Update spelling of “macOS”
+    
+    Co-Authored-By: Chayoung You <yousbe@gmail.com>
+
+commit d9ea771e7d2fac445e4d829c21d27bbce6e515f8
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Sun Dec 2 21:58:13 2018 -0500
+
+    Translate title
+
+commit e8ff86f9fe2e6817d8c085bab9dacbba7715e764
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Sun Dec 2 10:46:44 2018 +0100
+
+    Translate Fukuoka Award 2019 post (de)
+
+commit 975c8f79dbb5d8b66d0b2326932899fec744dcc3
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Sun Dec 2 10:46:32 2018 +0100
+
+    Translate snap release post (de)
+
+commit 4b89845cf6267307dba874ae4ba83c9b21c8da5e
+Author: Jakob Krigovsky <jakob@krigovsky.com>
+Date:   Sat Dec 1 01:50:20 2018 +0100
+
+    Fix typo in installation page (en) (#1878)
+
+commit 920f53a6716a42b3080fb1818b568c012ba4480b
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Sat Dec 1 01:48:30 2018 +0100
+
+    Update Blog section (en) (#1889)
+    
+    Removed several defunct blogs:
+    - Ruby Inside: last updated in 2014 (4 years ago)
+    - O'Reilly Ruby: doesn't exist anymore
+    - Matz' Blog: not updated since 2014
+    - Slashdot link, since https://slashdot.org/index2.pl?fhfilter=Ruby
+    reveals almost no recent mentions of Ruby, Reddit and HN are far more
+    active these days.
+    
+    Added:
+    - RubyFlow: replacement for Ruby Inside as community-submitted news
+    - Ruby Weekly: although not a blog, arguably the most popular news
+    source and since #1465 was a tough sell for a single Newsletter, I
+    believe it belongs on this list
+    
+    Changed:
+    - the title was "Weblogs" even though the body uses "Blogs", let's be
+    consistent as "weblog" has fallen out of fashion, or rather has never
+    been in fashion to begin with:
+    https://trends.google.com/trends/explore?date=all&geo=US&q=weblog,blog
+    
+    Also took the opportunity to replace number-based reference links to
+    make @stomar happy. Even though he hates my verbose commit messages. <3
+
+commit 8bc7b3b42adb4637f7b96cc2b1aa2418814131e4
+Author: Nathaniel Suchy <me@lunorian.is>
+Date:   Fri Nov 30 19:46:31 2018 -0500
+
+    Improve FAQ1 post (en) (#1900)
+    
+    Replace "..." with "and so on" to make the text about OO features consistent with each other
+
+commit 9f0dd8f2b8500ed486961273214a5200f2e8cc0e
+Author: Shannon Skipper <shannonskipper@gmail.com>
+Date:   Fri Nov 30 16:44:26 2018 -0800
+
+    Fix code snippets in snap post (en, ja) (#1899)
+    
+    * Switch to markdown style code blocks
+    * Fix a couple single-character typos
+
+commit 8f90080fcbde2b840473c56c5ed1d88c342cb695
+Author: digitalfukuoka <award@f-ruby.com>
+Date:   Thu Nov 29 17:10:12 2018 +0900
+
+    Announce Fukuoka Ruby Award 2019 (en)
+    
+    Closes #1897
+
+commit 14997f783b6545d44ac1c84d5cf97545d354467c
+Merge: ef3d7d68 a3c7845c
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Nov 28 11:05:05 2018 -0600
+
+    Merge pull request #1884 from vtamara/es-20181017-2-3-8
+    
+    Translation of 2018-10-17-ruby-2-3-8... (es)
+
+commit ef3d7d68e046a7fe97eda5327b014dd132c4c0c0
+Merge: 8ca031f9 c9fd17f9
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Nov 28 11:03:41 2018 -0600
+
+    Merge pull request #1885 from vtamara/es-20181017-ruby-2-5-2
+    
+    Translate 2018-10-17-ruby-2-5-2 (es)
+
+commit 8ca031f92ee2be8d25273557f4b49fc5d85e807b
+Merge: 2d6612d1 9441c217
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Nov 28 11:02:46 2018 -0600
+
+    Merge pull request #1886 from vtamara/es-20181017-ruby-2-4-5
+    
+    Translation of 2018-10-17-ruby-2-4-5 (es)
+
+commit 2d6612d167077fca4f24eab2bcc175ace455967f
+Merge: 6f135abc 22e442f2
+Author: David Padilla <david@padilla.cc>
+Date:   Wed Nov 28 11:02:00 2018 -0600
+
+    Merge pull request #1887 from vtamara/es-20181106
+    
+    Translation of 2018-11-06-ruby-2-6-0-preview3 (es)
+
+commit 6f135abcf14f3adcdaca3d574dc7968cdbfa25e5
+Merge: ed6c0592 7949cbfa
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Wed Nov 28 18:28:15 2018 +0900
+
+    Merge pull request #1836 from sonicdoe/macruby
+    
+    Remove MacRuby from about page
+
+commit ed6c0592dd0d94bf73434fb3ca8554faf6811b8f
+Merge: 725ca8f2 c1685d73
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Wed Nov 28 18:26:59 2018 +0900
+
+    Merge pull request #1888 from ruby/snap
+    
+    The announcement for snap release.
+
+commit 22e442f262c90d3aa640d67f4e60f9f551f67a85
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Tue Nov 20 08:57:02 2018 -0500
+
+    Translation of 2018-11-06-ruby-2-6-0-preview3 (es)
+
+commit c9fd17f9054449674dcee108a4b68c62b5d4b9fb
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Tue Nov 20 06:16:20 2018 -0500
+
+    Translate 2018-10-17-ruby-2-5-2 (es)
+
+commit 9441c217af23ca500d5df8152111130121facd8c
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Tue Nov 20 06:27:05 2018 -0500
+
+    Translation of 2018-10-17-ruby-2-4-5 (es)
+
+commit a3c7845c479508a9951f56e268d8e3eef8d4312f
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Mon Nov 19 20:10:45 2018 -0500
+
+    Translation of 2018-10-17-ruby-2-3-8... (es)
+
+commit 725ca8f23667deb76bc452cb1604bc310468b36f
+Merge: 3e61e076 6339bcdf
+Author: David Padilla <david@padilla.cc>
+Date:   Tue Nov 27 17:20:54 2018 -0600
+
+    Merge pull request #1876 from vtamara/es-p20180620
+    
+    Translation of 2018-06-20-support-of-ruby-2-2-has-ended (es)
+
+commit 3e61e076b7b9c1692ed9816cb207c1705f138ba1
+Merge: ecbdd1a6 9257a864
+Author: David Padilla <david@padilla.cc>
+Date:   Tue Nov 27 17:20:05 2018 -0600
+
+    Merge pull request #1882 from vtamara/es-20181017-openssl
+    
+    Translation of 2018-10-17-openssl... (es)
+
+commit d94052764ce963446260c2e812686bb631e0b2bc
+Merge: 5c8f2a52 ecbdd1a6
+Author: Goudarz Jafari <goudarz.jafari@gmail.com>
+Date:   Sun Nov 25 22:46:46 2018 +0330
+
+    Merge pull request #1 from ruby/master
+    
+    update repo
+
+commit ecbdd1a6dc67164983a85bc8e9796fa63f575872
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Sat Nov 24 17:24:44 2018 +0900
+
+    Translate 2.6.0-preview3 post (zh_tw)
+
+commit dac9be992b7126089e7c380edbd1ffbc2f462389
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Sun Nov 25 12:56:05 2018 +0900
+
+    Translate 2.6.0-preview3 posts (zh_cn) (#1890)
+
+commit c1685d73e98fa33fa641bc37a50082fc90aa04f7
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Sat Nov 24 08:16:39 2018 +0900
+
+    Applied 2nd proofreadings by sorah
+
+commit ac6dda4fba349c25b30d96bf7dbf381e1786c8c1
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Sat Nov 24 07:59:48 2018 +0900
+
+    Fixed ja
+
+commit 92c9a69df277e9eff33250305c49605b51036d2b
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Fri Nov 23 20:49:12 2018 +0900
+
+    Added option for pristine
+
+commit 1b0f6c1fb8a6286d790f05ae38d0c64b63daef34
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Thu Nov 22 22:20:59 2018 +0900
+
+    Added install section
+
+commit 4af88f51d3833fc4a54b34373da1f1dbe8fa3863
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Thu Nov 22 22:14:04 2018 +0900
+
+    Applied proofreadings by sorah
+
+commit 4ac65426ec1a18dc31e2e97066978dbc580577e6
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Wed Nov 21 12:20:25 2018 +0900
+
+    Rename and added contents for snap release.
+
+commit 6dc64debbff746866d160cf58d6c6c8753a749c6
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Thu Nov 8 15:48:09 2018 +0000
+
+    rake new_post:en
+
+commit b26c5feb4b07fc603c3c64c94cd90cacd6a4aee1
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Wed Sep 21 19:01:14 2016 -0400
+
+    Add Podcasts section to Community
+    
+    Includes Ruby Rogues and the Ruby on Rails Podcast since they're the
+    most prominent Ruby-related podcasts in English but I'm sure there might
+    be more in other languages.
+
+commit ab1d3634ea9817e1058df73a63a0628a0c4dbb8c
+Author: Júlio Campos <jcserracampos@gmail.com>
+Date:   Thu Oct 4 11:41:04 2018 -0300
+
+    Translate Ruby 2.5.0 Release post (pt)
+    
+    Closes #1840
+
+commit e026493f66d5a77d7e01e83f9fbb7fe3bc0cf328
+Author: Zane Alexander <zanesandin@gmail.com>
+Date:   Mon Nov 19 20:02:00 2018 -0500
+
+    Translate ruby 2.5.1 release (es) (#1883)
+    
+    
+    Co-Authored-By: ZASMan <zanesandin@gmail.com>
+
+commit 8dd2e9d694d50f399c382fc196206cdd3835c34b
+Merge: 48ded006 ef0b15f6
+Author: Gustavo Villa <gfvcastro@gmail.com>
+Date:   Mon Nov 19 17:11:06 2018 -0300
+
+    Merge pull request #1881 from vtamara/es-20181017-not-propagated
+    
+    Translate 2018-10-17-not-propagated... (es)
+
+commit 9257a86496beda18ec9f603b25822192cb63fcab
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Mon Nov 19 09:36:03 2018 -0500
+
+    Translation of 2018-10-17-openssl... (es)
+
+commit ef0b15f6311b0c7be5c01cc2f57aaeb06bcc9060
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Mon Nov 19 06:54:03 2018 -0500
+
+    Translate 2018-10-17-not-propagated-taint-flag-in-some-formats-of-pack-cve-2018-16396.md (es)
+
+commit 48ded006d8fddd843449897553895be571259a73
+Merge: 769fad06 1f6e5aaa
+Author: Juanito Fatas <katehuang0320@gmail.com>
+Date:   Fri Nov 16 09:01:25 2018 +0900
+
+    Update Documentation and Installation pages (en)
+    
+    Merge pull request #1877 from olivierlacan/official-api-docs
+
+commit 1f6e5aaa2ebc6fb6a7b47b09f8e1b5cd74064bc2
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Thu Nov 15 13:08:09 2018 -0500
+
+    No one says Weblogs anymore
+
+commit c06bd27c56fd5c4c170e8c876d0a8a01fcd80b90
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Thu Nov 15 13:07:59 2018 -0500
+
+    Clean up and update Installation guide
+    
+    There were a lot of outdated (and many may still remain)
+    pieces of information in this guide and it was often
+    needllessly verbose.
+    
+    I cut down on unnecessary copy, added relevant internal
+    and external links, etc.
+
+commit e01e69935f69250f279076b718eae5d9f71cf817
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Thu Nov 15 13:06:45 2018 -0500
+
+    Add listing for the official API documentation
+    
+    I was surprised not to find these listed anywhere even
+    though it is the official documentation built from source
+    and hosted on ruby-lang.org
+    
+    Third parties are fine, but we shouldn’t link to third parties
+    only if we offer this resource already.
+
+commit f3133b0d408a3ef6e040a0f485f34798245caae3
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Thu Nov 15 13:05:37 2018 -0500
+
+    Remove redundant listing of Getting Started links
+    
+    These links are already available on every single page of
+    the site in the sidebar, there’s no need to repeat them here.
+
+commit 4d615d4670d78f9108fea1cd8e21c738ae8da365
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Thu Nov 15 13:05:03 2018 -0500
+
+    Don’t linger on installation in documentation
+    
+    There’s no reason to spend so much time talking about
+    installing Ruby or the command line on a page dedicated
+    to documentation. We can refer people directly to the
+    installation page which is much better suited to this.
+
+commit f971262255a484eddefe53bf545a7848d3939646
+Author: Olivier Lacan <hi@olivierlacan.com>
+Date:   Thu Nov 15 12:30:07 2018 -0500
+
+    Simplify introductory copy for Documentation
+
+commit 769fad0683360f8c3b8f7d1e2f0b41dae8d21238
+Author: SADIK KUZU <sadikkuzu@hotmail.com>
+Date:   Wed Nov 14 08:54:32 2018 +0300
+
+    Fix typos on about page (tr) (#1853)
+
+commit b420c7a309f48d5c1289b44aeb72dab0188e621b
+Author: Juanito Fatas <juanito.fatas@shopify.com>
+Date:   Tue Jul 24 11:36:58 2018 -0400
+
+    Add CODEOWNERS to enable auto review
+
+commit 6339bcdf3a2a2d98dc3a8402e11280282f4feff2
+Author: Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
+Date:   Mon Nov 12 14:39:17 2018 -0500
+
+    Translation of 2018-06-20-support-of-ruby-2-2-has-ended (es)
+
+commit 7b4204df3a82f0a985ccccd3326e088d596c111d
+Author: Delton Ding <dsh0416@gmail.com>
+Date:   Mon Nov 12 20:15:38 2018 +0900
+
+    Update installation page (zh_cn) (#1709)
+
+commit f7db758124585bf135214ccc013a488b844903e7
+Author: Vagish Vela <web@vagish.com>
+Date:   Mon Nov 12 06:12:41 2018 -0500
+
+    Fix links in first FAQ Page (en) (#1850)
+    
+    * Update location of TextPad Ruby definition
+    
+    The old location was heading to a 404 error, this is the new location.
+    
+    * Remove the Jed editor from FAQ page 1
+    
+    The s-lang file supporting Ruby is no longer maintained and is un-findable
+    on kondara.org.
+
+commit 06b03c9e7d90d0fd9b83799cf295b74b08882339
+Author: Marvin Gülker <m-guelker@phoenixmail.de>
+Date:   Sun Nov 11 20:59:12 2018 +0100
+
+    Translate most recent news (de)
+
+commit 6a0d4b798e97b4023b7617aa13bf297bd2d5e08a
+Author: Kazuhiro NISHIYAMA <znz@users.noreply.github.com>
+Date:   Fri Nov 9 11:09:44 2018 +0900
+
+    Fix link to gist in 2.6.0-preview3 posts (en, ja) (#1871)
+
+commit 819c16c7413e74e8120164700d6ee4c36072aade
+Author: Jordanlelay <43350109+Jordanlelay@users.noreply.github.com>
+Date:   Thu Nov 8 10:52:28 2018 +0100
+
+    Fix typo on librairies page (fr)
+
+commit 5a6ce58017626f02ce26716725072b09fc1f1d1a
+Author: Jordanlelay <43350109+Jordanlelay@users.noreply.github.com>
+Date:   Fri Nov 9 02:14:45 2018 +0100
+
+    Fix typo and wording on community page (fr) (#1874)
+
+commit 7209524caf6b2a6b49543c0088f3aff851c287a2
+Author: SHIBATA Hiroshi <hsbt@ruby-lang.org>
+Date:   Thu Nov 8 14:53:38 2018 +0000
+
+    update bundles
+
+commit d9f4a07ed395e9f7f418dc5d69a4d57a80a88249
+Author: Shia <rise.shia@gmail.com>
+Date:   Thu Nov 8 22:11:49 2018 +0900
+
+    [KO] Translate 2018-11-06-ruby-2-6-0-preview3-released.md (#1872)
+    
+    * cp {en,ko}/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md
+    
+    * Translate ruby 2.6.0-preview3
+    
+    * Copy oneshot coverage explanation
+    
+    * Translate oneshot coverage
+    
+    * Fix translation
+
+commit fedb65aadece57a7c39b44488934020dd25e0137
+Author: Shia <rise.shia@gmail.com>
+Date:   Thu Nov 8 22:03:50 2018 +0900
+
+    %s/메소드/메서드/g (#1875)
+    
+    Ref: http://www.korean.go.kr/front/onlineQna/onlineQnaView.do?mn_id=61&qna_seq=11976
+
+commit da95fa07c90ae7fe46bc3aca8b0ce0b7cd669d65
+Merge: cd44e1f7 d8b54ea2
+Author: NARUSE, Yui <nurse@users.noreply.github.com>
+Date:   Wed Nov 7 00:39:00 2018 +0900
+
+    Merge pull request #1870 from ruby/ruby-2-6-0-preview3-released
+    
+    Ruby 2.6.0-preview3 Released
+
+commit d8b54ea2067eaa7cd30dd228a62999022916d0a6
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Wed Nov 7 00:30:54 2018 +0900
+
+    fix typos pointed by znz
+
+commit b540819f92cdecf421c45c018579bec9ee8b476e
+Author: nagachika <nagachika@ruby-lang.org>
+Date:   Wed Nov 7 00:20:25 2018 +0900
+
+    Update ja/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md
+    
+    Co-Authored-By: nurse <nurse@users.noreply.github.com>
+
+commit 0e1f856d4b222335624d7a02a69b864e6ab57e24
+Author: nagachika <nagachika@ruby-lang.org>
+Date:   Wed Nov 7 00:20:20 2018 +0900
+
+    Update en/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md
+    
+    Co-Authored-By: nurse <nurse@users.noreply.github.com>
+
+commit 266fdf6d169d3247cf86afa15a307345300b45cb
+Author: nagachika <nagachika@ruby-lang.org>
+Date:   Wed Nov 7 00:20:10 2018 +0900
+
+    Update en/news/_posts/2018-11-06-ruby-2-6-0-preview3-released.md
+    
+    Co-Authored-By: nurse <nurse@users.noreply.github.com>
+
+commit 540d4993faad50f14c1781b3a7419453fdfded48
+Author: NARUSE, Yui <naruse@airemix.jp>
+Date:   Tue Nov 6 22:09:00 2018 +0900
+
+    Ruby 2.6.0-preview3 Released
+
+commit cd44e1f7820e77b567ccb95bdf411deb7b4e32f0
+Author: Andrias Meisyal <andriasonline@gmail.com>
+Date:   Fri Nov 2 20:04:40 2018 +0700
+
+    Translate Ruby 2.5.2 released news (id)
+
+commit b104504ad5f83ecf43cb70e05704d3c2ab09ced2
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Sun Nov 4 09:32:40 2018 +0100
+
+    Remove dead link to digg programming page (id)
+
+commit 49db8a28370b9a6897064dcb58231cddfcdbc957
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Nov 2 20:08:36 2018 +0100
+
+    Fix typo (pl)
+
+commit 48e3a8eebc3e93c486458dd563ff1d43b5cd8498
+Author: Marcus Stollsteimer <sto.mar@web.de>
+Date:   Fri Nov 2 19:55:16 2018 +0100
+
+    Partially revert "Remove link to digg programming page..."
+    
+    This partially reverts commit b6bd84fb9c279e96ade8321e2016ee89bbfd5b88.
+    For `id' and `pl' the number of mentioned sites changes from plural
+    to singular, and I'm not convinced that the grammar is still correct.
+    Better an obviously outdated paragraph than a subtle error that is
+    likely to stay unnoticed.
diff --git a/fa/about/index.md b/fa/about/index.md
new file mode 100644
index 0000000000..3cc558561e
--- /dev/null
+++ b/fa/about/index.md
@@ -0,0 +1,240 @@
+---
+layout: page
+title: "درباره روبی"
+lang: fa
+---
+
+Wondering why Ruby is so popular? Its fans call it a beautiful, artful
+language. And yet, they say it’s handy and practical. What gives?
+{: .summary}
+
+### The Ideals of Ruby’s Creator
+
+Ruby is a language of careful balance. Its creator, [Yukihiro “Matz”
+Matsumoto][matz], blended parts of his favorite languages (Perl, Smalltalk,
+Eiffel, Ada, and Lisp) to form a new language that balanced functional
+programming with imperative programming.
+
+He has often said that he is “trying to make Ruby natural, not simple,”
+in a way that mirrors life.
+
+Building on this, he adds:
+
+> Ruby is simple in appearance, but is very complex inside, just like
+> our human body<sup>[1](#fn1)</sup>.
+
+### About Ruby’s Growth
+
+Since its public release in 1995, Ruby has drawn devoted coders
+worldwide. In 2006, Ruby achieved mass acceptance. With active user
+groups formed in the world’s major cities and Ruby-related conferences
+filled to capacity.
+
+Ruby-Talk, the primary [mailing list](/en/community/mailing-lists/) for
+discussion of the Ruby language, climbed to an average of 200 messages
+per day in 2006. It has dropped in recent years as the size of the
+community pushed discussion from one central list into many smaller
+groups.
+
+Ruby is ranked among the top 10 on most of the indices that measure
+the growth and popularity of programming languages worldwide
+(such as the [TIOBE index][tiobe]). Much of the growth is attributed to the
+popularity of software written in Ruby, particularly the
+[Ruby on Rails][ror] web framework.
+
+Ruby is also [completely free]({{ site.license.url }}). Not only free of charge, but
+also free to use, copy, modify, and distribute.
+
+### Seeing Everything as an Object
+
+Initially, Matz looked at other languages to find an ideal syntax.
+Recalling his search, he said, “I wanted a scripting language that was
+more powerful than Perl, and more object-oriented than
+Python<sup>[2](#fn2)</sup>.”
+
+In Ruby, everything is an object. Every bit of information and code can
+be given their own properties and actions. Object-oriented programming
+calls properties by the name *instance variables* and actions are known
+as *methods*. Ruby’s pure object-oriented approach is most commonly
+demonstrated by a bit of code which applies an action to a number.
+
+{% highlight ruby %}
+5.times { print "We *love* Ruby -- it's outrageous!" }
+{% endhighlight %}
+
+In many languages, numbers and other primitive types are not objects.
+Ruby follows the influence of the Smalltalk language by giving methods
+and instance variables to all of its types. This eases one’s use of
+Ruby, since rules applying to objects apply to all of Ruby.
+
+### Ruby’s Flexibility
+
+Ruby is seen as a flexible language, since it allows its users to freely
+alter its parts. Essential parts of Ruby can be removed or redefined, at
+will. Existing parts can be added upon. Ruby tries not to restrict the
+coder.
+
+For example, addition is performed with the plus (`+`) operator. But, if
+you’d rather use the readable word `plus`, you could add such a method
+to Ruby’s builtin `Numeric` class.
+
+{% highlight ruby %}
+class Numeric
+  def plus(x)
+    self.+(x)
+  end
+end
+
+y = 5.plus 6
+# y is now equal to 11
+{% endhighlight %}
+
+Ruby’s operators are syntactic sugar for methods. You can redefine them
+as well.
+
+### Blocks: a Truly Expressive Feature
+
+Ruby’s block are also seen as a source of great flexibility. A
+programmer can attach a closure to any method, describing how that
+method should act. The closure is called a *block* and has become one of
+the most popular features for newcomers to Ruby from other imperative
+languages like PHP or Visual Basic.
+
+Blocks are inspired by functional languages. Matz said, “in Ruby
+closures, I wanted to respect the Lisp culture<sup>[3](#fn3)</sup>.”
+
+{% highlight ruby %}
+search_engines =
+  %w[Google Yahoo MSN].map do |engine|
+    "http://www." + engine.downcase + ".com"
+  end
+{% endhighlight %}
+
+In the above code, the block is described inside the `do ... end`
+construct. The `map` method applies the block to the provided list of
+words. Many other methods in Ruby leave a hole open for a coder to write
+their own block to fill in the details of what that method should do.
+
+### Ruby and the Mixin
+
+Unlike many object-oriented languages, Ruby features single inheritance
+only, **on purpose**. But Ruby knows the concept of modules (called
+Categories in Objective-C). Modules are collections of methods.
+
+Classes can mixin a module and receive all its methods for free. For
+example, any class which implements the `each` method can mixin the
+`Enumerable` module, which adds a pile of methods that use `each` for
+looping.
+
+{% highlight ruby %}
+class MyArray
+  include Enumerable
+end
+{% endhighlight %}
+
+Generally, Rubyists see this as a much clearer way than multiple
+inheritance, which is complex and can be too restrictive.
+
+### Ruby’s Visual Appearance
+
+While Ruby often uses very limited punctuation and usually prefers
+English keywords, some punctuation is used to decorate Ruby. Ruby needs
+no variable declarations. It uses simple naming conventions to denote
+the scope of variables.
+
+* `var` could be a local variable.
+* `@var` is an instance variable.
+* `$var` is a global variable.
+
+These sigils enhance readability by allowing the programmer to easily
+identify the roles of each variable. It also becomes unnecessary to use
+a tiresome `self.` prepended to every instance member.
+
+### Beyond the Basics
+
+Ruby has a wealth of other features, among which are the following:
+
+* Ruby has exception handling features, like Java or Python, to make it
+  easy to handle errors.
+
+* Ruby features a true mark-and-sweep garbage collector for all Ruby
+  objects. No need to maintain reference counts in extension libraries.
+  As Matz says, “This is better for your health.”
+
+* Writing C extensions in Ruby is easier than in Perl or Python, with a
+  very elegant API for calling Ruby from C. This includes calls for
+  embedding Ruby in software, for use as a scripting language. A SWIG
+  interface is also available.
+
+* Ruby can load extension libraries dynamically if an OS allows.
+
+* Ruby features OS independent threading. Thus, for all platforms on
+  which Ruby runs, you also have multithreading, regardless of if the OS
+  supports it or not, even on MS-DOS!
+
+* Ruby is highly portable: it is developed mostly on GNU/Linux, but
+  works on many types of UNIX, macOS, Windows, DOS, BeOS, OS/2, etc.
+
+### Other Implementations of Ruby
+
+Ruby, as a language, has a few different implementations.
+This page has been discussing the reference implementation, in the
+community often referred to as **MRI** (“Matz’s Ruby Interpreter”)
+or **CRuby** (since it is written in C), but there are also others.
+They are often useful in certain situations, provide extra
+integration to other languages or environments, or have special features
+that MRI doesn’t.
+
+Here’s a list:
+
+* [JRuby][jruby] is Ruby atop the JVM (Java Virtual Machine), utilizing the
+  JVM’s optimizing JIT compilers, garbage collectors, concurrent
+  threads, tool ecosystem, and vast collection of libraries.
+* [Rubinius][rubinius] is ‘Ruby written in Ruby’. Built on top of LLVM,
+  Rubinius sports a nifty virtual machine that other languages are being
+  built on top of, too.
+* [TruffleRuby][truffleruby] is a high performance Ruby implementation on top of
+  GraalVM.
+* [mruby][mruby] is a lightweight implementation of the Ruby language
+  that can be linked and embedded within an application.
+  Its development is led by Ruby’s creator Yukihiro “Matz” Matsumoto.
+* [IronRuby][ironruby] is an implementation “tightly integrated with the .NET
+  Framework”.
+* [MagLev][maglev] is “a fast, stable, Ruby implementation with integrated
+  object persistence and distributed shared cache”.
+* [Cardinal][cardinal] is a “Ruby compiler for [Parrot][parrot] Virtual Machine”
+  (Perl 6).
+
+For a more complete list, see [Awesome Rubies][awesome-rubies].
+
+### References
+
+<sup>1</sup> Matz, speaking on the Ruby-Talk mailing list, [May 12th,
+2000][blade].
+{: #fn1}
+
+<sup>2</sup> Matz, in [An Interview with the Creator of Ruby][linuxdevcenter], Nov.
+29th, 2001.
+{: #fn2}
+
+<sup>3</sup> Matz, in [Blocks and Closures in Ruby][artima], December 22nd,
+2003.
+{: #fn3}
+
+
+
+[matz]: http://www.rubyist.net/~matz/
+[blade]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
+[ror]: http://rubyonrails.org/
+[linuxdevcenter]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
+[artima]: http://www.artima.com/intv/closures2.html
+[tiobe]: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
+[jruby]: http://jruby.org
+[rubinius]: http://rubini.us
+[truffleruby]: https://github.com/oracle/truffleruby
+[mruby]: http://www.mruby.org/
+[ironruby]: http://www.ironruby.net
+[maglev]: http://maglev.github.io
+[cardinal]: https://github.com/parrot/cardinal
+[parrot]: http://parrot.org
+[awesome-rubies]: https://github.com/planetruby/awesome-rubies
diff --git a/fa/about/license.txt b/fa/about/license.txt
new file mode 100644
index 0000000000..426810a7fb
--- /dev/null
+++ b/fa/about/license.txt
@@ -0,0 +1,56 @@
+Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
+You can redistribute it and/or modify it under either the terms of the
+2-clause BSDL (see the file BSDL), or the conditions below:
+
+  1. You may make and give away verbatim copies of the source form of the
+     software without restriction, provided that you duplicate all of the
+     original copyright notices and associated disclaimers.
+
+  2. You may modify your copy of the software in any way, provided that
+     you do at least ONE of the following:
+
+       a) place your modifications in the Public Domain or otherwise
+          make them Freely Available, such as by posting said
+	  modifications to Usenet or an equivalent medium, or by allowing
+	  the author to include your modifications in the software.
+
+       b) use the modified software only within your corporation or
+          organization.
+
+       c) give non-standard binaries non-standard names, with
+          instructions on where to get the original software distribution.
+
+       d) make other distribution arrangements with the author.
+
+  3. You may distribute the software in object code or binary form,
+     provided that you do at least ONE of the following:
+
+       a) distribute the binaries and library files of the software,
+	  together with instructions (in the manual page or equivalent)
+	  on where to get the original distribution.
+
+       b) accompany the distribution with the machine-readable source of
+	  the software.
+
+       c) give non-standard binaries non-standard names, with
+          instructions on where to get the original software distribution.
+
+       d) make other distribution arrangements with the author.
+
+  4. You may modify and include the part of the software into any other
+     software (possibly commercial).  But some files in the distribution
+     are not written by the author, so that they are not under these terms.
+
+     For the list of those files and their copying conditions, see the
+     file LEGAL.
+
+  5. The scripts and library files supplied as input to or produced as
+     output from the software do not automatically fall under the
+     copyright of the software, but belong to whomever generated them,
+     and may be sold commercially, and may be aggregated with this
+     software.
+
+  6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+     PURPOSE.
diff --git a/fa/about/logo/index.md b/fa/about/logo/index.md
new file mode 100644
index 0000000000..c9505d798c
--- /dev/null
+++ b/fa/about/logo/index.md
@@ -0,0 +1,22 @@
+---
+layout: page
+title: "لوگوی روبی"
+lang: fa
+---
+
+![لوگوی روبی][logo]
+
+کپی‌رایت لوگوی روبی &copy; ۲۰۰۶، یوکیهیرو ماتسوموتو.
+
+این مجوز تحت شرایط
+[مجوز کرییتیو کامنز اشتراک همسان ۲٫۵][cc-by-sa] است.
+
+
+## دانلود
+
+[کیت لوگوی روبی][logo-kit] شامل لوگو روبی در فرمت‌های مختلف (PNG, JPG, PDF, AI, SWF, XAR).
+
+
+[logo]: /images/header-ruby-logo.png
+[logo-kit]: https://cache.ruby-lang.org/pub/misc/logo/ruby-logo-kit.zip
+[cc-by-sa]: https://creativecommons.org/licenses/by-sa/2.5/deed.fa
diff --git a/fa/about/website/index.md b/fa/about/website/index.md
new file mode 100644
index 0000000000..39f6ca51a6
--- /dev/null
+++ b/fa/about/website/index.md
@@ -0,0 +1,60 @@
+---
+layout: page
+title: "درباره وب‌سایت روبی"
+lang: fa
+---
+
+این وب‌سایت توسط روبی با استفاده از [جکیل][jekyll] تولید شده است،<br>
+سورس آن در [گیت‌هاب][github-repo] میزبانی می‌شود.
+
+طراحی بصری توسط [جیسون زیمدرس][jzimdars].<br>
+براساس طراحی قبلی توسط تیم هویت بصری روبی.
+
+کپی رایت [لوگوی روبی][logo] &copy; ۲۰۰۶، یوکیهیرو ماتسوموتو.
+
+
+## گزارش مشکلات ##
+
+ برای گزارش مشکل، از سیستم [ردیاب موضوع][github-issues] استفاده کنید یا با [مدیر وب‌سایت][webmaster] ما تماس بگیرید (به زبان انگلیسی).
+
+
+## چگونه مشارکت کنیم ##
+
+این وب‌سایت با افتخار توسط اعضای جامعه روبی نگهداری می‌شود.
+
+اگر می‌خواهید مشارکت کنید، [دستورالعمل‌های مشارکت][github-wiki] را بخوانید و فقط شروع به باز کردن issue یا pull request کنید!
+
+
+## تقدیرنامه‌ها ##
+
+ما از همه متعهدین، نویسندگان، مترجمان و دیگر مشارکت کنندگان این وب‌سایت سپاسگزاریم.
+
+همچنین از سازمان‌هایی که از ما حمایت می‌کنند سپاسگزاریم:
+
+ * [Ruby Association][rubyassociation] (میزبانی)
+ * [Heroku][heroku] (میزبانی)
+ * [IIJ][iij] (میزبانی)
+ * [GlobalSign][globalsign] (گواهینامه SSL)
+ * [Fastly][fastly] (CDN)
+ * [Hatena][hatena] ([mackerel][mackerel]، نظارت بر سرور)
+ * [![CloudCore][cloudcore-logo] CloudCore][cloudcore] (ساخت سرور)
+ * [Ruby no Kai][rubynokai] (ساخت سرور)
+
+
+[logo]: /fa/about/logo/
+[webmaster]: mailto:webmaster@ruby-lang.org
+[jekyll]: http://www.jekyllrb.com/
+[jzimdars]: https://twitter.com/jasonzimdars
+[github-repo]: https://github.com/ruby/www.ruby-lang.org/
+[github-issues]: https://github.com/ruby/www.ruby-lang.org/issues
+[github-wiki]: https://github.com/ruby/www.ruby-lang.org/wiki
+[rubyassociation]: http://www.ruby.or.jp
+[heroku]: https://www.heroku.com/
+[iij]: http://www.iij.ad.jp
+[globalsign]: https://www.globalsign.com
+[fastly]: http://www.fastly.com
+[hatena]: http://hatenacorp.jp/
+[mackerel]: https://mackerel.io/
+[cloudcore]: http://www.cloudcore.jp/?utm_source=ad&utm_medium=ad&utm_content=dev&utm_campaign=vps
+[cloudcore-logo]: http://www.cloudcore.jp/develop/links/images/74x36_white.gif
+[rubynokai]: http://ruby-no-kai.org/
diff --git a/fa/community/conferences/index.md b/fa/community/conferences/index.md
new file mode 100644
index 0000000000..14ef1f3c2e
--- /dev/null
+++ b/fa/community/conferences/index.md
@@ -0,0 +1,89 @@
+---
+layout: page
+title: "Ruby Conferences"
+lang: fa
+---
+
+Ruby programmers around the world are getting involved in more and more
+conferences, where they get together to share reports on
+work-in-progress, discuss the future of Ruby, and welcome newcomers to
+the Ruby community.
+
+[RubyConferences.org][rc] is a simple list of Ruby-specific conferences,
+published collaboratively with the Ruby community. There you will find
+event dates, location, CFP (Call For Proposals) and Registration information.
+
+### Major Ruby Conferences
+
+[RubyConf][1]
+: Every year since 2001, [Ruby Central, Inc.][2] has produced RubyConf,
+  the International Ruby conference. Attendance grew by a factor of ten
+  between 2001 and 2006. RubyConf has provided a forum for presentations
+  about Ruby technologies by their creators, including talks by
+  Nathaniel Talbot on Test Unit, Jim Weirich on Rake, David Heinemeier
+  Hansson on Ruby on Rails, Why the Lucky Stiff on the YAML library, and
+  Sasada Koichi on YARV. Matz has attended, and spoken at, all the
+  RubyConfs but one.
+
+[RubyKaigi][3]
+: The first Japanese Ruby conference, RubyKaigi 2006, took place in
+  Odaiba. RubyKaigi provides many new and exciting talks by Matz and
+  other Rubyists in every year.
+
+[EuRuKo <small>(European Ruby Conference)</small>][4]
+: The first annual European Ruby Conference (EuRuKo) was held in
+  Karlsruhe, Germany, in 2003. Organized by a team of German Rubyists
+  including Armin Roehrl and Michael Neumann, EuRuKo emerged as the
+  second annual Ruby event, starting two years after RubyConf.
+
+### Regional Ruby Conferences
+
+[Ruby Central][2] administers a [Regional Conference Grant Program][6],
+to offset expenses for local and regional groups wanting to organize
+events.
+
+Ruby Central has also teamed up with [SVForum][7] (previously known as SDForum)
+to produce the Silicon Valley Ruby Conference, entering its second year in 2007.
+
+[RubyNation][8] is an annual Ruby conference serving the Virginia, West
+Virginia, Maryland, and Washington, DC areas.
+
+[WindyCityRails][9] is an annual gathering for all who are passionate about
+Ruby on Rails. The Chicago-based conference has served the Ruby
+community since 2008.
+
+[Steel City Ruby][16]: Pittsburg, PA
+
+[GoRuCo][19]: New York City's annual Ruby conference. A one-day single-track conference.
+
+[DeccanRubyConf][20]: Pune's (India) annual Ruby conference,
+themed around fun activities filled around the day.
+It is a single-day single-track conference.
+
+### Ruby At Other Conferences
+
+There has been a Ruby track at the [O’Reilly Open Source Conference][10]
+(OSCON) since 2004, and an increasing presence on the part of Ruby and
+Rubyists at other non-Ruby-specific gatherings. A number of conferences
+have also been devoted to [Ruby on Rails][11], including Ruby Central’s
+[RailsConf][12], [RailsConf Europe][13] (co-produced in 2006 by Ruby
+Central and [Skills Matter][14], and in 2007 by Ruby Central and
+O’Reilly), and Canada on Rails.
+
+[rc]: http://rubyconferences.org/
+[1]: http://rubyconf.org/
+[2]: http://rubycentral.org
+[3]: http://rubykaigi.org/
+[4]: http://euruko.org
+[6]: http://rubycentral.org/community/grant
+[7]: http://www.svforum.org
+[8]: http://rubynation.org/
+[9]: http://windycityrails.org
+[10]: http://conferences.oreillynet.com/os2006/
+[11]: http://www.rubyonrails.org
+[12]: http://www.railsconf.org
+[13]: http://europe.railsconf.org
+[14]: http://www.skillsmatter.com
+[16]: http://steelcityruby.org/
+[19]: http://goruco.com/
+[20]: http://www.deccanrubyconf.org/
diff --git a/fa/community/index.md b/fa/community/index.md
new file mode 100644
index 0000000000..c6b6ea651e
--- /dev/null
+++ b/fa/community/index.md
@@ -0,0 +1,59 @@
+---
+layout: page
+title: "Community"
+lang: fa
+---
+
+The community that grows up around a programming language is one of its
+most important strengths. Ruby has a vibrant and growing community that
+is friendly towards people of all skill levels.
+{: .summary}
+
+If you are interested in getting involved, here are a couple of places
+to start:
+
+[Ruby User Groups](user-groups/)
+: Your local Ruby user group is a great place to network with other Ruby
+  programmers. Ruby user groups are self-organizing and typically
+  feature monthly meetings, a mailing list, a Web site, and if you are
+  lucky, frequent codefests.
+
+[Ruby Mailing Lists and Newsgroups](mailing-lists/)
+: Ruby has an assortment of lists on different topics and in several
+  languages. If you have questions about Ruby, asking them on a mailing
+  list is a great way to get answers.
+
+[Ruby on IRC (#ruby)](irc://irc.freenode.net/ruby)
+: The Ruby Language IRC Channel is a wonderful way to chat with fellow
+  Rubyists.
+
+[Ruby Core](ruby-core/)
+: Now is a fantastic time to follow Ruby’s development.
+  If you are interested in helping with Ruby, start here.
+
+[Ruby Blogs](weblogs/)
+: Very little happens in the Ruby community that is not talked about on
+  the blogs. We’ve got a nice list of suggestions for you here for
+  getting plugged in.
+
+[Ruby Conferences](conferences/)
+: Ruby programmers around the world are getting involved in more and
+  more conferences, where they get together to share reports on
+  work-in-progress, discuss the future of Ruby, and welcome newcomers to
+  the Ruby community.
+
+[Podcasts](podcasts/)
+: If you like to hear about Ruby rather than read about you can listen
+  to podcasts which cover new Ruby or gem releases, interviews and
+  discussions between Ruby programmers, contributors, and maintainers.
+
+General Ruby Information
+: * [Ruby Central][ruby-central]
+  * [Ruby at Open Directory Project][ruby-opendir]
+  * [Rails at Open Directory Project][rails-opendir]
+
+
+
+[ruby-central]: http://rubycentral.org/
+[ruby-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/
+[rails-opendir]: https://dmoztools.net/Computers/Programming/Languages/Ruby/Software/Frameworks/Rails/
diff --git a/fa/community/mailing-lists/index.md b/fa/community/mailing-lists/index.md
new file mode 100644
index 0000000000..e4e4c20d35
--- /dev/null
+++ b/fa/community/mailing-lists/index.md
@@ -0,0 +1,49 @@
+---
+layout: page
+title: "Mailing Lists"
+lang: fa
+---
+
+Mailing-lists are a great way to keep your finger on the pulse of the
+Ruby community.
+{: .summary}
+
+Ruby has four primary English speaking mailing lists:
+
+Ruby-Talk
+: This is the most popular mailing-list and deals with general topics
+  about Ruby. ([Archives][3], [Posting Guidelines][guidelines])
+
+Ruby-Core
+: This list deals with core and implementation topics about Ruby, often
+  used to run patches for review. ([Archives][4])
+
+Ruby-Doc
+: This list is for discussing documentation standards and tools for
+  Ruby. ([Archives][5])
+
+Ruby-CVS
+: This list reports all commits to Ruby’s Subversion repository.
+
+The comp.lang.ruby Newsgroup
+: Those who prefer Usenet over mailing lists will want to checkout the
+  [comp.lang.ruby](news:comp.lang.ruby) newsgroup. ([FAQ][clrFAQ])
+
+See [lists.ruby-lang.org](http://lists.ruby-lang.org)
+for more information about all mailing lists on ruby-lang.org,
+including the lists in Japanese language.
+
+## Subscribe or Unsubscribe
+
+{% include subscription-form.html %}
+
+If you fail to receive a confirmation e-mail using the form, try
+subscribing the [manual way](manual-instructions/).
+
+
+
+[guidelines]: ruby-talk-guidelines/
+[clrFAQ]: http://rubyhacker.com/clrFAQ.html
+[3]: http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml
+[4]: http://blade.nagaokaut.ac.jp/ruby/ruby-core/index.shtml
+[5]: http://lists.ruby-lang.org/pipermail/ruby-doc/
diff --git a/fa/community/mailing-lists/manual-instructions/index.md b/fa/community/mailing-lists/manual-instructions/index.md
new file mode 100644
index 0000000000..73cccf8d4a
--- /dev/null
+++ b/fa/community/mailing-lists/manual-instructions/index.md
@@ -0,0 +1,62 @@
+---
+layout: page
+title: "Manual Mailing List Instructions"
+lang: fa
+---
+
+NOTE: If you cannot subscribe, please refer to
+[lists.ruby-lang.org](http://lists.ruby-lang.org).
+
+To subscribe to a mailing list, please send a plain text mail
+with the following mail body (not the subject) to the automated
+“controller” address:
+
+    subscribe
+{: .code}
+
+Ruby-Talk
+: For the Ruby-Talk list, the controller address is
+  [ruby-talk-request@ruby-lang.org](mailto:ruby-talk-request@ruby-lang.org), the
+  posting address is
+  [ruby-talk@ruby-lang.org](mailto:ruby-talk@ruby-lang.org), and the
+  human administrator address is
+  [ruby-talk-owner@ruby-lang.org](mailto:ruby-talk-owner@ruby-lang.org).
+
+Ruby-Core
+: For the Ruby-Core list, the controller address is
+  [ruby-core-request@ruby-lang.org](mailto:ruby-core-request@ruby-lang.org), the
+  posting address is
+  [ruby-core@ruby-lang.org](mailto:ruby-core@ruby-lang.org), and the
+  “human” administrator address is
+  [ruby-core-owner@ruby-lang.org](mailto:ruby-core-owner@ruby-lang.org).
+
+Ruby-Doc
+: For the Ruby-Doc list, the controller address is
+  [ruby-doc-request@ruby-lang.org](mailto:ruby-doc-request@ruby-lang.org), the
+  posting address is
+  [ruby-doc@ruby-lang.org](mailto:ruby-doc@ruby-lang.org), and the
+  “human” administrator address is
+  [ruby-doc-owner@ruby-lang.org](mailto:ruby-doc-owner@ruby-lang.org).
+
+Ruby-CVS
+: For the Ruby-CVS list, the controller address is
+  [ruby-cvs-request@ruby-lang.org](mailto:ruby-cvs-request@ruby-lang.org), the
+  posting address is
+  [ruby-cvs@ruby-lang.org](mailto:ruby-cvs@ruby-lang.org), and the
+  “human” administrator address is
+  [ruby-cvs-owner@ruby-lang.org](mailto:ruby-cvs-owner@ruby-lang.org).
+
+### Unsubscribing
+
+To unsubscribe from a list, send a mail which body is “unsubscribe” to
+the **controller address**:
+
+    unsubscribe
+{: .code}
+
+Make sure to send a plain text mail, an HTML mail might not work.
+
+### Getting Help
+
+To see the list of commands, send a mail which body is “help” to the
+controller address.
diff --git a/fa/community/mailing-lists/ruby-talk-guidelines/index.md b/fa/community/mailing-lists/ruby-talk-guidelines/index.md
new file mode 100644
index 0000000000..52f7e83d60
--- /dev/null
+++ b/fa/community/mailing-lists/ruby-talk-guidelines/index.md
@@ -0,0 +1,82 @@
+---
+layout: page
+title: "Posting Guidelines for the Ruby-Talk Mailing List"
+lang: fa
+---
+
+You should follow these guidelines when posting to the ruby-talk mailing list.
+{: .summary}
+
+
+1. **Always** be friendly, considerate, tactful, and tasteful. We want to
+   keep this list hospitable to the growing ranks of newbies, very
+   young people, and their teachers, as well as cater to fire breathing
+   wizards. :-)
+
+2. Keep your content relevant and easy to follow. Try to keep your
+   content brief and to the point, but also try to include all relevant
+   information.
+
+   1. The general format guidelines (aka Netiquette) are
+      matters of common sense and common courtesy that make life
+      easier for third parties to follow along (in real time or when
+      perusing archives):
+
+      * **Please note:**
+        Include quoted text from previous posts **before** your responses
+        and **selectively** quote as much as is relevant.
+      * Use **plain text**; don't use HTML, RTF, or Word.
+        Most email programs have an option for this; if yours doesn't,
+        get a (free) program or use a web-based service that does.
+      * Include examples from files as **in-line** text; don't use
+        attachments.
+
+   2. If reporting a problem, give **all** the relevant information
+      the first time; this isn't the psychic friends newsgroup. :-)
+
+      When appropriate, include:
+
+      * an example (preferably simple) that produces the problem
+      * the actual error messages
+      * the version of Ruby (`ruby -v`)
+      * the OS type and version (`uname -a`)
+      * the compiler name and version used to build Ruby
+
+3. Make the subject line maximally informative, so that people who
+   should be interested will read your post and so that people who
+   wouldn't be interested can easily avoid it.
+
+   **Usefully** describe the contents of your post.
+
+   This is OK:
+
+   * "How can I do x with y on z?"
+   * "Problem: did x, expected y, got z."
+   * "BUG: doing x with module y crashed z."
+
+   This is **not** OK:
+
+   * "Please help!!!"
+   * "Newbie question"
+   * "Need Ruby guru to tell me what's wrong"
+
+   These prefixes have become common for subject lines:
+
+   * `[ANN]` (for announcements)
+   * `[BUG]` (for bug reports)
+   * `[OT]`  (for off-topic, if you must post off-topic)
+
+4. Finally, be considerate: Don't be too lazy. If you are seeking
+   information, first make a reasonable effort to look it up. As
+   appropriate, check the [Ruby home page][ruby-lang],
+   check the [Ruby FAQ][faq] and other documentation,
+   use a search engine to search past postings, and so on.
+
+
+_These guidelines where adopted from the [comp.lang.ruby FAQ][clrFAQ]._
+
+
+
+[ruby-lang]: /en/
+[faq]: /en/documentation/faq/
+[clrFAQ]: http://rubyhacker.com/clrFAQ.html
diff --git a/fa/community/podcasts/index.md b/fa/community/podcasts/index.md
new file mode 100644
index 0000000000..9b4e05315c
--- /dev/null
+++ b/fa/community/podcasts/index.md
@@ -0,0 +1,18 @@
+---
+layout: page
+title: "Podcasts"
+lang: fa
+---
+
+Listen to news, interviews, and discussions about Ruby and its community.
+
+[Ruby Rogues][rogues]
+: The Ruby Rogues podcast is a panel discussion about topics relating to
+  programming, careers, community, and Ruby.
+
+[Ruby on Rails Podcast][rorpodcast]
+: The Ruby on Rails Podcast, a weekly conversation about Ruby on Rails,
+  open source software, and the programming profession.
+
+[rorpodcast]: http://5by5.tv/rubyonrails
+[rogues]: https://devchat.tv/ruby-rogues
diff --git a/fa/community/ruby-core/index.md b/fa/community/ruby-core/index.md
new file mode 100644
index 0000000000..27e84d2bd4
--- /dev/null
+++ b/fa/community/ruby-core/index.md
@@ -0,0 +1,166 @@
+---
+layout: page
+title: "Ruby Core"
+lang: fa
+---
+
+Now is a fantastic time to follow Ruby’s development. With the increased
+attention Ruby has received in the past few years, there’s a growing need
+for good talent to help enhance Ruby and document its parts.
+So, where do you start?
+{: .summary}
+
+The topics related to Ruby development covered here are:
+
+* [Using Subversion to Track Ruby Development](#following-ruby)
+* [How to Use Git With the Main Ruby Repository](#git-ruby)
+* [Improving Ruby, Patch by Patch](#patching-ruby)
+* [Rules for Core Developers](#coding-standards)
+
+### Using Subversion to Track Ruby Development
+{: #following-ruby}
+
+Getting the latest Ruby source code is a matter of an anonymous checkout
+from the [Subversion][1] repository. From your command line:
+
+{% highlight sh %}
+$ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby
+{% endhighlight %}
+
+The `ruby` directory will now contain the latest source code
+for the development version of Ruby (ruby-trunk).
+Currently patches applied to the trunk are backported to the stable
+{{ site.svn.stable.version }}, {{ site.svn.previous.version }},
+and {{ site.svn.old.version }} branches (see below).
+
+If you’d like to follow patching of Ruby {{ site.svn.stable.version }},
+you should use the `{{ site.svn.stable.branch }}` branch when checking out:
+
+{% highlight sh %}
+$ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.stable.branch }}
+{% endhighlight %}
+
+Similarly for Ruby {{ site.svn.previous.version }}:
+
+{% highlight sh %}
+$ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }}
+{% endhighlight %}
+
+This will check out the respective development tree into a
+`{{ site.svn.stable.branch }}` or `{{ site.svn.previous.branch }}` directory.
+Developers working on the maintenance branches are expected to migrate
+their changes to Ruby’s trunk, so often the branches are very similar,
+with the exception of improvements made by Matz and Nobu to the language
+itself.
+
+If you prefer, you may browse [Ruby’s Subversion repository via the web][2].
+
+For information about Subversion, please see the [Subversion FAQ][3]
+and the [Subversion book][4]. Alternatively, you may find
+[Pragmatic Version Control with Subversion][5] to be a useful introductory book.
+
+### How to Use Git With the Main Ruby Repository
+{: #git-ruby}
+
+Those who prefer to use [Git][6] over Subversion can find instructions
+with the [mirror on GitHub][7], both for [those with commit access][8]
+and [everybody else][9].
+
+### Improving Ruby, Patch by Patch
+{: #patching-ruby}
+
+The core team maintains an [issue tracker][10] for submitting patches and
+bug reports to Matz and the gang. These reports also get submitted to
+the [Ruby-Core mailing list][mailing-lists] for discussion,
+so you can be sure your request won’t go unnoticed. You can
+also send your patches straight to the mailing list. Either way, you are
+encouraged to take part in the discussion that ensues.
+
+Please look over the [Patch Writer’s Guide][writing-patches] for some tips,
+straight from Matz, on how to get your patches considered.
+
+To summarize, the steps for building a patch are:
+
+1.  Check out a copy of the Ruby source code from Subversion.
+    Usually patches for bugfixes or new features should be submitted
+    for the trunk of Ruby’s source. Even if you wish to add a feature
+    to Ruby {{ site.svn.previous.version }}, it has to be proven in
+    the trunk first.
+
+        $ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby
+
+    If you are fixing a bug that is specific to only one maintenance branch,
+    check out a copy of the respective branch,
+    e.g. `{{ site.svn.previous.branch }}`.
+
+        $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }}
+
+2.  Add your improvements to the code.
+
+3.  Create a patch.
+
+        $ svn diff > ruby-changes.patch
+
+4.  Create a ticket in the [issue tracker][10] or email your patch to
+    the [Ruby-Core mailing list][mailing-lists] with a ChangeLog entry
+    describing the patch.
+
+5.  If there are no issues raised about the patch, committers will be
+    given the approval to apply it.
+
+**Please note:** patches should be submitted as a [unified diff][12].
+For more on how patches are merged, see [the diffutils reference][13].
+
+Discussion of Ruby’s development converges on the
+[Ruby-Core mailing list][mailing-lists]. So, if you are curious
+about whether your patch is worthwhile or you want to spark a discussion
+about Ruby’s future, don’t hesitate to come aboard. Be warned that
+off-topic discussions are not tolerated on this list, the noise level
+should be very low, topics should be pointed, well-conceived and
+well-written. Since we’re addressing Ruby’s creator, let’s have some
+reverence.
+
+Keep in mind that Ruby’s core developers live in Japan and, while many
+speak very good English, there is a significant timezone difference.
+They also have an entire body of Japanese development lists happening
+alongside the English counterparts. Be patient, if your claim isn’t
+resolved, be persistent—give it another shot a few days later.
+
+### Rules for Core Developers
+{: #coding-standards}
+
+Generally, the developers of Ruby should be familiar with the source
+code and the style of development used by the team. To be clear, the
+following guidelines should be honored when checking into Subversion:
+
+* All check-ins should be described in the `ChangeLog`, following the
+  [GNU conventions][14]. (Many Ruby core developers use Emacs `add-log`
+  mode, which can be accessed with the command `C-x 4 a`.)
+* Check-in dates should be given in Japan Standard Time (UTC+9).
+* The bulleted points from your ChangeLog should also be placed in the
+  Subversion commit message. This message will be automatically mailed
+  to the Ruby-CVS list after you commit.
+* Function prototypes are used throughout Ruby’s source code and its
+  packaged extensions.
+* Please, do not use C++-style comments (`//`), Ruby’s maintainers
+  instead prefer the standard C multi-line comment (`/* .. */`).
+
+See also the information in [Ruby’s issue tracker][10].
+
+
+
+[mailing-lists]: /en/community/mailing-lists/
+[writing-patches]: /en/community/ruby-core/writing-patches/
+[1]: http://subversion.apache.org/
+[2]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/
+[3]: http://subversion.apache.org/faq.html
+[4]: http://svnbook.org
+[5]: http://www.pragmaticprogrammer.com/titles/svn/
+[6]: http://git-scm.com/
+[7]: https://github.com/ruby/ruby
+[8]: https://github.com/shyouhei/ruby/wiki/committerhowto
+[9]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto
+[10]: https://bugs.ruby-lang.org/
+[12]: http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html
+[13]: http://www.gnu.org/software/diffutils/manual/html_node/Merging-with-patch.html#Merging%20with%20patch
+[14]: http://www.gnu.org/prep/standards/standards.html#Change-Logs
diff --git a/fa/community/ruby-core/writing-patches/index.md b/fa/community/ruby-core/writing-patches/index.md
new file mode 100644
index 0000000000..5342e8b9f6
--- /dev/null
+++ b/fa/community/ruby-core/writing-patches/index.md
@@ -0,0 +1,52 @@
+---
+layout: page
+title: "Patch Writer’s Guide"
+lang: fa
+---
+
+Here follow some tips, straight from Matz, on how to get
+your patches considered.
+{: .summary}
+
+These guidelines were adopted from a [post by Matz][ruby-core-post]
+on the Ruby-Core mailing list:
+
+* Implement one modification per patch
+
+  This is the biggest issue for most deferred patches. When you
+  submit a patch that fixes multiple bugs (and adds features) at once,
+  we have to separate them before applying it. It is a rather hard task
+  for us busy developers, so this kind of patches tends to be deferred.
+  No big patches please.
+
+* Provide descriptions
+
+  Sometimes a mere patch does not sufficiently describe the problem it fixes.
+  A better description (the problem it fixes, preconditions, platform, etc.)
+  would help a patch to be merged earlier.
+
+* Diff to the latest revision
+
+  Your problem might have been fixed in the latest revision. Or the code
+  might be totally different by now. Before submitting a patch, try to fetch
+  the latest version (the `trunk` branch for the latest development version,
+  `{{ site.svn.stable.branch }}` for {{ site.svn.stable.version }})
+  from the Subversion repository, please.
+
+* Use `diff -u`
+
+  We prefer `diff -u` style unified diff patches to `diff -c`
+  or any other style of patches. They are far easier to review.
+  Do not send modified files, we do not want to make a diff by ourselves.
+
+* Provide test cases (optional)
+
+  A patch providing test cases (preferably a patch to `test/*/test_*.rb`)
+  would help us understand the patch and your intention.
+
+We might move to a Git style push/pull workflow in the future.
+But until then, following the above guidelines would help you to avoid
+frustration.
+
+
+[ruby-core-post]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/25139
diff --git a/fa/community/user-groups/index.md b/fa/community/user-groups/index.md
new file mode 100644
index 0000000000..b5a33a7fdf
--- /dev/null
+++ b/fa/community/user-groups/index.md
@@ -0,0 +1,44 @@
+---
+layout: page
+title: "User Groups"
+lang: fa
+---
+
+In the programming community, user groups form support networks for
+people interested in certain topics. They are a great place to increase
+your skills and network with other programmers. User groups are informal
+and their structure varies from group to group. Anyone can form their
+own group and set their own rules and schedule.
+{: .summary}
+
+### Ruby User Groups
+
+If you want to get together with other Ruby programmers, a local user
+group may be just the thing. Ruby user groups are entirely devoted to
+Ruby. They typically feature monthly meetings, a mailing list, a website,
+and if you're lucky, frequent hacking sessions (meetings devoted
+to giving people a chance to write Ruby code).
+
+Information about Ruby user groups can be found on various websites:
+
+[rubyusergroups.org][1]
+: A public listing of Ruby groups throughout the world. Also allows
+  Rubyists to place themselves on a map of the world.
+
+[Ruby Meetup Groups][2]
+: A substantial number of Ruby User Groups have chosen to make Meetup
+  their home. Meetup provides a number of tools for user groups,
+  including: private forums, a place for announcements, automated
+  meeting reminders, and a nice RSVP system.
+
+### Organizing Your Own Group
+
+If you are interested in forming your own group, be sure to find out if
+there is already a Ruby user group in your area. Larger meetings are
+usually much more fun, so starting your own group may not be the best
+option if there is already one nearby.
+
+
+
+[1]: http://www.rubyusergroups.org/
+[2]: http://ruby.meetup.com
diff --git a/fa/community/weblogs/index.md b/fa/community/weblogs/index.md
new file mode 100644
index 0000000000..c7ffcf07cb
--- /dev/null
+++ b/fa/community/weblogs/index.md
@@ -0,0 +1,48 @@
+---
+layout: page
+title: "Blogs"
+lang: fa
+---
+
+Ruby blogs have exploded over the past years and given sufficient
+hunting, you can unearth hundreds of blogs sharing bits of Ruby code,
+describing new techniques, or speculating on Ruby’s future.
+{: .summary}
+
+### Mining for Ruby Blogs
+
+* [**RubyFlow**][rubyflow], “the Ruby and Rails community linklog”,
+  is a Ruby news site with links to libraries, blog posts, tutorials,
+  and other Ruby resources.
+* [**Rubyland**][rubyland] aggregates news and blog posts about Ruby
+  from RSS feeds.
+
+### Blogs of Note
+
+A few notable blogs stand out for the frequency and immediacy of their
+updates.
+
+* [**Ruby Weekly**][ruby-weekly]: Although more of a newsletter than a
+  blog, Ruby Weekly is a distillation of the most interesting Ruby
+  articles and news each week.
+* [**Riding Rails**][riding-rails] is the official group blog of the
+  Ruby on Rails team. If you are running Rails, this blog is essential
+  for notification of security updates and an overall view of the wide
+  Rails community.
+
+### Spreading the Word
+
+If you're interested in writing for any of the above blogs, you should
+contact the authors.
+
+Ruby is also a common topic on [reddit][reddit] and [Hacker News][hn],
+in their respective programming news. If you find some brilliant code
+out there, be sure to share!
+
+
+[rubyflow]: http://www.rubyflow.com/
+[rubyland]: http://rubyland.news/
+[ruby-weekly]: https://rubyweekly.com/
+[riding-rails]: http://weblog.rubyonrails.org/
+[reddit]: http://www.reddit.com/r/ruby
+[hn]: http://news.ycombinator.com/
diff --git a/fa/conduct/index.md b/fa/conduct/index.md
new file mode 100644
index 0000000000..f320a70536
--- /dev/null
+++ b/fa/conduct/index.md
@@ -0,0 +1,22 @@
+---
+layout: page
+title: "The Ruby Community Conduct Guideline"
+lang: fa
+---
+
+We have picked the following conduct guideline based on an early proposed draft
+of the PostgreSQL CoC, for Ruby developers community for safe, productive
+collaboration.
+Each Ruby related community (conference etc.) may pick their own Code of Conduct.
+{: .summary}
+
+This document provides community guidelines for a safe, respectful, productive,
+and collaborative place for any person who is willing to contribute to the Ruby
+community. It applies to all "collaborative space", which is defined as
+community communications channels (such as mailing lists, submitted patches,
+commit comments, etc.).
+
+ * Participants will be tolerant of opposing views.
+ * Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
+ * When interpreting the words and actions of others, participants should always assume good intentions.
+ * Behaviour which can be reasonably considered harassment will not be tolerated.
diff --git a/fa/documentation/faq/1/index.md b/fa/documentation/faq/1/index.md
new file mode 100644
index 0000000000..49f99a91d8
--- /dev/null
+++ b/fa/documentation/faq/1/index.md
@@ -0,0 +1,344 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <strong>1</strong>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## General questions
+
+### What is Ruby?
+
+Ruby is a simple and powerful object-oriented programming language, created by
+Yukihiro Matsumoto (who goes by the handle "Matz" in this document and on the
+mailing lists).
+
+Like Perl, Ruby is good at text processing. Like Smalltalk, everything in Ruby
+is an object, and Ruby has blocks, iterators, meta-classes and other good
+stuff.
+
+You can use Ruby to write servers, experiment with prototypes, and for
+everyday programming tasks. As a fully-integrated object-oriented language,
+Ruby scales well.
+
+Ruby features:
+
+* Simple syntax,
+* Basic OO features (classes, methods, objects, and so on),
+* Special OO features (mixins, singleton methods, renaming, and so on),
+* Operator overloading,
+* Exception handling,
+* Iterators and closures,
+* Garbage collection,
+* Dynamic loading (depending on the architecture),
+* High transportability (runs on various Unices, Windows, DOS, macOS, OS/2,
+  Amiga, and so on).
+
+### Show me some Ruby code!
+
+Let's define a class called `Person`, with a name and an age. We'll test our
+code by creating a few people and examining them.
+
+~~~
+class Person
+  attr_accessor :name, :age
+
+  def initialize(name, age)
+    @name = name
+    @age  = age.to_i
+  end
+
+  def inspect
+    "#{name} (#{age})"
+  end
+end
+
+p1 = Person.new("Elmo", 4)
+p2 = Person.new("Zoe", 7)
+
+p1  # => Elmo (4)
+p2  # => Zoe (7)
+~~~
+
+Now let's populate an array of people by reading their names and ages from a
+file `ages` containing lines like:
+
+~~~
+Bert:    8
+Cookie: 11
+Elmo:    4
+Ernie:   8
+Zoe:     7
+~~~
+
+The code uses regular expressions to parse successive lines from the input
+file, creating a new `Person` object for each match and pushing it onto the
+end of the array `people`.
+
+~~~
+people = Array.new
+
+File.foreach("ages") do |line|
+  people << Person.new($1, $2) if line =~ /(.*):\s+(\d+)/
+end
+
+people  # => [Bert (8), Cookie (11), Elmo (4), Ernie (8), Zoe (7)]
+~~~
+
+Now, let's sort the result based on the person's age. There are many ways to
+do this. We can define a sort block, which tells Ruby how to do the comparison
+of two people:
+
+~~~
+sorted = people.sort {|a, b| a.age <=> b.age }
+sorted  # => [Elmo (4), Zoe (7), Bert (8), Ernie (8), Cookie (11)]
+~~~
+
+Another way would be to change the comparison method for class `Person`:
+
+~~~
+class Person
+  def <=>(other)
+    age <=> other.age
+  end
+end
+people.sort  # => [Elmo (4), Zoe (7), Bert (8), Ernie (8), Cookie (11)]
+~~~
+
+### Why the name “Ruby”?
+
+Influenced by Perl, Matz wanted to use a jewel name for his new language, so
+he named Ruby after a colleague's birthstone.
+
+Later, he realized that Ruby comes right after Perl in several situations.
+In birthstones, pearl is June, ruby is July. When measuring font sizes,
+pearl is 5pt, ruby is 5.5pt. He thought Ruby was a good name for a
+programming language newer (and hopefully better) than Perl.
+
+(Based on an explanation from Matz in [\[ruby-talk:00394\]][ruby-talk:00394]
+on June 11, 1999.)
+
+[ruby-talk:00394]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/394
+
+### What is the history of Ruby?
+
+The following is a summary of a posting made by Matz in
+[\[ruby-talk:00382\]][ruby-talk:00382] on June 4, 1999.
+(The birthday of Ruby has been corrected in
+[\[ruby-list:15977\]][ruby-list:15977].)
+
+> Well, Ruby was born on February 24, 1993. I was talking with my colleague
+> about the possibility of an object-oriented scripting language. I knew Perl
+> (Perl4, not Perl5), but I didn't like it really, because it had the smell of
+> a toy language (it still has). The object-oriented scripting language seemed
+> very promising.
+
+> I knew Python then. But I didn't like it, because I didn't think it was a
+> true object-oriented language---OO features appeared to be an add-on to the
+> language. As a language manic and OO fan for 15 years, I really wanted a
+> genuine object-oriented, easy-to-use scripting language. I looked for, but
+> couldn't find one.
+
+> So, I decided to make it. It took several months to make the interpreter
+> run. I put into it the features I love to have in my language, such as
+> iterators, exception handling, garbage collection.
+
+> Then, I reorganized the features of Perl into a class library, and
+> implemented them. I posted Ruby 0.95 to the Japanese domestic newsgroups
+> in Dec. 1995.
+
+> Since then, highly active mailing lists have been established and
+> web pages formed.
+
+[ruby-talk:00382]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/382
+[ruby-list:15977]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/15977
+
+### Where is the Ruby Home Page?
+
+The official Ruby Home Page is [www.ruby-lang.org](https://www.ruby-lang.org).
+Besides the English and Japanese versions, there exist translations
+into various other languages.
+
+Good starting points for finding Ruby information are the
+[Documentation](/en/documentation/) and [Community](/en/community/)
+pages.
+
+### Is there a Ruby newsgroup?
+
+comp.lang.ruby was established in May, 2000 (thanks to the efforts of
+[Conrad Schneiker](mailto:schneiker@jump.net)).
+
+### Is there a Ruby mailing list?
+
+There are several mailing lists talking about Ruby. See the
+[Mailing Lists](/en/community/mailing-lists/)
+page for more information.
+
+You can search the mailing list archives using
+[http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml](http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml).
+(This is the URL for the ruby-talk list, munge as required for the others).
+
+### How can I thread the mailing list in mutt?
+
+{% include faq-out-of-date.html %}
+
+For some of the Ruby mailing lists, the mailing list software adds a prefix
+to the subject lines, for example `ruby-core:1234`. This can confuse the
+threading in some mail user agents.
+
+In mutt, you can get threading to work using the following variable setting.
+
+~~~
+# reply regexp, to support MLs like ruby-talk.
+set reply_regexp="^(\[[a-z0-9:-]+\][[:space:]]*)?(re([\[0-9\]+])*|aw):[[:space:]]*"
+~~~
+
+### Which is correct, “Ruby” or “ruby”?
+
+Officially, the language is called “Ruby”. On most systems, it is invoked
+using the command `ruby`. It's OK to use “ruby” instead of “Ruby”.
+
+Please don't use “RUBY” as the language name.
+
+Originally, or historically, it was called “ruby”.
+
+### Are there any Ruby books?
+
+{% include faq-out-of-date.html %}
+
+* Programming Ruby: The Pragmatic Programmer's Guide,
+  (the Pickaxe Book) by David Thomas and Andrew Hunt: ISBN 0-20171-089-7,
+  Addison-Wesley, October 2000.
+
+* A Japanese language Ruby reference book by Matz et al. and published by
+  ASCII is available in Japan (ISBN 4-7561-3254-5). An English translation,
+  “The Ruby Programming Language”, is available from O'Reilly & Associates
+  (ISBN 978-0596516178).
+
+* A Japanese language “Ruby Pocket Reference” is published by O'Reilly Japan
+  (ISBN 4-87311-023-8). Let O'Reilly in the US know if you'd like to see a
+  translation.
+
+* In addition, “Mastering Regular Expressions”, by Jeffrey Friedl,
+  (the Hip Owl Book): ISBN 1-56592-257-3 from O'Reilly & Associates,
+  is a reference work that covers the art and implementation of regular
+  expressions in various programming languages. Most of it is highly
+  relevant to Ruby regular expressions.
+
+### Which editors provide support for Ruby?
+
+{% include faq-out-of-date.html %}
+
+* [Emacs](http://www.gnu.org/software/emacs/emacs.html)
+  or [XEmacs](http://www.xemacs.org/): `ruby-mode.el` is supplied in the Ruby
+  distribution. With some versions of XEmacs, you may need to add
+  `(load "font-lock")` to your `.emacs` file to allow `ruby-mode.el` to detect
+  the syntax highlighting package you are using.
+* [Vim](http://www.vim.org/): Vim 5.7 and later have Ruby syntax files as
+  standard in the runtime package. For prior versions, a syntax file for Ruby
+  is available at
+  [http://www.xs4all.nl/~hipster/lib/ruby/ruby.vim](http://www.xs4all.nl/~hipster/lib/ruby/ruby.vim).
+* [Jedit](http://jedit.sourceforge.net/): A portable editor written in Java,
+  comes with support for Ruby.
+* [Nedit](http://www.nedit.org): Eric Santonacci has written Ruby support for
+  Nedit, available from
+  [ftp://ftp.talc.fr/pub/ruby/ruby.nedit-0.1.tar.gz](ftp://ftp.talc.fr/pub/ruby/ruby.nedit-0.1.tar.gz).
+* Barry Shultz has written a Ruby definition file for TextPad, available at
+  [https://www.textpad.com/add-ons/synn2t.html](https://www.textpad.com/add-ons/synn2t.html).
+
+### How can I annotate Ruby code with its results?
+
+{% include faq-out-of-date.html %}
+
+People commonly annotate Ruby code by showing the results of executing each
+statement as a comment attached to that statement. For example, in the
+following code, we show that the assignment generates the string "Billy Bob",
+and then the result of extracting some substrings.
+
+~~~
+str = "Billy" + " Bob"           # => "Billy Bob"
+str[0,1] + str[2,1] + str[-2,2]  # => "Blob"
+~~~
+
+Gotoken's `xmp` package, available from
+[http://www.ruby-lang.org/en/raa-list.rhtml?name=xmp](http://www.ruby-lang.org/en/raa-list.rhtml?name=xmp)
+is a utility that annotates Ruby source code this way.
+
+Emacs and vim users can integrate this with their editing environments, which
+is useful if you want to send people e-mail with annotated Ruby code. Having
+installed `xmp`, Emacs users can add the following to their `.emacs` file:
+
+~~~
+(defun ruby-xmp-region (reg-start reg-end)
+  "Pipe the region through Ruby's xmp utility and replace the region with
+   the result."
+  (interactive "r")
+  (shell-command-on-region reg-start reg-end
+                           "ruby -r xmp -n -e 'xmp($_, \"%l\t\t# %r\n\")'"
+                           t))
+(global-set-key [(meta f10)] 'ruby-xmp-region)
+~~~
+
+Vim users can use the mapping (thanks to hipster):
+
+~~~
+map <M-F10> :!ruby -r xmp -n -e 'xmp($_, "\%l\t\t\# \%r\n")'<CR>
+~~~
+
+In both cases, highlight a region of code and hit Meta-F10 to annotate it.
+
+### I can't understand Ruby even after reading the manual!
+
+{% include faq-out-of-date.html %}
+
+The syntax of Ruby has been fairly stable since Ruby 1.0, but new features are
+added every now and then. So, the books and the online documentation can get
+behind.
+
+If you have a problem, feel free to ask in the mailing list
+(see the [Mailing Lists page](/en/community/mailing-lists/)).
+Generally you'll get timely answers from Matz himself, the
+author of the language, from other gurus, and from those who have solved
+problems similar to your own.
+
+Please include the output of `ruby -v` along with any problematic
+source code.
+
+If you have a problem using [`irb`](../10/#irb),
+be aware that it has some limitations.
+Try the script using `irb --single-irb`, or directly using the
+`ruby` command.
+
+There might be similar questions in the mailing list, and it is good
+netiquette to read through recent mails (RFC1855:3.1.1, 3.1.2) before asking.
+But do ask on the list, and a correct answer will be forthcoming.
diff --git a/fa/documentation/faq/10/index.md b/fa/documentation/faq/10/index.md
new file mode 100644
index 0000000000..7a8f25a730
--- /dev/null
+++ b/fa/documentation/faq/10/index.md
@@ -0,0 +1,145 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <strong>10</strong>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Extension library
+
+### How can I use Ruby interactively?
+{: #irb}
+
+{% include faq-out-of-date.html %}
+
+You can try using `irb`. The following is paraphrased from Kentaro Goto
+(Gotoken), and originally appeared in [\[ruby-talk:444\]][ruby-talk:444].
+
+1. Get the latest tarball of `irb` from the
+   [contrib directory](ftp://ftp.netlab.co.jp/pub/lang/ruby/contrib/)
+   in the Ruby archive.
+2. Extract the `irb` directory tree.
+3. Add the location of the `irb/` directory to the `$RUBYLIB`
+   environment variable.
+4. Make a symbolic link from `$RUBYLIB/irb/irb.rb` to a file called `irb`
+   somewhere in your path.
+5. `chmod +x $RUBYLIB/irb/irb.rb`
+6. Possibly use `rehash` to tell your login shell about the new command.
+7. Type `irb`.
+
+If the readline extension module works with your interpreter, it makes `irb`
+a lot more fun to use.
+
+There is also a simple program, `eval`, in the `samples/` directory of the
+Ruby distribution. It lets you enter expressions and view their values.
+You can copy `eval` into the `site_ruby` directory in the Ruby tree, and
+then invoke it using:
+
+~~~
+ruby -r eval -e0
+~~~
+
+[ruby-talk:444]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/444
+
+### Is there a debugger for Ruby?
+
+There is a gdb-like debugger for Ruby.
+
+~~~
+ruby -r debug your_program
+~~~
+
+### How can I use a library written in C from Ruby?
+
+Of all the scripting languages, Ruby is probably the easiest to extend.
+There are no problems with reference counting and variable types, and very
+few interfaces to learn. In fact, C code used to extend Ruby often ends up
+looking surprisingly like Ruby code itself.
+
+First, read the `doc/extension.rdoc` file in the Ruby source,
+or read [extension.rdoc on docs.ruby-lang.org][extension-rdoc].
+This is a good document, not only if you are writing an extension library,
+but also if you want to understand Ruby more deeply.
+
+Then, the RubyGems site provides a
+[guide on creating gems with extensions][rubygems-guide].
+It shows how to setup a gem with C extensions that are built at install time.
+It has also links to some existing gems that wrap C libraries and
+to further reading.
+
+You might also want to have a look at the source of the interpreter itself,
+and at the various supplied extensions in the `ext/` directory
+(you can browse the [Ruby repository on GiHub][ruby-github]).
+
+[extension-rdoc]: http://docs.ruby-lang.org/en/trunk/extension_rdoc.html
+[rubygems-guide]: http://guides.rubygems.org/gems-with-extensions/
+[ruby-github]:    https://github.com/ruby/ruby
+
+### Can I use Tcl/Tk in Ruby?
+
+{% include faq-out-of-date.html %}
+
+There are two interfaces to Tcl/Tk included in the standard distribution.
+One is under `ext/tcltk/` and loaded with `require "tcltk"`. The syntax is
+very close to that Tcl which is passed on to the Tcl interpreter.
+Unfortunately, the description for this library is written in Japanese.
+
+The other is under `ext/tk/` and loaded with `require "tk"`. Its syntax
+is closer to the style of the Tk interface provided by the Perl and Python
+interfaces.
+
+### Tk won't work. Why?
+
+{% include faq-out-of-date.html %}
+
+Your Tk version may be old, try a newer version.
+
+### Can I use gtk+ or xforms interfaces in Ruby?
+
+{% include faq-out-of-date.html %}
+
+You will find `ruby-gtk-x.xx.tar.gz` and `ruby-forms-x.x.tar.gz`
+under `contrib/` on the Ruby ftp sites.
+
+### How can I do date arithmetic?
+
+{% include faq-out-of-date.html %}
+
+A `Time` object can express only the dates between Jan 1, 1970 and
+Jan 19, 2038.
+
+Two standard extension library modules are provided:
+`require "date"`, which is simple and uses the English calendar,
+and `require "date2"`, which is more general purpose.
+
+Also see `sample/cal.rb`.
diff --git a/fa/documentation/faq/11/index.md b/fa/documentation/faq/11/index.md
new file mode 100644
index 0000000000..482fa9b2e0
--- /dev/null
+++ b/fa/documentation/faq/11/index.md
@@ -0,0 +1,192 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <strong>11</strong>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Other features
+
+### What does `a ? b : c` mean?
+
+This is the so-called “ternary operator” and is the same as saying
+`if a then b else c end`.
+
+### How can I count the number of lines in a file?
+
+The following code may give the fastest result.
+
+~~~
+File.readlines("example").size  # => 3
+~~~
+
+### What do `MatchData#begin` and `MatchData#end` return?
+
+They act with `$~`, and return the start index and the end index of
+the matched data in the original string. See an example in
+[tab expansion](../9/#tab-expansion).
+
+### How can I sum the elements in an array?
+
+{% include faq-out-of-date.html %}
+
+Rather than solve the specific problem, let's solve the general case.
+The first thing we will do is produce a method that will iterate over
+an `Enumerable` object and collect a single result. Smalltalk calls that
+method inject, so we will too:
+
+~~~
+module Enumerable
+
+  # inject(n) {|n, i| ...}
+  def inject(n)
+    each {|i| n = yield(n, i) }
+
+    n
+  end
+end
+~~~
+
+Notice how we have added the method to `Enumerable`. This means that anything
+that includes Enumerable can now use `inject`. But how do we use it? It takes
+a single argument `n` and a block. For each element in the thing being
+enumerated, it calls the block, passing in `n` and the element itself.
+The result of the block is assigned back to `n`. So, to define `sum`,
+we could write:
+
+~~~
+module Enumerable
+  def sum
+    inject(0) {|n, i| n + i }
+  end
+end
+
+[1,3,5,7,9].sum  # => 25
+(1..100).sum     # => 5050
+~~~
+
+### How can I use continuations?
+
+{% include faq-out-of-date.html %}
+
+Ruby's continuations allow you to create an object representing a place in a
+Ruby program, and then return to that place at any time (even if it has
+apparently gone out of scope). Continuations can be used to implement complex
+control structures, but are typically more useful as ways of confusing people.
+
+In [\[ruby-talk:4482\]][ruby-talk:4482], Jim Weirich posted the following
+examples of continuations:
+
+~~~
+# --------------------------------------------------------------------
+# Simple Producer/Consumer
+# --------------------------------------------------------------------
+# Connect a simple counting task and a printing task together using
+# continuations.
+#
+# Usage:  count(limit)
+
+def count_task(count, consumer)
+  (1..count).each do |i|
+    callcc {|cc| consumer.call cc, i }
+  end
+  nil
+end
+
+def print_task()
+  producer, i = callcc { |cc| return cc }
+  print "#{i} "
+  callcc { |cc| producer.call }
+end
+
+def count(limit)
+  count_task(limit, print_task())
+  print "\n"
+end
+~~~
+
+
+~~~
+# --------------------------------------------------------------------
+# Filtering Out Multiples of a Given Number
+# --------------------------------------------------------------------
+# Create a filter that is both a consumer and producer. Insert it
+# between the counting task and the printing task.
+#
+# Usage:  omit(2, limit)
+
+def filter_task(factor, consumer)
+  producer, i = callcc { |cc| return cc }
+  if (i%factor) != 0 then
+    callcc { |cc| consumer.call cc, i }
+  end
+  producer.call
+end
+
+def omit(factor, limit)
+  printer = print_task()
+  filter = filter_task(factor, printer)
+  count_task(limit, filter)
+  print "\n"
+end
+~~~
+
+
+~~~
+# --------------------------------------------------------------------
+# Prime Number Generator
+# --------------------------------------------------------------------
+# Create a prime number generator. When a new prime number is
+# discovered, dynamically add a new multiple filter to the chain of
+# producers and consumers.
+#
+# Usage:  primes(limit)
+
+def prime_task(consumer)
+  producer, i = callcc { |cc| return cc }
+  if i >= 2 then
+    callcc { |cc| consumer.call cc, i }
+    consumer = filter_task(i, consumer)
+  end
+  producer.call
+end
+
+def primes(limit)
+  printer = print_task()
+  primes = prime_task(printer)
+  count_task(limit, primes)
+  print "\n"
+end
+~~~
+
+[ruby-talk:4482]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/4482
diff --git a/fa/documentation/faq/2/index.md b/fa/documentation/faq/2/index.md
new file mode 100644
index 0000000000..ddd4cfefd5
--- /dev/null
+++ b/fa/documentation/faq/2/index.md
@@ -0,0 +1,102 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <strong>2</strong>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## How does Ruby stack up against...?
+
+### How does Ruby compare with Python?
+
+Python and Ruby are both object oriented languages that provide a smooth
+transition from procedural to OO programming styles. Smalltalk, by contrast,
+is object only---you can't do anything until you understand objects,
+inheritance and the sizable Smalltalk class hierarchy. By providing procedural
+training wheels, Python and Ruby “fix” one of the features that may have
+kept Smalltalk out of the mainstream. The two languages differ by approaching
+this solution from opposite directions.
+
+Python is a hybrid language. It has functions for procedural programming and
+objects for OO programming. Python bridges the two worlds by allowing
+functions and methods to interconvert using the explicit `self` parameter
+of every method def. When a function is inserted into an object, the first
+argument automagically becomes a reference to the receiver.
+
+Ruby is a pure OO language that can masquerade as a procedural one. It has no
+functions, only method calls. In a Ruby method the receiver, also called
+`self`, is a hidden argument like `this` in C++. A `def` statement outside of
+a class definition, which is a function in Python, is actually a method call
+in Ruby. These ersatz functions become private methods of class Object, the
+root of the Ruby class hierarchy. Procedural programming is neatly solved from
+the other direction---everything is an object. If the user doesn't grok
+objects yet, they can just pretend that `def` is a function definition and
+still get useful work done.
+
+Ruby's OO purity provides a number features that Python lacks or is still
+working toward: a unified type/class hierarchy, metaclasses, the ability to
+subclass everything, and uniform method invocation (none of this `len()` is a
+function but `items()` is a method rubbish). Ruby, like Smalltalk, only
+supports single inheritance, but it does have a very powerful mixin concept:
+a class definition may include a module, which inserts that module's methods,
+constants, etc. into the class.
+
+Ruby, again like Smalltalk, provides closures and code blocks and uses them
+to the same good effect. The Ruby collection classes and iterators are
+outstanding, much more powerful and elegant than the ad hoc solutions that
+Python is sprouting (lambdas and list comprehensions).
+
+Ruby's syntax and design philosophy are heavily influenced by Perl. It has a
+lot of syntactic variability. Statement modifiers (`if`, `unless`, `while`,
+`until`, etc.) may appear at the end of any statement. Some key words are
+optional (the `then` in an `if` statement for example). Parentheses may
+sometimes be elided in method calls. The receiver of a method may usually be
+elided.
+Many, many things are lifted directly from Perl.
+Built in regular expressions, `$_` and friends, here documents, the
+single-quoted / double-quoted string distinction, `$` and `@` prefixes to
+distinguish different kinds of names and so forth.
+
+If you like Perl, you will like Ruby and be right at home with its syntax.
+If you like Smalltalk, you will like Ruby and be right at home with its
+semantics. If you like Python, you may or may not be put off by the huge
+difference in design philosophy between Python and Ruby/Perl.
+
+Ruby is much more complex than Python but its features, for the most part,
+hang together well. Ruby is well designed and full of neat ideas that might be
+mined for P3K. I'm not sure how many Python programmers will be attracted to
+it though---it hasn't won me over (yet). But it is worthy of serious study and
+could be a real threat to Perl.
+
+Posted by [John Dell'Aquila](mailto:jbd@alum.mit.edu) in comp.lang.python,
+11/17/2000. Reproduced with permission.
diff --git a/fa/documentation/faq/3/index.md b/fa/documentation/faq/3/index.md
new file mode 100644
index 0000000000..d779062103
--- /dev/null
+++ b/fa/documentation/faq/3/index.md
@@ -0,0 +1,212 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <strong>3</strong>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Installing Ruby
+
+For current information on downloading and installing Ruby
+see the [Installation](/en/documentation/installation/)
+or [Downloads](/en/downloads/) page.
+
+### What operating systems support Ruby?
+
+{% include faq-out-of-date.html %}
+
+Ruby is developed under Linux, and is written in fairly straightforward C.
+It runs under Linux and other UNIX-like operating systems, macOS,
+Windows, DOS, BeOS, Amiga, Acorn Risc OS, and OS/2.
+
+### Where can I get Ruby sources?
+
+The latest version of Ruby can be downloaded from:
+[www.ruby-lang.org/en/downloads/](/en/downloads/).
+Mirror sites are also listed on this page.
+
+Also on this page is a link to a nightly snapshot of the development tree.
+
+### Can I get to the development source tree?
+
+{% include faq-out-of-date.html %}
+
+If you have a CVS client, you can check out the current source tree using:
+
+~~~
+$ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs login
+(Logging in to anonymous@cvs.netlab.co.jp)
+CVS password: guest
+$ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs co ruby
+~~~
+
+If you do not have CVS you can get a nightly snapshot of the development
+source from
+[https://cache.ruby-lang.org/pub/ruby/snapshot.tar.gz](https://cache.ruby-lang.org/pub/ruby/snapshot.tar.gz).
+
+### How do I compile Ruby?
+
+Under Unix, Ruby uses the `autoconf` system to configure the build
+environment. You don't need the `autoconf` command on your box to build Ruby
+from a distribution; just use the commands:
+
+~~~
+$ ./configure [configure options]
+$ make
+$ make test
+$ make install
+~~~
+
+You may need superuser privileges to install Ruby if you don't override the
+default installation location (`/usr/local`). You can get a full list of
+`configure` options using:
+
+~~~
+$ ./configure --help
+~~~
+
+If you are working from the source repository, you may need to run
+`autoconf` before running `configure`.
+
+### How do I tell Ruby where my libraries are?
+
+{% include faq-out-of-date.html %}
+
+On some systems, the build process may fail to find libraries used by
+extension modules (for example the `dbm` libraries).
+
+You can tell Ruby where to find libraries using options to `configure`.
+From [\[ruby-talk:5041\]][ruby-talk:5041]:
+
+~~~
+$ ./configure --with-xxx-yyy=DIR
+~~~
+
+where xxx is either
+
+~~~
+opt           extra software path in general
+dbm           path for dbm library
+gdbm          path for gdbm library
+x11           ...for X11..
+tk            ...for Tk...
+tcl           ...for Tcl...
+~~~
+
+and yyy is either
+
+~~~
+dir           specifies -I DIR/include -L DIR/lib
+include       specifies -I DIR
+lib           specifies -L DIR
+~~~
+
+On HP-UX, there may be problems building with `gcc`. Try using the native
+compiler instead. WATANABE Tetsuya recommends:
+
+~~~
+$ CC="cc -Ae" CFLAGS=-O ./configure --prefix=/opt/gnu
+~~~
+
+There may also be problems with HP's native `sed`.
+He recommends installing the GNU equivalent.
+
+[ruby-talk:5041]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/5401
+
+### Are precompiled binaries available?
+
+{% include faq-out-of-date.html %}
+
+A single download that contains everything you need to run Ruby under various
+Windows operating systems is available from
+[RubyCentral's One-click Windows installer](http://www.rubycentral.com/downloads/ruby-install.html).
+This installation uses cygwin, and includes Tk support.
+
+If you want other installation options, precompiled binaries for Windows are
+also available from
+[http://www.os.rim.or.jp/~eban/](http://www.os.rim.or.jp/~eban/).
+If you download the `ruby-1.x.y-yyyymmdd-i386-cygwin.tar.gz` package
+(which is a good choice), you'll also need to download the cygwin DLL,
+available from the same page.
+
+[Reuben Thomas](mailto:Reuben.Thomas@cl.cam.ac.uk) writes:
+
+> You could mention that there's a port to Acorn RISC OS, currently of v1.4.3.
+> I made the port, and have no plans to maintain it, but I did send the
+> patches to matz, so newer versions may well compile too.
+
+> I do provide a binary distribution of 1.4.3 for the Acorn at
+> [http://www.cl.cam.ac.uk/users/rrt1001/ruby.zip](http://www.cl.cam.ac.uk/users/rrt1001/ruby.zip).
+
+### What's all this “cygwin”, “mingw”, and “djgpp” stuff?
+
+{% include faq-out-of-date.html %}
+
+Ruby is written to take advantage of the rich feature set of a Unix
+environment. Unfortunately, Windows is missing some of the functions, and
+implements others differently. As a result, some kind of mapping layer is
+needed to run Ruby (and other Unix-based programs) under Windows.
+
+You may come across different versions of the Ruby executable that use
+different wrapper mapping layers.
+
+The rbdj version is a stand-alone version of the Windows binary of Ruby.
+It uses the DJ Delorie tools
+([http://www.delorie.com](http://www.delorie.com)).
+
+The rbcw version is a Windows binary of Ruby that requires the cygwin library,
+available at [http://www.cygwin.com](http://www.cygwin.com) or from the
+Ruby download pages. Cygwin is both an emulation layer and a set of
+utilities initially produced by Cygnus Solutions (now part of Redhat).
+The cygwin version of Ruby probably has the fullest set of features under
+Windows, so most programmers will want to use it.
+
+To use the rbcw version, you will need to install the cygwin .dll separately.
+Once you have installed cygwin on your computer, copy `cygwin1.dll` (which
+is found in the `bin` subdirectory of the cygwin distribution) to your
+`Windows\System32` folder (or somewhere else on your path).
+
+Thanks to Anders Schneiderman for the basis of this description.
+
+### Why doesn't Tk graphics work under Windows?
+
+{% include faq-out-of-date.html %}
+
+Is Tk installed correctly on your Windows box? Go to
+[http://dev.scriptics.com/software/tcltk/](http://dev.scriptics.com/software/tcltk/)
+to find a precompiled binary Tcl/Tk distribution for your box.
+
+Are the environment variables `TCL_LIBRARY` and `TK_LIBRARY` pointing to the
+directories containing tcl and tk?
+
+Is the tk library in your path?
diff --git a/fa/documentation/faq/4/index.md b/fa/documentation/faq/4/index.md
new file mode 100644
index 0000000000..e7e2f834eb
--- /dev/null
+++ b/fa/documentation/faq/4/index.md
@@ -0,0 +1,428 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <strong>4</strong>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Variables, constants, and arguments
+
+### Does assignment generate a new copy of an object?
+{: #assignment}
+
+All variables and constants reference (point at) some object. (With the
+exception of uninitialized local variables, which reference nothing.
+These raise a `NameError` exception if used). When you assign to a variable,
+or initialize a constant, you set the object that the variable or constant
+references.
+
+Assignment on its own therefore never creates a new copy of an object.
+
+There's a slightly deeper explanation in certain special cases. Instances of
+`Fixnum`, `NilClass`, `TrueClass`, and `FalseClass` are contained directly in
+variables or constants---there is no reference involved. A variable holding
+the number `42` or the constant `true` actually holds the value, and not a
+reference to it. Assignment therefore physically produces a copy of objects
+of these types. We discuss this more in
+[Immediate and Reference Objects](../6/#immediate).
+
+### What is the scope of a local variable?
+
+A new scope for a local variable is introduced in (1) the toplevel (main),
+(2) a class (or module) definition, or (3) a method definition.
+
+~~~
+var = 1         # (1)
+class Demo
+  var = 2       # (2)
+  def method
+    var = 3     # (3)
+    puts "in method: var = #{var}"
+  end
+  puts "in class: var = #{var}"
+end
+puts "at top level: var = #{var}"
+Demo.new.method
+~~~
+
+Produces:
+
+~~~
+in class: var = 2
+at top level: var = 1
+in method: var = 3
+~~~
+
+(Note that the class definition is executable code: the trace message it
+contains is written as the class is defined).
+
+A block (`{ ... }` or `do ... end`) almost introduces a new scope ;-)
+Local variables created within a block are not accessible outside the block.
+However, if a local variable within the block has the same name as an existing
+local variable in the caller's scope, then no new local variable is created,
+and you can subsequently access that variable outside the block.
+
+~~~
+a = 0
+1.upto(3) do |i|
+  a += i
+  b = i*i
+end
+a  # => 6
+# b is not defined here
+~~~
+
+This becomes significant when you use threading---each thread receives its
+own copy of the variables local to the thread's block:
+
+~~~
+threads = []
+
+["one", "two"].each do |name|
+  threads << Thread.new do
+    local_name = name
+    a = 0
+    3.times do |i|
+      Thread.pass
+      a += i
+      puts "#{local_name}: #{a}"
+    end
+  end
+end
+
+threads.each {|t| t.join }
+~~~
+
+Might produce (in case the scheduler switches threads as hinted
+by `Thread.pass`; this depends on OS and processor):
+
+~~~
+one: 0
+two: 0
+one: 1
+two: 1
+one: 3
+two: 3
+~~~
+
+`while`, `until`, and `for` are control structures, not blocks, so local
+variables within them will be accessible in the enclosing environment.
+`loop`, however, is a method and the associated block introduces a new scope.
+
+### When does a local variable become accessible?
+
+Actually, the question may be better asked as: “at what point does Ruby work
+out that something is a variable?” The problem arises because the simple
+expression `a` could be either a variable or a call to a method with no
+parameters. To decide which is the case, Ruby looks for assignment statements.
+If at some point in the source prior to the use of `a` it sees it being
+assigned to, it decides to parse `a` as a variable, otherwise it treats it
+as a method. As a somewhat pathological case of this, consider this code
+fragment, originally submitted by Clemens Hintze:
+
+~~~
+def a
+  puts "method `a' called"
+
+  99
+end
+
+[1, 2].each do |i|
+  if i == 2
+    puts "a = #{a}"
+  else
+    a = 1
+    puts "a = #{a}"
+  end
+end
+~~~
+
+Produces:
+
+~~~
+a = 1
+method `a' called
+a = 99
+~~~
+
+During the parse, Ruby sees the use of `a` in the first `puts` statement
+and, as it hasn't yet seen any assignment to `a`, assumes that it is a method
+call. By the time it gets to the second `puts` statement, though, it has seen
+an assignment, and so treats `a` as a variable.
+
+Note that the assignment does not have to be executed---Ruby just has to have
+seen it. This program does not raise an error:
+
+~~~
+a = 1 if false; a  # => nil
+~~~
+
+This issue with variables is not normally a problem. If you do bump into it,
+try putting an assignment such as `a = nil` before the first access to the
+variable. This has the additional benefit of speeding up the access time to
+local variables that subsequently appear in loops.
+
+### What is the scope of a constant?
+
+A constant defined in a class or module definition can be accessed directly
+within that class's or module's definition.
+
+You can directly access the constants in outer classes and modules from
+within nested classes and modules.
+
+You can also directly access constants in superclasses and included modules.
+
+Apart from these cases, you can access class and module constants using
+the `::` operator, `ModuleName::CONST1` or `ClassName::CONST2`.
+
+### How are arguments passed?
+
+The actual argument is assigned to the formal argument when the method is
+invoked.
+(See [assignment](#assignment) for more on the semantics of assignment.)
+
+~~~
+def add_one(number)
+  number += 1
+end
+
+a = 1
+add_one(a)  # => 2
+a           # => 1
+~~~
+
+As you are passing object references, it is possible that a method may modify
+the contents of a mutable object passed into it.
+
+~~~
+def downer(string)
+  string.downcase!
+end
+
+a = "HELLO"  # => "HELLO"
+downer(a)    # => "hello"
+a            # => "hello"
+~~~
+
+There is no equivalent of other language's pass-by-reference semantics.
+
+### Does assignment to a formal argument influence the actual argument?
+
+A formal argument is a local variable. Within a method, assigning to a formal
+argument simply changes the argument to reference another object.
+
+### What happens when I invoke a method via a formal argument?
+
+All Ruby variables (including method arguments) act as references to objects.
+You can invoke methods in these objects to get or change the object's state
+and to make the object do something. You can do this with objects passed to
+methods. You need to be careful when doing this, as these kinds of side
+effects can make programs hard to follow.
+
+### What does `*` prepended to an argument mean?
+
+When used as part of a formal parameter list, the asterisk allows arbitrary
+numbers of arguments to be passed to a method by collecting them into an
+array, and assigning that array to the starred parameter.
+
+~~~
+def foo(prefix, *all)
+  all.each do |element|
+    puts "#{prefix}#{element}"
+  end
+end
+
+foo("val = ", 1, 2, 3)
+~~~
+
+Produces:
+
+~~~
+val = 1
+val = 2
+val = 3
+~~~
+
+When used in a method call, `*` expands an array, passing its individual
+elements as arguments.
+
+~~~
+a = [1, 2, 3]
+foo(*a)
+~~~
+
+You can prepend `*` to the last argument of
+
+1. Left hand side of a multiple assignment.
+2. Right hand side of a multiple assignment.
+3. Definition of method formal arguments.
+4. Actual arguments in a method call.
+5. In `when` clause of `case` structure.
+
+For example:
+
+~~~
+x, *y = [7, 8, 9]
+x                  # => 7
+y                  # => [8, 9]
+x,    = [7, 8, 9]
+x                  # => 7
+x     = [7, 8, 9]
+x                  # => [7, 8, 9]
+~~~
+
+### What does `&` prepended to an argument mean?
+
+If the last formal argument of a method is preceded with an ampersand (`&`),
+a block following the method call will be converted into a `Proc` object
+and assigned to the formal parameter.
+
+If the last actual argument in a method invocation is a `Proc` object,
+you can precede its name with an ampersand to convert in into a block.
+The method may then use `yield` to call it.
+
+~~~
+def meth1(&b)
+  puts b.call(9)
+end
+
+meth1 {|i| i + i }
+
+def meth2
+  puts yield(8)
+end
+
+square = proc {|i| i * i }
+
+meth2 {|i| i + i }
+meth2 &square
+~~~
+
+Produces:
+
+~~~
+18
+16
+64
+~~~
+
+### How can I specify a default value for a formal argument?
+
+~~~
+def greet(p1="hello", p2="world")
+  puts "#{p1} #{p2}"
+end
+
+greet
+greet("hi")
+greet("morning", "mom")
+~~~
+
+Produces:
+
+~~~
+hello world
+hi world
+morning mom
+~~~
+
+The default value (which can be an arbitrary expression) is evaluated when
+the method is invoked. It is evaluated using the scope of the method.
+
+### How do I pass arguments to a block?
+
+The formal parameters of a block appear between vertical bars at the start
+of the block:
+
+~~~
+proc {|a, b| a <=> b }
+~~~
+
+These parameters are actually local variables. If an existing local variable
+of the same name exists when the block executes, that variable will be
+modified by the call to the block. This may or may not be a good thing.
+
+Typically, arguments are passed to a block using `yield` (or an iterator that
+calls `yield`), or by using the `Proc.call` method.
+
+### Why did my object change unexpectedly?
+
+~~~
+A = a = b = "abc"
+b.concat("d")  # => "abcd"
+a              # => "abcd"
+A              # => "abcd"
+~~~
+
+Variables hold references to objects. The assignment `A = a = b = "abc"` puts
+a reference to the string `"abc"` into `A`, `a`, and `b`.
+
+When you call `b.concat("d")`, you invoke the concat method on that object,
+changing it from `"abc"` to `"abcd"`. Because `a` and `A` also reference that
+same object, their apparent values change too.
+
+This is less of a problem in practice than it might appear.
+
+In addition, all objects may be frozen, protecting them from change.
+
+### Does the value of a constant ever change?
+
+A constant is a variable whose name starts with an upper case letter.
+Constants may not be reassigned from within instance methods,
+but can otherwise be changed at will.
+When a constant is assigned a new value, a warning is issued.
+
+### Why can't I load variables from a separate file?
+
+Say `file1.rb` contains:
+
+~~~
+var1 = 99
+~~~
+
+and some other file loads it in:
+
+~~~
+require_relative "file1"
+puts var1
+~~~
+
+Produces:
+
+~~~
+prog.rb:2:in `<main>': undefined local variable or method `var1' for main:Object (NameError)
+~~~
+
+You get an error because `load` and `require` arrange for local variables to
+be stored into a separate, anonymous namespace, effectively discarding them.
+This is designed to protect your code from being polluted.
diff --git a/fa/documentation/faq/5/index.md b/fa/documentation/faq/5/index.md
new file mode 100644
index 0000000000..372c79b380
--- /dev/null
+++ b/fa/documentation/faq/5/index.md
@@ -0,0 +1,237 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <strong>5</strong>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Iterators
+
+### What is an iterator?
+
+An iterator is a method which accepts a block or a `Proc` object. In the
+source file, the block is placed immediately after the invocation of the
+method. Iterators are used to produce user-defined control
+structures---especially loops.
+
+Let's look at an example to see how this works. Iterators are often used to
+repeat the same action on each element of a collection, like this:
+
+~~~
+data = [1, 2, 3]
+data.each do |i|
+  puts i
+end
+~~~
+
+Produces:
+
+~~~
+1
+2
+3
+~~~
+
+The each method of the array `data` is passed the `do ... end` block,
+and executes it repeatedly. On each call, the block is passed successive
+elements of the array.
+
+You can define blocks with `{ ... }` in place of `do ... end`.
+
+~~~
+data = [1, 2, 3]
+data.each { |i|
+  puts i
+}
+~~~
+
+Produces:
+
+~~~
+1
+2
+3
+~~~
+
+This code has the same meaning as the last example. However, in some cases,
+precedence issues cause `do ... end` and `{ ... }` to act differently.
+
+~~~
+foobar a, b do ... end  # foobar is the iterator.
+foobar a, b { ... }     # b is the iterator.
+~~~
+
+This is because `{ ... }` binds more tightly to the preceding expression
+than does a `do ... end` block. The first example is equivalent to
+`foobar(a, b) do ... end`, while the second is `foobar(a, b { ... })`.
+
+### How can I pass a block to an iterator?
+
+You simply place the block after the iterator call. You can also pass a
+`Proc` object by prepending `&` to the variable or constant name that refers
+to the `Proc`.
+
+### How is a block used in an iterator?
+
+{% include faq-out-of-date.html %}
+
+There are three ways to execute a block from an iterator method:
+(1) the `yield` control structure; (2) calling a `Proc` argument
+(made from a block) with `call`; and (3) using `Proc.new` followed by a call.
+
+The `yield` statement calls the block, optionally passing it one or more
+arguments.
+
+~~~
+def my_iterator
+  yield 1, 2
+end
+
+my_iterator {|a, b| puts a, b }
+~~~
+
+Produces:
+
+~~~
+1
+2
+~~~
+
+If a method definition has a block argument (the last formal parameter has
+an ampersand (`&`) prepended), it will receive the attached block, converted
+to a `Proc` object. This may be called using `prc.call(args)`.
+
+~~~
+def my_iterator(&b)
+  b.call(1, 2)
+end
+
+my_iterator {|a, b| puts a, b }
+~~~
+
+Produces:
+
+~~~
+1
+2
+~~~
+
+`Proc.new` (or the equivalent `proc` or `lambda` calls), when used in an
+iterator definition, takes the block which is given to the method as its
+argument and generates a procedure object from it.
+(`proc` and `lambda` are effectively synonyms.)
+
+_[Update needed: `lambda` behaves in a slightly different way and
+produces a warning `tried to create Proc object without a block`.]_
+
+~~~
+def my_iterator
+  Proc.new.call(3, 4)
+  proc.call(5, 6)
+  lambda.call(7, 8)
+end
+
+my_iterator {|a, b| puts a, b }
+~~~
+
+Produces:
+
+~~~
+3
+4
+5
+6
+7
+8
+~~~
+
+Perhaps surprisingly, `Proc.new` and friends do not in any sense consume
+the block attached to the method---each call to `Proc.new` generates a new
+procedure object out of the same block.
+
+You can tell if there is a block associated with a method by calling
+`block_given?`.
+
+### What does `Proc.new` without a block do?
+
+`Proc.new` without a block cannot generate a procedure object and an error
+occurs. In a method definition, however, `Proc.new` without a block implies
+the existence of a block at the time the method is called, and so no error
+will occur.
+
+### How can I run iterators in parallel?
+
+Here an adoption of a solution by Matz, in
+[\[ruby-talk:5252\]][ruby-talk:5252], that uses threads:
+
+~~~
+require "thread"
+
+def combine(*iterators)
+  queues = []
+  threads = []
+
+  iterators.each do |it|
+    queue = SizedQueue.new(1)
+    th = Thread.new(it, queue) do |i, q|
+           send(i) {|x| q << x }
+         end
+    queues  << queue
+    threads << th
+  end
+
+  loop do
+    ary = []
+    queues.each {|q| ary << q.pop }
+    yield ary
+
+    iterators.size.times do |i|
+      return if !threads[i].status && queues[i].empty?
+    end
+  end
+end
+
+def it1
+  yield 1; yield 2; yield 3
+end
+
+def it2
+  yield 4; yield 5; yield 6
+end
+
+combine(:it1, :it2) do |x|
+  # x is [1, 4], then [2, 5], then [3, 6]
+end
+~~~
+
+[ruby-talk:5252]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/5252
diff --git a/fa/documentation/faq/6/index.md b/fa/documentation/faq/6/index.md
new file mode 100644
index 0000000000..f8a29a62c0
--- /dev/null
+++ b/fa/documentation/faq/6/index.md
@@ -0,0 +1,293 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <strong>6</strong>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Syntax
+
+### What is the difference between an immediate value and a reference?
+{: #immediate}
+
+{% include faq-out-of-date.html %}
+
+`Fixnum`, `true`, `nil`, and `false` are implemented as immediate values.
+With immediate values, variables hold the objects themselves, rather than
+references to them.
+
+Singleton methods cannot be defined for such objects. Two `Fixnums` of the
+same value always represent the same object instance, so (for example)
+instance variables for the `Fixnum` with the value `1` are shared between
+all the `1`'s in the system. This makes it impossible to define a singleton
+method for just one of these.
+
+### What is the difference between `nil` and `false`?
+
+First the similarity: `nil` and `false` are the only two objects
+that evaluate to `false` in a boolean context.
+(In other words: they are the only “falsy” values, all other
+objects are “truthy”.)
+
+However, `nil` and `false` are instances of different classes
+(`NilClass` and `FalseClass`), and have different behavior elsewhere.
+
+We recommend that predicate methods (those whose name ends with a question
+mark) return `true` or `false`. Other methods that need to indicate failure
+should return `nil`.
+
+### Why is an empty string not `false`?
+
+Q: An empty string (`""`) returns `true` in a conditional expression!
+In Perl, it's `false`.
+
+A: But Ruby is not Perl ;-). It's very simple: in Ruby, only `nil`
+and `false` are false in conditional contexts.
+
+You can use `empty?`, compare the string to `""`, or compare the string's
+`size` or `length` to `0` to find out if a string is empty.
+
+### What does `:name` mean?
+
+A colon followed by a name generates a Symbol object which corresponds
+one to one with the identifier. During the duration of a program's
+execution the same Symbol object will be created for a given name or string.
+Symbols can also be created with `"name".intern` or `"name".to_sym`.
+
+Symbol objects can represent identifiers for methods, variables, and so on.
+Some methods, like `define_method`, `method_missing`, or `trace_var`,
+require a symbol. Other methods, e.g. `attr_accessor`, `send`, or `autoload`,
+also accept a string.
+
+Due to the fact that they are created only once, Symbols are often used as
+hash keys. String hash keys would create a new object for every single use,
+thereby causing some memory overhead.
+There is even a special syntax for symbol hash keys:
+
+~~~
+person_1 = { :name => "John", :age => 42 }
+person_2 = { name: "Jane", age: 24 }        # alternate syntax
+~~~
+
+Symbols can also be used as enumeration values
+or to assign unique values to constants:
+
+~~~
+status = :open  # :closed, ...
+
+NORTH = :NORTH
+SOUTH = :SOUTH
+~~~
+
+### How can I access the value of a symbol?
+
+To get the value of the variable corresponding to a symbol, you can use
+`symbol.to_s` or `"#{symbol}"` to get the name of the variable, and then
+eval that in the scope of the symbol to get the variable's contents:
+
+~~~
+a = "This is the content of `a'"
+b = eval("#{:a}")
+a.object_id == b.object_id  # => true
+~~~
+
+You can also use
+
+~~~
+b = binding.local_variable_get(:a)
+~~~
+
+If your symbol corresponds to the name of a method, you can use `send`:
+
+~~~
+class Demo
+  def hello
+    "Hello, world"
+  end
+end
+
+demo = Demo.new
+demo.send(:hello)
+~~~
+
+Or you can use `Object#method` to return a corresponding `Method` object,
+which you may then call:
+
+~~~
+m = demo.method(:hello)  # => #<Method: Demo#hello>
+m.call                   # => "Hello, world"
+~~~
+
+### Is `loop` a control structure?
+
+Although `loop` looks like a control structure, it is actually a method
+defined in `Kernel`. The block which follows introduces a new scope for
+local variables.
+
+### Ruby doesn't have a post-test loop
+
+Q: Ruby does not have a `do { ... } while` construct, so how can I implement
+loops that test the condition at the end?
+
+Clemens Hintze says: You can use a combination of Ruby's `begin ... end`
+and the `while` or `until` statement modifiers to achieve the same effect:
+
+~~~
+i = 0
+begin
+  puts "i = #{i}"
+  i += 1
+end until i > 4
+~~~
+
+Produces:
+
+~~~
+i = 0
+i = 1
+i = 2
+i = 3
+i = 4
+~~~
+
+### Why can't I pass a hash literal to a method: `p {}`?
+
+The `{}` is parsed as a block, not a `Hash` constructor. You can force the
+`{}` to be treated as an expression by making the fact that it's a parameter
+explicit: `p({})`.
+
+### I can't get `def pos=(val)` to work!
+
+I have the following code, but I cannot use the method `pos = 1`.
+
+~~~
+def pos=(val)
+  @pos = val
+  puts @pos
+end
+~~~
+
+Methods with `=` appended must be called with an explicit receiver
+(without the receiver, you are just assigning to a local variable).
+Invoke it as `self.pos = 1`.
+
+### What is the difference between `'\1'` and `'\\1'`?
+
+They have the same meaning. In a single quoted string, only `\'` and `\\`
+are transformed and other combinations remain unchanged.
+
+However, in a double quoted string, `"\1"` is the byte `\001`
+(an octal bit pattern), while `"\\1"` is the two character string
+containing a backslash and the character `"1"`.
+
+### What is the difference between `..` and `...`?
+
+`..` includes the right hand side in the range, `...` does not:
+
+~~~
+(5..8).to_a   # => [5, 6, 7, 8]
+(5...8).to_a  # => [5, 6, 7]
+~~~
+
+### What is the difference between `or` and `||`?
+
+Q: `p(nil || "Hello")` prints `"Hello"`, while `p(nil or "Hello")` gives a
+parse error. Why?
+
+A: `or` has a very low precedence, `p( (nil or "Hello") )` will work.
+
+The precedence of `or` is for instance also lower than that of `=`,
+whereas `||` has a higher precedence:
+
+~~~
+foo = nil || "Hello"  # parsed as: foo = (nil || "Hello")
+foo  # => "Hello"
+
+# but perhaps surprisingly:
+
+foo = nil or "Hello"  # parsed as: (foo = nil) or "Hello"
+foo  # => nil
+~~~
+
+`or` (and similarly `and`) is best used **not** for combining
+boolean expressions, but for control flow, like in
+
+~~~
+do_something  or raise "some error!"
+~~~
+
+where `do_something` returns `false` or `nil` when an error occurs.
+
+### Does Ruby have function pointers?
+
+A `Proc` object generated by `Proc.new`, `proc`, or `lambda` can be referenced
+from a variable, so that variable could be said to be a function pointer. You
+can also get references to methods within a particular object instance using
+`object.method`.
+
+### What is the difference between `load` and `require`?
+
+`load` will load and execute a Ruby program (`*.rb`).
+
+`require` loads Ruby programs as well, but will also load binary Ruby
+extension modules (shared libraries or DLLs). In addition,
+`require` ensures that a feature is never loaded more than once.
+
+### Does Ruby have exception handling?
+
+Ruby supports a flexible exception handling scheme:
+
+~~~
+begin
+  statements which may raise exceptions
+rescue [exception class names]
+  statements when an exception occurred
+rescue [exception class names]
+  statements when an exception occurred
+ensure
+  statements that will always run
+end
+~~~
+
+If an exception occurs in the `begin` clause, the `rescue` clause with the
+matching exception name is executed. The `ensure` clause is executed whether
+an exception occurred or not. `rescue` and `ensure` clauses may be omitted.
+
+If no exception class is designated for a `rescue` clause, `StandardError`
+exception is implied, and exceptions which are in a `is_a?` relation to
+`StandardError` are captured.
+
+This expression returns the value of the `begin` clause.
+
+The latest exception is accessed by the global variable `$!`
+(and so its type can be determined using `$!.type`).
diff --git a/fa/documentation/faq/7/index.md b/fa/documentation/faq/7/index.md
new file mode 100644
index 0000000000..309a72eed1
--- /dev/null
+++ b/fa/documentation/faq/7/index.md
@@ -0,0 +1,442 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <strong>7</strong>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Methods
+
+### How does Ruby choose which method to invoke?
+
+Ruby binds all messages to methods dynamically. It searches first for
+singleton methods in the receiver, then for methods defined in the receiver's
+own class, and finally for methods defined in the receiver's superclasses
+(including any modules which may have been mixed in). You can see the order
+of searching by displaying `ClassName.ancestors`, which shows the ancestor
+classes and modules of `ClassName`.
+
+If after searching the alternatives a matching method could not be found,
+Ruby tries to invoke a method called `method_missing`, repeating the same
+search procedure to find it. This allows you to handle messages to unknown
+methods, and is often used to provide dynamic interfaces to classes.
+
+~~~
+module Emphasizable
+  def emphasize
+    "**#{self}**"
+  end
+end
+
+class String
+  include Emphasizable
+end
+
+String.ancestors
+  # => [String, Emphasizable, Comparable, Object, Kernel, BasicObject]
+
+"Wow!".emphasize  # => "**Wow!**"
+~~~
+
+When the method `emphasize` is searched for, it is not found in class
+`String`, so Ruby searches next in the module `Emphasizable`.
+
+In order to override a method that already exists in the receiver's class,
+e.g. `String#capitalize`, you need to insert the module into the
+ancestor chain in front of that class, by using `prepend`:
+
+~~~
+module PrettyCapitalize
+  def capitalize
+    "**#{super}**"
+  end
+end
+
+class String
+  prepend PrettyCapitalize
+end
+
+String.ancestors
+  # => [PrettyCapitalize, String, Comparable, Object, Kernel, BasicObject]
+
+"hello".capitalize  # => "**Hello**"
+~~~
+
+### Are `+`, `-`, `*`, ... operators?
+
+`+`, `-`, and the like are not operators but method calls.
+They can, therefore, be overloaded by new definitions.
+
+~~~
+class MyString < String
+  def -(other)
+    self[0...other.size]  # self truncated to other's size
+  end
+end
+~~~
+
+However, the following are built-in control structures, not methods,
+which cannot be overridden:
+
+~~~
+=, .., ..., not, ||, &&, and, or, ::
+~~~
+
+To overload or to define the unary `+` and `-` operators,
+you need to use `+@` and `-@` as the method names.
+
+`=` is used to define a method to set an attribute of the object:
+
+~~~
+class Test
+  def attribute=(val)
+    @attribute = val
+  end
+end
+
+t = Test.new
+t.attribute = 1
+~~~
+
+If operators such as `+` and `-` are defined, Ruby automatically handles
+the self assignment forms (`+=`, `-=`, and so on).
+
+### Where are `++` and `--` ?
+
+Ruby does not have the autoincrement and autodecrement operators.
+You can use `+= 1` and `-= 1` instead.
+
+### What is a singleton method?
+{: #singleton-method}
+
+A singleton method is an instance method associated with one specific object.
+
+You create a singleton method by including the object in the definition:
+
+~~~
+class Foo; end
+
+foo = Foo.new
+bar = Foo.new
+
+def foo.hello
+  puts "Hello"
+end
+
+foo.hello
+bar.hello
+~~~
+
+Produces:
+
+~~~
+Hello
+prog.rb:11:in `<main>': undefined method `hello' for #<Foo:0x000000010f5a40> (NoMethodError)
+~~~
+
+Singleton methods are useful when you want to add a method to an object and
+creating a new subclass is not appropriate.
+
+### All these objects are fine, but does Ruby have any simple functions?
+
+Yes and no. Ruby has methods that look like functions in languages such
+as C or Perl:
+
+~~~
+def hello(name)
+  puts "Hello, #{name}!"
+end
+
+hello("World")
+~~~
+
+Produces:
+
+~~~
+Hello, World!
+~~~
+
+However, they are actually method calls with the receiver omitted.
+In this case, Ruby assumes the receiver is self.
+
+So, `hello` resembles a function but it's actually a method belonging to
+class `Object` and sent as a message to the hidden receiver self.
+Ruby is a pure object-oriented language.
+
+Of course you can use such methods as if they were functions.
+
+### So where do all these function-like methods come from?
+
+Almost all classes in Ruby are derived from class `Object`. The definition
+of class `Object` mixes in the methods defined in the `Kernel` module.
+These methods are therefore available within every object in the system.
+
+Even if you are writing a simple Ruby program without classes, you are
+actually working inside class `Object`.
+
+### Can I access an object's instance variables?
+
+An object's instance variables (those variables starting with `@`) are not
+directly accessible outside the object. This promotes good encapsulation.
+However, Ruby makes it easy for you to define accessors to these instance
+variables in such a way that users of your class can treat instance variables
+just like attributes. Just use one or more of `attr_reader`, `attr_writer`,
+or `attr_accessor`.
+
+~~~
+class Person
+  attr_reader   :name           # read only
+  attr_accessor :wearing_a_hat  # read/write
+
+  def initialize(name)
+    @name = name
+  end
+end
+
+p = Person.new("Dave")
+p.name           # => "Dave"
+p.wearing_a_hat  # => nil
+p.wearing_a_hat = true
+p.wearing_a_hat  # => true
+~~~
+
+You can also define your own accessor functions (perhaps to perform
+validation, or to handle derived attributes). The read accessor is simply a
+method that takes no parameters, and the assignment accessor is a method name
+ending in `=` that takes a single parameter. Although there can be no space
+between the method name and the `=` in the method definition, you can insert
+spaces there when you call the method, making it look like any other
+assignment. You can also utilize self assignments such as `+=` and `-=`,
+as long as the corresponding `+` or `-` methods are defined.
+
+### What's the difference between `private` and `protected`?
+
+The visibility keyword `private` makes a method callable only in a function
+form, without an explicit receiver, and so it can only have `self` as its
+receiver. A private method is callable only within the class in which the
+method was defined or in its subclasses.
+
+~~~
+class Test
+  def foo
+    99
+  end
+
+  def test(other)
+    p foo
+    p other.foo
+  end
+end
+
+t1 = Test.new
+t2 = Test.new
+
+t1.test(t2)
+
+# Now make `foo' private
+
+class Test
+  private :foo
+end
+
+t1.test(t2)
+~~~
+
+Produces:
+
+~~~
+99
+99
+99
+prog.rb:8:in `test': private method `foo' called for #<Test:0x00000000b57a48> (NoMethodError)
+        from prog.rb:23:in `<main>'
+~~~
+
+Protected methods are also callable only from within their own class or
+its subclasses, but they can be called both in function form and using
+a receiver. For example:
+
+~~~
+def <=>(other)
+  age <=> other.age
+end
+~~~
+
+Will compile if `age` is a protected method, but not if it is private.
+
+These features help you control access to your class's internals.
+
+### How can I change the visibility of a method?
+
+You change the visibility of methods using `private`, `protected`, and
+`public`. When used without parameters during a class definition, they affect
+the visibility of subsequent methods. When used with parameters, they change
+the visibility of the named methods.
+
+~~~
+class Foo
+  def test
+    puts "hello"
+  end
+  private :test
+end
+
+foo = Foo.new
+foo.test
+~~~
+
+Produces:
+
+~~~
+prog.rb:9:in `<main>': private method `test' called for #<Foo:0x0000000284dda0> (NoMethodError)
+~~~
+
+You can make a class method private using `private_class_method`.
+
+~~~
+class Foo
+  def self.test
+    puts "hello"
+  end
+  private_class_method :test
+end
+
+Foo.test
+~~~
+
+Produces:
+
+~~~
+prog.rb:8:in `<main>': private method `test' called for Foo:Class (NoMethodError)
+~~~
+
+The default visibility for the methods defined in a class is public.
+The exception is the instance initializing method, `initialize`.
+
+Methods defined at the toplevel are also public by default.
+
+### Can an identifier beginning with a capital letter be a method name?
+
+Yes, it can, but we don't do it lightly! If Ruby sees a capitalized name
+followed by a space, it will probably (depending on the context) assume it's
+a constant, not a method name. So, if you use capitalized method names,
+always remember to put parameter lists in parentheses, and always put the
+parentheses next to the method name with no intervening spaces.
+(This last suggestion is a good idea anyway!)
+
+### Calling `super` gives an `ArgumentError`.
+
+Invoking `super` with no parameters in a method passes all the arguments of
+that method to a method of the same name in a superclass. If the number of
+arguments to the original method disagrees with that of the higher-level
+method, an `ArgumentError` is raised. To get around this, simply call `super`
+and pass a suitable number of arguments.
+
+### How can I call the method of the same name two levels up?
+
+`super` invokes the same named method one level up. If you are overloading a
+method in a more distant ancestor, use `alias` to give it a new name before
+masking it with your method definition. You can then call it using that
+aliased name.
+
+### How can I invoke an original built-in method after redefining it?
+
+Within the method definition, you can use `super`. You can also use `alias`
+to give it an alternative name. Finally, you can call the original method as
+a singleton method of `Kernel`.
+
+### What is a destructive method?
+{: #destructive-method}
+
+A destructive method is one which alters the state of an object. `String`,
+`Array`, `Hash`, and others have such methods. Often there are two
+versions of a method, one with a plain name, the other with the same name,
+but followed by `!`. The plain version creates a copy of the receiver, makes
+its change to it, and returns the copy. The “bang” version (with the `!`)
+modifies the receiver in place.
+
+Beware, however, that there are a fair number of destructive methods that
+do not have an `!`, including assignment methods (`name=`), array assignment
+(`[]=`), and methods such as `Array.delete`.
+
+### Why can destructive methods be dangerous?
+
+Remember that assignment in most cases just copies object references, and that
+parameter passing is equivalent to assignment. This means you can end up with
+multiple variables referencing the same object. If one of those variables is
+used to invoke a destructive method, the object referenced by all of them will
+be changed.
+
+~~~
+def foo(str)
+  str.sub!(/foo/, "baz")
+end
+
+obj = "foo"
+foo(obj)     # => "baz"
+obj          # => "baz"
+~~~
+
+In this case the actual argument is altered.
+
+### Can I return multiple values from a method?
+
+Yes and no.
+
+~~~
+def m1
+  return 1, 2, 3
+end
+
+def m2
+  [1, 2, 3]
+end
+
+m1  # => [1, 2, 3]
+m2  # => [1, 2, 3]
+~~~
+
+So, only one thing is returned, but that thing can be an arbitrarily complex
+object. In the case of arrays, you can use multiple assignment to get the
+effect of multiple return values. For example:
+
+~~~
+def foo
+  [20, 4, 17]
+end
+
+a, b, c = foo
+a              # => 20
+b              # => 4
+c              # => 17
+~~~
diff --git a/fa/documentation/faq/8/index.md b/fa/documentation/faq/8/index.md
new file mode 100644
index 0000000000..b57ecee3e9
--- /dev/null
+++ b/fa/documentation/faq/8/index.md
@@ -0,0 +1,378 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <strong>8</strong>
+    <span class="separator"> | </span>
+    <a href="../9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Classes and modules
+
+### Can a class definition be repeated?
+
+A class can be defined repeatedly. Each definition is added to the last
+definition. If a method is redefined, the former one is overridden and lost.
+
+### Are there class variables?
+
+There are. A variable prefixed with two at signs (`@@`) is a class variable,
+accessible within both instance and class methods of the class.
+
+~~~
+class Entity
+
+  @@instances = 0
+
+  def initialize
+    @@instances += 1
+    @number = @@instances
+  end
+
+  def who_am_i
+   "I'm #{@number} of #{@@instances}"
+  end
+
+  def self.total
+    @@instances
+  end
+end
+
+entities = Array.new(9) { Entity.new }
+
+entities[6].who_am_i  # => "I'm 7 of 9"
+Entity.total          # => 9
+~~~
+
+However, you probably should use _class instance variables_ instead.
+
+### What is a class instance variable?
+
+Here the example of the previous section rewritten
+using a class instance variable:
+
+~~~
+class Entity
+
+  @instances = 0
+
+  class << self
+    attr_accessor :instances  # provide class methods for reading/writing
+  end
+
+  def initialize
+    self.class.instances += 1
+    @number = self.class.instances
+  end
+
+  def who_am_i
+   "I'm #{@number} of #{self.class.instances}"
+  end
+
+  def self.total
+    @instances
+  end
+end
+
+entities = Array.new(9) { Entity.new }
+
+entities[6].who_am_i  # => "I'm 7 of 9"
+Entity.instances      # => 9
+Entity.total          # => 9
+~~~
+
+Here, `@instances` is a _class_ instance variable. It does not belong
+to an instance of class `Entity`, but to the class object `Entity`,
+which is an instance of class `Class`.
+
+Class instance variables are directly accessible only within class methods
+of the class.
+
+### What is the difference between class variables and class instance variables?
+
+The main difference is the behavior concerning inheritance:
+class variables are shared between a class and all its subclasses,
+while class instance variables only belong to one specific class.
+
+Class variables in some way can be seen as global variables within
+the context of an inheritance hierarchy, with all the problems
+that come with global variables.
+For instance, a class variable might (accidentally) be reassigned
+by any of its subclasses, affecting all other classes:
+
+~~~
+class Woof
+
+  @@sound = "woof"
+
+  def self.sound
+    @@sound
+  end
+end
+
+Woof.sound  # => "woof"
+
+class LoudWoof < Woof
+  @@sound = "WOOF"
+end
+
+LoudWoof.sound  # => "WOOF"
+Woof.sound      # => "WOOF" (!)
+~~~
+
+Or, an ancestor class might later be reopened and changed,
+with possibly surprising effects:
+
+~~~
+class Foo
+
+  @@var = "foo"
+
+  def self.var
+    @@var
+  end
+end
+
+Foo.var  # => "foo" (as expected)
+
+class Object
+  @@var = "object"
+end
+
+Foo.var  # => "object" (!)
+~~~
+
+So, unless you exactly know what you are doing and explicitly need
+this kind of behavior, you better should use class instance variables.
+
+### Does Ruby have class methods?
+{: #class-method}
+
+A [singleton method](../7/#singleton-method) of a class object is called a
+class method.
+(Actually, the class method is defined in the metaclass, but that is pretty
+much transparent). Another way of looking at it is to say that a class method
+is a method whose receiver is a class.
+
+It all comes down to the fact that you can call class methods without having
+to have instances of that class (objects) as the receiver.
+
+Let's create a singleton method of class `Foo`:
+
+~~~
+class Foo
+  def self.test
+    "this is foo"
+  end
+end
+
+# It is invoked this way.
+
+Foo.test  # => "this is foo"
+~~~
+
+In this example, `Foo.test` is a class method.
+
+Instance methods which are defined in class `Class` can be used
+as class methods for every(!) class.
+
+### What is a singleton class?
+
+A singleton class is an anonymous class that is created by subclassing the
+class associated with a particular object. Singleton classes are another
+way of extending the functionality associated with just one object.
+
+Take the lowly `Foo`:
+
+~~~
+class Foo
+  def hello
+    "hello"
+  end
+end
+
+foo = Foo.new
+foo.hello  # => "hello"
+~~~
+
+Now let's say we need to add class-level functionality to just this one
+instance:
+
+~~~
+class << foo
+  attr_accessor :name
+
+  def hello
+    "hello, I'm #{name}"
+  end
+end
+
+foo.name = "Tom"
+foo.hello         # => "hello, I'm Tom"
+Foo.new.hello     # => "hello"
+~~~
+
+We've customized `foo` without changing the characteristics of `Foo`.
+
+### What is a module function?
+
+{% include faq-out-of-date.html %}
+
+A module function is a private, singleton method defined in a module.
+In effect, it is similar to a [class method](#class-method),
+in that it can be called using the `Module.method` notation:
+
+~~~
+Math.sqrt(2)  # => 1.414213562
+~~~
+
+However, because modules can be mixed in to classes, module functions can
+also be used without the prefix (that's how all those `Kernel` functions are
+made available to objects):
+
+~~~
+include Math
+sqrt(2)  # => 1.414213562
+~~~
+
+Use `module_function` to make a method a module function.
+
+~~~
+module Test
+  def thing
+    # ...
+  end
+  module_function :thing
+end
+~~~
+
+### What is the difference between a class and a module?
+
+Modules are collections of methods and constants. They cannot generate
+instances. Classes may generate instances (objects), and have per-instance
+state (instance variables).
+
+Modules may be mixed in to classes and other modules. The mixed in module's
+constants and methods blend into that class's own, augmenting the class's
+functionality. Classes, however, cannot be mixed in to anything.
+
+A class may inherit from another class, but not from a module.
+
+A module may not inherit from anything.
+
+### Can you subclass modules?
+
+No. However, a module may be included in a class or another module to mimic
+multiple inheritance (the mixin facility).
+
+This does not generate a subclass (which would require inheritance), but does
+generate an `is_a?` relationship between the class and the module.
+
+### Give me an example of a mixin
+
+The module `Comparable` provides a variety of comparison operators
+(`<`, `<=`, `==`, `>=`, `>`, `between?`). It defines these in terms
+of calls to the general comparison method, `<=>`. However, it does
+not itself define `<=>`.
+
+Say you want to create a class where comparisons are based on the number of
+legs an animal has:
+
+~~~
+class Animal
+  include Comparable
+
+  attr_reader :legs
+
+  def initialize(name, legs)
+    @name, @legs = name, legs
+  end
+
+  def <=>(other)
+    legs <=> other.legs
+  end
+
+  def inspect
+    @name
+  end
+end
+
+c = Animal.new("cat", 4)
+s = Animal.new("snake", 0)
+p = Animal.new("parrot", 2)
+
+c < s             # => false
+s < c             # => true
+p >= s            # => true
+p.between?(s, c)  # => true
+[p, s, c].sort    # => [snake, parrot, cat]
+~~~
+
+All `Animal` must do is define its own semantics for the operator `<=>`,
+and mix in the `Comparable` module. `Comparable`'s methods now become
+indistinguishable from `Animal`'s and your class suddenly sprouts new
+functionality. And because the same `Comparable` module is used by many
+classes, your new class will share a consistent and well understood semantics.
+
+### Why are there two ways of defining class methods?
+
+You can define a class method in the class definition, and you can define
+a class method at the top level.
+
+~~~
+class Demo
+  def self.class_method
+  end
+end
+
+def Demo.another_class_method
+end
+~~~
+
+There is only one significant difference between the two.
+In the class definition you can refer to the class's constants directly,
+as the constants are within scope. At the top level, you have to use the
+`Class::CONST` notation.
+
+### What is the difference between `include` and `extend`?
+
+{% include faq-out-of-date.html %}
+
+`include` mixes a module into a class or another module. Methods from that
+module are called function-style (without a receiver).
+
+`extend` is used to include a module in an object (instance).
+Methods in the module become methods in the object.
+
+### What does `self` mean?
+
+`self` is the currently executing receiver, the object to which a method
+is applied. A function-style method call implies `self` as the receiver.
diff --git a/fa/documentation/faq/9/index.md b/fa/documentation/faq/9/index.md
new file mode 100644
index 0000000000..555b5123f2
--- /dev/null
+++ b/fa/documentation/faq/9/index.md
@@ -0,0 +1,372 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="Content">Content</a>
+    <span class="separator"> | </span>
+    <a href="../1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="../5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="../6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="../7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="../8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <strong>9</strong>
+    <span class="separator"> | </span>
+    <a href="../10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="../11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+{% include faq-notice.md %}
+
+## Built-in libraries
+
+### What does `instance_methods(false)` return?
+
+The method `instance_methods` returns an array containing the names of
+instance methods in the receiving class or module. This will include
+the methods in superclasses and in mixed in modules.
+
+`instance_methods(false)` or `instance_methods(nil)` returns the names
+of just those methods which are defined in the receiver.
+
+### How do random number seeds work?
+
+If `rand` is called without a prior call to `srand`,
+Ruby's pseudo-random number generator uses a random(ish) seed that
+amongst other things uses an entropy source provided by the OS,
+if available.
+Successive runs of a program that does not use `srand` will generate
+different sequences of random numbers.
+
+For testing purposes, you can get a predictable behavior with the same
+series of numbers each time the program is run by calling `srand`
+with a constant seed.
+
+### I read a file and changed it, but the file on disk has not changed.
+
+~~~
+File.open("example", "r+").readlines.each_with_index do |line, i|
+  line[0,0] = "#{i+1}: "
+end
+~~~
+
+This program does _not_ add line numbers to the file `example`. It does read
+the contents of the file, and for each line read does prepend the line number,
+but the data is never written back. The code below _does_ update the file
+(although somewhat dangerously, as it takes no backup before starting the
+update):
+
+~~~
+File.open("example", "r+") do |f|
+  lines = f.readlines
+  lines.each_with_index {|line, i| line[0,0] = "#{i+1}: " }
+  f.rewind
+  f.puts lines
+end
+~~~
+
+### How can I process a file and update its contents?
+
+Using the command-line option `-i`, or built-in variable `$-i`, you can read
+a file and replace it.
+
+The code in the preceding question, which added line numbers to a file,
+is probably best written using this technique:
+
+~~~
+$ ruby -i -ne 'print "#$.: #$_"' example
+~~~
+
+If you want to preserve the original file, use `-i.bak` to create a backup.
+
+### I wrote a file, copied it, but the end of the copy seems to be lost.
+
+This code will not work correctly:
+
+~~~
+require "fileutils"
+
+File.open("file", "w").puts "This is a file."
+FileUtils.cp("file", "newfile")
+~~~
+
+Because I/O is buffered, `file` is being copied before its contents have been
+written to disk. `newfile` will probably be empty. However, when the program
+terminates, the buffers are flushed, and file has the expected content.
+
+The problem doesn't arise if you make sure that `file` is closed before
+copying:
+
+~~~
+require "fileutils"
+
+File.open("file", "w") {|f| f.puts "This is a file." }
+FileUtils.cp("file", "newfile")
+~~~
+
+### How can I get the line number in the current input file?
+
+As you read from a file, Ruby increments a line number counter in the global
+variable `$.`. This is also available using the `lineno` attribute of the
+`File` object.
+
+The special constant `ARGF` is a file-like object that can be used to read
+all the input files specified on the command line (or standard input if there
+are no files). `ARGF` is used implicitly by code such as:
+
+~~~
+while gets
+  print $_
+end
+~~~
+
+In this case, `$.` will be the cumulative number of lines read across all
+input files. To get the line number in the current file, use
+
+~~~
+ARGF.file.lineno
+~~~
+
+You can also get the name of the current file using `ARGF.file.path`.
+
+### How can I use `less` to display my program's output?
+
+I tried the following, but nothing came out:
+
+~~~
+open("|less", "w").puts "abc"
+~~~
+
+That's because the program ends immediately, and `less` never gets a chance
+to see the stuff you've written to it, never mind to display it.
+Make sure that the IO is properly closed and it will wait until `less` ends.
+
+~~~
+open("|less", "w") {|f| f.puts "abc" }
+~~~
+
+### What happens to a `File` object which is no longer referenced?
+
+A `File` object which is no longer referenced becomes eligible for garbage
+collection. The file will be closed automatically when the `File` object is
+garbage collected.
+
+### I feel uneasy if I don't close a file.
+
+There are at least four good ways of ensuring that you do close a file:
+
+~~~
+# (1)
+f = File.open("file")
+begin
+  f.each {|line| print line }
+ensure
+  f.close
+end
+
+# (2)
+File.open("file") do |f|
+  f.each {|line| print line }
+end
+
+# (3)
+File.foreach("file") {|line| print line }
+
+# (4)
+File.readlines("file").each {|line| print line }
+~~~
+
+### How can I sort files by their modification time?
+
+~~~
+Dir.glob("*").sort {|a, b| File.mtime(b) <=> File.mtime(a) }
+~~~
+
+Although this works (returning a list in reverse chronological order) it
+isn't very efficient, as it fetches the files' modification times from the
+operating system on every comparison.
+
+More efficiency can be bought with some extra complexity:
+
+~~~
+Dir.glob("*").map {|f| [File.mtime(f), f] }.
+  sort {|a, b| b[0] <=> a[0] }.map(&:last)
+~~~
+
+### How can I count the frequency of words in a file?
+
+~~~
+freq = Hash.new(0)
+File.read("example").scan(/\w+/) {|word| freq[word] += 1 }
+freq.keys.sort.each {|word| puts "#{word}: #{freq[word]}" }
+~~~
+
+Produces:
+
+~~~
+and: 1
+is: 3
+line: 3
+one: 1
+this: 3
+three: 1
+two: 1
+~~~
+
+### How can I sort strings in alphabetical order?
+
+If you want your strings to sort 'AAA', 'BBB', ..., 'ZZZ', 'aaa', 'bbb',
+then the built-in comparison will work just fine.
+
+If you want to sort ignoring case distinctions, compare downcased versions of
+the strings in the sort block:
+
+~~~
+array = %w( z bB Bb bb Aa BB aA AA aa a A )
+array.sort {|a, b| a.downcase <=> b.downcase }
+  # => ["a", "A", "Aa", "aA", "AA", "aa", "bB", "Bb", "bb", "BB", "z"]
+~~~
+
+If you want to sort so that the 'A's and 'a's come together, but 'a' is
+considered greater than 'A' (so 'Aa' comes after 'AA' but before 'AB'), use:
+
+~~~
+array.sort {|a, b| (a.downcase <=> b.downcase).nonzero? || a <=> b }
+  # => ["A", "a", "AA", "Aa", "aA", "aa", "BB", "Bb", "bB", "bb", "z"]
+~~~
+
+### How can I expand tabs to spaces?
+{: #tab-expansion}
+
+If `a` holds the string to be expanded, you could use one of:
+
+~~~
+1 while a.sub!(/(^[^\t]*)\t(\t*)/){$1+" "*(8-$1.size%8+8*$2.size)}
+# or
+1 while a.sub!(/\t(\t*)/){" "*(8-$~.begin(0)%8+8*$1.size)}
+# or
+a.gsub!(/([^\t]{8})|([^\t]*)\t/n){[$+].pack("A8")}
+~~~
+
+### How can I escape a backslash in a regular expression?
+
+`Regexp.quote('\\')` escapes a backslash.
+
+It gets trickier if you are using `sub` and `gsub`. Say you write
+`gsub(/\\/, '\\\\')`, hoping to replace each backslash with two.
+The second argument is converted to `'\\'` in syntax analysis. When the
+substitution occurs, the regular expression engine converts this to `'\'`,
+so the net effect is to replace each single backslash with another single
+backslash. You need to write `gsub(/\\/, '\\\\\\')`!
+
+However, using the fact that `\&` contains the matched string, you could also
+write `gsub(/\\/, '\&\&')`.
+
+If you use the block form of `gsub`, i.e. `gsub(/\\/) { '\\\\' }`, the string
+for substitution is analyzed only once (during the syntax pass) and the
+result is what you intended.
+
+### What is the difference between `sub` and `sub!`?
+
+In `sub`, a copy of the receiver is generated, substituted, and returned.
+
+In `sub!`, the receiver is altered and returned if any match was found.
+Otherwise, `nil` is returned.
+
+Methods like `sub!`, which alter the attribute of the receiver,
+are called [destructive methods](../7/#destructive-method).
+Usually, if there are two similar methods and one is destructive,
+the destructive one has a suffix `!`.
+
+~~~
+def foo(str)
+  str.sub(/foo/, "baz")
+end
+
+obj = "foo"
+foo(obj)  # => "baz"
+obj       # => "foo"
+
+def foo(str)
+  str.sub!(/foo/, "baz")
+end
+
+foo(obj)  # => "baz"
+obj       # => "baz"
+~~~
+
+### Where does `\Z` match?
+
+`\Z` matches just before the last `\n` (newline) if the string ends
+with a `\n`, otherwise it matches at the end of a string.
+
+### What is the difference between `thread` and `fork`?
+
+{% include faq-out-of-date.html %}
+
+Ruby threads are implemented within the interpreter, while `fork` invokes the
+operating system to create a separately executing subprocess.
+
+Thread and fork have the following characteristics:
+
+* `fork` is slow, `thread` is not.
+* `fork` does not share the memory space.
+* `thread` does not cause thrashing.
+* `thread` works on DOS.
+* When `thread` gets in a deadlock, the whole process stops.
+* `fork` can take advantage of pauses waiting for I/O to complete,
+  `thread` does not (at least not without some help).
+
+You probably shouldn't mix `fork` and `thread`.
+
+### How can I use `Marshal`?
+
+`Marshal` is used to store an object in a file or a string, and later
+reconstitute it. Objects may be stored using:
+
+~~~
+Marshal.dump( obj [, io ] [, lev] )
+~~~
+
+`io` is a writable `IO` object, `lev` designates the level to which objects
+are dereferred and stored. If `lev` levels of dereferring are done and object
+references still exist, then `dump` stores just the reference, not the object
+referenced. This is not good, as these referenced objects cannot be
+subsequently reconstructed.
+
+If `io` is omitted, the marshaled objects are returned in a string.
+
+You can load objects back using:
+
+~~~
+obj = Marshal.load(io)
+# or
+obj = Marshal.load(str)
+~~~
+
+where `io` is a readable `IO` object, `str` is the dumped string.
+
+### How can I use `trap`?
+
+`trap` associates code blocks with external events (signals).
+
+~~~
+trap("PIPE") { raise "SIGPIPE" }
+~~~
diff --git a/fa/documentation/faq/index.md b/fa/documentation/faq/index.md
new file mode 100644
index 0000000000..b6c85da8df
--- /dev/null
+++ b/fa/documentation/faq/index.md
@@ -0,0 +1,62 @@
+---
+layout: page
+title: "Official Ruby FAQ"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <strong>Content</strong>
+    <span class="separator"> | </span>
+    <a href="1/" title="Part 1">1</a>
+    <span class="separator"> | </span>
+    <a href="2/" title="Part 2">2</a>
+    <span class="separator"> | </span>
+    <a href="3/" title="Part 3">3</a>
+    <span class="separator"> | </span>
+    <a href="4/" title="Part 4">4</a>
+    <span class="separator"> | </span>
+    <a href="5/" title="Part 5">5</a>
+    <span class="separator"> | </span>
+    <a href="6/" title="Part 6">6</a>
+    <span class="separator"> | </span>
+    <a href="7/" title="Part 7">7</a>
+    <span class="separator"> | </span>
+    <a href="8/" title="Part 8">8</a>
+    <span class="separator"> | </span>
+    <a href="9/" title="Part 9">9</a>
+    <span class="separator"> | </span>
+    <a href="10/" title="Part 10">10</a>
+    <span class="separator"> | </span>
+    <a href="11/" title="Part 11">11</a>
+  </div>
+  <h1>Official Ruby FAQ</h1>
+
+---
+
+This document contains Frequently Asked Questions about Ruby with answers.
+{: .summary}
+
+This FAQ is based on "[The Ruby Language FAQ][original-faq]" originally
+compiled by Shugo Maeda and translated into English by Kentaro Goto.
+Thanks to Zachary Scott and Marcus Stollsteimer for incorporating
+the FAQ into the site and for a major overhaul of the content.
+
+The code examples in this document have been run using Ruby 2.3.
+
+[original-faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html
+
+{% include faq-notice.md %}
+
+## Content
+
+* [General questions](1/)
+* [How does Ruby stack up against...?](2/)
+* [Installing Ruby](3/)
+* [Variables, constants, and arguments](4/)
+* [Iterators](5/)
+* [Syntax](6/)
+* [Methods](7/)
+* [Classes and modules](8/)
+* [Built-in libraries](9/)
+* [Extension library](10/)
+* [Other features](11/)
diff --git a/fa/documentation/index.md b/fa/documentation/index.md
new file mode 100644
index 0000000000..30da430601
--- /dev/null
+++ b/fa/documentation/index.md
@@ -0,0 +1,175 @@
+---
+layout: page
+title: "مستندات"
+lang: fa
+---
+
+Guides, tutorials, and reference material to help you learn more about Ruby
+{: .summary}
+
+### Installing Ruby
+
+Although you can easily [try Ruby in your browser][1], you can also read
+the [installation guide](installation/) for help on installing Ruby.
+
+### Getting Started
+
+[Official FAQ](/en/documentation/faq/)
+: The official frequently asked questions.
+
+[Ruby Koans][2]
+: The Koans walk you along the path to enlightenment in order to learn
+  Ruby. The goal is to learn the Ruby language, syntax, structure, and
+  some common functions and libraries. We also teach you culture.
+
+[Why’s (Poignant) Guide to Ruby][5]
+: An unconventional but interesting book that will teach you Ruby
+  through stories, wit, and comics. Originally created by *why the lucky
+  stiff*, this guide remains a classic for Ruby learners.
+
+[Learning Ruby][6]
+: A thorough collection of Ruby study notes for those who are new to the
+  language and in search of a solid introduction to Ruby’s concepts and
+  constructs.
+
+[Ruby Essentials][7]
+: Ruby Essentials is a free on-line book designed to provide a concise
+  and easy to follow guide to learning Ruby.
+
+[Learn to Program][8]
+: A wonderful little tutorial by Chris Pine for programming newbies. If
+  you don’t know how to program, start here.
+
+[Learn Ruby the Hard Way][38]
+: A very good set of exercises with explanations that guide you from
+  the absolute basics of Ruby all the way to OOP and web development.
+
+### Manuals
+
+[Programming Ruby][9]
+: The seminal work on Ruby in English, this first edition of the
+  [Pragmatic Programmers’ book][10] is available for free online.
+
+[Ruby User’s Guide][11]
+: Translated from the original Japanese version written by Yukihiro
+  Matsumoto (the creator of Ruby), this version, by Goto Kentaro and
+  Mark Slagell, is a nice overview of many aspects of the Ruby language.
+
+[The Ruby Programming Wikibook][12]
+: A free online manual with beginner and intermediate content plus a
+  thorough language reference.
+
+### Reference Documentation
+
+[Official API Documentation][docs-rlo-en]
+: The official Ruby API documentation for different versions including
+  the currently unreleased (trunk) version.
+
+[Ruby Core Reference][13]
+: Pulled straight from the source code using [RDoc][14], this reference
+  work documents all of the core classes and modules (like String,
+  Array, Symbol, etc…).
+
+[Ruby Standard Library Reference][15]
+: Also pulled from the source code using RDoc, this reference work
+  documents the standard library.
+
+[Ruby C API Reference][extensions]
+: The official introduction to Ruby's C API.
+  Great if you want to write C extensions
+  or contribute to Ruby’s development.
+
+[RubyDoc.info][16]
+: The one-stop web site for reference documentation about Ruby gems and
+  GitHub-hosted Ruby projects.
+
+[Ruby & Rails Searchable API Docs][17]
+: Rails and Ruby documentation with smart searching.
+
+[APIdock][18]
+: Ruby, Rails and RSpec documentation with users’ notes.
+
+### Editors and IDEs
+
+For coding in Ruby you can use the default editor of your operating
+system. By the way, to be more effective in coding, it is worth to
+choose a source code editor with basic Ruby support (e.g.
+syntax-highlighting, file browsing) or an integrated development
+environment with advanced features (e.g. code completion, refactoring,
+testing support).
+
+Here is a list of popular tools used by Rubyists:
+
+* Linux and cross-platform tools:
+  * [Aptana Studio][19]
+  * [Emacs][20] with [Ruby mode][21] and [Rsense][22]
+  * [Geany][23]
+  * [gedit][24]
+  * [Vim][25] with [vim-ruby][26] plugin and [Rsense][22]
+  * [RubyMine][27]
+  * [SciTe][28]
+  * [NetBeans][36]
+  * [Sublime Text][37]
+  * [Atom][atom]
+  * [Visual Studio Code][vscode]
+
+* On Windows:
+  * [Notepad++][29]
+  * [E-TextEditor][30]
+  * [Ruby In Steel][31]
+
+* On macOS:
+  * [TextMate][32]
+  * [TextWrangler][33]
+  * [Dash][39] (documentation browser)
+
+### Further Reading
+
+[Ruby-doc.org][34] maintains a comprehensive list of English
+documentation sources. There are also plenty of [books about Ruby][35].
+If you have questions about Ruby the
+[mailing list](/en/community/mailing-lists/) is a great place to start.
+
+
+
+[1]: https://ruby.github.io/TryRuby/
+[2]: http://rubykoans.com/
+[5]: http://mislav.uniqpath.com/poignant-guide/
+[6]: http://rubylearning.com/
+[7]: http://www.techotopia.com/index.php/Ruby_Essentials
+[8]: http://pine.fm/LearnToProgram/
+[9]: http://www.ruby-doc.org/docs/ProgrammingRuby/
+[10]: http://pragmaticprogrammer.com/titles/ruby/index.html
+[11]: http://www.rubyist.net/~slagell/ruby/
+[12]: http://en.wikibooks.org/wiki/Ruby_programming_language
+[13]: http://www.ruby-doc.org/core
+[14]: https://ruby.github.io/rdoc/
+[15]: http://www.ruby-doc.org/stdlib
+[extensions]: https://docs.ruby-lang.org/en/trunk/extension_rdoc.html
+[16]: http://www.rubydoc.info/
+[17]: http://rubydocs.org/
+[18]: http://apidock.com/
+[19]: http://www.aptana.com/
+[20]: http://www.gnu.org/software/emacs/
+[21]: http://www.emacswiki.org/emacs/RubyMode
+[22]: http://rsense.github.io/
+[23]: http://www.geany.org/
+[24]: http://projects.gnome.org/gedit/screenshots.html
+[25]: http://www.vim.org/
+[26]: https://github.com/vim-ruby/vim-ruby
+[27]: http://www.jetbrains.com/ruby/
+[28]: http://www.scintilla.org/SciTE.html
+[29]: http://notepad-plus-plus.org/
+[30]: http://www.e-texteditor.com/
+[31]: http://www.sapphiresteel.com/
+[32]: http://macromates.com/
+[33]: http://www.barebones.com/products/textwrangler/
+[34]: http://ruby-doc.org
+[35]: http://www.ruby-doc.org/bookstore
+[36]: https://netbeans.org/
+[37]: http://www.sublimetext.com/
+[38]: http://ruby.learncodethehardway.org/
+[39]: http://kapeli.com/dash
+[docs-rlo-en]: https://docs.ruby-lang.org/en/
+[atom]: https://atom.io/
+[vscode]: https://code.visualstudio.com/
diff --git a/fa/documentation/installation/index.md b/fa/documentation/installation/index.md
new file mode 100644
index 0000000000..f964b79ae1
--- /dev/null
+++ b/fa/documentation/installation/index.md
@@ -0,0 +1,355 @@
+---
+layout: page
+title: "نصب روبی"
+lang: fa
+---
+
+With package managers or third-party tools, you have plenty of options
+to install and manage Ruby.
+{: .summary}
+
+You may already have Ruby installed on your computer. You can check
+inside a [terminal emulator][terminal] by typing:
+
+{% highlight sh %}
+ruby -v
+{% endhighlight %}
+
+This should output some information on the installed Ruby version.
+
+## Choose Your Installation Method
+
+There are several ways to install Ruby:
+
+* On a UNIX-like operating system, using your system's
+  **package manager** is easiest.
+  However, the packaged Ruby version may not be the newest one.
+* **Installers** can be used to install a specific or multiple
+  Ruby versions. There is also an installer for Windows.
+* **Managers** help you to switch between multiple Ruby versions
+  on your system.
+* Finally, you can also **build Ruby from source**.
+
+Here are available installation methods:
+
+* [Package Management Systems](#package-management-systems)
+  * [Debian, Ubuntu](#apt)
+  * [Windows WSL Ubuntu](#apt-wsl)
+  * [CentOS, Fedora, RHEL](#yum)
+  * [Snap](#snap)
+  * [Gentoo](#portage)
+  * [Arch Linux](#pacman)
+  * [macOS](#homebrew)
+  * [FreeBSD](#freebsd)
+  * [OpenIndiana](#openindiana)
+  * [Other Distributions](#other-systems)
+* [Installers](#installers)
+  * [ruby-build](#ruby-build)
+  * [ruby-install](#ruby-install)
+  * [RubyInstaller](#rubyinstaller) (Windows)
+  * [RailsInstaller and Ruby Stack](#railsinstaller)
+* [Managers](#managers)
+  * [chruby](#chruby)
+  * [rbenv](#rbenv)
+  * [RVM](#rvm)
+  * [uru](#uru)
+* [Building from source](#building-from-source)
+
+
+## Package Management Systems
+{: #package-management-systems}
+
+If you cannot compile your own Ruby, and you do not want to use a
+third-party tool, you can use your system's package manager to install Ruby.
+
+Some members of the Ruby community feel that you should avoid package
+managers to install Ruby and that you should use dedicated tools instead.
+
+It is possible that major package managers will install older Ruby
+versions instead of the latest release. To use the latest Ruby release,
+check that the package name matches its version number. Or use a
+dedicated [installer][installers].
+
+
+### apt (Debian or Ubuntu)
+{: #apt}
+
+Debian GNU/Linux and Ubuntu use the apt package manager. You can use it
+like this:
+
+{% highlight sh %}
+$ sudo apt-get install ruby-full
+{% endhighlight %}
+
+### apt (Windows WSL Ubuntu)
+{: #apt-wsl}
+
+If you use Windows 10, you can use Linux Ubuntu OS with WSL. And you can also use Ruby with apt.
+
+There is an information that how to install WSL in this page:
+
+[Windows Subsystem for Linux Installation Guide for Windows 10](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
+
+You can use the apt same as Linux OS like this:
+
+{% highlight sh %}
+$ sudo apt-get install ruby-full
+{% endhighlight %}
+
+Or you can also use Ruby managers like the rbenv on WSL.
+
+### yum (CentOS, Fedora, or RHEL)
+{: #yum}
+
+CentOS, Fedora, and RHEL use the yum package manager.
+You can use it like this:
+
+{% highlight sh %}
+$ sudo yum install ruby
+{% endhighlight %}
+
+The installed version is typically the latest version of Ruby available
+at the release time of the specific distribution version.
+
+
+### snap (Ubuntu or other Linux distributions)
+{: #snap}
+
+Snap is a package manager developed by Canonical.
+It is available out-of-the-box on Ubuntu, but snap also works
+on many other Linux distributions.
+You can use it like this:
+
+{% highlight sh %}
+$ sudo snap install ruby --classic
+{% endhighlight %}
+
+We have several channels per Ruby minor series.
+For instance, the following commands switch to Ruby 2.3:
+
+{% highlight sh %}
+$ sudo snap switch ruby --channel=2.3/stable
+$ sudo snap refresh
+{% endhighlight %}
+
+
+### portage (Gentoo)
+{: #portage}
+
+Gentoo uses the portage package manager.
+
+{% highlight sh %}
+$ sudo emerge dev-lang/ruby
+{% endhighlight %}
+
+To install a specific version, set `RUBY_TARGETS` in your `make.conf`.
+See the [Gentoo Ruby Project website][gentoo-ruby] for details.
+
+
+### pacman (Arch Linux)
+{: #pacman}
+
+Arch Linux uses a package manager named pacman.
+To get Ruby, just do this:
+
+{% highlight sh %}
+$ sudo pacman -S ruby
+{% endhighlight %}
+
+This should install the latest stable Ruby version.
+
+
+### Homebrew (macOS)
+{: #homebrew}
+
+Ruby versions 2.0 and above are included by default in macOS releases
+since at least El Capitan (10.11).
+
+[Homebrew][homebrew] is a commonly used package manager on macOS.
+Installing Ruby using Homebrew is easy:
+
+{% highlight sh %}
+$ brew install ruby
+{% endhighlight %}
+
+This should install the latest Ruby version.
+
+
+### FreeBSD
+{: #freebsd}
+
+FreeBSD offers both pre-packaged and source-based methods to install Ruby.
+Prebuilt packages can be installed via the pkg tool:
+
+{% highlight sh %}
+$ pkg install ruby
+{% endhighlight %}
+
+A source-based method can be used to install Ruby using the
+[Ports Collection][freebsd-ports-collection]. This is useful if you want
+to customize the build configuration options.
+
+More information about Ruby and its surrounding ecosystem on FreeBSD
+can be found on the [FreeBSD Ruby Project website][freebsd-ruby].
+
+
+### Ruby on OpenIndiana
+{: #openindiana}
+
+To install Ruby on [OpenIndiana][openindiana], please use the
+Image Packaging System (IPS) client.
+This will install the Ruby binaries and RubyGems directly
+from the OpenIndiana repositories. It’s easy:
+
+{% highlight sh %}
+$ pkg install runtime/ruby
+{% endhighlight %}
+
+However, the third-party tools might be a good way to obtain the
+latest version of Ruby.
+
+
+### Other Distributions
+{: #other-systems}
+
+On other systems, you can search the package repository of your Linux
+distribution's manager for Ruby. Alternatively, you can use a
+[third-party installer][installers].
+
+
+## Installers
+{: #installers}
+
+If the version of Ruby provided by your system or package manager is out
+of date, a newer one can be installed using a third-party installer.
+
+Some installers allow you to install multiple versions on the same
+system; associated managers can help to switch between the different
+Rubies.
+
+If you are planning to use [RVM](#rvm) as a version manager you don't
+need a separate installer, it comes with its own.
+
+
+### ruby-build
+{: #ruby-build}
+
+[ruby-build][ruby-build] is a plugin for [rbenv](#rbenv) that allows you
+to compile and install different versions of Ruby. ruby-build can also
+be used as a standalone program without rbenv. It is available for macOS,
+Linux, and other UNIX-like operating systems.
+
+
+### ruby-install
+{: #ruby-install}
+
+[ruby-install][ruby-install] allows you to compile and install different
+versions of Ruby into arbitrary directories. [chruby](#chruby) is a
+complimentary tool used to switch between Ruby versions. It is available
+for macOS, Linux, and other UNIX-like operating systems.
+
+
+### RubyInstaller
+{: #rubyinstaller}
+
+On Windows, [RubyInstaller][rubyinstaller] gives you everything you need
+to set up a full Ruby development environment.
+
+Just download it, run it, and you are done!
+
+
+### RailsInstaller and Ruby Stack
+{: #railsinstaller}
+
+If you are installing Ruby in order to use Ruby on Rails,
+you can use the following installers:
+
+* [RailsInstaller][railsinstaller] uses [RubyInstaller][rubyinstaller]
+  but gives you extra tools that help with Rails development. It
+  supports macOS and Windows.
+* [Bitnami Ruby Stack][rubystack] provides a complete development
+  environment for Rails. It supports macOS, Linux, Windows, virtual
+  machines, and cloud images.
+
+
+## Managers
+{: #managers}
+
+Many Rubyists use Ruby managers to manage multiple Rubies. They allow
+easy or even automatic switching between Ruby versions depending on the
+project and other advantages but are not officially supported. You can
+however find support within their respective communities.
+
+
+### chruby
+{: #chruby}
+
+[chruby][chruby] allows you to switch between multiple Rubies. It can
+manage Rubies installed by [ruby-install](#ruby-install) or even built
+from source.
+
+
+### rbenv
+{: #rbenv}
+
+[rbenv][rbenv] allows you to manage multiple installations of Ruby.
+While it can't install Ruby by default, its [ruby-build](#ruby-build)
+plugin can. Both tools are available for macOS, Linux, or other
+UNIX-like operating systems.
+
+
+### RVM ("Ruby Version Manager")
+{: #rvm}
+
+[RVM][rvm] allows you to install and manage multiple installations of
+Ruby on your system. It can also manage different gemsets. It is
+available for macOS, Linux, or other UNIX-like operating systems.
+
+
+### uru
+{: #uru}
+
+[Uru][uru] is a lightweight, multi-platform command line tool that helps you
+to use multiple Rubies on macOS, Linux, or Windows systems.
+
+
+## Building from Source
+{: #building-from-source}
+
+Of course, you can install Ruby from source.
+[Download][download] and unpack a tarball, then just do this:
+
+{% highlight sh %}
+$ ./configure
+$ make
+$ sudo make install
+{% endhighlight %}
+
+By default, this will install Ruby into `/usr/local`.
+To change, pass the `--prefix=DIR` option to the `./configure` script.
+
+You can find more information about building from source in the
+[Ruby README file][readme].
+
+Using the third-party tools or package managers might be a better idea,
+though, because the installed Ruby won't be managed by any tools.
+
+
+[rvm]: http://rvm.io/
+[rbenv]: https://github.com/rbenv/rbenv#readme
+[ruby-build]: https://github.com/rbenv/ruby-build#readme
+[ruby-install]: https://github.com/postmodern/ruby-install#readme
+[chruby]: https://github.com/postmodern/chruby#readme
+[uru]: https://bitbucket.org/jonforums/uru
+[rubyinstaller]: https://rubyinstaller.org/
+[railsinstaller]: http://railsinstaller.org/
+[rubystack]: http://bitnami.com/stack/ruby/installer
+[openindiana]: http://openindiana.org/
+[gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/
+[freebsd-ruby]: https://wiki.freebsd.org/Ruby
+[freebsd-ports-collection]: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html
+[homebrew]: http://brew.sh/
+[terminal]: https://en.wikipedia.org/wiki/List_of_terminal_emulators
+[download]: /en/downloads/
+[installers]: /en/documentation/installation/#installers
+[readme]: https://github.com/ruby/ruby#how-to-compile-and-install
diff --git a/fa/documentation/quickstart/2/index.md b/fa/documentation/quickstart/2/index.md
new file mode 100644
index 0000000000..6ff7c46b8e
--- /dev/null
+++ b/fa/documentation/quickstart/2/index.md
@@ -0,0 +1,125 @@
+---
+layout: page
+title: "روبی در ۲۰ دقیقه"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="قسمت ۱">۱</a>
+    <span class="separator"> | </span>
+    <strong>۲</strong>
+    <span class="separator"> | </span>
+    <a href="../3/" title="قسمت ۳">۳</a>
+    <span class="separator"> | </span>
+    <a href="../4/" title="قسمت ۴">۴</a>
+  </div>
+  <h1>روبی در ۲۰ دقیقه</h1>
+
+---
+
+What if we want to say “Hello” a lot without getting our fingers all
+tired? We need to define a method!
+
+{% highlight irb %}
+irb(main):010:0> def hi
+irb(main):011:1> puts "Hello World!"
+irb(main):012:1> end
+=> :hi
+{% endhighlight %}
+
+The code `def hi` starts the definition of the method. It tells Ruby that
+we’re defining a method, that its name is `hi`. The next line is the body
+of the method, the same line we saw earlier: `puts "Hello World"`.
+Finally, the last line `end` tells Ruby we’re done defining the method.
+Ruby’s response `=> :hi` tells us that it knows we’re done defining the
+method. This response could be `=> nil` for Ruby 2.0 and earlier versions.
+But, it's not important here, so let's go on.
+
+## The Brief, Repetitive Lives of a Method
+
+Now let’s try running that method a few times:
+
+{% highlight irb %}
+irb(main):013:0> hi
+Hello World!
+=> nil
+irb(main):014:0> hi()
+Hello World!
+=> nil
+{% endhighlight %}
+
+Well, that was easy. Calling a method in Ruby is as easy as just
+mentioning its name to Ruby. If the method doesn’t take parameters
+that’s all you need. You can add empty parentheses if you’d like, but
+they’re not needed.
+
+What if we want to say hello to one person, and not the whole world?
+Just redefine `hi` to take a name as a parameter.
+
+{% highlight irb %}
+irb(main):015:0> def hi(name)
+irb(main):016:1> puts "Hello #{name}!"
+irb(main):017:1> end
+=> :hi
+irb(main):018:0> hi("Matz")
+Hello Matz!
+=> nil
+{% endhighlight %}
+
+So it works… but let’s take a second to see what’s going on here.
+
+## Holding Spots in a String
+
+What’s the `#{name}` bit? That’s Ruby’s way of inserting something into
+a string. The bit between the braces is turned into a string (if it
+isn’t one already) and then substituted into the outer string at that
+point. You can also use this to make sure that someone’s name is
+properly capitalized:
+
+{% highlight irb %}
+irb(main):019:0> def hi(name = "World")
+irb(main):020:1> puts "Hello #{name.capitalize}!"
+irb(main):021:1> end
+=> :hi
+irb(main):022:0> hi "chris"
+Hello Chris!
+=> nil
+irb(main):023:0> hi
+Hello World!
+=> nil
+{% endhighlight %}
+
+A couple of other tricks to spot here. One is that we’re calling the
+method without parentheses again. If it’s obvious what you’re doing, the
+parentheses are optional. The other trick is the default parameter
+`World`. What this is saying is “If the name isn’t supplied, use the
+default name of `"World"`”.
+
+## Evolving Into a Greeter
+
+What if we want a real greeter around, one that remembers your name and
+welcomes you and treats you always with respect. You might want to use
+an object for that. Let’s create a “Greeter” class.
+
+{% highlight irb %}
+irb(main):024:0> class Greeter
+irb(main):025:1>   def initialize(name = "World")
+irb(main):026:2>     @name = name
+irb(main):027:2>   end
+irb(main):028:1>   def say_hi
+irb(main):029:2>     puts "Hi #{@name}!"
+irb(main):030:2>   end
+irb(main):031:1>   def say_bye
+irb(main):032:2>     puts "Bye #{@name}, come back soon."
+irb(main):033:2>   end
+irb(main):034:1> end
+=> :say_bye
+{% endhighlight %}
+
+The new keyword here is `class`. This defines a new class called Greeter
+and a bunch of methods for that class. Also notice `@name`. This is an
+instance variable, and is available to all the methods of the class. As
+you can see it’s used by `say_hi` and `say_bye`.
+
+So how do we get this Greeter class set in motion?
+[Create an object.](../3/)
diff --git a/fa/documentation/quickstart/3/index.md b/fa/documentation/quickstart/3/index.md
new file mode 100644
index 0000000000..264ede4c51
--- /dev/null
+++ b/fa/documentation/quickstart/3/index.md
@@ -0,0 +1,229 @@
+---
+layout: page
+title: "روبی در ۲۰ دقیقه"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="قسمت ۱">۱</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="قسمت ۲">۲</a>
+    <span class="separator"> | </span>
+    <strong>۳</strong>
+    <span class="separator"> | </span>
+    <a href="../4/" title="قسمت ۴">۴</a>
+  </div>
+  <h1>روبی در ۲۰ دقیقه</h1>
+
+---
+
+Now let’s create a greeter object and use it:
+
+{% highlight irb %}
+irb(main):035:0> greeter = Greeter.new("Pat")
+=> #<Greeter:0x16cac @name="Pat">
+irb(main):036:0> greeter.say_hi
+Hi Pat!
+=> nil
+irb(main):037:0> greeter.say_bye
+Bye Pat, come back soon.
+=> nil
+{% endhighlight %}
+
+Once the `greeter` object is created, it remembers that the name is Pat. Hmm,
+what if we want to get at the name directly?
+
+{% highlight irb %}
+irb(main):038:0> greeter.@name
+SyntaxError: (irb):38: syntax error, unexpected tIVAR, expecting '('
+{% endhighlight %}
+
+Nope, can’t do it.
+
+## Under the Object’s Skin
+
+Instance variables are hidden away inside the object. They’re not
+terribly hidden, you see them whenever you inspect the object, and there
+are other ways of accessing them, but Ruby uses the good object-oriented
+approach of keeping data sort-of hidden away.
+
+So what methods do exist for Greeter objects?
+
+{% highlight irb %}
+irb(main):039:0> Greeter.instance_methods
+=> [:say_hi, :say_bye, :instance_of?, :public_send,
+    :instance_variable_get, :instance_variable_set,
+    :instance_variable_defined?, :remove_instance_variable,
+    :private_methods, :kind_of?, :instance_variables, :tap,
+    :is_a?, :extend, :define_singleton_method, :to_enum,
+    :enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?,
+    :freeze, :inspect, :display, :send, :object_id, :to_s,
+    :method, :public_method, :singleton_method, :nil?, :hash,
+    :class, :singleton_class, :clone, :dup, :itself, :taint,
+    :tainted?, :untaint, :untrust, :trust, :untrusted?, :methods,
+    :protected_methods, :frozen?, :public_methods, :singleton_methods,
+    :!, :==, :!=, :__send__, :equal?, :instance_eval, :instance_exec, :__id__]
+{% endhighlight %}
+
+Whoa. That’s a lot of methods. We only defined two methods. What’s going
+on here? Well this is **all** of the methods for Greeter objects, a
+complete list, including ones defined by ancestor classes. If we want to
+just list methods defined for Greeter we can tell it to not include
+ancestors by passing it the parameter `false`, meaning we don’t want
+methods defined by ancestors.
+
+{% highlight irb %}
+irb(main):040:0> Greeter.instance_methods(false)
+=> [:say_hi, :say_bye]
+{% endhighlight %}
+
+Ah, that’s more like it. So let’s see which methods our greeter object
+responds to:
+
+{% highlight irb %}
+irb(main):041:0> greeter.respond_to?("name")
+=> false
+irb(main):042:0> greeter.respond_to?("say_hi")
+=> true
+irb(main):043:0> greeter.respond_to?("to_s")
+=> true
+{% endhighlight %}
+
+So, it knows `say_hi`, and `to_s` (meaning convert something to a
+string, a method that’s defined by default for every object), but it
+doesn’t know `name`.
+
+## Altering Classes—It’s Never Too Late
+
+But what if you want to be able to view or change the name? Ruby
+provides an easy way of providing access to an object’s variables.
+
+{% highlight irb %}
+irb(main):044:0> class Greeter
+irb(main):045:1>   attr_accessor :name
+irb(main):046:1> end
+=> nil
+{% endhighlight %}
+
+In Ruby, you can open a class up again and modify it. The changes will
+be present in any new objects you create and even available in existing
+objects of that class. So, let’s create a new object and play with its
+`@name` property.
+
+{% highlight irb %}
+irb(main):047:0> greeter = Greeter.new("Andy")
+=> #<Greeter:0x3c9b0 @name="Andy">
+irb(main):048:0> greeter.respond_to?("name")
+=> true
+irb(main):049:0> greeter.respond_to?("name=")
+=> true
+irb(main):050:0> greeter.say_hi
+Hi Andy!
+=> nil
+irb(main):051:0> greeter.name="Betty"
+=> "Betty"
+irb(main):052:0> greeter
+=> #<Greeter:0x3c9b0 @name="Betty">
+irb(main):053:0> greeter.name
+=> "Betty"
+irb(main):054:0> greeter.say_hi
+Hi Betty!
+=> nil
+{% endhighlight %}
+
+Using `attr_accessor` defined two new methods for us, `name` to get the
+value, and `name=` to set it.
+
+## Greeting Anything and Everything, MegaGreeter Neglects None!
+
+This greeter isn’t all that interesting though, it can only deal with
+one person at a time. What if we had some kind of MegaGreeter that could
+either greet the world, one person, or a whole list of people?
+
+Let’s write this one in a file instead of directly in the interactive
+Ruby interpreter IRB.
+
+To quit IRB, type “quit”, “exit” or just hit Control-D.
+
+{% highlight ruby %}
+#!/usr/bin/env ruby
+
+class MegaGreeter
+  attr_accessor :names
+
+  # Create the object
+  def initialize(names = "World")
+    @names = names
+  end
+
+  # Say hi to everybody
+  def say_hi
+    if @names.nil?
+      puts "..."
+    elsif @names.respond_to?("each")
+      # @names is a list of some kind, iterate!
+      @names.each do |name|
+        puts "Hello #{name}!"
+      end
+    else
+      puts "Hello #{@names}!"
+    end
+  end
+
+  # Say bye to everybody
+  def say_bye
+    if @names.nil?
+      puts "..."
+    elsif @names.respond_to?("join")
+      # Join the list elements with commas
+      puts "Goodbye #{@names.join(", ")}.  Come back soon!"
+    else
+      puts "Goodbye #{@names}.  Come back soon!"
+    end
+  end
+end
+
+
+if __FILE__ == $0
+  mg = MegaGreeter.new
+  mg.say_hi
+  mg.say_bye
+
+  # Change name to be "Zeke"
+  mg.names = "Zeke"
+  mg.say_hi
+  mg.say_bye
+
+  # Change the name to an array of names
+  mg.names = ["Albert", "Brenda", "Charles",
+              "Dave", "Engelbert"]
+  mg.say_hi
+  mg.say_bye
+
+  # Change to nil
+  mg.names = nil
+  mg.say_hi
+  mg.say_bye
+end
+{% endhighlight %}
+
+Save this file as “ri20min.rb”, and run it as “ruby ri20min.rb”. The
+output should be:
+
+    Hello World!
+    Goodbye World.  Come back soon!
+    Hello Zeke!
+    Goodbye Zeke.  Come back soon!
+    Hello Albert!
+    Hello Brenda!
+    Hello Charles!
+    Hello Dave!
+    Hello Engelbert!
+    Goodbye Albert, Brenda, Charles, Dave, Engelbert.  Come
+    back soon!
+    ...
+    ...
+{: .code}
+
+There are a lot of new things thrown into this final example that we
+[can take a deeper look at.](../4/)
diff --git a/fa/documentation/quickstart/4/index.md b/fa/documentation/quickstart/4/index.md
new file mode 100644
index 0000000000..a40b976ee8
--- /dev/null
+++ b/fa/documentation/quickstart/4/index.md
@@ -0,0 +1,156 @@
+---
+layout: page
+title: "روبی در ۲۰ دقیقه"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <a href="../" title="قسمت ۱">۱</a>
+    <span class="separator"> | </span>
+    <a href="../2/" title="قسمت ۲">۲</a>
+    <span class="separator"> | </span>
+    <a href="../3/" title="قسمت ۳">۳</a>
+    <span class="separator"> | </span>
+    <strong>۴</strong>
+  </div>
+  <h1>روبی در ۲۰ دقیقه</h1>
+
+---
+
+So, looking deeper at our new program, notice the initial lines, which
+begin with a hash mark (#). In Ruby, anything on a line after a hash
+mark is a comment and is ignored by the interpreter. The first line of
+the file is a special case, and under a Unix-like operating system tells
+the shell how to run the file. The rest of the comments are there just
+for clarity.
+
+Our `say_hi` method has become a bit trickier:
+
+{% highlight ruby %}
+# Say hi to everybody
+def say_hi
+  if @names.nil?
+    puts "..."
+  elsif @names.respond_to?("each")
+    # @names is a list of some kind, iterate!
+    @names.each do |name|
+      puts "Hello #{name}!"
+    end
+  else
+    puts "Hello #{@names}!"
+  end
+end
+{% endhighlight %}
+
+It now looks at the `@names` instance variable to make decisions. If
+it’s nil, it just prints out three dots. No point greeting nobody,
+right?
+
+## Cycling and Looping—a.k.a. Iteration
+
+If the `@names` object responds to `each`, it is something that you can
+iterate over, so iterate over it and greet each person in turn. Finally,
+if `@names` is anything else, just let it get turned into a string
+automatically and do the default greeting.
+
+Let’s look at that iterator in more depth:
+
+{% highlight ruby %}
+@names.each do |name|
+  puts "Hello #{name}!"
+end
+{% endhighlight %}
+
+`each` is a method that accepts a block of code then runs that block of
+code for every element in a list, and the bit between `do` and `end` is
+just such a block. A block is like an anonymous function or `lambda`.
+The variable between pipe characters is the parameter for this block.
+
+What happens here is that for every entry in a list, `name` is bound to
+that list element, and then the expression `puts "Hello #{name}!"` is
+run with that name.
+
+Most other programming languages handle going over a list using the
+`for` loop, which in C looks something like:
+
+{% highlight c %}
+for (i=0; i<number_of_elements; i++)
+{
+  do_something_with(element[i]);
+}
+{% endhighlight %}
+
+This works, but isn’t very elegant. You need a throw-away variable like
+`i`, have to figure out how long the list is, and have to explain how to
+walk over the list. The Ruby way is much more elegant, all the
+housekeeping details are hidden within the `each` method, all you need
+to do is to tell it what to do with each element. Internally, the `each`
+method will essentially call `yield "Albert"`, then `yield "Brenda"` and
+then `yield "Charles"`, and so on.
+
+## Blocks, the Highly Sparkling Glint on the Edge of Ruby
+
+The real power of blocks is when dealing with things that are more
+complicated than lists. Beyond handling simple housekeeping details
+within the method, you can also handle setup, teardown, and errors—all
+hidden away from the cares of the user.
+
+{% highlight ruby %}
+# Say bye to everybody
+def say_bye
+  if @names.nil?
+    puts "..."
+  elsif @names.respond_to?("join")
+    # Join the list elements with commas
+    puts "Goodbye #{@names.join(", ")}.  Come back soon!"
+  else
+    puts "Goodbye #{@names}.  Come back soon!"
+  end
+end
+{% endhighlight %}
+
+The `say_bye` method doesn’t use `each`, instead it checks to see if
+`@names` responds to the `join` method, and if so, uses it. Otherwise,
+it just prints out the variable as a string. This method of not caring
+about the actual *type* of a variable, just relying on what methods it
+supports is known as “Duck Typing”, as in “if it walks like a duck and
+quacks like a duck…”. The benefit of this is that it doesn’t
+unnecessarily restrict the types of variables that are supported. If
+someone comes up with a new kind of list class, as long as it implements
+the `join` method with the same semantics as other lists, everything
+will work as planned.
+
+## Kicking Off the Script
+
+So, that’s the MegaGreeter class, the rest of the file just calls
+methods on that class. There’s one final trick to notice, and that’s the
+line:
+
+{% highlight ruby %}
+if __FILE__ == $0
+{% endhighlight %}
+
+`__FILE__` is the magic variable that contains the name of the current
+file. `$0` is the name of the file used to start the program. This check
+says “If this is the main file being used…” This allows a file to be
+used as a library, and not to execute code in that context, but if the
+file is being used as an executable, then execute that code.
+
+## Consider Yourself Introduced
+
+So that’s it for the quick tour of Ruby. There’s a lot more to explore,
+the different control structures that Ruby offers; the use of blocks and
+`yield`; modules as mixins; and more. I hope this taste of Ruby has left
+you wanting to learn more.
+
+If so, please head on over to our [Documentation](/en/documentation/)
+area, which rounds up links to manuals and tutorials, all freely
+available online.
+
+Or, if you’d really like to dig into a book, check the [book list][1]
+(off-site link) for titles available for sale online or at your local
+bookseller.
+
+
+
+[1]: http://www.ruby-doc.org/bookstore
diff --git a/fa/documentation/quickstart/index.md b/fa/documentation/quickstart/index.md
new file mode 100644
index 0000000000..c1c014ba7b
--- /dev/null
+++ b/fa/documentation/quickstart/index.md
@@ -0,0 +1,144 @@
+---
+layout: page
+title: "روبی در ۲۰ دقیقه"
+lang: fa
+
+header: |
+  <div class="multi-page">
+    <strong>۱</strong>
+    <span class="separator"> | </span>
+    <a href="2/" title="قسمت ۲">۲</a>
+    <span class="separator"> | </span>
+    <a href="3/" title="قسمت ۳">۳</a>
+    <span class="separator"> | </span>
+    <a href="4/" title="قسمت ۴">۴</a>
+  </div>
+  <h1>روبی در ۲۰ دقیقه</h1>
+
+---
+
+## معرفی
+
+This is a small Ruby tutorial that should take no more than 20 minutes
+to complete. It makes the assumption that you already have Ruby installed.
+(If you do not have Ruby on your computer [install][installation] it
+before you get started.)
+
+## Interactive Ruby
+
+Ruby comes with a program that will show the results of any Ruby
+statements you feed it. Playing with Ruby code in interactive sessions
+like this is a terrific way to learn the language.
+
+Open up IRB (which stands for Interactive Ruby).
+
+* If you’re using **macOS** open up `Terminal` and type `irb`, then
+  hit enter.
+* If you’re using **Linux**, open up a shell and type `irb` and hit
+  enter.
+* If you’re using **Windows**, open `Interactive Ruby` from the
+  Ruby section of your Start Menu.
+
+{% highlight irb %}
+irb(main):001:0>
+{% endhighlight %}
+
+Ok, so it’s open. Now what?
+
+Type this: `"Hello World"`
+
+{% highlight irb %}
+irb(main):001:0> "Hello World"
+=> "Hello World"
+{% endhighlight %}
+
+## Ruby Obeyed You!
+
+What just happened? Did we just write the world’s shortest “Hello World”
+program? Not exactly. The second line is just IRB’s way of telling us
+the result of the last expression it evaluated. If we want to print out
+“Hello World” we need a bit more:
+
+{% highlight irb %}
+irb(main):002:0> puts "Hello World"
+Hello World
+=> nil
+{% endhighlight %}
+
+`puts` is the basic command to print something out in Ruby. But then
+what’s the `=> nil` bit? That’s the result of the expression. `puts`
+always returns nil, which is Ruby’s absolutely-positively-nothing value.
+
+## Your Free Calculator is Here
+
+Already, we have enough to use IRB as a basic calculator:
+
+{% highlight irb %}
+irb(main):003:0> 3+2
+=> 5
+{% endhighlight %}
+
+Three plus two. Easy enough. What about three *times* two? You could
+type it in, it’s short enough, but you may also be able to go up and
+change what you just entered. Try hitting the **up-arrow** on your
+keyboard and see if it brings up the line with `3+2` on it. If it does,
+you can use the left arrow key to move just after the `+` sign and then
+use backspace to change it to a `*` sign.
+
+{% highlight irb %}
+irb(main):004:0> 3*2
+=> 6
+{% endhighlight %}
+
+Next, let’s try three squared:
+
+{% highlight irb %}
+irb(main):005:0> 3**2
+=> 9
+{% endhighlight %}
+
+In Ruby `**` is the way you say “to the power of”. But what if you want
+to go the other way and find the square root of something?
+
+{% highlight irb %}
+irb(main):006:0> Math.sqrt(9)
+=> 3.0
+{% endhighlight %}
+
+Ok, wait, what was that last one? If you guessed, “it was figuring out
+the square root of nine,” you’re right. But let’s take a closer look at
+things. First of all, what’s `Math`?
+
+## Modules Group Code by Topic
+
+`Math` is a built-in module for mathematics. Modules serve two roles in
+Ruby. This shows one role: grouping similar methods together under a
+familiar name. `Math` also contains methods like `sin()` and `tan()`.
+
+Next is a dot. What does the dot do? The dot is how you identify the
+receiver of a message. What’s the message? In this case it’s `sqrt(9)`,
+which means call the method `sqrt`, shorthand for “square root” with the
+parameter of `9`.
+
+The result of this method call is the value `3.0`. You might notice it’s
+not just `3`. That’s because most of the time the square root of a
+number won’t be an integer, so the method always returns a
+floating-point number.
+
+What if we want to remember the result of some of this math? Assign the
+result to a variable.
+
+{% highlight irb %}
+irb(main):007:0> a = 3 ** 2
+=> 9
+irb(main):008:0> b = 4 ** 2
+=> 16
+irb(main):009:0> Math.sqrt(a+b)
+=> 5.0
+{% endhighlight %}
+
+As great as this is for a calculator, we’re getting away from the
+traditional `Hello World` message that beginning tutorials are supposed
+to focus on… [so let’s go back to that.](2/)
+
+[installation]: /fa/documentation/installation/
diff --git a/fa/documentation/ruby-from-other-languages/index.md b/fa/documentation/ruby-from-other-languages/index.md
new file mode 100644
index 0000000000..832a81fef7
--- /dev/null
+++ b/fa/documentation/ruby-from-other-languages/index.md
@@ -0,0 +1,426 @@
+---
+layout: page
+title: "Ruby From Other Languages"
+lang: fa
+---
+
+When you first look at some Ruby code, it will likely remind you of
+other programming languages you’ve used. This is on purpose. Much of the
+syntax is familiar to users of Perl, Python, and Java (among other
+languages), so if you’ve used those, learning Ruby will be a piece of
+cake.
+{: .summary}
+
+This document contains two major sections. The first attempts to be a
+rapid-fire summary of what you can expect to see when going from
+language *X* to Ruby. The second section tackles the major language
+features and how they might compare to what you’re already familiar
+with.
+
+## What to Expect: *Language X* to Ruby
+
+* [To Ruby From C and C++](to-ruby-from-c-and-cpp/)
+* [To Ruby From Java](to-ruby-from-java/)
+* [To Ruby From Perl](to-ruby-from-perl/)
+* [To Ruby From PHP](to-ruby-from-php/)
+* [To Ruby From Python](to-ruby-from-python/)
+
+## Important Language Features And Some Gotchas
+
+Here are some pointers and hints on major Ruby features you’ll see while
+learning Ruby.
+
+### Iteration
+
+Two Ruby features that are a bit unlike what you may have seen before,
+and which take some getting used to, are “blocks” and iterators. Instead
+of looping over an index (like with C, C++, or pre-1.5 Java), or looping
+over a list (like Perl’s `for (@a) {...}`, or Python’s
+`for i in aList: ...`), with Ruby you’ll very often instead see
+
+{% highlight ruby %}
+some_list.each do |this_item|
+  # We're inside the block.
+  # deal with this_item.
+end
+{% endhighlight %}
+
+For more info on `each` (and its friends `collect`, `find`, `inject`,
+`sort`, etc.), see `ri Enumerable` (and then `ri Enumerable#some_method`).
+
+### Everything has a value
+
+There’s no difference between an expression and a statement. Everything
+has a value, even if that value is `nil`. This is possible:
+
+{% highlight ruby %}
+x = 10
+y = 11
+z = if x < y
+      true
+    else
+      false
+    end
+z # => true
+{% endhighlight %}
+
+### Symbols are not lightweight Strings
+
+Many Ruby newbies struggle with understanding what Symbols are, and what
+they can be used for.
+
+Symbols can best be described as identities. A symbol is all about
+**who** it is, not **what** it is. Fire up `irb` and see the difference:
+
+{% highlight irb %}
+irb(main):001:0> :george.object_id == :george.object_id
+=> true
+irb(main):002:0> "george".object_id == "george".object_id
+=> false
+irb(main):003:0>
+{% endhighlight %}
+
+The `object_id` methods returns the identity of an Object. If two
+objects have the same `object_id`, they are the same (point to the same
+Object in memory).
+
+As you can see, once you have used a Symbol once, any Symbol with the
+same characters references the same Object in memory. For any given two
+Symbols that represent the same characters, the `object_id`s match.
+
+Now take a look at the String (“george”). The `object_id`s don’t match.
+That means they’re referencing two different objects in memory. Whenever
+you use a new String, Ruby allocates memory for it.
+
+If you’re in doubt whether to use a Symbol or a String, consider what’s
+more important: the identity of an object (i.e. a Hash key), or the
+contents (in the example above, “george”).
+
+### Everything is an Object
+
+“Everything is an object” isn’t just hyperbole. Even classes and
+integers are objects, and you can do the same things with them as with
+any other object:
+
+{% highlight ruby %}
+# This is the same as
+# class MyClass
+#   attr_accessor :instance_var
+# end
+MyClass = Class.new do
+  attr_accessor :instance_var
+end
+{% endhighlight %}
+
+### Variable Constants
+
+Constants are not really constant. If you modify an already initialized
+constant, it will trigger a warning, but not halt your program. That
+isn’t to say you **should** redefine constants, though.
+
+### Naming conventions
+
+Ruby enforces some naming conventions. If an identifier starts with a
+capital letter, it is a constant. If it starts with a dollar sign (`$`),
+it is a global variable. If it starts with `@`, it is an instance
+variable. If it starts with `@@`, it is a class variable.
+
+Method names, however, are allowed to start with capital letters. This
+can lead to confusion, as the example below shows:
+
+{% highlight ruby %}
+Constant = 10
+def Constant
+  11
+end
+{% endhighlight %}
+
+Now `Constant` is 10, but `Constant()` is 11.
+
+### Keyword arguments
+
+Like in Python, since Ruby 2.0 methods can be defined
+using keyword arguments:
+
+{% highlight ruby %}
+def deliver(from: "A", to: nil, via: "mail")
+  "Sending from #{from} to #{to} via #{via}."
+end
+
+deliver(to: "B")
+# => "Sending from A to B via mail."
+deliver(via: "Pony Express", from: "B", to: "A")
+# => "Sending from B to A via Pony Express."
+{% endhighlight %}
+
+### The universal truth
+
+In Ruby, everything except `nil` and `false` is considered true. In
+C, Python and many other languages, 0 and possibly other values, such as
+empty lists, are considered false. Take a look at the following Python
+code (the example applies to other languages, too):
+
+{% highlight python %}
+# in Python
+if 0:
+  print("0 is true")
+else:
+  print("0 is false")
+{% endhighlight %}
+
+This will print “0 is false”. The equivalent Ruby:
+
+{% highlight ruby %}
+# in Ruby
+if 0
+  puts "0 is true"
+else
+  puts "0 is false"
+end
+{% endhighlight %}
+
+Prints “0 is true”.
+
+### Access modifiers apply until the end of scope
+
+In the following Ruby code,
+
+{% highlight ruby %}
+class MyClass
+  private
+  def a_method; true; end
+  def another_method; false; end
+end
+{% endhighlight %}
+
+You might expect `another_method` to be public. Not so. The `private`
+access modifier continues until the end of the scope, or until another
+access modifier pops up, whichever comes first. By default, methods are
+public:
+
+{% highlight ruby %}
+class MyClass
+  # Now a_method is public
+  def a_method; true; end
+
+  private
+
+  # another_method is private
+  def another_method; false; end
+end
+{% endhighlight %}
+
+`public`, `private` and `protected` are really methods, so they can take
+parameters. If you pass a Symbol to one of them, that method’s visibility is
+altered.
+
+### Method access
+
+In Java, `public` means a method is accessible by anyone. `protected`
+means the class’s instances, instances of descendant classes, and
+instances of classes in the same package can access it, but not anyone
+else, and `private` means nobody besides the class’s instances can
+access the method.
+
+Ruby differs slightly. `public` is, naturally, public. `private` means
+the method(s) are accessible only when they can be called without an
+explicit receiver. Only `self` is allowed to be the receiver of a
+private method call.
+
+`protected` is the one to be on the lookout for. A protected method can be
+called from a class or descendant class instances, but also with another
+instance as its receiver.
+Here is an example (adapted from [The Ruby Language FAQ][faq]):
+
+{% highlight ruby %}
+class Test
+  # public by default
+  def identifier
+    99
+  end
+
+  def ==(other)
+    identifier == other.identifier
+  end
+end
+
+t1 = Test.new  # => #<Test:0x34ab50>
+t2 = Test.new  # => #<Test:0x342784>
+t1 == t2       # => true
+
+# now make `identifier' protected; it still works
+# because protected allows `other' as receiver
+
+class Test
+  protected :identifier
+end
+
+t1 == t2  # => true
+
+# now make `identifier' private
+
+class Test
+  private :identifier
+end
+
+t1 == t2
+# NoMethodError: private method `identifier' called for #<Test:0x342784>
+{% endhighlight %}
+
+### Classes are open
+
+Ruby classes are open. You can open them up, add to them, and change them at
+any time. Even core classes, like `Fixnum` or even `Object`, the parent of all
+objects. Ruby on Rails defines a bunch of methods for dealing with time on
+`Fixnum`. Watch:
+
+{% highlight ruby %}
+class Fixnum
+  def hours
+    self * 3600 # number of seconds in an hour
+  end
+  alias hour hours
+end
+
+# 14 hours from 00:00 January 1st
+# (aka when you finally wake up ;)
+Time.mktime(2006, 01, 01) + 14.hours # => Sun Jan 01 14:00:00
+{% endhighlight %}
+
+### Funny method names
+
+In Ruby, methods are allowed to end with question marks or exclamation marks.
+By convention, methods that answer questions end in question marks
+(e.g. `Array#empty?`, which returns `true` if the receiver is empty).
+Potentially “dangerous” methods by convention end with exclamation marks
+(e.g. methods that modify `self` or the arguments, `exit!`, etc.).
+Not all methods that change their arguments end with exclamation marks, though.
+`Array#replace` replaces the contents of an array with the contents
+of another array. It doesn’t make much sense to have a method like that
+that **doesn’t** modify self.
+
+### Singleton methods
+
+Singleton methods are per-object methods. They are only available on the
+Object you defined it on.
+
+{% highlight ruby %}
+class Car
+  def inspect
+    "Cheap car"
+  end
+end
+
+porsche = Car.new
+porsche.inspect # => Cheap car
+def porsche.inspect
+  "Expensive car"
+end
+
+porsche.inspect # => Expensive car
+
+# Other objects are not affected
+other_car = Car.new
+other_car.inspect # => Cheap car
+{% endhighlight %}
+
+### Missing methods
+
+Ruby doesn’t give up if it can’t find a method that responds to a
+particular message. It calls the `method_missing` method with the name
+of the method it couldn’t find and the arguments. By default,
+`method_missing` raises a NameError exception, but you can redefine it to
+better fit your application, and many libraries do. Here is an example:
+
+{% highlight ruby %}
+# id is the name of the method called, the * syntax collects
+# all the arguments in an array named 'arguments'
+def method_missing(id, *arguments)
+  puts "Method #{id} was called, but not found. It has " +
+       "these arguments: #{arguments.join(", ")}"
+end
+
+__ :a, :b, 10
+# => Method __ was called, but not found. It has these
+# arguments: a, b, 10
+{% endhighlight %}
+
+The code above just prints the details of the call, but you are free to
+handle the message in any way that is appropriate.
+
+### Message passing, not function calls
+
+A method call is really a **message** to another object:
+
+{% highlight ruby %}
+# This
+1 + 2
+# Is the same as this ...
+1.+(2)
+# Which is the same as this:
+1.send "+", 2
+{% endhighlight %}
+
+### Blocks are Objects, they just don’t know it yet
+
+Blocks (closures, really) are heavily used by the standard library. To
+call a block, you can either use `yield`, or make it a `Proc` by
+appending a special argument to the argument list, like so:
+
+{% highlight ruby %}
+def block(&the_block)
+  # Inside here, the_block is the block passed to the method
+  the_block # return the block
+end
+adder = block { |a, b| a + b }
+# adder is now a Proc object
+adder.class # => Proc
+{% endhighlight %}
+
+You can create blocks outside of method calls, too, by calling `Proc.new`
+with a block or calling the `lambda` method.
+
+Similarly, methods are also Objects in the making:
+
+{% highlight ruby %}
+method(:puts).call "puts is an object!"
+# => puts is an object!
+{% endhighlight %}
+
+### Operators are syntactic sugar
+
+Most operators in Ruby are just syntactic sugar (with some precedence
+rules) for method calls. You can, for example, override Fixnum’s `+`
+method:
+
+{% highlight ruby %}
+class Fixnum
+  # You can, but please don't do this
+  def +(other)
+    self - other
+  end
+end
+{% endhighlight %}
+
+You don’t need C++’s `operator+`, etc.
+
+You can even have array-style access if you define the `[]` and `[]=` methods.
+To define the unary + and - (think +1 and -2), you must define the `+@` and
+`-@` methods, respectively. The operators below are **not** syntactic sugar,
+though. They are not methods, and cannot be redefined:
+
+{% highlight ruby %}
+=, .., ..., not, &&, and, ||, or, ::
+{% endhighlight %}
+
+In addition, `+=`, `*=` etc. are just abbreviations for `var = var + other_var`,
+`var = var * other_var`, etc. and therefore cannot be redefined.
+
+## Finding Out More
+
+When you are ready for more Ruby knowledge, see our
+[Documentation](/en/documentation/) section.
+
+
+
+[faq]: http://ruby-doc.org/docs/ruby-doc-bundle/FAQ/FAQ.html
diff --git a/fa/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/fa/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md
new file mode 100644
index 0000000000..0a2fdcb9e0
--- /dev/null
+++ b/fa/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md
@@ -0,0 +1,148 @@
+---
+layout: page
+title: "To Ruby From C and C++"
+lang: fa
+---
+
+It’s difficult to write a bulleted list describing how your code will be
+different in Ruby from C or C++ because it’s quite a large difference.
+One reason is that the Ruby runtime does so much for you. Ruby seems
+about as far as you can get from C’s “no hidden mechanism” principle—the
+whole point of Ruby is to make the human’s job easier at the expense of
+making the runtime shoulder more of the work. Unless or until you
+profile your code for optimization, you don’t need to care one whit
+about “keeping your compiler happy” when using Ruby.
+
+That said, for one thing, you can expect your Ruby code to execute much
+more slowly than “equivalent” C or C++ code. At the same time, your head
+will spin at how rapidly you can get a Ruby program up and running, as
+well as at how few lines of code it will take to write it. Ruby is much
+much simpler than C++—it will spoil you rotten.
+
+Ruby is dynamically typed, rather than statically typed—the runtime does
+as much as possible at run-time. For example, you don’t need to know
+what modules your Ruby program will “link to” (that is, load and use) or
+what methods it will call ahead of time.
+
+Happily, it turns out that Ruby and C have a healthy symbiotic
+relationship. Ruby supports so-called “extension modules”. These are
+modules that you can use from your Ruby programs (and which, from the
+outside, will look and act just like any other Ruby module), but which
+are written in C. In this way, you can compartmentalize the
+performance-critical parts of your Ruby software, and smelt those down
+to pure C.
+
+And, of course, Ruby itself is written in C.
+
+### Similarities with C
+
+As with C, in Ruby,...
+
+* You may program procedurally if you like (but it will still be
+  object-oriented behind the scenes).
+* Most of the operators are the same (including the compound assignment
+  and also bitwise operators). Though, Ruby doesn’t have `++` or `--`.
+* You’ve got `__FILE__` and `__LINE__`.
+* You can also have constants, though there’s no special `const`
+  keyword. Const-ness is enforced by a naming convention instead— names
+  starting with a capital letter are for constants.
+* Strings go in double-quotes.
+* Strings are mutable.
+* Just like man pages, you can read most docs in your terminal
+  window—though using the `ri` command.
+* You’ve got the same sort of command-line debugger available.
+
+### Similarities with C++
+
+As with C++, in Ruby,...
+
+* You’ve got mostly the same operators (even `::`). `<<` is often used
+  for appending elements to a list. One note though: with Ruby you never
+  use `->`—it’s always just `.`.
+* `public`, `private`, and `protected` do similar jobs.
+* Inheritance syntax is still only one character, but it’s `<` instead
+  of `:`.
+* You may put your code into “modules”, similar to how `namespace` in
+  C++ is used.
+* Exceptions work in a similar manner, though the keyword names have
+  been changed to protect the innocent.
+
+### Differences from C
+
+Unlike C, in Ruby,...
+
+* You don’t need to compile your code. You just run it directly.
+* Objects are strongly typed (and variable names themselves have no type
+  at all).
+* There’s no macros or preprocessor. No casts. No pointers (nor pointer
+  arithmetic). No typedefs, sizeof, nor enums.
+* There are no header files. You just define your functions (usually
+  referred to as “methods”) and classes in the main source code files.
+* There’s no `#define`. Just use constants instead.
+* All variables live on the heap. Further, you don’t need to free them
+  yourself—the garbage collector takes care of that.
+* Arguments to methods (i.e. functions) are passed by value, where the
+  values are always object references.
+* It’s `require 'foo'` instead of `#include <foo>` or `#include "foo"`.
+* You cannot drop down to assembly.
+* There’s no semicolons ending lines.
+* You go without parentheses for `if` and `while` condition expressions.
+* Parentheses for method (i.e. function) calls are often optional.
+* You don’t usually use braces—just end multi-line constructs (like
+  `while` loops) with an `end` keyword.
+* The `do` keyword is for so-called “blocks”. There’s no “do statement”
+  like in C.
+* The term “block” means something different. It’s for a block of code
+  that you associate with a method call so the method body can call out
+  to the block while it executes.
+* There are no variable declarations. You just assign to new names
+  on-the-fly when you need them.
+* When tested for truth, only `false` and `nil` evaluate to a false
+  value. Everything else is true (including `0`, `0.0`, and `"0"`).
+* There is no `char`—they are just 1-letter strings.
+* Strings don’t end with a null byte.
+* Array literals go in brackets instead of braces.
+* Arrays just automatically get bigger when you stuff more elements into
+  them.
+* If you add two arrays, you get back a new and bigger array (of course,
+  allocated on the heap) instead of doing pointer arithmetic.
+* More often than not, everything is an expression (that is, things like
+  `while` statements actually evaluate to an rvalue).
+
+### Differences from C++
+
+Unlike C++, in Ruby,...
+
+* There’s no explicit references. That is, in Ruby, every variable is
+  just an automatically dereferenced name for some object.
+* Objects are strongly but *dynamically* typed. The runtime discovers
+  *at runtime* if that method call actually works.
+* The “constructor” is called `initialize` instead of the class name.
+* All methods are always virtual.
+* “Class” (static) variable names always begin with `@@` (as in
+  `@@total_widgets`).
+* You don’t directly access member variables—all access to public member
+  variables (known in Ruby as attributes) is via methods.
+* It’s `self` instead of `this`.
+* Some methods end in a ’?’ or a ’!’. It’s actually part of the method
+  name.
+* There’s no multiple inheritance per se. Though Ruby has “mixins” (i.e.
+  you can “inherit” all instance methods of a module).
+* There are some enforced case-conventions (ex. class names start with a
+  capital letter, variables start with a lowercase letter).
+* Parentheses for method calls are usually optional.
+* You can re-open a class anytime and add more methods.
+* There’s no need of C++ templates (since you can assign any kind of
+  object to a given variable, and types get figured out at runtime
+  anyway). No casting either.
+* Iteration is done a bit differently. In Ruby, you don’t use a separate
+  iterator object (like `vector<T>::const_iterator iter`).
+  Instead you use an iterator method of the container object (like `each`)
+  that takes a block of code to which it passes successive elements.
+* There’s only two container types: `Array` and `Hash`.
+* There’s no type conversions. With Ruby though, you’ll probably find
+  that they aren’t necessary.
+* Multithreading is built-in, but as of Ruby 1.8 they are “green
+  threads” (implemented only within the interpreter) as opposed to
+  native threads.
+* A unit testing lib comes standard with Ruby.
diff --git a/fa/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/fa/documentation/ruby-from-other-languages/to-ruby-from-java/index.md
new file mode 100644
index 0000000000..c4987d984a
--- /dev/null
+++ b/fa/documentation/ruby-from-other-languages/to-ruby-from-java/index.md
@@ -0,0 +1,60 @@
+---
+layout: page
+title: "To Ruby From Java"
+lang: fa
+---
+
+Java is mature. It’s tested. And it’s fast (contrary to what the
+anti-Java crowd may still claim). It’s also quite verbose. Going from
+Java to Ruby, expect your code size to shrink down considerably. You can
+also expect it to take less time to knock together quick prototypes.
+
+### Similarities
+
+As with Java, in Ruby,...
+
+* Memory is managed for you via a garbage collector.
+* Objects are strongly typed.
+* There are public, private, and protected methods.
+* There are embedded doc tools (Ruby’s is called RDoc). The docs
+  generated by rdoc look very similar to those generated by javadoc.
+
+### Differences
+
+Unlike Java, in Ruby,...
+
+* You don’t need to compile your code. You just run it directly.
+* There are several different popular third-party GUI toolkits. Ruby
+  users can try [WxRuby][1], [FXRuby][2], [Ruby-GNOME2][3],
+  [Qt][4], or the bundled-in Ruby Tk for example.
+* You use the `end` keyword after defining things like classes, instead
+  of having to put braces around blocks of code.
+* You have `require` instead of `import`.
+* All member variables are private. From the outside, you access
+  everything via methods.
+* Parentheses in method calls are usually optional and often omitted.
+* Everything is an object, including numbers like 2 and 3.14159.
+* There’s no static type checking.
+* Variable names are just labels. They don’t have a type associated with
+  them.
+* There are no type declarations. You just assign to new variable names
+  as-needed and they just “spring up” (i.e. `a = [1,2,3]` rather than
+  `int[] a = {1,2,3};`).
+* There’s no casting. Just call the methods. Your unit tests should tell
+  you before you even run the code if you’re going to see an exception.
+* It’s `foo = Foo.new("hi")` instead of `Foo foo = new Foo("hi")`.
+* The constructor is always named “initialize” instead of the name of
+  the class.
+* You have “mixins” instead of interfaces.
+* YAML tends to be favored over XML.
+* It’s `nil` instead of `null`.
+* `==` and `equals()` are handled differently in Ruby. Use `==` when you
+  want to test equivalence in Ruby (`equals()` in Java). Use `equal?()`
+  when you want to know if two objects are the same (`==` in Java).
+
+
+
+[1]: http://wxruby.rubyforge.org/wiki/wiki.pl
+[2]: http://www.fxruby.org/
+[3]: https://ruby-gnome2.osdn.jp/
+[4]: https://github.com/ryanmelt/qtbindings/
diff --git a/fa/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md b/fa/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md
new file mode 100644
index 0000000000..5ddf445142
--- /dev/null
+++ b/fa/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md
@@ -0,0 +1,68 @@
+---
+layout: page
+title: "To Ruby From Perl"
+lang: fa
+---
+
+Perl is awesome. Perl’s docs are awesome. The Perl community is …
+awesome. However, the language is fairly large and arguably complex. For
+those Perlers who long for a simpler time, a more orthogonal language,
+and elegant OO features built-in from the beginning, Ruby may be for
+you.
+
+### Similarities
+
+As with Perl, in Ruby,...
+
+* You’ve got a package management system, somewhat like CPAN (though
+  it’s called [RubyGems][1]).
+* Regexes are built right in. Bon appétit!
+* There’s a fairly large number of commonly-used built-ins.
+* Parentheses are often optional.
+* Strings work basically the same.
+* There’s a general delimited string and regex quoting syntax similar to
+  Perl’s. It looks like `%q{this}` (single-quoted), or
+  `%Q{this}` (double-quoted), and `%w{this for a single-quoted list of words}`.
+  You `%Q|can|` `%Q(use)` `%Q^other^` delimiters if you like.
+* You’ve got double-quotish variable interpolation, though it `"looks
+  #{like} this"` (and you can put any Ruby code you like inside that
+  `#{}`).
+* Shell command expansion uses `` `backticks` ``.
+* You’ve got embedded doc tools (Ruby’s is called rdoc).
+
+### Differences
+
+Unlike Perl, in Ruby,...
+
+* You don’t have the context-dependent rules like with Perl.
+* A variable isn’t the same as the object to which it refers. Instead,
+  it’s always just a reference to an object.
+* Although `$` and `@` are used as the first character in
+  variable names sometimes, rather than indicating type, they indicate
+  scope (`$` for globals, `@` for object instance, and
+  `@@` for class attributes).
+* Array literals go in brackets instead of parentheses.
+* Composing lists of other lists does not flatten them into one big
+  list. Instead you get an array of arrays.
+* It’s `def` instead of `sub`.
+* There’s no semicolons needed at the end of each line. Incidentally,
+  you end things like function definitions, class definitions, and case
+  statements with the `end` keyword.
+* Objects are strongly typed. You’ll be manually calling `foo.to_i`,
+  `foo.to_s`, etc., if you need to convert between types.
+* There’s no `eq`, `ne`, `lt`, `gt`, `ge`, nor `le`.
+* There’s no diamond operator (`<>`).
+  You usually use `IO.some_method` instead.
+* The fat comma `=>` is only used for hash literals.
+* There’s no `undef`. In Ruby you have `nil`. `nil` is an object (like
+  anything else in Ruby). It’s not the same as an undefined variable. It
+  evaluates to `false` if you treat it like a boolean.
+* When tested for truth, only `false` and `nil` evaluate to a false
+  value. Everything else is true (including `0`, `0.0`, and `"0"`).
+* There’s no [PerlMonks][2]. Though the ruby-talk mailing list is a very
+  helpful place.
+
+
+
+[1]: http://guides.rubygems.org
+[2]: http://www.perlmonks.org/
diff --git a/fa/documentation/ruby-from-other-languages/to-ruby-from-php/index.md b/fa/documentation/ruby-from-other-languages/to-ruby-from-php/index.md
new file mode 100644
index 0000000000..5ba0c52c79
--- /dev/null
+++ b/fa/documentation/ruby-from-other-languages/to-ruby-from-php/index.md
@@ -0,0 +1,50 @@
+---
+layout: page
+title: "To Ruby From PHP"
+lang: fa
+---
+
+PHP is in widespread use for web applications, but if you want to use
+Ruby on Rails or just want a language that’s more tailored for general
+use, Ruby is worth a look.
+
+### Similarities
+
+As in PHP, in Ruby…
+
+* Ruby is dynamically typed, like in PHP, so you don’t need to worry
+  about having to declare variables.
+* There are classes, and you can control access to them like in PHP 5
+  (`public`, `protected` and `private`).
+* Some variables start with $, like in PHP (but not all).
+* There’s `eval`, too.
+* You can use string interpolation. Instead of doing `"$foo is a $bar"`,
+  you can do `"#{foo} is a #{bar}"`—like in PHP, this doesn’t apply for
+  single-quoted strings.
+* There’s heredocs.
+* Ruby has exceptions, like PHP 5.
+* There’s a fairly large standard library.
+* Arrays and hashes work like expected, if you exchange `array()` for
+  `{` and `}`\: `array('a' => 'b')` becomes `{'a' => 'b'}`.
+* `true` and `false` behave like in PHP, but `null` is called `nil`.
+
+### Differences
+
+Unlike in PHP, in Ruby…
+
+* There’s strong typing. You’ll need to call `to_s`, `to_i` etc. to
+  convert between strings, integers and so on, instead of relying on the
+  language to do it.
+* Strings, numbers, arrays, hashes, etc. are objects. Instead of calling
+  abs(-1) it’s -1.abs.
+* Parentheses are optional in method calls, except to clarify which
+  parameters go to which method calls.
+* The standard library and extensions are organized in modules and classes.
+* Reflection is an inherent capability of objects, you don’t need to use
+  `Reflection` classes like in PHP 5.
+* Variables are references.
+* There’s no `abstract` classes or `interface`s.
+* Hashes and arrays are not interchangeable.
+* Only `false` and `nil` are false: `0`, `array()` and `""` are all true
+  in conditionals.
+* Almost everything is a method call, even `raise` (`throw` in PHP).
diff --git a/fa/documentation/ruby-from-other-languages/to-ruby-from-python/index.md b/fa/documentation/ruby-from-other-languages/to-ruby-from-python/index.md
new file mode 100644
index 0000000000..0243d2a356
--- /dev/null
+++ b/fa/documentation/ruby-from-other-languages/to-ruby-from-python/index.md
@@ -0,0 +1,82 @@
+---
+layout: page
+title: "To Ruby From Python"
+lang: fa
+---
+
+Python is another very nice general purpose programming language. Going
+from Python to Ruby, you’ll find that there’s a little bit more syntax
+to learn than with Python.
+
+### Similarities
+
+As with Python, in Ruby,...
+
+* There’s an interactive prompt (called `irb`).
+* You can read docs on the command line (with the `ri` command instead
+  of `pydoc`).
+* There are no special line terminators (except the usual newline).
+* String literals can span multiple lines like Python’s triple-quoted
+  strings.
+* Brackets are for lists, and braces are for dicts (which, in Ruby, are
+  called “hashes”).
+* Arrays work the same (adding them makes one long array, but composing
+  them like this `a3 = [ a1, a2 ]` gives you an array of arrays).
+* Objects are strongly and dynamically typed.
+* Everything is an object, and variables are just references to objects.
+* Although the keywords are a bit different, exceptions work about the
+  same.
+* You’ve got embedded doc tools (Ruby’s is called rdoc).
+* There is good support for functional programming with first-class
+  functions, anonymous functions, and closures.
+
+### Differences
+
+Unlike Python, in Ruby,...
+
+* Strings are mutable.
+* You can make constants (variables whose value you don’t intend to
+  change).
+* There are some enforced case-conventions (ex. class names start with a
+  capital letter, variables start with a lowercase letter).
+* There’s only one kind of list container (an Array), and it’s mutable.
+* Double-quoted strings allow escape sequences (like `\t`) and a special
+  “expression substitution” syntax (which allows you to insert the
+  results of Ruby expressions directly into other strings without having
+  to `"add " + "strings " + "together"`). Single-quoted strings are like
+  Python’s `r"raw strings"`.
+* There are no “new style” and “old style” classes. Just one kind.
+  (Python 3+ doesn’t have this issue, but it isn’t fully backward
+  compatible with Python 2.)
+* You never directly access attributes. With Ruby, it’s all method
+  calls.
+* Parentheses for method calls are usually optional.
+* There’s `public`, `private`, and `protected` to enforce access,
+  instead of Python’s `_voluntary_` underscore `__convention__`.
+* “mixins” are used instead of multiple inheritance.
+* You can add or modify the methods of built-in classes. Both languages
+  let you open up and modify classes at any point, but Python prevents
+  modification of built-ins — Ruby does not.
+* You’ve got `true` and `false` instead of `True` and `False` (and `nil`
+  instead of `None`).
+* When tested for truth, only `false` and `nil` evaluate to a false
+  value. Everything else is true (including `0`, `0.0`, `""`, and `[]`).
+* It’s `elsif` instead of `elif`.
+* It’s `require` instead of `import`. Otherwise though, usage is the
+  same.
+* The usual-style comments on the line(s) *above* things (instead of
+  docstrings below them) are used for generating docs.
+* There are a number of shortcuts that, although give you more to
+  remember, you quickly learn. They tend to make Ruby fun and very
+  productive.
+* There’s no way to unset a variable once set (like Python’s `del`
+  statement). You can reset a variable to `nil`, allowing the old
+  contents to be garbage collected, but the variable will remain in the
+  symbol table as long as it is in scope.
+* The `yield` keyword behaves differently. In Python it will return
+  execution to the scope outside the function's invocation. External
+  code is responsible for resuming the function. In Ruby `yield` will
+  execute another function that has been passed as the final argument,
+  then immediately resume.
+* Python supports just one kind of anonymous functions, lambdas, while
+  Ruby contains blocks, Procs, and lambdas.
diff --git a/fa/documentation/success-stories/index.md b/fa/documentation/success-stories/index.md
new file mode 100644
index 0000000000..e6d9a9049e
--- /dev/null
+++ b/fa/documentation/success-stories/index.md
@@ -0,0 +1,88 @@
+---
+layout: page
+title: "Success Stories"
+lang: fa
+---
+
+Many people use Ruby in their daily jobs. Others just as a hobby. Here
+you’ll find a small sample of real world usage of Ruby.
+{: .summary}
+
+#### Simulations
+
+* [NASA Langley Research Center][1] uses Ruby to conduct simulations.
+
+* A research group in [Motorola][2] uses Ruby to script a simulator,
+  both to generate scenarios and to post process the data.
+
+#### 3D Modeling
+
+* [Google SketchUp][3] is a 3D modeling application that uses Ruby for
+  its macro scripting API.
+
+#### Business
+
+* [Toronto Rehab][4] uses a RubyWebDialogs-based app to manage and track
+  on-call and on-site support for the IT help desk and IT operations
+  teams.
+
+#### Robotics
+
+* At MORPHA project, Ruby was used to implement the reactive
+  control part for the Siemens service robot.
+
+#### Networking
+
+* [Open Domain Server][6] uses Ruby to allow people using Dynamic DNS
+  clients to update in real time their IP configuration so that it can
+  be mapped to static domains.
+
+#### Telephony
+
+* Ruby is being used within [Lucent][7] on a 3G wireless telephony
+  product.
+
+#### System Administration
+
+* Ruby was used to write the central data collection portion of [Level 3
+  Communications][8] Unix Capacity and Planning system that gathers
+  performance statistics from over 1700 Unix (Solaris and Linux) servers
+  scattered around the globe.
+
+#### Web Applications
+
+* [Basecamp][9], a web-based project management application developed by
+  [37signals][10], is programmed entirely in Ruby.
+
+* [A List Apart][11], a magazine for people who make websites that has
+  been around since 1997, has recently been revamped and uses a custom
+  application built with Ruby on Rails.
+
+#### Security
+
+* The [Metasploit Framework][metasploit], a community open source project
+  managed by [Rapid7][rapid7], is a free penetration testing platform that
+  helps IT professionals assess the security of their networks and
+  applications. The Metasploit Project consists of over 700,000 lines of
+  code and has been downloaded over a million times in 2010.
+  The commercial editions developed by Rapid7 are also based on Ruby.
+
+* The [Arachni Web Application Security Scanner][arachni] is a free, modular,
+  high-performance Ruby framework aimed towards helping penetration testers
+  and administrators evaluate the security of modern web applications.
+
+
+
+[1]: http://www.larc.nasa.gov/
+[2]: http://www.motorola.com
+[3]: http://www.sketchup.com/
+[4]: https://www.uhn.ca/TorontoRehab
+[6]: http://ods.org/
+[7]: http://www.lucent.com/
+[8]: http://www.level3.com/
+[9]: http://www.basecamphq.com
+[10]: http://www.37signals.com
+[11]: http://www.alistapart.com
+[metasploit]: http://www.metasploit.com
+[rapid7]: http://www.rapid7.com
+[arachni]: http://www.arachni-scanner.com/
diff --git a/fa/downloads/branches/index.md b/fa/downloads/branches/index.md
new file mode 100644
index 0000000000..d43eca54f5
--- /dev/null
+++ b/fa/downloads/branches/index.md
@@ -0,0 +1,43 @@
+---
+layout: page
+title: "Ruby Maintenance Branches"
+lang: fa
+---
+
+{% comment %}
+In development. Not to be translated yet.
+{% endcomment %}
+
+This page lists the current maintenance status of the various Ruby branches.
+{: .summary}
+
+For more information about specific releases see the
+[Releases page](../releases/).
+
+This is a preliminary list of Ruby branches and their maintenance status.
+The shown dates are inferred from the English versions of release posts
+or EOL announcements.
+
+The Ruby branches or release series are categorized below into
+the following phases:
+
+* **normal maintenance** (bug fix):
+  Branch receives general bug fixes and security fixes.
+* **security maintenance** (security fix):
+  Only security fixes are backported to this branch.
+* **eol** (end-of-life):
+  Branch is not supported by the ruby-core team any longer and does
+  not receive any fixes. No further patch release will be released.
+* **preview**:
+  Only previews or release candidates have been released for
+  this branch so far.
+
+{% for branch in site.data.branches %}
+### Ruby {{ branch.name }}
+
+status: {{ branch.status }}<br>
+release date: {{ branch.date }}{% if branch.eol_date %}<br>
+EOL date: {{ branch.eol_date }}
+{% endif %}
+
+{% endfor %}
diff --git a/fa/downloads/index.md b/fa/downloads/index.md
new file mode 100644
index 0000000000..073e526e18
--- /dev/null
+++ b/fa/downloads/index.md
@@ -0,0 +1,80 @@
+---
+layout: page
+title: "دانلود روبی"
+lang: fa
+---
+
+در اینجا شما می‌توانید آخرین توزیع روبی را در طعم مورد علاقه خود دریافت کنید.
+نسخه پایدار فعلی {{ site.data.downloads.stable[0] }} است.
+لطفا حتما [مجوز روبی][license] را بخوانید.
+{: .summary}
+
+### راه‌های نصب روبی
+
+ما برای نصب روبی چندین ابزار در هر پلتفرم اصلی داریم:
+
+* برای لینوکس/یونیکس، می‌توانید از سیستم‌های مدیریت بسته یا ابزار‌های شخص ثالث ([rbenv][rbenv] و [RVM][rvm]) استفاده کنید.
+* برای سیستم‌عامل‌های macOS، شما می‌توانید از ابزارهای شخص ثالث ([rbenv][rbenv] و [RVM][rvm]) استفاده کنید.
+* برای سیستم‌عامل‌های ویندوز، شما می‌توانید از [RubyInstaller][rubyinstaller] استفاده کنید.
+
+برای اطلاعات بیشتر در مورد استفاده از سیستم‌‌های مدیریت بسته یا ابزارهای شخص ثالث، صفحه [نصب و راه‌اندازی][installation] را ببینید.
+
+البته، شما می‌توانید روبی را از منبع در همه سیستم‌عامل‌ها نصب کنید.
+
+### کامپایل روبی - سورس کد
+
+نصب از روی سورس کد، یک راه حل عالی برای زمانی است که شما به اندازه کافی با پلتفرم خود راحت هستید و شاید هم محیط شما به تنظیمات خاصی نیاز دارد. همچنین راه حل خوبی برای وقتی است که شما هیچ پکیج از پیش ساخته شده‌ای برای پلتفرم خود ندارید.
+
+برای اطلاعات بیشتر درباره کامپایل روبی از سورس کد، صفحه [نصب و راه‌اندازی][installation]  را ببینید. اگر مشکلی در کامپایل روبی دارید، از یکی از ابزارهای شخص‌ثالث بالا استفاده کنید. آن‌ها ممکن است به شما کمک کنند.
+
+* **انتشارهای پایدار:**{% for version in site.data.downloads.stable %}{% assign release = site.data.releases | where: "version", version | first %}
+  * [Ruby {{ release.version }}]({{ release.url.gz }})<br>
+    sha256: {{ release.sha256.gz }}{% endfor %}
+
+{% if site.data.downloads.preview %}
+* **انتشارهای پیش‌نمایش:**{% for version in site.data.downloads.preview %}{% assign release = site.data.releases | where: "version", version | first %}
+  * [Ruby {{ release.version }}]({{ release.url.gz }})<br>
+    sha256: {{ release.sha256.gz }}{% endfor %}
+{% endif %}
+
+{% if site.data.downloads.security_maintenance %}
+* **در مرحله نگهداری امنیتی (به زودی EOL!):**{% for version in site.data.downloads.security_maintenance %}{% assign release = site.data.releases | where: "version", version | first %}
+  * [Ruby {{ release.version }}]({{ release.url.gz }})<br>
+    sha256: {{ release.sha256.gz }}{% endfor %}
+{% endif %}
+
+{% if site.data.downloads.eol %}
+* **دیگر نگهداری نمی‌شود (EOL):**{% for version in site.data.downloads.eol %}{% assign release = site.data.releases | where: "version", version | first %}
+  * [Ruby {{ release.version }}]({{ release.url.gz }})<br>
+    sha256: {{ release.sha256.gz }}{% endfor %}
+{% endif %}
+
+* **اسنپ‌شات‌ها:**
+  * [اسنپ‌شات‌ پایدار]({{ site.data.downloads.stable_snapshot.url.gz }}):
+    این یک فایل از آخرین اسنپ‌شات‌ شاخه پایدار فعلی است.
+  * [اسنپ‌شات‌ شبانه]({{ site.data.downloads.nightly_snapshot.url.gz }}):
+    This is a tarball of whatever is in SVN, made nightly.
+    This may contain bugs or other issues, use at your own risk!
+
+For more information about specific releases, particularly older releases
+or previews, see the [Releases page][releases].
+Information about the current maintenance status of the various
+Ruby branches can be found on the [Branches page][branches].
+
+For information about the Ruby Subversion and Git repositories, see our
+[Ruby Core](/fa/community/ruby-core/) page.
+
+The Ruby source is available from a worldwide set of
+[Mirror Sites][mirrors].
+Please try to use a mirror that is near you.
+
+
+
+[license]: {{ site.license.url }}
+[installation]: /fa/documentation/installation/
+[releases]: /fa/downloads/releases/
+[branches]: /fa/downloads/branches/
+[mirrors]: /fa/downloads/mirrors/
+[rvm]: http://rvm.io/
+[rbenv]: https://github.com/rbenv/rbenv
+[rubyinstaller]: https://rubyinstaller.org/
diff --git a/fa/downloads/mirrors/index.md b/fa/downloads/mirrors/index.md
new file mode 100644
index 0000000000..8111c87bb3
--- /dev/null
+++ b/fa/downloads/mirrors/index.md
@@ -0,0 +1,67 @@
+---
+layout: page
+title: "Mirror Sites"
+lang: fa
+---
+
+{% comment %}
+Not to be translated. Link to this page (/en/downloads/mirrors/) instead.
+{% endcomment %}
+
+The Ruby source is available from a worldwide set of mirror sites.
+Please try to use a mirror that is near you.
+{: .summary}
+
+### Mirror sites via HTTP
+
+* [CDN][mirror-https-cdn] (fastly.com)
+* Japan (RingServer)
+  * [shibaura-it.ac.jp][mirror-http-jp-ring-shibaura-it]
+  * [u-toyama.ac.jp][mirror-http-jp-ring-u-toyama]
+  * [airnet.ne.jp][mirror-http-jp-ring-airnet]
+  * [maffin.ad.jp][mirror-http-jp-ring-maffin]
+* [Germany][mirror-http-de] (AmbiWeb GmbH)
+* [Holland][mirror-http-nl] (XS4ALL) - only release packages
+* [Austria][mirror-http-at] (tuwien.ac.at)
+* [France][mirror-http-fr] (cyberbits.eu)
+* [China 1][mirror-http-cn1] (ruby.taobao.org)
+* [China 2][mirror-http-cn2] (Ruby China)
+
+### Mirror sites via FTP
+
+* Japan (RingServer)
+  * [shibaura-it.ac.jp][mirror-ftp-jp-ring-shibaura-it]
+  * [u-toyama.ac.jp][mirror-ftp-jp-ring-u-toyama]
+  * [airnet.ne.jp][mirror-ftp-jp-ring-airnet]
+  * [maffin.ad.jp][mirror-ftp-jp-ring-maffin]
+* [Japan 3][mirror-ftp-jp3] (IIJ)
+* [South Korea][mirror-ftp-kr] (Korea FreeBSD Users Group)
+* [Germany][mirror-ftp-de] (FU Berlin)
+* [Greece][mirror-ftp-gr] (ntua.gr)
+* [Austria][mirror-ftp-at] (tuwien.ac.at)
+
+### Mirror sites via rsync
+
+* [France][mirror-rsync-fr] (cyberbits.eu)
+
+[mirror-https-cdn]: https://cache.ruby-lang.org/pub/ruby/
+[mirror-http-jp-ring-shibaura-it]: http://ring.shibaura-it.ac.jp/archives/lang/ruby/
+[mirror-http-jp-ring-u-toyama]: http://ring.u-toyama.ac.jp/archives/lang/ruby/
+[mirror-http-jp-ring-airnet]: http://ring.airnet.ne.jp/archives/lang/ruby/
+[mirror-http-jp-ring-maffin]: http://ring.maffin.ad.jp/archives/lang/ruby/
+[mirror-http-de]: http://dl.ambiweb.de/mirrors/ftp.ruby-lang.org/
+[mirror-http-nl]: http://www.xs4all.nl/~hipster/lib/mirror/ruby/
+[mirror-http-at]: http://gd.tuwien.ac.at/languages/ruby/
+[mirror-http-fr]: https://mirror.cyberbits.eu/ruby/
+[mirror-http-cn1]: https://ruby.taobao.org/mirrors/ruby/
+[mirror-http-cn2]: https://cache.ruby-china.com/pub/ruby/
+[mirror-ftp-jp-ring-shibaura-it]: ftp://ring.shibaura-it.ac.jp/pub/lang/ruby/
+[mirror-ftp-jp-ring-u-toyama]: ftp://ring.u-toyama.ac.jp/pub/lang/ruby/
+[mirror-ftp-jp-ring-airnet]: ftp://ring.airnet.ne.jp/pub/lang/ruby/
+[mirror-ftp-jp-ring-maffin]: ftp://ring.maffin.ad.jp/pub/lang/ruby/
+[mirror-ftp-jp3]: ftp://ftp.iij.ad.jp/pub/lang/ruby/
+[mirror-ftp-kr]: ftp://ftp.kr.freebsd.org/pub/ruby/
+[mirror-ftp-de]: ftp://ftp.fu-berlin.de/unix/languages/ruby/
+[mirror-ftp-gr]: ftp://ftp.ntua.gr/pub/lang/ruby/
+[mirror-ftp-at]: ftp://gd.tuwien.ac.at/languages/ruby/
+[mirror-rsync-fr]: rsync://rsync.cyberbits.eu/ruby/
diff --git a/fa/downloads/releases/index.md b/fa/downloads/releases/index.md
new file mode 100644
index 0000000000..f5e68a474d
--- /dev/null
+++ b/fa/downloads/releases/index.md
@@ -0,0 +1,38 @@
+---
+layout: page
+title: "Ruby Releases"
+lang: fa
+---
+
+{% comment %}
+In development. Not to be translated yet.
+{% endcomment %}
+
+This page lists individual Ruby releases.
+{: .summary}
+
+For information about the current maintenance status of the various
+Ruby branches see the
+[Branches page](../branches/).
+
+### Ruby releases by version number
+
+This is a preliminary list of Ruby releases.
+The shown dates correspond to the publication dates of the
+English versions of release posts and may differ from the
+actual creation dates of the source tarballs.
+
+<table class="release-list">
+<tr>
+<th>Release Version</th>
+<th>Release Date</th>
+<th>Release Notes</th>
+</tr>
+{% assign releases = site.data.releases | reverse | sort: "date" | reverse %}
+{% for release in releases %}
+<tr>
+<td>Ruby {{ release.version }}</td>
+<td>{{ release.date }}</td>
+<td><a href="{{ release.post }}">more...</a></td>
+</tr>{% endfor %}
+</table>
diff --git a/fa/examples/cities.md b/fa/examples/cities.md
new file mode 100644
index 0000000000..11977e7ef7
--- /dev/null
+++ b/fa/examples/cities.md
@@ -0,0 +1,21 @@
+---
+layout: null
+---
+
+{% highlight ruby %}
+# Ruby knows what you
+# mean, even if you
+# want to do math on
+# an entire Array
+cities  = %w[ London
+              Shiraz
+              Paris
+              Amsterdam
+              Berlin ]
+visited = %w[Berlin Shiraz]
+
+puts "I still need " +
+     "to visit the " +
+     "following cities:",
+     cities - visited
+{% endhighlight %}
diff --git a/fa/examples/greeter.md b/fa/examples/greeter.md
new file mode 100644
index 0000000000..5b3f830242
--- /dev/null
+++ b/fa/examples/greeter.md
@@ -0,0 +1,22 @@
+---
+layout: null
+---
+
+{% highlight ruby %}
+# The Greeter class
+class Greeter
+  def initialize(name)
+    @name = name.capitalize
+  end
+
+  def salute
+    puts "Hello #{@name}!"
+  end
+end
+
+# Create a new object
+g = Greeter.new("world")
+
+# Output "Hello World!"
+g.salute
+{% endhighlight %}
diff --git a/fa/examples/hello_world.md b/fa/examples/hello_world.md
new file mode 100644
index 0000000000..f34e698c53
--- /dev/null
+++ b/fa/examples/hello_world.md
@@ -0,0 +1,17 @@
+---
+layout: null
+---
+
+{% highlight ruby %}
+# The famous Hello World
+# Program is trivial in
+# Ruby. Superfluous:
+#
+# * A "main" method
+# * Newline
+# * Semicolons
+#
+# Here is the Code:
+
+puts "Hello World!"
+{% endhighlight %}
diff --git a/fa/examples/i_love_ruby.md b/fa/examples/i_love_ruby.md
new file mode 100644
index 0000000000..eb6b1c74d2
--- /dev/null
+++ b/fa/examples/i_love_ruby.md
@@ -0,0 +1,17 @@
+---
+layout: null
+---
+
+{% highlight ruby %}
+# Output "I love Ruby"
+say = "I love Ruby"
+puts say
+
+# Output "I *LOVE* RUBY"
+say['love'] = "*love*"
+puts say.upcase
+
+# Output "I *love* Ruby"
+# five times
+5.times { puts say }
+{% endhighlight %}
diff --git a/fa/feeds/news.rss b/fa/feeds/news.rss
new file mode 100644
index 0000000000..037150b13d
--- /dev/null
+++ b/fa/feeds/news.rss
@@ -0,0 +1,4 @@
+---
+layout: news_feed
+lang: fa
+---
diff --git a/fa/index.html b/fa/index.html
new file mode 100644
index 0000000000..2b5b82d754
--- /dev/null
+++ b/fa/index.html
@@ -0,0 +1,38 @@
+---
+layout: homepage
+title: روبی زبان برنامه نویسی
+lang: fa
+
+header: |
+  <!-- //-->
+
+intro: |
+  <div id="intro-wrapper">
+    <div id="intro">
+      <h1>روبی هست...</h1>
+
+      <p>
+        یک زبان برنامه نویسی پویا و متن‌باز، که روی سادگی و بهره‌وری تمرکز دارد. این زبان دارای دستور زبانی زیبا می‌باشد که باعث می‌شود به صورت طبیعی خوانا شود و به سادگی قابل برنامه نویسی باشد.
+      </p>
+
+      <a href="downloads/" class="download-link">دانلود روبی</a>
+      یا
+      <a href="about/">ادامه مطلب...</a>
+
+    </div>
+    <div id="code"><noscript><div class="highlight"><pre><code class="ruby">
+      <span class="c1"># The famous Hello World</span>
+      <span class="c1"># Program is trivial in</span>
+      <span class="c1"># Ruby. Superfluous:</span>
+      <span class="c1">#</span>
+      <span class="c1"># * A &quot;main&quot; method</span>
+      <span class="c1"># * Newline</span>
+      <span class="c1"># * Semicolons</span>
+      <span class="c1">#</span>
+      <span class="c1"># Here is the Code:</span>
+
+      <span class="nb">puts</span> <span class="s2">&quot;Hello World!&quot;</span>
+    </code></pre></div></noscript></div>
+  </div>
+
+---
diff --git a/fa/libraries/index.md b/fa/libraries/index.md
new file mode 100644
index 0000000000..68e82a61a3
--- /dev/null
+++ b/fa/libraries/index.md
@@ -0,0 +1,135 @@
+---
+layout: page
+title: "کتابخانه‌ها"
+lang: fa
+---
+
+همانطور که بیشتر زبان‌های برنامه نویسی، روبی مجموعه گسترده‌ای از کتابخانه‌های شخص‌ثالث را در اختیار دارد.
+{: .summary}
+
+Nearly all of these libraries are released in the form of a **gem**,
+a packaged library or application that can be installed with a tool
+called [**RubyGems**][1].
+
+RubyGems is a Ruby packaging system designed to facilitate the creation,
+sharing and installation of libraries (in some ways, it is a distribution
+packaging system similar to, say, `apt-get`, but targeted at Ruby software).
+Ruby comes with RubyGems by default since version 1.9, previous
+Ruby versions require RubyGems to be [installed by hand][2].
+
+Some other libraries are released as archived (.zip or .tar.gz)
+directories of **source code**. Installation processes may vary,
+typically a `README` or `INSTALL` file is available with instructions.
+
+Let’s take a look at finding libraries and installing them for your own
+use.
+
+### Finding libraries
+
+The main place where libraries are hosted is [**RubyGems.org**][1], a public
+repository of gems that can be searched and installed onto your machine.
+You may browse and search for gems using the RubyGems website,
+or use the `gem` command.
+
+Using `gem search -r`, you can search RubyGems' repository. For
+instance, `gem search -r rails` will return a list of Rails-related
+gems. With the `--local` (`-l`) option, you would perform a local search
+through your installed gems. To install a gem, use `gem install [gem]`.
+Browsing installed gems is done with `gem list`. For more
+information about the `gem` command, see below or head to
+[RubyGems’ docs][3].
+
+There are other sources of libraries though.
+[**GitHub**][5] is the main Ruby-related content repository.
+Most often a gem source code will be hosted on GitHub while being
+published as a fully-fledged gem to RubyGems.org.
+
+[**The Ruby Toolbox**][6] is a project that makes it easy to explore open
+source Ruby projects. It has categories for various common development tasks,
+collects a lot of information about the projects like release and commit
+activity or dependencies and rates projects based on their popularity on
+RubyGems.org and GitHub. This makes it easy to find a gem which solves
+a particular problem such as web frameworks, documentation tools and
+code quality libraries.
+
+### A few more words about RubyGems
+
+Here is a quick review of the `gem` command for your daily use.
+[More detailed documentation][7] is available, covering all aspects
+of this packaging system.
+
+#### Searching among available gems
+
+The **search** command can be used to look for gems, based on a string.
+Gems which names start with the specified string will be listed in return.
+For instance, to search for the “html”-related gems:
+
+{% highlight sh %}
+$ gem search -r html
+
+*** REMOTE GEMS ***
+
+html-sample (1.0, 1.1)
+{% endhighlight %}
+
+The `--remote` / `-r` flag indicates that we want to inspect the
+official RubyGems.org repository (default behaviour).
+With the `--local` / `-l` flag you would perform a local search
+among your installed gems.
+
+#### Installing a gem
+
+Once you know which gem you would like to **install**, for instance the
+popular Ruby on Rails framework:
+
+{% highlight sh %}
+$ gem install rails
+{% endhighlight %}
+
+You can even install just a specific version of the library, using the
+`--version` / `-v` flag:
+
+{% highlight sh %}
+$ gem install rails --version 5.0
+{% endhighlight %}
+
+#### Listing all gems
+
+For a **list** of all locally installed gems:
+
+{% highlight sh %}
+$ gem list
+{% endhighlight %}
+
+To obtain a (very long) list of all gems available on RubyGems.org:
+
+{% highlight sh %}
+$ gem list -r
+{% endhighlight %}
+
+#### Help!
+
+Documentation is available inside your terminal:
+
+{% highlight sh %}
+$ gem help
+{% endhighlight %}
+
+For instance, `gem help commands` is very useful as it outputs a list of
+all `gem`’s commands.
+
+#### Crafting your own gems
+
+RubyGems.org has [several guides][3] about this topic. You may also want
+to investigate [Bundler][9], a generic tool which helps you manage an
+application’s dependencies and may be used along RubyGems.
+
+
+
+[1]: https://rubygems.org/
+[2]: https://rubygems.org/pages/download/
+[3]: http://guides.rubygems.org/
+[5]: https://github.com/
+[6]: https://www.ruby-toolbox.com/
+[7]: http://guides.rubygems.org/command-reference/
+[9]: http://bundler.io/
diff --git a/fa/news/_posts/2019-01-30-ruby-2-6-1-released.md b/fa/news/_posts/2019-01-30-ruby-2-6-1-released.md
new file mode 100644
index 0000000000..83ab7b4383
--- /dev/null
+++ b/fa/news/_posts/2019-01-30-ruby-2-6-1-released.md
@@ -0,0 +1,51 @@
+---
+layout: news_post
+title: "روبی ۲٫۶٫۱ منتشر شد"
+author: "naruse"
+translator:
+date: 2019-01-30 00:00:00 +0000
+lang: fa
+---
+
+روبی ۲٫۶٫۱ منتشر شد.
+
+## تغییرات
+
+* [نوشتن noMethodError هنگام ارسال یک رشته چند بایتی بزرگ افزایش یافت](https://bugs.ruby-lang.org/issues/15468)، این مشکل حل شده است.
+
+This release includes additional bug fixes. See the [commit logs](https://github.com/ruby/ruby/compare/v2_6_0...v2_6_1) for more details.
+
+## دانلود
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.1.tar.gz>
+
+      SIZE:   16742207 bytes
+      SHA1:   416842bb5b4ca655610df1f0389b6e21d25154f8
+      SHA256: 17024fb7bb203d9cf7a5a42c78ff6ce77140f9d083676044a7db67f1e5191cb8
+      SHA512: 89e016e60f107fa40da251bc9659584ee3191caee726b5c6818ecbe109f825c553041a5dfda7e6d2889fcf587e63fb5d9fbe6cbdbdc4572e1123c302f0f1b881
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.1.zip>
+
+      SIZE:   20595342 bytes
+      SHA1:   6fd14990dc411eb58852324d45b29f84d580644d
+      SHA256: ed1537f49d333a809900c1f49ad16c4c06224ebbf5c744cb7b9104ab2a385366
+      SHA512: 8a092486ecefac5bd734897562257a576112e59d90026d0b2ada10aa0b7e0fa86ed1cd803c6254eaa21b19ba36502d9ac268eae6f5714a6eca01904117ab0da6
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.1.tar.bz2>
+
+      SIZE:   14561930 bytes
+      SHA1:   d4c92d9b0057473238df2fd4792454b43976fda3
+      SHA256: 82c9402920eac9ce777beb3f34eeadc2a3f3ce80f25004bbf54b5ed1280ba099
+      SHA512: fc41429491935b89532733b95476ab9f8a4efc310aad8f4c2bd3b68fba08fd7b6e9ac84c6c88ca892022d1ba76435295f3299ea466f9b5453c07d41cb539af59
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.1.tar.xz>
+
+      SIZE:   11872964 bytes
+      SHA1:   ba5f4338bb642e3836dd80b73a9df0d1b6e079ae
+      SHA256: 47b629808e9fd44ce1f760cdf3ed14875fc9b19d4f334e82e2cf25cb2898f2f2
+      SHA512: fb36289a955f0596c683cdadf1e4a9a9fd35222b1e1c6160c2e7cd82e5befd40a7aa4361e55f7a8f83c06ee899ec493821c7db34a60c4ac3bca0e874d33ef1a9
+
+## نظر نسخه
+
+از کلیه متقاضیان، برنامه‌نویسان و کاربران که گزارش‌های اشکالات را ارسال کردند، و ما را در انتشار این نسخه کمک کردند.
+از مشارکت شما بسیار متشکریم.
diff --git a/fa/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/fa/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md
new file mode 100644
index 0000000000..4a9a4ab92d
--- /dev/null
+++ b/fa/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md
@@ -0,0 +1,57 @@
+---
+layout: news_post
+title: "آسیب پذیری‌های متعددی در RubyGems"
+author: "hsbt"
+translator: "Goudarz Jafari"
+date: 2019-03-05 00:00:00 +0000
+tags: security
+lang: fa
+---
+
+RubyGems همراه با روبی دارای چندین آسیب پذیری است.
+این در [وبلاگ رسمی RubyGems گزارش شده است](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html).
+
+## جزئیات
+
+آسیب پذیری‌های زیر گزارش شده است.
+
+* CVE-2019-8320: Delete directory using symlink when decompressing tar
+* CVE-2019-8321: Escape sequence injection vulnerability in `verbose`
+* CVE-2019-8322: Escape sequence injection vulnerability in `gem owner`
+* CVE-2019-8323: Escape sequence injection vulnerability in API response handling
+* CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution
+* CVE-2019-8325: Escape sequence injection vulnerability in errors
+
+به شدت به کاربران روبی توصیه می‌شود که یکی از راه حل‌های زیر را در اسرع وقت انجام دهید.
+
+## نسخه‌های آسیب دیده
+
+* سری روبی ۲٫۴: ۲٫۴٫۵ و قبل از آن
+* سری روبی ۲٫۵: ۲٫۵٫۳ و قبل از آن
+* سری روبی ۲٫۶: ۲٫۶٫۱ و قبل از آن
+* قبل از بازنگری trunk ۶۷۱۶۸
+
+## راه حل‌ها
+
+RubyGems ۲٫۷٫۶/۲٫۷٫۹/۳٫۰٫۳ یا بعدا شامل اصلاح آسیب پذیری‌ها می‌شود، بنابراین RubyGems را به آخرین نسخه ارتقا دهید.
+
+```
+gem update --system
+```
+
+اگر شما نمی‌توانید RubyGems را ارتقا دهید، می‌توانید وصله‌های زیر را به عنوان یک راه حل اعمال کنید.
+
+* [برای روبی ۲٫۴٫۵](https://bugs.ruby-lang.org/attachments/7669)
+* [برای روبی ۲٫۵٫۳](https://bugs.ruby-lang.org/attachments/7670)
+* [برای روبی ۲٫۶٫۱](https://bugs.ruby-lang.org/attachments/7671)
+
+درباره trunk، به‌روزرسانی به آخرین نسخه.
+
+## اعتبار
+
+این گزارش بر اساس [وبلاگ رسمی RubyGems](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html) است.
+
+## تاریخچه
+
+* در اصل در تاریخ ۱۳۹۷/۱۲/۱۴ ۰۴:۳۰:۰۰ IRDT منتشر شده است.
+* لینک به وصله‌های به‌روز شده در تاریخ ۱۳۹۷/۱۲/۱۵ ۰۹:۵۶:۰۰ IRDT انجام شده.
diff --git a/fa/news/_posts/2019-03-13-ruby-2-5-4-released.md b/fa/news/_posts/2019-03-13-ruby-2-5-4-released.md
new file mode 100644
index 0000000000..81d766ec31
--- /dev/null
+++ b/fa/news/_posts/2019-03-13-ruby-2-5-4-released.md
@@ -0,0 +1,48 @@
+---
+layout: news_post
+title: "روبی ۲٫۵٫۴ منتشر شد"
+author: "nagachika"
+translator: "Goudarz Jafari"
+date: 2019-03-13 11:30:00 +0000
+lang: fa
+---
+
+روبی ۲٫۵٫۴ منتشر شد.
+
+این نسخه شامل رفع اشکال و به‌روز رسانی امنیتی RubyGems همراه است.
+جزئیات [آسیب پذیری‌ متعدد در RubyGems](/fa/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) و [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2) را مشاهده کنید.
+
+## دانلود
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.tar.bz2>
+
+      SIZE:   14167366 bytes
+      SHA1:   ac3248a055b5317cec53d3f922559c5b4a67d410
+      SHA256: 8a16566207b2334a6904a10a1f093befc3aaf9b2e6cf01c62b1c4ac15cb7d8fc
+      SHA512: 3c4f54f38ee50914a44d07e4fd299e53dddd045f2d38da2140586b8a9c45d1172fec2ad5b0411c228a9b31f5e161214820903a65b98caf3b0dfeeaabf2cab6ad
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.tar.gz>
+
+      SIZE:   15995815 bytes
+      SHA1:   330bb5472f565b683c7f8c9091d4ee0cc155b51b
+      SHA256: 0e4042bce749352dfcf1b9e3013ba7c078b728f51f8adaf6470ce37675e3cb1f
+      SHA512: 6e58006c30d8ae561967e051ec0a34f34f899eee1b039abb65c9a63dc65965e210d238fff19fa7c7411893df25dfc40426887a195993153fb9e09bbf769dfc14
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.tar.xz>
+
+      SIZE:   11493016 bytes
+      SHA1:   221b8538e75a8d04af8b9a09f56343e463bf94f8
+      SHA256: 46f6eff655a6be1939f70c7a4c1bf58f76663e7e804738bc52f4d47ca31dee3d
+      SHA512: e72294e549d09510f20c808d26a0d21ef0ee2616d8598980a42db260d45340e5c259ac65e5478a8b086042ff6ba7d8447a6c8115454ffe977c4f63175ab89062
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.4.zip>
+
+      SIZE:   19186174 bytes
+      SHA1:   855be9a5a43a1e0621ad2e81c27de9370d2abcc8
+      SHA256: 823a6a2c9c7baa18554fd78d430837a01ab33cc16ad1759c9842bdd9523e9cea
+      SHA512: a83f90514b09c217fbbd154cfc09c804553353a97cbff7df24185b613e1c7be69a965fe9ec925ac3f4bd6170f2c3d0d60be7ea4ab1037ce64300d7443b6e08e8
+
+## نظر نسخه
+
+از کلیه متقاضیان، برنامه‌نویسان و کاربران که گزارش‌های اشکالات را ارسال کردند، و ما را در انتشار این نسخه کمک کردند.
+از مشارکت شما بسیار متشکریم.
diff --git a/fa/news/_posts/2019-03-13-ruby-2-6-2-released.md b/fa/news/_posts/2019-03-13-ruby-2-6-2-released.md
new file mode 100644
index 0000000000..1836525c7e
--- /dev/null
+++ b/fa/news/_posts/2019-03-13-ruby-2-6-2-released.md
@@ -0,0 +1,49 @@
+---
+layout: news_post
+title: "روبی ۲٫۶٫۲ منتشر شد"
+author: "naruse"
+translator: "Goudarz Jafari"
+date: 2019-03-13 11:30:00 +0000
+lang: fa
+---
+
+روبی ۲٫۶٫۲ منتشر شد.
+
+این نسخه شامل رفع اشکال و به‌روز رسانی امنیتی RubyGems همراه است.
+
+جزئیات [آسیب پذیری‌ متعدد در RubyGems](/fa/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) و [commit logs](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2) را مشاهده کنید.
+
+## دانلود
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.gz>
+
+      SIZE:   16777765 bytes
+      SHA1:   44c6634a41f63ebdc1f3ce6ddcf48a4766bb4df7
+      SHA256: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab
+      SHA512: bc96a6793a1e3111598b82b0aad98dc5b465e39cdb5b788c4259818752e028a44545c6489c02c323db0f43a362c26f0900acfba0277d6e2201587d7252f6125f
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.zip>
+
+      SIZE:   20601169 bytes
+      SHA1:   fce5c289842e6e4c4bc7950214d82c0858086baa
+      SHA256: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13
+      SHA512: 60ccabbca50d51186b6715edcd8e4fa704e8b9159a23f073e8d3aafef3858a98ade416156af94a479d1af5555c4c4b5b71267f0f563a518e5e6112ce9921bb8b
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.bz2>
+
+      SIZE:   14634343 bytes
+      SHA1:   5839fc6e6568ac4f26a20382bd8fe0d998dffbb0
+      SHA256: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915
+      SHA512: cad678d2ced4085e99009e4fef83c067dd0e6ead27a8695bc212c0e5112a7fa09ceb27f82638faf91932ef8bdd090f844e0a878ffdf6845a891da4b858588aa0
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.2.tar.xz>
+
+      SIZE:   11889840 bytes
+      SHA1:   b7b3432519f80ea50adc9bfb937c7a46865a93d5
+      SHA256: 91fcde77eea8e6206d775a48ac58450afe4883af1a42e5b358320beb33a445fa
+      SHA512: 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a
+
+## نظر نسخه
+
+از کلیه متقاضیان، برنامه‌نویسان و کاربران که گزارش‌های اشکالات را ارسال کردند، و ما را در انتشار این نسخه کمک کردند.
+از مشارکت شما بسیار متشکریم.
diff --git a/fa/news/_posts/2019-03-15-ruby-2-5-5-released.md b/fa/news/_posts/2019-03-15-ruby-2-5-5-released.md
new file mode 100644
index 0000000000..ddde5f6c3d
--- /dev/null
+++ b/fa/news/_posts/2019-03-15-ruby-2-5-5-released.md
@@ -0,0 +1,48 @@
+---
+layout: news_post
+title: "روبی ۲٫۵٫۵ منتشر شد"
+author: "nagachika"
+translator: "Goudarz Jafari"
+date: 2019-03-15 02:00:00 +0000
+lang: fa
+---
+
+روبی ۲٫۵٫۵ منتشر شد.
+
+این نسخه شامل رفع اشکال برای [بن‌بست](https://fa.wikipedia.org/wiki/%D8%A8%D9%86%E2%80%8C%D8%A8%D8%B3%D8%AA_(%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87)) در برنامه‌های [چندریسمانی](https://fa.wikipedia.org/wiki/%DA%86%D9%86%D8%AF%D8%B1%DB%8C%D8%B3%D9%85%D8%A7%D9%86%DB%8C)/[چندپردازشی](https://fa.wikipedia.org/wiki/%DA%86%D9%86%D8%AF%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4%DB%8C) (با استفاده از `Process.fork`)، مانند Puma می‌باشد.
+
+جزئیات تغییرات این نسخه را در [اینجا مشاهده](https://github.com/ruby/ruby/compare/v2_5_4...v2_5_5) کنید.
+
+## دانلود
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.tar.bz2>
+
+      SIZE:   14165422 bytes
+      SHA1:   1932db85ace80ecdbc5cfc7aada5b5123f7ad739
+      SHA256: 1f2567a55dad6e50911ce42fcc705cf686924b897f597cabf803d88192024dcb
+      SHA512: 1b56aa79569b818446440b9f2d13122bf7c2976ab9b2865f5fb62d247d7768dd4ac5b5e463709ffec0f757bff7088afd293c2a8c5349c3780763b6444bb354a8
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.tar.gz>
+
+      SIZE:   15996436 bytes
+      SHA1:   e6a063728950762925108abbdbf68968ec1ab5bb
+      SHA256: 28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c
+      SHA512: 82d0ae019c02822668f7e8c7ad7f62170b059ea70a95a7a7cb26f809e2f2f0f5d25b5bb0ca147413ae42cf0fc5bf60329b56609c266556b1e9f04813c33bb4c9
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.tar.xz>
+
+      SIZE:   11459832 bytes
+      SHA1:   85cee62e47f0707808ff3d7cb68b6cd075a65509
+      SHA256: 9bf6370aaa82c284f193264cc7ca56f202171c32367deceb3599a4f354175d7d
+      SHA512: 06b1d58536ebfacb7b56c1e6ed4b8ab816fadc4f48c845a452554cd262e7908199a30e5793f3cbaec2db56a8803aa5c6089abf7bf06c8fc47867e97870b7dfec
+
+* <https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.zip>
+
+      SIZE:   19186230 bytes
+      SHA1:   c0b2bd2b09b40d098b1295303c820d7dd8d97d38
+      SHA256: be630e814c796f3750bd892f1250851e67fc4379f75508a4cb7ca7ceb718ddef
+      SHA512: 95604d47f3436e0be3a59742a89ac5f1c5c9493ddab8b53b154098b876b2fa12418d2adfc1c71e039a6876d209a7832efd88c0e297df5be56b8f7e92094eb487
+
+## نظر نسخه
+
+می‌خواهم به خاطر گزارش و تحقیقات sorah و k0kubun قدردانی کنم. متشکرم.
diff --git a/fa/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md b/fa/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md
new file mode 100644
index 0000000000..53be592e17
--- /dev/null
+++ b/fa/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md
@@ -0,0 +1,37 @@
+---
+layout: news_post
+title: "پشتیبانی از روبی ۲٫۳ به پایان رسید"
+author: "antonpaisov"
+translator: "Goudarz Jafari"
+date: 2019-03-31 00:00:00 +0000
+lang: fa
+---
+
+ما اعلام می‌کنیم که تمام پشتیبانی از سری روبی ۲٫۳ به پایان رسیده است.
+
+After the release of Ruby 2.3.7 on March 28, 2018,
+the support of the Ruby 2.3 series was in the security maintenance phase.
+Now, after one year has passed, this phase has ended.
+Therefore, on March 31, 2019, all support of the Ruby 2.3 series ends.
+Security and bug fixes from more recent Ruby versions will no longer be
+backported to 2.3. There won't be any patches of 2.3 either.
+We highly recommend that you upgrade to Ruby 2.6 or 2.5 as soon as possible.
+
+## درباره نسخه‌های روبی در حال حاضر پشتیبانی شده
+
+### سری روبی ۲٫۶
+
+در حال حاضر در فاز نگهداری عادی است.
+ما مشکلات را برطرف می‌کنیم و هر زمان نیاز هست آن را منتشر می‌کنیم. و اگر یک مسئله امنیتی بحرانی پیدا شود، ما یک راه حل فوری برای آن عرضه خواهیم کرد.
+
+### سری روبی ۲٫۵
+
+در حال حاضر در فاز نگهداری عادی است.
+ما مشکلات را برطرف می‌کنیم و هر زمان نیاز هست آن را منتشر می‌کنیم. و اگر یک مسئله امنیتی بحرانی پیدا شود، ما یک راه حل فوری برای آن عرضه خواهیم کرد.
+
+### سری روبی ۲٫۴
+
+در حال حاضر در مرحله نگهداری امنیتی است.
+We will never backport any bug fixes to 2.4 except security fixes.
+If a critical security issue is found, we will release an urgent fix for it.
+We are planning to end the support of the Ruby 2.4 series on March 31, 2020.
diff --git a/fa/news/_posts/2019-04-01-ruby-2-4-6-released.md b/fa/news/_posts/2019-04-01-ruby-2-4-6-released.md
new file mode 100644
index 0000000000..e064b2c80d
--- /dev/null
+++ b/fa/news/_posts/2019-04-01-ruby-2-4-6-released.md
@@ -0,0 +1,59 @@
+---
+layout: news_post
+title: "روبی ۲٫۴٫۶ منتشر شد"
+author: "usa"
+translator: "Goudarz Jafari"
+date: 2019-04-01 06:00:00 +0000
+lang: fa
+---
+
+روبی ۲٫۴٫۶ منتشر شد.
+
+این نسخه شامل رفع ۲۰ مشکل پس از انتشار نسخه قبلی است و همچنین شامل رفع چندین اشکال امنیتی است.
+ لطفا برای جزئیات بیشتر مباحث زیر را بررسی کنید.
+
+* [آسیب پذیری‌های متعددی در RubyGems](/fa/news/2019/03/05/multiple-vulnerabilities-in-rubygems/)
+
+برای جزئیات بیشتر [commit log](https://github.com/ruby/ruby/compare/v2_4_5...v2_4_6) را ببینید.
+
+بعد از این نسخه، ما به مرحله نگهداری معمولی روبی ۲٫۴ پایان می‌دهیم و مرحله نگهداری امنیتی آن را شروع می‌کنیم. این بدان معنی است که پس از انتشار نسخه ۲٫۴٫۶، ما هیچ گونه رفع اشکالی را به جز رفع مشکلات امنیتی در نسخه ۲٫۴ پشتیبانی نمی‌کنیم.
+مدت مرحله نگهداری امنیتی برای ۱ سال تعیین شده است.
+با پایان این مدت، حمایت رسمی از روبی ۲٫۴ به پایان می‌رسد.
+بنابراین، توصیه می‌کنیم برنامه‌ریزی برای به‌روزرسانی به روبی ۲٫۵ یا ۲٫۶ را شروع کنید.
+
+## دانلود
+
+* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.6.tar.bz2>
+
+      SIZE:   12623913 bytes
+      SHA1:   b44b5c6637a69b3b95971b1937ecb583dc1de568
+      SHA256: 909f360debed1f22fdcfc9f5335c6eaa0713198db4a6c13bab426f8b89b28b02
+      SHA512: 292802984e5cff6d526d817bde08216fe801d255c4cede0646e450f22d4a3a81ae612ec5d193dcc2a888e3e98b2531af845b6b863a2952bcf3fb863f95368bcf
+
+* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.6.tar.gz>
+
+      SIZE:   15880585 bytes
+      SHA1:   3bc2d9ab3381887c57e0fb7937dc14e9f419f06c
+      SHA256: de0dc8097023716099f7c8a6ffc751511b90de7f5694f401b59f2d071db910be
+      SHA512: 7eb7720961e98e22e4335c38eeead9db96d049ef3ac1da437769b98fee7a10feb092643ce75822a2fe3bd5fd94938417ab5c2de7c6056afe0abf6e4cf03ca282
+
+* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.6.tar.xz>
+
+      SIZE:   10005544 bytes
+      SHA1:   86a4fa22cb3547005ec4bfcf77489a4254226187
+      SHA256: 25da31b9815bfa9bba9f9b793c055a40a35c43c6adfb1fdbd81a09099f9b529c
+      SHA512: eafb2257747f99e2ed262af142e71175b70f7cceaa4d1253b92c8337f075a9a58a2d93b029d75e11a9b124f112a8f0983273b2b30afc147b5cf71a8dbb5fa0ba
+
+* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.6.zip>
+
+      SIZE:   17469891 bytes
+      SHA1:   0e55d231c0e119304e077e42923ce6a1c3daa1d1
+      SHA256: c5de9f11d4b7608d57139b96f7bc94899bb2fc9dee2e192c8951f6647a9d60f7
+      SHA512: cfa779cdb970dfd35dc2a97951310cb3cde1d380b040c283fda6609c591039817a2847ab7174f7a9ee7f7adbb610709b57914bb26e5c015a20d5fe880c569855
+
+## نظر نسخه
+
+متاسفم که باعث شد شما مدت طولانی منتظر بمانید.
+از همه کسانی که به این نسخه کمک کردند تشکر می‌کنم.
+
+نگهداری روبی ۲٫۴ از جمله این نسخه براساس «توافق برای نسخه پایدار روبی» انجمن روبی صورت است.
diff --git a/fa/news/_posts/2019-04-17-ruby-2-6-3-released.md b/fa/news/_posts/2019-04-17-ruby-2-6-3-released.md
new file mode 100644
index 0000000000..d4b37a4f53
--- /dev/null
+++ b/fa/news/_posts/2019-04-17-ruby-2-6-3-released.md
@@ -0,0 +1,50 @@
+---
+layout: news_post
+title: "روبی ۲٫۶٫۳ منتشر شد"
+author: "naruse"
+translator: "Goudarz Jafari"
+date: 2019-04-17 00:00:00 +0000
+lang: fa
+---
+
+روبی ۲٫۶٫۳ منتشر شد.
+
+در این نسخه پشتیبانی از دوره جدید ژاپنی “令和” (ریوا) اضافه شد. نسخه یونیکد را به ۱۲٫۱ آزمایشی ([#15195](https://bugs.ruby-lang.org/issues/15195)) و کتابخانه تاریخ ([#15742](https://bugs.ruby-lang.org/issues/15742)) را هم به‌روزرسانی شد.
+
+این نسخه همچنین شامل رفع برخی از اشکالات می‌شود.
+برای جزئیات بیشتر [commit logs](https://github.com/ruby/ruby/compare/v2_6_2...v2_6_3) را ببینید.
+
+## دانلود
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.gz>
+
+      SIZE:   16784748 bytes
+      SHA1:   2347ed6ca5490a104ebd5684d2b9b5eefa6cd33c
+      SHA256: 577fd3795f22b8d91c1d4e6733637b0394d4082db659fccf224c774a2b1c82fb
+      SHA512: 8503b86da60e38da4f1a1553b2570d4125c1823280e6fb6d07825a0e92dd7b628e13147ebde085702cbf5c5eddfe7fa5a2445996bc29164196a53bc917b02112
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.zip>
+
+      SIZE:   20611578 bytes
+      SHA1:   85e9ffe707fb1c1eb4131c953530bb01105a5948
+      SHA256: 5ef6b8e5b5f242d41e4b3d9ab21a40d3f494dfca42b00b25ab8fd3122325fe2d
+      SHA512: 5c87e1eda0002e95684c08ea4eb55b5ce1941dd6304806117647c0bd44ab0714d50fe3b24c322a4f5978286a5442ceaa2d141ebe7cfe07198e0a0b876af6c004
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.bz2>
+
+      SIZE:   14509165 bytes
+      SHA1:   aed3bd3c5346b3b85a6b184bb320465d98994fe3
+      SHA256: dd638bf42059182c1d04af0d5577131d4ce70b79105231c4cc0a60de77b14f2e
+      SHA512: c63c3f527bef88922345f4abb4b9ad467117b63f2132e41722ea6b4234cec3446626c3338e673065a06d2894feee92472807c284cbe613a442c8fda234ea7f88
+
+* <https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.xz>
+
+      SIZE:   11904360 bytes
+      SHA1:   ee231856cee812cfc67440d643f7451857a760c9
+      SHA256: 11a83f85c03d3f0fc9b8a9b6cad1b2674f26c5aaa43ba858d4b0fcc2b54171e1
+      SHA512: 959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8
+
+## نظر نسخه
+
+از همه‌ی توسعه دهندگان و کاربرانی که مشکلات را گزارش کرده‌اند تا در تهیه این نسخه به ما کمک کردند.
+ از همه آنها سپاسگزارم.
diff --git a/fa/security/index.md b/fa/security/index.md
new file mode 100644
index 0000000000..ac6c4cd014
--- /dev/null
+++ b/fa/security/index.md
@@ -0,0 +1,122 @@
+---
+layout: page
+title: "امنیت"
+lang: fa
+---
+
+در اینجا شما اطلاعاتی در مورد مسائل امنیتی روبی پیدا خواهید کرد.
+{: .summary}
+
+## گزارش آسیب پذیری‌های امنیتی
+
+Security vulnerabilities in the Ruby programming language should be
+reported through our
+[bounty program page at HackerOne](https://hackerone.com/ruby).
+Please ensure you read the specific details around the scope of
+our program before reporting an issue. Any valid reported problems
+will be published after fixes.
+
+If you have found an issue affecting one of our websites, please
+report it [via GitHub](https://github.com/ruby/www.ruby-lang.org/issues/new).
+
+If you have found an issue that affects a specific Ruby gem, follow the
+[instructions on RubyGems.org](http://guides.rubygems.org/security/#reporting-security-vulnerabilities).
+
+If you need to get in touch with the security team directly outside
+of HackerOne, you can send email to security@ruby-lang.org
+([the PGP public key](/security.asc)), which is a private mailing list.
+
+The members of the mailing list are people who provide Ruby
+(Ruby committers and authors of other Ruby implementations,
+distributors, PaaS platformers).
+The members must be individual people, mailing lists are not permitted.
+
+## مشکلات شناخته شده
+
+Here are recent issues:
+
+{% include security_posts.html %}
+
+More known issues:
+
+* [Entity expansion DoS vulnerability in REXML (XML bomb,
+  CVE-2013-1821)][1]
+  published at 22 Feb, 2013.
+* [Denial of Service and Unsafe Object Creation Vulnerability in JSON
+  (CVE-2013-0269)][2]
+  published at 22 Feb, 2013.
+* [XSS exploit of RDoc documentation generated by rdoc
+  (CVE-2013-0256)][3]
+  published at 6 Feb, 2013.
+* [Hash-flooding DoS vulnerability for ruby 1.9 (CVE-2012-5371)][4]
+  published at 10 Nov, 2012.
+* [Unintentional file creation caused by inserting a illegal NUL
+  character (CVE-2012-4522)][5]
+  published at 12 Oct, 2012.
+* [$SAFE escaping vulnerability about Exception#to\_s / NameError#to\_s
+  (CVE-2012-4464, CVE-2012-4466)][6]
+  published at 12 Oct, 2012.
+* [Security Fix for RubyGems: SSL server verification failure for remote
+  repository][7] published at 20 Apr, 2012.
+* [Security Fix for Ruby OpenSSL module: Allow 0/n splitting as a
+  prevention for the TLS BEAST attack][8]
+  published at 16 Feb, 2012.
+* [Denial of service attack was found for Ruby\'s Hash algorithm
+  (CVE-2011-4815)][9]
+  published at 28 Dec, 2011.
+* [Exception methods can bypass $SAFE][10]
+  published at 18 Feb, 2011.
+* [FileUtils is vulnerable to symlink race attacks][11]
+  published at 18 Feb, 2011.
+* [XSS in WEBrick (CVE-2010-0541)][12]
+  published at 16 Aug, 2010.
+* [Buffer over-run in ARGF.inplace\_mode=][13]
+  published at 2 Jul, 2010.
+* [WEBrick has an Escape Sequence Injection vulnerability][14]
+  published at 10 Jan, 2010.
+* [Heap overflow in String (CVE-2009-4124)][15]
+  published at 7 Dec, 2009.
+* [DoS vulnerability in
+  BigDecimal](/en/news/2009/06/09/dos-vulnerability-in-bigdecimal/)
+  published at 9 Jun, 2009.
+* [DoS vulnerability in
+  REXML](/en/news/2008/08/23/dos-vulnerability-in-rexml/)
+  published at 23 Aug, 2008.
+* [Multiple vulnerabilities in
+  Ruby](/en/news/2008/08/08/multiple-vulnerabilities-in-ruby/)
+  published at 8 Aug, 2008.
+* [Arbitrary code execution
+  vulnerabilities](/en/news/2008/06/20/arbitrary-code-execution-vulnerabilities/)
+  published at 20 Jun, 2008.
+* [File access vulnerability of
+  WEBrick](/en/news/2008/03/03/webrick-file-access-vulnerability/)
+  published at 3 Mar, 2008.
+* [Net::HTTPS
+  Vulnerability](/en/news/2007/10/04/net-https-vulnerability/)
+  published at 4 Oct, 2007.
+* [Another DoS Vulnerability in CGI
+  Library](/en/news/2006/12/04/another-dos-vulnerability-in-cgi-library/)
+  published at 4 Dec, 2006.
+* [DoS Vulnerability in CGI Library (CVE-2006-5467)](/en/news/2006/11/03/CVE-2006-5467/)
+  published at 3 Nov, 2006.
+* [Ruby vulnerability in the safe level
+  settings](/en/news/2005/10/03/ruby-vulnerability-in-the-safe-level-settings/)
+  published at 2 Oct, 2005.
+
+
+
+[1]: /en/news/2013/02/22/rexml-dos-2013-02-22/
+[2]: /en/news/2013/02/22/json-dos-cve-2013-0269/
+[3]: /en/news/2013/02/06/rdoc-xss-cve-2013-0256/
+[4]: /en/news/2012/11/09/ruby19-hashdos-cve-2012-5371/
+[5]: /en/news/2012/10/12/poisoned-NUL-byte-vulnerability/
+[6]: /en/news/2012/10/12/cve-2012-4464-cve-2012-4466/
+[7]: /en/news/2012/04/20/ruby-1-9-3-p194-is-released/
+[8]: /en/news/2012/02/16/security-fix-for-ruby-openssl-module/
+[9]: /en/news/2011/12/28/denial-of-service-attack-was-found-for-rubys-hash-algorithm-cve-2011-4815/
+[10]: /en/news/2011/02/18/exception-methods-can-bypass-safe/
+[11]: /en/news/2011/02/18/fileutils-is-vulnerable-to-symlink-race-attacks/
+[12]: /en/news/2010/08/16/xss-in-webrick-cve-2010-0541/
+[13]: /en/news/2010/07/02/ruby-1-9-1-p429-is-released/
+[14]: /en/news/2010/01/10/webrick-escape-sequence-injection/
+[15]: /en/news/2009/12/07/heap-overflow-in-string/
diff --git a/stylesheets/fonts/LICENSE b/stylesheets/fonts/LICENSE
new file mode 100644
index 0000000000..711721180b
--- /dev/null
+++ b/stylesheets/fonts/LICENSE
@@ -0,0 +1,51 @@
+Changes by Saber Rastikerdar (saber.rastikerdar@gmail.com) are in public domain.
+Glyphs and data from Roboto font are licensed under the Apache License, Version 2.0.
+
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. 
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org. 
\ No newline at end of file
diff --git a/stylesheets/fonts/Vazir-Black.eot b/stylesheets/fonts/Vazir-Black.eot
new file mode 100644
index 0000000000..6fa3f0f546
Binary files /dev/null and b/stylesheets/fonts/Vazir-Black.eot differ
diff --git a/stylesheets/fonts/Vazir-Black.ttf b/stylesheets/fonts/Vazir-Black.ttf
new file mode 100644
index 0000000000..c5314a45b9
Binary files /dev/null and b/stylesheets/fonts/Vazir-Black.ttf differ
diff --git a/stylesheets/fonts/Vazir-Black.woff b/stylesheets/fonts/Vazir-Black.woff
new file mode 100644
index 0000000000..b2e17e7b01
Binary files /dev/null and b/stylesheets/fonts/Vazir-Black.woff differ
diff --git a/stylesheets/fonts/Vazir-Black.woff2 b/stylesheets/fonts/Vazir-Black.woff2
new file mode 100644
index 0000000000..ac2b58ca89
Binary files /dev/null and b/stylesheets/fonts/Vazir-Black.woff2 differ
diff --git a/stylesheets/fonts/Vazir-Bold.eot b/stylesheets/fonts/Vazir-Bold.eot
new file mode 100644
index 0000000000..5b2381e0bd
Binary files /dev/null and b/stylesheets/fonts/Vazir-Bold.eot differ
diff --git a/stylesheets/fonts/Vazir-Bold.ttf b/stylesheets/fonts/Vazir-Bold.ttf
new file mode 100644
index 0000000000..b75cafce5d
Binary files /dev/null and b/stylesheets/fonts/Vazir-Bold.ttf differ
diff --git a/stylesheets/fonts/Vazir-Bold.woff b/stylesheets/fonts/Vazir-Bold.woff
new file mode 100644
index 0000000000..0d5fcb193f
Binary files /dev/null and b/stylesheets/fonts/Vazir-Bold.woff differ
diff --git a/stylesheets/fonts/Vazir-Bold.woff2 b/stylesheets/fonts/Vazir-Bold.woff2
new file mode 100644
index 0000000000..fd0776a48a
Binary files /dev/null and b/stylesheets/fonts/Vazir-Bold.woff2 differ
diff --git a/stylesheets/fonts/Vazir-Light.eot b/stylesheets/fonts/Vazir-Light.eot
new file mode 100644
index 0000000000..b01bf20217
Binary files /dev/null and b/stylesheets/fonts/Vazir-Light.eot differ
diff --git a/stylesheets/fonts/Vazir-Light.ttf b/stylesheets/fonts/Vazir-Light.ttf
new file mode 100644
index 0000000000..d3ae31e164
Binary files /dev/null and b/stylesheets/fonts/Vazir-Light.ttf differ
diff --git a/stylesheets/fonts/Vazir-Light.woff b/stylesheets/fonts/Vazir-Light.woff
new file mode 100644
index 0000000000..19cc40e52d
Binary files /dev/null and b/stylesheets/fonts/Vazir-Light.woff differ
diff --git a/stylesheets/fonts/Vazir-Light.woff2 b/stylesheets/fonts/Vazir-Light.woff2
new file mode 100644
index 0000000000..3417ceeeeb
Binary files /dev/null and b/stylesheets/fonts/Vazir-Light.woff2 differ
diff --git a/stylesheets/fonts/Vazir-Medium.eot b/stylesheets/fonts/Vazir-Medium.eot
new file mode 100644
index 0000000000..0809c0e9fe
Binary files /dev/null and b/stylesheets/fonts/Vazir-Medium.eot differ
diff --git a/stylesheets/fonts/Vazir-Medium.ttf b/stylesheets/fonts/Vazir-Medium.ttf
new file mode 100644
index 0000000000..d073a4a82e
Binary files /dev/null and b/stylesheets/fonts/Vazir-Medium.ttf differ
diff --git a/stylesheets/fonts/Vazir-Medium.woff b/stylesheets/fonts/Vazir-Medium.woff
new file mode 100644
index 0000000000..1a1b1574f6
Binary files /dev/null and b/stylesheets/fonts/Vazir-Medium.woff differ
diff --git a/stylesheets/fonts/Vazir-Medium.woff2 b/stylesheets/fonts/Vazir-Medium.woff2
new file mode 100644
index 0000000000..a88473dc82
Binary files /dev/null and b/stylesheets/fonts/Vazir-Medium.woff2 differ
diff --git a/stylesheets/fonts/Vazir-Thin.eot b/stylesheets/fonts/Vazir-Thin.eot
new file mode 100644
index 0000000000..18ee3ec662
Binary files /dev/null and b/stylesheets/fonts/Vazir-Thin.eot differ
diff --git a/stylesheets/fonts/Vazir-Thin.ttf b/stylesheets/fonts/Vazir-Thin.ttf
new file mode 100644
index 0000000000..ba234a101b
Binary files /dev/null and b/stylesheets/fonts/Vazir-Thin.ttf differ
diff --git a/stylesheets/fonts/Vazir-Thin.woff b/stylesheets/fonts/Vazir-Thin.woff
new file mode 100644
index 0000000000..3b25fd6beb
Binary files /dev/null and b/stylesheets/fonts/Vazir-Thin.woff differ
diff --git a/stylesheets/fonts/Vazir-Thin.woff2 b/stylesheets/fonts/Vazir-Thin.woff2
new file mode 100644
index 0000000000..2ddb1302ab
Binary files /dev/null and b/stylesheets/fonts/Vazir-Thin.woff2 differ
diff --git a/stylesheets/fonts/Vazir.eot b/stylesheets/fonts/Vazir.eot
new file mode 100644
index 0000000000..bfd3badd56
Binary files /dev/null and b/stylesheets/fonts/Vazir.eot differ
diff --git a/stylesheets/fonts/Vazir.ttf b/stylesheets/fonts/Vazir.ttf
new file mode 100644
index 0000000000..0e971f08b3
Binary files /dev/null and b/stylesheets/fonts/Vazir.ttf differ
diff --git a/stylesheets/fonts/Vazir.woff b/stylesheets/fonts/Vazir.woff
new file mode 100644
index 0000000000..3d853d9a9c
Binary files /dev/null and b/stylesheets/fonts/Vazir.woff differ
diff --git a/stylesheets/fonts/Vazir.woff2 b/stylesheets/fonts/Vazir.woff2
new file mode 100644
index 0000000000..0bc172b1b9
Binary files /dev/null and b/stylesheets/fonts/Vazir.woff2 differ
diff --git a/stylesheets/rtl.css b/stylesheets/rtl.css
new file mode 100644
index 0000000000..4552afd369
--- /dev/null
+++ b/stylesheets/rtl.css
@@ -0,0 +1,118 @@
+@font-face {
+    font-family: Vazir;
+    src: url('fonts/Vazir.eot');
+    src: url('fonts/Vazir.eot?#iefix') format('embedded-opentype'),
+         url('fonts/Vazir.woff2') format('woff2'),
+         url('fonts/Vazir.woff') format('woff'),
+         url('fonts/Vazir.ttf') format('truetype');
+    font-weight: normal;
+    font-style: normal;
+}
+@font-face {
+    font-family: Vazir;
+    src: url('fonts/Vazir-Bold.eot');
+    src: url('fonts/Vazir-Bold.eot?#iefix') format('embedded-opentype'),
+         url('fonts/Vazir-Bold.woff2') format('woff2'),
+         url('fonts/Vazir-Bold.woff') format('woff'),
+         url('fonts/Vazir-Bold.ttf') format('truetype');
+    font-weight: bold;
+    font-style: normal;
+}
+@font-face {
+    font-family: Vazir;
+    src: url('fonts/Vazir-Black.eot');
+    src: url('fonts/Vazir-Black.eot?#iefix') format('embedded-opentype'),
+         url('fonts/Vazir-Black.woff2') format('woff2'),
+         url('fonts/Vazir-Black.woff') format('woff'),
+         url('fonts/Vazir-Black.ttf') format('truetype');
+    font-weight: 900;
+    font-style: normal;
+}
+@font-face {
+    font-family: Vazir;
+    src: url('fonts/Vazir-Medium.eot');
+    src: url('fonts/Vazir-Medium.eot?#iefix') format('embedded-opentype'),
+         url('fonts/Vazir-Medium.woff2') format('woff2'),
+         url('fonts/Vazir-Medium.woff') format('woff'),
+         url('fonts/Vazir-Medium.ttf') format('truetype');
+    font-weight: 500;
+    font-style: normal;
+}
+@font-face {
+    font-family: Vazir;
+    src: url('fonts/Vazir-Light.eot');
+    src: url('fonts/Vazir-Light.eot?#iefix') format('embedded-opentype'),
+         url('fonts/Vazir-Light.woff2') format('woff2'),
+         url('fonts/Vazir-Light.woff') format('woff'),
+         url('fonts/Vazir-Light.ttf') format('truetype');
+    font-weight: 300;
+    font-style: normal;
+}
+@font-face {
+    font-family: Vazir;
+    src: url('fonts/Vazir-Thin.eot');
+    src: url('fonts/Vazir-Thin.eot?#iefix') format('embedded-opentype'),
+         url('fonts/fonts/Vazir-Thin.woff2') format('woff2'),
+         url('fonts/Vazir-Thin.woff') format('woff'),
+         url('fonts/Vazir-Thin.ttf') format('truetype');
+    font-weight: 100;
+    font-style: normal;
+}
+
+body {
+    direction: rtl;
+    font-family: 'Vazir', "Helvetica Neue", Helvetica, sans-serif !important;
+}
+
+.container {
+    text-align: right !important;
+}
+
+#search-box {
+    right: auto;
+    left: 24px ;
+}
+
+#header h2 {
+    letter-spacing: normal;
+}
+
+#footer {
+    text-align: right !important;
+}
+
+#home-page-layout #code {
+    direction: ltr !important;
+    text-align: left;
+}
+
+pre {
+    direction: ltr !important;
+    text-align: left;
+}
+
+#header div.site-links a {
+    float: none;
+}
+
+#footer div.site-links a {
+    float: none;
+}
+
+#footer div.site-links {
+    text-align: right;
+    padding: 0 15px 0 0;
+}
+
+#header div.site-links {
+    padding: 0 8px 0 0;
+}
+
+#header_content > a {
+  text-decoration: none;
+  color: black;
+  background: url(/images/header-ruby-logo.png) no-repeat right 8px;
+  display: inline-block;
+  padding: 15px 74px 0 74px;
+  margin: 0 0 15px -4px;
+}
\ No newline at end of file