History

Add Japanese translations from @mitixx

Jed Fox committed 8 years ago

Commit ace8f471 parent 08731629 files · +680 −241Browse files

Unified · Split

9 files
  1. assets/javascripts/templates/error_tmpl.coffee +120 −52
  2. assets/javascripts/templates/notice_tmpl.coffee +10 −4
  3. assets/javascripts/templates/notif_tmpl.coffee +59 −21
  4. assets/javascripts/templates/pages/about_tmpl.coffee +160 −78
  5. assets/javascripts/templates/pages/help_tmpl.coffee +168 −8
  6. assets/javascripts/templates/pages/root_tmpl.coffee.erb +43 −21
  7. assets/javascripts/templates/pages/settings_tmpl.coffee +75 −36
  8. assets/javascripts/templates/sidebar_tmpl.coffee +24 −11
  9. assets/javascripts/templates/tip_tmpl.coffee +21 −10
assets/javascripts/templates/error_tmpl.coffee+120−52
@@ -1,74 +1,142 @@
11 error = (title, text = '', links = '') ->
2− text = """<p class="_error-text">#{text}</p>""" if text
3− links = """<p class="_error-links">#{links}</p>""" if links
4− """<div class="_error"><h1 class="_error-title">#{title}</h1>#{text}#{links}</div>"""
2+ text = """<p class="_error-text">#{_ text}</p>""" if text
3+ links = """<p class="_error-links">#{_ links}</p>""" if links
4+ """<div class="_error"><h1 class="_error-title">#{_ title}</h1>#{text}#{links}</div>"""
55
6−back = '<a href="#" data-behavior="back" class="_error-link">Go back</a>'
6+back = -> "<a href='#' data-behavior='back' class='_error-link'>#{_ en: 'Go back', ja: '戻る'}</a>"
77
88 app.templates.notFoundPage = ->
9− error """ Page not found. """,
10− """ It may be missing from the source documentation or this could be a bug. """,
11− back
9+ error(
10+ en: """ Page not found. """
11+ ja: """ ページが見つかりません。 """,
12+ ,
13+ en: """ It may be missing from the source documentation or this could be a bug. """
14+ ja: """ ドキュメントソースを誤っているか、バグかもしれません。 """,
15+ ,
16+ back()
17+ )
1218
1319 app.templates.pageLoadError = ->
14− error """ The page failed to load. """,
15− """ It may be missing from the server (try reloading the app) or you could be offline.<br>
16− If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """,
17− """ #{back} &middot; <a href="/##{location.pathname}" target="_top" class="_error-link">Reload</a>
18− &middot; <a href="#" class="_error-link" data-retry>Retry</a> """
20+ error(
21+ en: """ The page failed to load. """
22+ ja: """ ページの読み込みが失敗しました。 """
23+ ,
24+ en: """ It may be missing from the server (try reloading the app) or you could be offline.<br>
25+ If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """
26+ ja: """ サーバーを誤っています。(アプリを再度読み込んでください)または、オフラインです。<br>
27+ この表示が続くようであれば、プロキシの制限やファイヤーウォールでクロスドメインリクエストがブロックされています。 """
28+ ,
29+ """ #{back()}
30+ &middot;
31+ <a href="/##{location.pathname}" target="_top" class="_error-link">
32+ #{_ en: 'Reload', ja: '再読み込み'}
33+ </a>
34+ &middot;
35+ <a href="#" class="_error-link" data-retry>Retry</a> """
36+ )
37+
1938
2039 app.templates.bootError = ->
21− error """ The app failed to load. """,
22− """ Check your Internet connection and try <a href="#" data-behavior="reload">reloading</a>.<br>
23− If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """
40+ error(
41+ en: """ The app failed to load. """
42+ ja: """ アプリの読み込みに失敗しました。 """
43+ ,
44+ en: """ Check your Internet connection and try <a href="#" data-behavior="reload">reloading</a>.<br>
45+ If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """
46+ ja: """ インターネット接続を確認してください。<a href="#" data-behavior="reload">再読み込み</a>してください。<br>
47+ この表示が続くようであれば、プロキシの制限やファイヤーウォールでクロスドメインリクエストがブロックされています。 """
48+ )
2449
2550 app.templates.offlineError = (reason, exception) ->
2651 if reason is 'cookie_blocked'
27− return error """ Cookies must be enabled to use offline mode. """
52+ return error(
53+ en: """ Cookies must be enabled to use offline mode. """
54+ ja: """ オフラインモードを使用してクッキーを有効にする必要があります。 """
55+ )
2856
2957 reason = switch reason
3058 when 'not_supported'
31− """ DevDocs requires IndexedDB to cache documentations for offline access.<br>
32− Unfortunately your browser either doesn't support IndexedDB or doesn't make it available. """
59+ en: """ DevDocs requires IndexedDB to cache documentations for offline access.<br>
60+ Unfortunately your browser either doesn't support IndexedDB or doesn't make it available. """
61+ ja: """DevDocsはオフラインアクセスのために、IndexedDBにキャッシュすることを要求しています。<br>
62+ あいにく、お使いのブラウザはIndexedDBかキャッシュの作成いずれかが非対応です。"""
3363 when 'buggy'
34− """ DevDocs requires IndexedDB to cache documentations for offline access.<br>
35− Unfortunately your browser's implementation of IndexedDB contains bugs that prevent DevDocs from using it. """
64+ en: """ DevDocs requires IndexedDB to cache documentations for offline access.<br>
65+ Unfortunately your browser's implementation of IndexedDB contains bugs that prevent DevDocs from using it. """
66+ ja: """ DevDocsはオフラインアクセスのために、IndexedDBにキャッシュすることを要求しています。<br>
67+ あいにく、お使いのブラウザはIndexedDB containsの実行バグを防いでいます。"""
3668 when 'private_mode'
37− """ Your browser appears to be running in private mode.<br>
38− This prevents DevDocs from caching documentations for offline access."""
69+ en: """ Your browser appears to be running in private mode.<br>
70+ This prevents DevDocs from caching documentations for offline access."""
71+ ja: """ ブラウザのプライベートモードで表示しています。<br>
72+ オフラインアクセスによってドキュメントのキャッシュが防止されています。"""
3973 when 'exception', 'cant_open'
40− """ An error occurred when trying to open the IndexedDB database:<br>
41− <code class="_label">#{exception.name}: #{exception.message}</code>#{"""<br>
42− This could be because you're browsing in private mode or have disallowed offline storage on the domain.
43− """ if reason is 'cant_open' else ''} """
74+ en: """ An error occurred when trying to open the IndexedDB database:<br>
75+ <code class="_label">#{exception.name}: #{exception.message}</code>
76+ #{if reason is 'cant_open' then """<br>
77+ This could be because you're browsing in private mode or have disallowed offline storage on the domain.
78+ """ else ''} """
79+ ja: """ IndexDBデータベースを開く際にエラーが起きています:<br>
80+ <code class="_label">#{exception.name}: #{exception.message}</code>
81+ #{if reason is 'cant_open' then """<br>
82+ お使いのブラウザはプライベートモードかオフラインストレージを許可していないため、許可しましょう。
83+ """ else ''} """
4484 when 'version'
45− """ The IndexedDB database was modified with a newer version of the app.<br>
46− <a href="#" data-behavior="reload">Reload the page</a> to use offline mode. """
85+ en: """ The IndexedDB database was modified with a newer version of the app.<br>
86+ <a href="#" data-behavior="reload">Reload the page</a> to use offline mode. """
87+ ja: """ IndexedDBデータベースはアプリの新しいバージョンに修正されています。<br>
88+ <a href="#" data-behavior="reload">ページ再読み込み</a> して、オフラインモードを使ってください。 """
89+
4790 when 'empty'
48− """ The IndexedDB database appears to be corrupted. Try <a href="#" data-behavior="reset">resetting the app</a>. """
91+ en: """ The IndexedDB database appears to be corrupted. Try <a href="#" data-behavior="reset">resetting the app</a>. """
92+ ja: """IndexedDBデータベースに誤りがあります。 <a href="#" data-behavior="reset">アプリをリセット</a>してみてください。 """
4993
5094 error 'Offline mode is unavailable.', reason
5195
52−app.templates.unsupportedBrowser = """
53− <div class="_fail">
54− <h1 class="_fail-title">Your browser is unsupported, sorry.</h1>
55− <p class="_fail-text">DevDocs is an API documentation browser which supports the following browsers:
56− <ul class="_fail-list">
57− <li>Recent versions of Chrome and Firefox
58− <li>Safari 5.1+
59− <li>Opera 12.1+
60− <li>Internet Explorer 10+
61− <li>iOS 6+
62− <li>Android 4.1+
63− <li>Windows Phone 8+
64− </ul>
65− <p class="_fail-text">
66− If you're unable to upgrade, I apologize.
67− I decided to prioritize speed and new features over support for older browsers.
68− <p class="_fail-text">
69− Note: if you're already using one of the browsers above, check your settings and add-ons.
70− The app uses feature detection, not user agent sniffing.
71− <p class="_fail-text">
72− &mdash; Thibaut <a href="https://twitter.com/DevDocs" class="_fail-link">@DevDocs</a>
73− </div>
74−"""
96+app.templates.unsupportedBrowser =
97+ en: """
98+ <div class="_fail">
99+ <h1 class="_fail-title">Your browser is unsupported, sorry.</h1>
100+ <p class="_fail-text">DevDocs is an API documentation browser which supports the following browsers:
101+ <ul class="_fail-list">
102+ <li>Recent versions of Chrome and Firefox
103+ <li>Safari 5.1+
104+ <li>Opera 12.1+
105+ <li>Internet Explorer 10+
106+ <li>iOS 6+
107+ <li>Android 4.1+
108+ <li>Windows Phone 8+
109+ </ul>
110+ <p class="_fail-text">
111+ If you're unable to upgrade, I apologize.
112+ I decided to prioritize speed and new features over support for older browsers.
113+ <p class="_fail-text">
114+ Note: if you're already using one of the browsers above, check your settings and add-ons.
115+ The app uses feature detection, not user agent sniffing.
116+ <p class="_fail-text">
117+ &mdash; Thibaut <a href="https://twitter.com/DevDocs" class="_fail-link">@DevDocs</a>
118+ </div>
119+ """
120+ ja: """
121+ <div class="_fail">
122+ <h1 class="_fail-title">申し訳ございませんが、ご使用のブラウザはサポートされていません。</h1>
123+ <p class="_fail-text">DevDocsがサポートしているブラウザ:
124+ <ul class="_fail-list">
125+ <li>Chrome と Firefox の最新バージョン
126+ <li>Safari 5.1 以上
127+ <li>Opera 12.1 以上
128+ <li>Internet Explorer 10 以上
129+ <li>iOS 6 以上
130+ <li>Android 4.1 以上
131+ <li>Windows Phone 8 以上
132+ </ul>
133+ <p class="_fail-text">
134+ もしアップグレードできない場合は、申し訳ございません。
135+ 古いブラウザにとって速く、新しい機能や、サポートの延長を優先で決定します。
136+ <p class="_fail-text">
137+ ノート:もし既にお使いのブラウザのバージョンが超えていれば、設定やアドオンを確認してください。
138+ アプリはブラウザを判別しています、ユーザーエージェントを参照していません。
139+ <p class="_fail-text">
140+ &mdash; Thibaut <a href="https://twitter.com/DevDocs" class="_fail-link">@DevDocs</a>
141+ </div>
142+ """
assets/javascripts/templates/notice_tmpl.coffee+10−4
@@ -1,9 +1,15 @@
11 notice = (text) -> """<p class="_notice-text">#{_ text}</p>"""
22
33 app.templates.singleDocNotice = (doc) ->
4− notice """ You're browsing the #{doc.fullName} documentation. To browse all docs, go to
5− <a href="//#{app.config.production_host}" target="_top">#{app.config.production_host}</a> (or press <code>esc</code>). """
4+ notice
5+ en: """ You're browsing the #{doc.fullName} documentation. To browse all docs, go to
6+ <a href="//#{app.config.production_host}" target="_top">#{app.config.production_host}</a> (or press <code>esc</code>). """
7+ ja: """ #{doc.fullName} をブラウズしています。すべてのドキュメントを見るには
8+ <a href="//#{app.config.production_host}" target="_top">#{app.config.production_host}</a> へアクセスしてください。(または<code>esc</code>を押してください) """
69
710 app.templates.disabledDocNotice = ->
8− notice """ <strong>This documentation is disabled.</strong>
9− To enable it, go to <a href="/settings" class="_notice-link">Preferences</a>. """
11+ notice
12+ en: """ <strong>This documentation is disabled.</strong>
13+ To enable it, go to <a href="/settings" class="_notice-link">Preferences</a>. """
14+ ja: """ <strong>このドキュメントは無効です。</strong>
15+ 有効にするには<a href="/settings" class="_notice-link">設定</a>.にアクセスしてください。"""
assets/javascripts/templates/notif_tmpl.coffee+59−21
@@ -1,38 +1,66 @@
11 notif = (title, html) ->
2+ close = _ en: 'Close', ja: '閉じる'
23 html = html.replace /<a /g, '<a class="_notif-link" '
34 """ <h5 class="_notif-title">#{_ title}</h5>
45 #{html}
5− <button type="button" class="_notif-close" title="Close"><svg><use xlink:href="#icon-close"/></svg>Close</a>
6+ <button type="button" class="_notif-close" title="#{close}"><svg><use xlink:href="#icon-close"/></svg>#{close}</a>
67 """
78
89 textNotif = (title, message) ->
910 notif title, """<p class="_notif-text">#{_ message}"""
1011
1112 app.templates.notifUpdateReady = ->
12− textNotif """<span data-behavior="reboot">DevDocs has been updated.</span>""",
13− """<span data-behavior="reboot"><a href="#" data-behavior="reboot">Reload the page</a> to use the new version.</span>"""
13+ textNotif
14+ en: """<span data-behavior="reboot">DevDocs has been updated.</span>"""
15+ ja: """<span data-behavior="reboot">DevDocsはアップデートされました。</span>"""
16+ ,
17+ en: """<span data-behavior="reboot"><a href="#" data-behavior="reboot">Reload the page</a> to use the new version.</span>"""
18+ ja: """<span data-behavior="reboot"><a href="#" data-behavior="reboot">ページ再読み込み</a> すると新しいバージョンが使用できます。</span>"""
1419
1520 app.templates.notifError = ->
16− textNotif """ Oops, an error occurred. """,
17− """ Try <a href="#" data-behavior="hard-reload">reloading</a>, and if the problem persists,
18− <a href="#" data-behavior="reset">resetting the app</a>.<br>
19− You can also report this issue on <a href="https://github.com/freeCodeCamp/devdocs/issues/new" target="_blank" rel="noopener">GitHub</a>. """
21+ textNotif
22+ en: """ Oops, an error occurred. """
23+ ja: """ しまった、エラーが発生しました。 """
24+ ,
25+ en: """ Try <a href="#" data-behavior="hard-reload">reloading</a>, and if the problem persists,
26+ <a href="#" data-behavior="reset">resetting the app</a>.<br>
27+ You can also report this issue on <a href="https://github.com/freeCodeCamp/devdocs/issues/new" target="_blank" rel="noopener">GitHub</a>. """
28+ ja: """ <a href="#" data-behavior="hard-reload">再読み込み</a>してみてください。それでも問題が起きる場合は、
29+ <a href="#" data-behavior="reset">アプリをリセット</a>してください。<br>
30+ この問題を<a href="https://github.com/freeCodeCamp/devdocs/issues/new" target="_blank" rel="noopener">GitHub</a>で報告することができます。 """
31+
2032
2133 app.templates.notifQuotaExceeded = ->
22− textNotif """ The offline database has exceeded its size limitation. """,
23− """ Unfortunately this quota can't be detected programmatically, and the database can't be opened while over the quota, so it had to be reset. """
34+ textNotif
35+ en: """ The offline database has exceeded its size limitation. """
36+ ja: """ オフラインデータベースはサイズ制限を超過しました。 """
37+ ,
38+ en: """ Unfortunately this quota can't be detected programmatically, and the database can't be opened while over the quota, so it had to be reset. """
39+ ja: """ あいにく、この制限を検出するようプログラムできません。また、データベースは制限を超えて開くことができません。そのため、リセットを行ってください。"""
2440
2541 app.templates.notifCookieBlocked = ->
26− textNotif """ Please enable cookies. """,
27− """ DevDocs will not work properly if cookies are disabled. """
42+ textNotif
43+ en: """ Please enable cookies. """
44+ ja: """ クッキーを有効にしてください。"""
45+ ,
46+ en: """ DevDocs will not work properly if cookies are disabled. """
47+ ja: """ クッキーが無効な場合、DevDocsは正確に動きません。"""
2848
2949 app.templates.notifInvalidLocation = ->
30− textNotif """ DevDocs must be loaded from #{app.config.production_host} """,
31− """ Otherwise things are likely to break. """
50+ textNotif
51+ en: """ DevDocs must be loaded from #{app.config.production_host} """
52+ ja: """ DevDocsは#{app.config.production_host}から読み込む必要があります。 """
53+ ,
54+ en: """ Otherwise things are likely to break. """
55+ ja: """ さもないと故障してしまうかもしれません。"""
3256
3357 app.templates.notifImportInvalid = ->
34− textNotif """ Oops, an error occurred. """,
35− """ The file you selected is invalid. """
58+ textNotif
59+ en: """ Oops, an error occurred. """
60+ ja: """ しまった、エラーが発生しました。"""
61+ ,
62+ en: """ The file you selected is invalid. """
63+ ja: """ 選択したファイルは無効です。 """
3664
3765 app.templates.notifNews = (news) ->
3866 notif 'Changelog', """<div class="_notif-content _notif-news">#{app.templates.newsList(news, years: false)}</div>"""
@@ -60,11 +88,21 @@ app.templates.notifUpdates = (docs, disabledDocs) -> · 21 unmodified lines
6088 notif 'Updates', "#{html}</div>"
6189
6290 app.templates.notifShare = ->
63− textNotif """ Hi there! """,
64− """ Like DevDocs? Help us reach more developers by sharing the link with your friends on
65− <a href="https://out.devdocs.io/s/tw" target="_blank" rel="noopener">Twitter</a>, <a href="https://out.devdocs.io/s/fb" target="_blank" rel="noopener">Facebook</a>,
66− <a href="https://out.devdocs.io/s/re" target="_blank" rel="noopener">Reddit</a>, etc.<br>Thanks :) """
91+ textNotif
92+ en: """ Hi there! """
93+ ja: """ ようこそ! """
94+ ,
95+ en: """ Like DevDocs? Help us reach more developers by sharing the link with your friends on
96+ <a href="https://out.devdocs.io/s/tw" target="_blank" rel="noopener">Twitter</a>, <a href="https://out.devdocs.io/s/fb" target="_blank" rel="noopener">Facebook</a>,
97+ <a href="https://out.devdocs.io/s/re" target="_blank" rel="noopener">Reddit</a>, etc.<br>Thanks :) """
98+ ja: """ DevDocsは気に入りましたか? さらに開発者に知ってもらえるよう、友人などにシェアしていただけませんか。
99+ <a href="https://out.devdocs.io/s/tw" target="_blank" rel="noopener">Twitter</a>, <a href="https://out.devdocs.io/s/fb" target="_blank" rel="noopener">Facebook</a>,
100+ <a href="https://out.devdocs.io/s/re" target="_blank" rel="noopener">Reddit</a>などで。<br>よろしく:) """
67101
68102 app.templates.notifUpdateDocs = ->
69− textNotif """ Documentation updates available. """,
70− """ <a href="/offline">Install them</a> as soon as possible to avoid broken pages. """
103+ textNotif
104+ en: """ Documentation updates available. """
105+ ja: """ ドキュメントのアップデートが入手可能です。 """
106+ ,
107+ en: """ <a href="/offline">Install them</a> as soon as possible to avoid broken pages. """
108+ ja: """ <a href="/offline">インストールする</a> aとすぐに可能になり、壊れたページを回避できます。 """
assets/javascripts/templates/pages/about_tmpl.coffee+160−78
@@ -1,89 +1,169 @@
1−app.templates.aboutPage = -> """
2− <nav class="_toc" role="directory">
3− <h3 class="_toc-title">Table of Contents</h3>
4− <ul class="_toc-list">
5− <li><a href="#copyright">Copyright</a>
6− <li><a href="#plugins">Plugins</a>
7− <li><a href="#faq">FAQ</a>
8− <li><a href="#credits">Credits</a>
9− <li><a href="#privacy">Privacy Policy</a>
10− </ul>
11− </nav>
1+app.templates.aboutPage =
2+ en: """
3+ <nav class="_toc" role="directory">
4+ <h3 class="_toc-title">Table of Contents</h3>
5+ <ul class="_toc-list">
6+ <li><a href="#copyright">Copyright</a>
7+ <li><a href="#plugins">Plugins</a>
8+ <li><a href="#faq">FAQ</a>
9+ <li><a href="#credits">Credits</a>
10+ <li><a href="#privacy">Privacy Policy</a>
11+ </ul>
12+ </nav>
1213
13− <h1 class="_lined-heading">DevDocs: API Documentation Browser</h1>
14− <p>DevDocs combines multiple API documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more.
15− <ul>
16− <li>Created and maintained by <a href="https://thibaut.me">Thibaut Courouble</a>
17− <li>Free and <a href="https://github.com/freeCodeCamp/devdocs">open source</a>
18− <iframe class="_github-btn" src="https://ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20" tabindex="-1"></iframe>
19− </ul>
20− <p>To keep up-to-date with the latest news:
21− <ul>
22− <li>Follow <a href="https://twitter.com/DevDocs">@DevDocs</a> on Twitter
23− <li>Watch the repository on <a href="https://github.com/freeCodeCamp/devdocs/subscription">GitHub</a>
24− <li>Join the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a>
25− </ul>
14+ <h1 class="_lined-heading">DevDocs: API Documentation Browser</h1>
15+ <p>DevDocs combines multiple API documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more.
16+ <ul>
17+ <li>Created and maintained by <a href="https://thibaut.me">Thibaut Courouble</a>
18+ <li>Free and <a href="https://github.com/freeCodeCamp/devdocs">open source</a>
19+ <iframe class="_github-btn" src="https://ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20" tabindex="-1"></iframe>
20+ </ul>
21+ <p>To keep up-to-date with the latest news:
22+ <ul>
23+ <li>Follow <a href="https://twitter.com/DevDocs">@DevDocs</a> on Twitter
24+ <li>Watch the repository on <a href="https://github.com/freeCodeCamp/devdocs/subscription">GitHub</a>
25+ <li>Join the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a>
26+ </ul>
2627
27− <h2 class="_block-heading" id="copyright">Copyright and License</h2>
28− <p class="_note">
29− <strong>Copyright 2013&ndash;2018 Thibaut Courouble and <a href="https://github.com/freeCodeCamp/devdocs/graphs/contributors">other contributors</a></strong><br>
30− This software is licensed under the terms of the Mozilla Public License v2.0.<br>
31− You may obtain a copy of the source code at <a href="https://github.com/freeCodeCamp/devdocs">github.com/freeCodeCamp/devdocs</a>.<br>
32− For more information, see the <a href="https://github.com/freeCodeCamp/devdocs/blob/master/COPYRIGHT">COPYRIGHT</a>
33− and <a href="https://github.com/freeCodeCamp/devdocs/blob/master/LICENSE">LICENSE</a> files.
28+ <h2 class="_block-heading" id="copyright">Copyright and License</h2>
29+ <p class="_note">
30+ <strong>Copyright 2013&ndash;2018 Thibaut Courouble and <a href="https://github.com/freeCodeCamp/devdocs/graphs/contributors">other contributors</a></strong><br>
31+ This software is licensed under the terms of the Mozilla Public License v2.0.<br>
32+ You may obtain a copy of the source code at <a href="https://github.com/freeCodeCamp/devdocs">github.com/freeCodeCamp/devdocs</a>.<br>
33+ For more information, see the <a href="https://github.com/freeCodeCamp/devdocs/blob/master/COPYRIGHT">COPYRIGHT</a>
34+ and <a href="https://github.com/freeCodeCamp/devdocs/blob/master/LICENSE">LICENSE</a> files.
3435
35− <h2 class="_block-heading" id="plugins">Plugins and Extensions</h2>
36− <ul>
37− <li><a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome web app</a>
38− <li><a href="https://github.com/egoist/devdocs-app">Desktop app</a>
39− <li><a href="https://sublime.wbond.net/packages/DevDocs">Sublime Text package</a>
40− <li><a href="https://atom.io/packages/devdocs">Atom package</a>
41− <li><a href="https://marketplace.visualstudio.com/items?itemName=deibit.devdocs">Visual Studio Code extension</a>
42− <li><a href="https://github.com/yannickglt/alfred-devdocs">Alfred workflow</a>
43− <li><a href="https://github.com/search?q=topic%3Adevdocs&type=Repositories">More…</a>
44− </ul>
36+ <h2 class="_block-heading" id="plugins">Plugins and Extensions</h2>
37+ <ul>
38+ <li><a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome web app</a>
39+ <li><a href="https://github.com/egoist/devdocs-app">Desktop app</a>
40+ <li><a href="https://sublime.wbond.net/packages/DevDocs">Sublime Text package</a>
41+ <li><a href="https://atom.io/packages/devdocs">Atom package</a>
42+ <li><a href="https://marketplace.visualstudio.com/items?itemName=deibit.devdocs">Visual Studio Code extension</a>
43+ <li><a href="https://github.com/yannickglt/alfred-devdocs">Alfred workflow</a>
44+ <li><a href="https://github.com/search?q=topic%3Adevdocs&type=Repositories">More…</a>
45+ </ul>
4546
46− <h2 class="_block-heading" id="faq">Questions & Answers</h2>
47− <dl>
48− <dt>Where can I suggest new docs and features?
49− <dd>You can suggest and vote for new docs on the <a href="https://trello.com/b/6BmTulfx/devdocs-documentation">Trello board</a>.<br>
50− If you have a specific feature request, add it to the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>.<br>
51− Otherwise use the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a>.
52− <dt>Where can I report bugs?
53− <dd>In the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>. Thanks!
54− </dl>
55− <p>For anything else, feel free to email me at <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>.
47+ <h2 class="_block-heading" id="faq">Questions & Answers</h2>
48+ <dl>
49+ <dt>Where can I suggest new docs and features?
50+ <dd>You can suggest and vote for new docs on the <a href="https://trello.com/b/6BmTulfx/devdocs-documentation">Trello board</a>.<br>
51+ If you have a specific feature request, add it to the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>.<br>
52+ Otherwise use the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a>.
53+ <dt>Where can I report bugs?
54+ <dd>In the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>. Thanks!
55+ </dl>
56+ <p>For anything else, feel free to email me at <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>.
5657
57− <h2 class="_block-heading" id="credits">Credits</h2>
58+ <h2 class="_block-heading" id="credits">Credits</h2>
5859
59− <p><strong>Special thanks to:</strong>
60− <ul>
61− <li><a href="https://out.devdocs.io/s/maxcdn">MaxCDN</a>, <a href="https://sentry.io/">Sentry</a> and <a href="https://get.gaug.es/?utm_source=devdocs&utm_medium=referral&utm_campaign=sponsorships" title="Real Time Web Analytics">Gauges</a> for offering a free account to DevDocs
62− <li><a href="https://out.devdocs.io/s/maxcdn">MaxCDN</a>, <a href="https://out.devdocs.io/s/shopify">Shopify</a>, <a href="https://out.devdocs.io/s/jetbrains">JetBrains</a> and <a href="https://out.devdocs.io/s/code-school">Code School</a> for sponsoring DevDocs in the past
63− <li><a href="https://www.heroku.com">Heroku</a> and <a href="https://newrelic.com/">New Relic</a> for providing awesome free service
64− <li><a href="https://www.jeremykratz.com/">Jeremy Kratz</a> for the C/C++ logo
65− </ul>
60+ <p><strong>Special thanks to:</strong>
61+ <ul>
62+ <li><a href="https://out.devdocs.io/s/maxcdn">MaxCDN</a>, <a href="https://sentry.io/">Sentry</a> and <a href="https://get.gaug.es/?utm_source=devdocs&utm_medium=referral&utm_campaign=sponsorships" title="Real Time Web Analytics">Gauges</a> for offering a free account to DevDocs
63+ <li><a href="https://out.devdocs.io/s/maxcdn">MaxCDN</a>, <a href="https://out.devdocs.io/s/shopify">Shopify</a>, <a href="https://out.devdocs.io/s/jetbrains">JetBrains</a> and <a href="https://out.devdocs.io/s/code-school">Code School</a> for sponsoring DevDocs in the past
64+ <li><a href="https://www.heroku.com">Heroku</a> and <a href="https://newrelic.com/">New Relic</a> for providing awesome free service
65+ <li><a href="https://www.jeremykratz.com/">Jeremy Kratz</a> for the C/C++ logo
66+ </ul>
6667
67− <div class="_table">
68− <table class="_credits">
69− <tr>
70− <th>Documentation
71− <th>Copyright
72− <th>License
73− #{("<tr><td>#{c[0]}<td>&copy; #{c[1]}<td><a href=\"#{c[3]}\">#{c[2]}</a>" for c in credits).join('')}
74− </table>
75− </div>
68+ <div class="_table">
69+ <table class="_credits">
70+ <tr>
71+ <th>Documentation
72+ <th>Copyright
73+ <th>License
74+ #{credit_table}
75+ </table>
76+ </div>
7677
77− <h2 class="_block-heading" id="privacy">Privacy Policy</h2>
78− <ul>
79− <li><a href="https://devdocs.io">devdocs.io</a> ("App") is operated by Thibaut Courouble ("We").
80− <li>We do not collect personal information.
81− <li>We use Google Analytics, Gauges and Sentry to collect anonymous traffic information and improve the app.
82− <li>The app uses cookies to store user preferences.
83− <li>By using the app, you signify your acceptance of this policy. If you do not agree to this policy, please do not use the app.
84− <li>If you have any questions regarding privacy, please email <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>.
85− </ul>
86−"""
78+ <h2 class="_block-heading" id="privacy">Privacy Policy</h2>
79+ <ul>
80+ <li><a href="https://devdocs.io">devdocs.io</a> ("App") is operated by Thibaut Courouble ("We").
81+ <li>We do not collect personal information.
82+ <li>We use Google Analytics, Gauges and Sentry to collect anonymous traffic information and improve the app.
83+ <li>The app uses cookies to store user preferences.
84+ <li>By using the app, you signify your acceptance of this policy. If you do not agree to this policy, please do not use the app.
85+ <li>If you have any questions regarding privacy, please email <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>.
86+ </ul>
87+ """
88+ ja: """
89+ <nav class="_toc" role="directory">
90+ <h3 class="_toc-title">内容</h3>
91+ <ul class="_toc-list">
92+ <li><a href="#copyright">著作権</a>
93+ <li><a href="#plugins">プラグイン</a>
94+ <li><a href="#faq">FAQ</a>
95+ <li><a href="#credits">Credits</a>
96+ <li><a href="#privacy">プライバシーポリシー</a>
97+ </ul>
98+ </nav>
99+ <h1 class="_lined-heading">DevDocs: API ドキュメンテーション ブラウザ</h1>
100+ <p>DevDocsは便利なたくさんのAPIドキュメンテーションを綺麗にwebUIで管理しているサーチです。オフライン対応、モバイル版、ダークテーマ、キーボードショートカットなどがあります。</p>
101+ <p>DevDocs combines multiple API documentations in a clean and organized web UI with instant search, offline support, mobile version, dark theme, keyboard shortcuts, and more.
102+ <ul>
103+ <li> <a href="https://thibaut.me">Thibaut Courouble</a>が制作・管理しています。
104+ <li>無料で<a href="https://github.com/freeCodeCamp/devdocs">オープンソース</a>です。
105+ <iframe class="_github-btn" src="https://ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20" tabindex="-1"></iframe>
106+ </ul>
107+ <p>最新情報とアップデートについてを得るには:
108+ <ul>
109+ <li><a href="https://twitter.com/DevDocs">@DevDocs</a>をtwitterでフォロー
110+ <li><a href="https://github.com/freeCodeCamp/devdocs/subscription">GitHub</a>のレポジトリをwatch
111+ <li><a href="https://groups.google.com/d/forum/devdocs">メーリングリスト</a>に登録する
112+ </ul>
113+ <h2 class="_block-heading" id="copyright">著作権とライセンス</h2>
114+ <p class="_note">
115+ <strong>Copyright 2013&ndash;2018 Thibaut Courouble and <a href="https://github.com/freeCodeCamp/devdocs/graphs/contributors">other contributors</a></strong><br>
116+ このソフトウェアはMozilla Public License v2.0に基づいてライセンスされています。<br>
117+ You may obtain a copy of the source code at <a href="https://github.com/freeCodeCamp/devdocs">github.com/freeCodeCamp/devdocs</a>.<br>
118+ 詳しくは<a href="https://github.com/freeCodeCamp/devdocs/blob/master/COPYRIGHT">コピーライト</a>
119+ や<a href="https://github.com/freeCodeCamp/devdocs/blob/master/LICENSE">ライセンス</a>をご覧ください。
120+ <h2 class="_block-heading" id="plugins">プラグインと拡張</h2>
121+ <ul>
122+ <li><a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome web アプリ</a>
123+ <li><a href="https://github.com/egoist/devdocs-app">デスクトップ アプリ</a>
124+ <li><a href="https://sublime.wbond.net/packages/DevDocs">Sublime Text パッケージ</a>
125+ <li><a href="https://atom.io/packages/devdocs">Atom パッケージe</a>
126+ <li><a href="https://marketplace.visualstudio.com/items?itemName=deibit.devdocs">Visual Studio Code 拡張</a>
127+ <li><a href="https://github.com/yannickglt/alfred-devdocs">Alfred workflow</a>
128+ <li><a href="https://github.com/search?q=topic%3Adevdocs&type=Repositories">更に見る</a>
129+ </ul>
130+ <h2 class="_block-heading" id="faq">Q&A</h2>
131+ <dl>
132+ <dt>どこで新しいドキュメントや機能を提案できますか?
133+ <dd>新しいドキュメントは<a href="https://trello.com/b/6BmTulfx/devdocs-documentation">Trelloボード</a>で、提案・投票できます。<br>
134+ If you have a specific feature request, add it to the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>.<br>
135+ Otherwise use the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a>.
136+ <dt>どこでバグの報告をできますか?
137+ <dd><a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>によろしくお願いします!
138+ </dl>
139+ <p>For anything else, feel free to email me at <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>.
140+ <h2 class="_block-heading" id="credits">クレジット</h2>
141+ <p><strong>特別感謝:</strong>
142+ <ul>
143+ <li><a href="https://out.devdocs.io/s/maxcdn">MaxCDN</a>, <a href="https://sentry.io/">Sentry</a> and <a href="https://get.gaug.es/?utm_source=devdocs&utm_medium=referral&utm_campaign=sponsorships" title="Real Time Web Analytics">Gauges</a> for offering a free account to DevDocs
144+ <li><a href="https://out.devdocs.io/s/maxcdn">MaxCDN</a>, <a href="https://out.devdocs.io/s/shopify">Shopify</a>, <a href="https://out.devdocs.io/s/jetbrains">JetBrains</a> and <a href="https://out.devdocs.io/s/code-school">Code School</a> for sponsoring DevDocs in the past
145+ <li><a href="https://www.heroku.com">Heroku</a> and <a href="https://newrelic.com/">New Relic</a> for providing awesome free service
146+ <li><a href="https://www.jeremykratz.com/">Jeremy Kratz</a> for the C/C++ logo
147+ </ul>
148+ <div class="_table">
149+ <table class="_credits">
150+ <tr>
151+ <th>Documentation
152+ <th>Copyright
153+ <th>License
154+ #{credit_table}
155+ </table>
156+ </div>
157+ <h2 class="_block-heading" id="privacy">Privacy Policy</h2>
158+ <ul>
159+ <li><a href="https://devdocs.io">devdocs.io</a> ("App") is operated by Thibaut Courouble ("We").
160+ <li>We do not collect personal information.
161+ <li>We use Google Analytics, Gauges and Sentry to collect anonymous traffic information and improve the app.
162+ <li>The app uses cookies to store user preferences.
163+ <li>By using the app, you signify your acceptance of this policy. If you do not agree to this policy, please do not use the app.
164+ <li>If you have any questions regarding privacy, please email <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>.
165+ </ul>
166+ """
87167
88168 credits = [
89169 [ 'Angular<br>Angular.js',
@@ -687,3 +767,5 @@ credits = [ · 597 unmodified lines
687767 'https://raw.githubusercontent.com/yiisoft/yii/master/LICENSE'
688768 ]
689769 ]
770+
771+credit_table = ("<tr><td>#{c[0]}<td>&copy; #{c[1]}<td><a href=\"#{c[3]}\">#{c[2]}</a>" for c in credits).join('')
assets/javascripts/templates/pages/help_tmpl.coffee+168−8
@@ -9,7 +9,14 @@ app.templates.helpPage = -> · 8 unmodified lines
99 for key, i in keys
1010 (if i > middle then aliases_two else aliases_one)[key] = app.models.Entry.ALIASES[key]
1111
12− """
12+ _ app.templates.helpPage, {
13+ aliases_one: ("<tr><td class=\"_code\">#{key}<td class=\"_code\">#{value}" for key, value of aliases_one).join(''),
14+ aliases_two: ("<tr><td class=\"_code\">#{key}<td class=\"_code\">#{value}" for key, value of aliases_two).join(''),
15+ ctrlKey,
16+ navKey
17+ }
18+
19+app.templates.helpPage.en = """
1320 <nav class="_toc" role="directory">
1421 <h3 class="_toc-title">Table of Contents</h3>
1522 <ul class="_toc-list">
@@ -77,7 +84,7 @@ app.templates.helpPage = -> · 61 unmodified lines
7784 <code class="_shortcut-code">enter</code>
7885 <dd class="_shortcuts-dd">Open selection
7986 <dt class="_shortcuts-dt">
80− <code class="_shortcut-code">#{ctrlKey} + enter</code>
87+ <code class="_shortcut-code">{ctrlKey} + enter</code>
8188 <dd class="_shortcuts-dd">Open selection in a new tab
8289 <dt class="_shortcuts-dt">
8390 <code class="_shortcut-code">alt + r</code>
@@ -86,8 +93,8 @@ app.templates.helpPage = -> · 2 unmodified lines
8693 <h3 class="_shortcuts-title">Browsing</h3>
8794 <dl class="_shortcuts-dl">
8895 <dt class="_shortcuts-dt">
89− <code class="_shortcut-code">#{navKey} + &larr;</code>
90− <code class="_shortcut-code">#{navKey} + &rarr;</code>
96+ <code class="_shortcut-code">{navKey} + &larr;</code>
97+ <code class="_shortcut-code">{navKey} + &rarr;</code>
9198 <dd class="_shortcuts-dd">Go back/forward
9299 <dt class="_shortcuts-dt">
93100 <code class="_shortcut-code">alt + &darr;</code>
@@ -101,8 +108,8 @@ app.templates.helpPage = -> · 7 unmodified lines
101108 <code class="_shortcut-code">shift + space</code>
102109 <dd class="_shortcuts-dd">Scroll screen by screen
103110 <dt class="_shortcuts-dt">
104− <code class="_shortcut-code">#{ctrlKey} + &uarr;</code>
105− <code class="_shortcut-code">#{ctrlKey} + &darr;</code>
111+ <code class="_shortcut-code">{ctrlKey} + &uarr;</code>
112+ <code class="_shortcut-code">{ctrlKey} + &darr;</code>
106113 <dd class="_shortcuts-dd">Scroll to the top/bottom
107114 <dt class="_shortcuts-dt">
108115 <code class="_shortcut-code">alt + f</code>
@@ -142,14 +149,167 @@ app.templates.helpPage = -> · 33 unmodified lines
142149 <tr>
143150 <th>Word
144151 <th>Alias
145− #{("<tr><td class=\"_code\">#{key}<td class=\"_code\">#{value}" for key, value of aliases_one).join('')}
152+ {aliases_one}
153+ </table>
154+ <table>
155+ <tr>
156+ <th>Word
157+ <th>Alias
158+ {aliases_two}
159+ </table>
160+ </div>
161+ <p>Feel free to suggest new aliases on <a href="https://github.com/freeCodeCamp/devdocs/issues/new">GitHub</a>.
162+"""
163+
164+app.templates.helpPage.ja = """
165+ <nav class="_toc" role="directory">
166+ <h3 class="_toc-title">内容</h3>
167+ <ul class="_toc-list">
168+ <li><a href="#managing-documentations">ドキュメント管理</a>
169+ <li><a href="#search">検索</a>
170+ <li><a href="#shortcuts">キーボードショートカット</a>
171+ <li><a href="#aliases">検索エイリアス</a>
172+ </ul>
173+ </nav>
174+ <h1 class="_lined-heading">ユーザーガイド</h1>
175+ <h2 class="_block-heading" id="managing-documentations">ドキュメント管理</h2>
176+ <p>
177+ ドキュメントは<a href="/settings">設定</a>で有効・無効にできます。
178+ もしくは、検索結果の「有効」リンクをクリックすることでもドキュメントを有効にできます。
179+ 速く、よい検索には、ドキュメントを有効だけ 行う使い方で計画。
180+ For faster and better search, only enable the documentations you plan on actively using.
181+ <p>
182+ 一度ドキュメントを有効にしたら、検索の一部になります。また、内容はオフラインアクセスのためにダウンロードできるようになります。-オンラインの時ページを速く読み込めます-<a href="/offline">オフライン</a>で。
183+ Once a documentation is enabled, it becomes part of the search and its content can be downloaded for offline access — and faster page loads when online — in the <a href="/offline">Offline</a> area.
184+ <h2 class="_block-heading" id="search">検索</h2>
185+ <p>
186+ 検索は空白を無視します。曖昧なサポートします。
187+ The search is case-insensitive and ignores whitespace. It supports fuzzy matching
188+ (e.g. <code class="_label">bgcp</code> matches <code class="_label">background-clip</code>)
189+ as well as aliases (full list <a href="#aliases">below</a>).
190+ <dl>
191+ <dt id="doc_search">一つのドキュメントを検索する
192+ <dd>
193+ 名前(または略語)を入力することによって、一つのドキュメント内を検索できます。
194+ The search can be scoped to a single documentation by typing its name (or an abbreviation)
195+ また、<code class="_label">タブ</code> (モバイルでは<code class="_label">スペース</code>&nbsp;)を押します。
196+ and pressing <code class="_label">tab</code> (<code class="_label">space</code>&nbsp;on mobile).
197+ 例えば、JavaScriptのドキュメントを検索するには、<code class="_label">javascript</code>
198+ か<code class="_label">js</code>と入れるよりも、<code class="_label">タブ</code>。<br>
199+ For example, to search the JavaScript documentation, enter <code class="_label">javascript</code>
200+ or <code class="_label">js</code>, then <code class="_label">tab</code>.<br>
201+ 正確な範囲で、空のサーチ部分に<code class="_label">バックスペース</code>または、
202+ <code class="_label">esc</code>。
203+ To clear the current scope, empty the search field and hit <code class="_label">backspace</code> or
204+ <code class="_label">esc</code>.
205+ <dt id="url_search">Prefilling the search field
206+ <dd>
207+ The search can be prefilled from the URL by visiting <a href="/#q=keyword" target="_top">devdocs.io/#q=keyword</a>.
208+ <code class="_label">#q=</code>以降はサーチクエリが使用されています。
209+ 一つのドキュメント内の検索で、名前(または、略語)を追加したり、キーワードの前にスペースを入れます:
210+ <a href="/#q=js%20date" target="_top">devdocs.io/#q=js date</a>.
211+ <dt id="browser_search">アドレスバーを検索に使う
212+ <dd>
213+ DevDocsはオープンサーチをサポートしています。webブラウザのサーチエンジンのように、簡単にインストールできます。
214+ <ul>
215+ <li>Chromeでは、自動的にセットアップします、devdocs.io
216+ <li>On Chrome, the setup is done automatically. Simply press <code class="_label">tab</code> when devdocs.io is autocompleted
217+ in the omnibox (to set a custom keyword, click <em>Manage search engines\u2026</em> in Chrome's settings).
218+ <li>On Firefox, right-click the DevDocs search field and select <em>Add a Keyword for this Search…</em>. Then, type the added keyword followed by a query in the address bar to search DevDocs.
219+ </dl>
220+ <p>
221+ <i>ノート:サーチは有効なドキュメントでのみ動作します。</i>
222+ <i>Note: the above search features only work for documentations that are enabled.</i>
223+ <h2 class="_block-heading" id="shortcuts">キーボードショートカット</h2>
224+ <h3 class="_shortcuts-title">サイドバー</h3>
225+ <dl class="_shortcuts-dl">
226+ <dt class="_shortcuts-dt">
227+ <code class="_shortcut-code">&darr;</code>
228+ <code class="_shortcut-code">&uarr;</code>
229+ <dd class="_shortcuts-dd">セレクションの移動
230+ <dt class="_shortcuts-dt">
231+ <code class="_shortcut-code">&rarr;</code>
232+ <code class="_shortcut-code">&larr;</code>
233+ <dd class="_shortcuts-dd">サブリストの表示/非表示
234+ <dt class="_shortcuts-dt">
235+ <code class="_shortcut-code">enter</code>
236+ <dd class="_shortcuts-dd">セレクションを開く
237+ <dt class="_shortcuts-dt">
238+ <code class="_shortcut-code">{ctrlKey} + enter</code>
239+ <dd class="_shortcuts-dd">セレクションを新しいタブで開く
240+ <dt class="_shortcuts-dt">
241+ <code class="_shortcut-code">alt + r</code>
242+ <dd class="_shortcuts-dd">Reveal current page in sidebar
243+ </dl>
244+ <h3 class="_shortcuts-title">ブラウジング</h3>
245+ <dl class="_shortcuts-dl">
246+ <dt class="_shortcuts-dt">
247+ <code class="_shortcut-code">{navKey} + &larr;</code>
248+ <code class="_shortcut-code">{navKey} + &rarr;</code>
249+ <dd class="_shortcuts-dd">戻る/進む
250+ <dt class="_shortcuts-dt">
251+ <code class="_shortcut-code">alt + &darr;</code>
252+ <code class="_shortcut-code">alt + &uarr;</code>
253+ <br>
254+ <code class="_shortcut-code">shift + &darr;</code>
255+ <code class="_shortcut-code">shift + &uarr;</code>
256+ <dd class="_shortcuts-dd">順にスクロールする<br><br>
257+ <dt class="_shortcuts-dt">
258+ <code class="_shortcut-code">space</code>
259+ <code class="_shortcut-code">shift + space</code>
260+ <dd class="_shortcuts-dd">Scroll screen by screen
261+ <dt class="_shortcuts-dt">
262+ <code class="_shortcut-code">{ctrlKey} + &uarr;</code>
263+ <code class="_shortcut-code">{ctrlKey} + &darr;</code>
264+ <dd class="_shortcuts-dd">上部/下部にスクロールする
265+ <dt class="_shortcuts-dt">
266+ <code class="_shortcut-code">alt + f</code>
267+ <dd class="_shortcuts-dd">内容内の最初のリンクにフォーカスする<br>(press tab to focus the other links)
268+ </dl>
269+ <h3 class="_shortcuts-title">アプリ</h3>
270+ <dl class="_shortcuts-dl">
271+ <dt class="_shortcuts-dt">
272+ <code class="_shortcut-code">ctrl + ,</code>
273+ <dd class="_shortcuts-dd">設定を開く
274+ <dt class="_shortcuts-dt">
275+ <code class="_shortcut-code">esc</code>
276+ <dd class="_shortcuts-dd">サーチフィールドをクリア/UIリセット
277+ <dt class="_shortcuts-dt">
278+ <code class="_shortcut-code">?</code>
279+ <dd class="_shortcuts-dd">このページを見る
280+ </dl>
281+ <h3 class="_shortcuts-title">その他</h3>
282+ <dl class="_shortcuts-dl">
283+ <dt class="_shortcuts-dt">
284+ <code class="_shortcut-code">alt + o</code>
285+ <dd class="_shortcuts-dd">オリジナルページを開く
286+ <dt class="_shortcuts-dt">
287+ <code class="_shortcut-code">alt + g</code>
288+ <dd class="_shortcuts-dd">Googleで検索する
289+ <dt class="_shortcuts-dt">
290+ <code class="_shortcut-code">alt + s</code>
291+ <dd class="_shortcuts-dd">Stack Overflowで検索する
292+ </dl>
293+ <p class="_note _note-green">
294+ <strong>Tip:</strong>サーチフィールドでカーソルが たら、<code class="_label">/</code>を押すか、
295+ タイプを続けてサーチフィールドにリフォーカスすると新しい検索結果が表示されます。
296+ <strong>Tip:</strong> If the cursor is no longer in the search field, press <code class="_label">/</code> or
297+ continue to type and it will refocus the search field and start showing new results.
298+ <h2 class="_block-heading" id="aliases">Search Aliases</h2>
299+ <div class="_aliases">
300+ <table>
301+ <tr>
302+ <th>Word
303+ <th>Alias
304+ {aliases_one}
146305 </table>
147306 <table>
148307 <tr>
149308 <th>Word
150309 <th>Alias
151− #{("<tr><td class=\"_code\">#{key}<td class=\"_code\">#{value}" for key, value of aliases_two).join('')}
310+ {aliases_two}
152311 </table>
153312 </div>
313+ <p>新しいエイリアスは<a href="https://github.com/freeCodeCamp/devdocs/issues/new">GitHub</a>で自由に提案できます。</p>
154314 <p>Feel free to suggest new aliases on <a href="https://github.com/freeCodeCamp/devdocs/issues/new">GitHub</a>.
155315 """
assets/javascripts/templates/pages/root_tmpl.coffee.erb+43−21
@@ -24,27 +24,49 @@ app.templates.intro = """ · 23 unmodified lines
2424 </div></div>
2525 """
2626 <% else %>
27−app.templates.intro = """
28− <div class="_intro"><div class="_intro-message">
29− <a href="#" class="_intro-hide" data-hide-intro>Stop showing this message</a>
30− <h2 class="_intro-title">Welcome!</h2>
31− <p>DevDocs combines multiple API documentations in a fast, organized, and searchable interface.
32− Here's what you should know before you start:
33− <ol class="_intro-list">
34− <li>Open the <a href="/settings">Preferences</a> to enable more docs and customize the UI.
35− <li>You don't have to use your mouse &mdash; see the list of <a href="/help#shortcuts">keyboard shortcuts</a>.
36− <li>The search supports fuzzy matching (e.g. "bgcp" brings up "background-clip").
37− <li>To search a specific documentation, type its name (or an abbr.), then Tab.
38− <li>You can search using your browser's address bar &mdash; <a href="/help#browser_search">learn how</a>.
39− <li>DevDocs works <a href="/offline">offline</a>, on mobile, and can be installed on <a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome</a>.
40− <li>For the latest news, follow <a href="https://twitter.com/DevDocs">@DevDocs</a>.
41− <li>DevDocs is free and <a href="https://github.com/freeCodeCamp/devdocs">open source</a>.
42− <iframe class="_github-btn" src="//ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe>
43− <li>And if you're new to coding, check out <a href="https://www.freecodecamp.org/">freeCodeCamp's open source curriculum</a>.
44− </ol>
45− <p>Happy coding!
46− </div></div>
47−"""
27+app.templates.intro =
28+ en: """
29+ <div class="_intro"><div class="_intro-message">
30+ <a href="#" class="_intro-hide" data-hide-intro>Stop showing this message</a>
31+ <h2 class="_intro-title">Welcome!</h2>
32+ <p>DevDocs combines multiple API documentations in a fast, organized, and searchable interface.
33+ Here's what you should know before you start:
34+ <ol class="_intro-list">
35+ <li>Open the <a href="/settings">Preferences</a> to enable more docs and customize the UI.
36+ <li>You don't have to use your mouse &mdash; see the list of <a href="/help#shortcuts">keyboard shortcuts</a>.
37+ <li>The search supports fuzzy matching (e.g. "bgcp" brings up "background-clip").
38+ <li>To search a specific documentation, type its name (or an abbr.), then Tab.
39+ <li>You can search using your browser's address bar &mdash; <a href="/help#browser_search">learn how</a>.
40+ <li>DevDocs works <a href="/offline">offline</a>, on mobile, and can be installed on <a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome</a>.
41+ <li>For the latest news, follow <a href="https://twitter.com/DevDocs">@DevDocs</a>.
42+ <li>DevDocs is free and <a href="https://github.com/freeCodeCamp/devdocs">open source</a>.
43+ <iframe class="_github-btn" src="//ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe>
44+ <li>And if you're new to coding, check out <a href="https://www.freecodecamp.org/">freeCodeCamp's open source curriculum</a>.
45+ </ol>
46+ <p>Happy coding!
47+ </div></div>
48+ """
49+ ja: """
50+ <div class="_intro"><div class="_intro-message">
51+ <a href="#" class="_intro-hide" data-hide-intro>このメッセージを表示しない</a>
52+ <h2 class="_intro-title">ようこそ!</h2>
53+ <p>DevDocs combines multiple API documentations in a fast, organized, and searchable interface.
54+ ここを使う前に知っておくべきこと:
55+ <ol class="_intro-list">
56+ <li> <a href="/settings">設定</a>を開くとドキュメントやUIのカスタマイズができます。
57+ <li>マウスを使用する必要はありません &mdash; <a href="/help#shortcuts">キーボードショートカット</a>のリストを見てください。
58+ <li>The search supports fuzzy matching (e.g. "bgcp" brings up "background-clip").
59+ <li>To search a specific documentation, type its name (or an abbr.), then Tab.
60+ <li>ブラウザのアドレスバーで検索できます &mdash; <a href="/help#browser_search">方法を学ぶ</a>
61+ <li>DevDocsは<a href="/offline">オフライン</a>でも動きます。 on mobile, and can be installed on <a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome</a>.
62+ <li>最新のお知らせは<a href="https://twitter.com/DevDocs">@DevDocs</a>をフォローしてください。
63+ <li>DevDocsは無料で<a href="https://github.com/freeCodeCamp/devdocs">オープンソース</a>です。
64+ <iframe class="_github-btn" src="//ghbtns.com/github-btn.html?user=freeCodeCamp&repo=devdocs&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe>
65+ <li>新たなコーディングを始めるなら、<a href="https://www.freecodecamp.org/">freeCodeCampのオープンソースカリキュラム</a>をチェックしてみてください。
66+ </ol>
67+ <p>楽しいコーディングを!
68+ </div></div>
69+ """
4870 <% end %>
4971
5072 app.templates.mobileIntro = """
assets/javascripts/templates/pages/settings_tmpl.coffee+75−36
@@ -1,44 +1,83 @@
1−app.templates.settingsPage = (settings) -> """
2− <h1 class="_lined-heading">Preferences</h1>
1+app.templates.settingsPage = (settings) -> _
2+ en: """
3+ <h1 class="_lined-heading">Preferences</h1>
34
4− <div class="_settings-fieldset">
5− <h2 class="_settings-legend">General:</h2>
5+ <div class="_settings-fieldset">
6+ <h2 class="_settings-legend">General:</h2>
67
7− <div class="_settings-inputs">
8− <label class="_settings-label">
9− <input type="checkbox" form="settings" name="dark" value="1"#{if settings.dark then ' checked' else ''}>Enable dark theme
10− </label>
11− <label class="_settings-label _setting-max-width">
12− <input type="checkbox" form="settings" name="layout" value="_max-width"#{if settings['_max-width'] then ' checked' else ''}>Enable fixed-width layout
13− </label>
14− <label class="_settings-label _hide-on-mobile">
15− <input type="checkbox" form="settings" name="layout" value="_sidebar-hidden"#{if settings['_sidebar-hidden'] then ' checked' else ''}>Automatically hide and show the sidebar
16− <small>Tip: drag the edge of the sidebar to resize it.</small>
17− </label>
8+ <div class="_settings-inputs">
9+ <label class="_settings-label">
10+ <input type="checkbox" form="settings" name="dark" value="1"#{if settings.dark then ' checked' else ''}>Enable dark theme
11+ </label>
12+ <label class="_settings-label _setting-max-width">
13+ <input type="checkbox" form="settings" name="layout" value="_max-width"#{if settings['_max-width'] then ' checked' else ''}>Enable fixed-width layout
14+ </label>
15+ <label class="_settings-label _hide-on-mobile">
16+ <input type="checkbox" form="settings" name="layout" value="_sidebar-hidden"#{if settings['_sidebar-hidden'] then ' checked' else ''}>Automatically hide and show the sidebar
17+ <small>Tip: drag the edge of the sidebar to resize it.</small>
18+ </label>
19+ </div>
1820 </div>
19− </div>
2021
21− <div class="_settings-fieldset _hide-on-mobile">
22− <h2 class="_settings-legend">Scrolling:</h2>
22+ <div class="_settings-fieldset _hide-on-mobile">
23+ <h2 class="_settings-legend">Scrolling:</h2>
2324
24− <div class="_settings-inputs">
25− <label class="_settings-label">
26− <input type="checkbox" form="settings" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>Use smooth scrolling
27− </label>
28− <label class="_settings-label _setting-native-scrollbar">
29− <input type="checkbox" form="settings" name="layout" value="_native-scrollbars"#{if settings['_native-scrollbars'] then ' checked' else ''}>Use native scrollbars
30− </label>
31− <label class="_settings-label">
32− <input type="checkbox" form="settings" name="arrowScroll" value="1"#{if settings.arrowScroll then ' checked' else ''}>Use arrow keys to scroll the main content area
33− <small>With this checked, use <code class="_label">alt</code> + <code class="_label">&uarr;</code><code class="_label">&darr;</code><code class="_label">&larr;</code><code class="_label">&rarr;</code> to navigate the sidebar.</small>
34− </label>
25+ <div class="_settings-inputs">
26+ <label class="_settings-label">
27+ <input type="checkbox" form="settings" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>Use smooth scrolling
28+ </label>
29+ <label class="_settings-label _setting-native-scrollbar">
30+ <input type="checkbox" form="settings" name="layout" value="_native-scrollbars"#{if settings['_native-scrollbars'] then ' checked' else ''}>Use native scrollbars
31+ </label>
32+ <label class="_settings-label">
33+ <input type="checkbox" form="settings" name="arrowScroll" value="1"#{if settings.arrowScroll then ' checked' else ''}>Use arrow keys to scroll the main content area
34+ <small>With this checked, use <code class="_label">alt</code> + <code class="_label">&uarr;</code><code class="_label">&darr;</code><code class="_label">&larr;</code><code class="_label">&rarr;</code> to navigate the sidebar.</small>
35+ </label>
36+ </div>
3537 </div>
36− </div>
3738
38− <p class="_hide-on-mobile">
39− <button type="button" class="_btn" data-action="export">Export</button>
40− <label class="_btn _file-btn"><input type="file" form="settings" name="import" accept=".json">Import</label>
39+ <p class="_hide-on-mobile">
40+ <button type="button" class="_btn" data-action="export">Export</button>
41+ <label class="_btn _file-btn"><input type="file" form="settings" name="import" accept=".json">Import</label>
4142
42− <p>
43− <button type="button" class="_btn-link _reset-btn" data-behavior="reset">Reset all preferences and data</button>
44−"""
43+ <p>
44+ <button type="button" class="_btn-link _reset-btn" data-behavior="reset">Reset all preferences and data</button>
45+ """
46+ ja: """
47+ <h1 class="_lined-heading">設定</h1>
48+ <div class="_settings-fieldset">
49+ <h2 class="_settings-legend">一般:</h2>
50+ <div class="_settings-inputs">
51+ <label class="_settings-label">
52+ <input type="checkbox" form="settings" name="dark" value="1"#{if settings.dark then ' checked' else ''}>ダークテーマを有効にする
53+ </label>
54+ <label class="_settings-label _setting-max-width">
55+ <input type="checkbox" form="settings" name="layout" value="_max-width"#{if settings['_max-width'] then ' checked' else ''}>fixed-width レイアウトを有効にする
56+ </label>
57+ <label class="_settings-label _hide-on-mobile">
58+ <input type="checkbox" form="settings" name="layout" value="_sidebar-hidden"#{if settings['_sidebar-hidden'] then ' checked' else ''}>サイドバーを自動で開閉する
59+ <small>Tip:サイドバーのふちをドラッグすると、サイズ調整できます。</small>
60+ </label>
61+ </div>
62+ </div>
63+ <div class="_settings-fieldset _hide-on-mobile">
64+ <h2 class="_settings-legend">スクロール:</h2>
65+ <div class="_settings-inputs">
66+ <label class="_settings-label">
67+ <input type="checkbox" form="settings" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>スムーズスクロールを使用する
68+ </label>
69+ <label class="_settings-label _setting-native-scrollbar">
70+ <input type="checkbox" form="settings" name="layout" value="_native-scrollbars"#{if settings['_native-scrollbars'] then ' checked' else ''}>本来のスクロールバーを使用する
71+ </label>
72+ <label class="_settings-label">
73+ <input type="checkbox" form="settings" name="arrowScroll" value="1"#{if settings.arrowScroll then ' checked' else ''}>矢印キーを使用してメインコンテンツエリアをスクロールする
74+ <small>With this checked, use <code class="_label">alt</code> + <code class="_label">&uarr;</code><code class="_label">&darr;</code><code class="_label">&larr;</code><code class="_label">&rarr;</code> to navigate the sidebar.</small>
75+ </label>
76+ </div>
77+ </div>
78+ <p class="_hide-on-mobile">
79+ <button type="button" class="_btn" data-action="export">エクスポート</button>
80+ <label class="_btn _file-btn"><input type="file" form="settings" name="import" accept=".json">インポート</label>
81+ <p>
82+ <button type="button" class="_btn-link _reset-btn" data-behavior="reset">すべての設定とデータをリセットする</button>
83+ """
assets/javascripts/templates/sidebar_tmpl.coffee+24−11
@@ -23,21 +23,26 @@ templates.sidebarEntry = (entry) -> · 22 unmodified lines
2323
2424 templates.sidebarResult = (entry) ->
2525 addons = if entry.isIndex() and app.disabledDocs.contains(entry.doc)
26− """<span class="_list-enable" data-enable="#{entry.doc.slug}">Enable</span>"""
26+ """<span class="_list-enable" data-enable="#{entry.doc.slug}">#{_ en: "Enable", ja: "有効"}</span>"""
2727 else
2828 """<span class="_list-reveal" data-reset-list title="Reveal in list"></span>"""
2929 addons += """<span class="_list-count">#{entry.doc.short_version}</span>""" if entry.doc.version and not entry.isIndex()
3030 """<a href="#{entry.fullPath()}" class="_list-item _list-hover _list-result _icon-#{entry.doc.icon}" tabindex="-1">#{addons}<span class="_list-text">#{$.escape entry.name}</span></a>"""
3131
3232 templates.sidebarNoResults = ->
33− html = """ <div class="_list-note">No results.</div> """
34− html += """
35− <div class="_list-note">Note: documentations must be <a href="/settings" class="_list-note-link">enabled</a> to appear in the search.</div>
36− """ unless app.isSingleDoc() or app.disabledDocs.isEmpty()
33+ html = """ <div class="_list-note">#{_ en: "No results.", ja: "ヒットしませんでした。"}</div> """
34+ html += _(
35+ en: """
36+ <div class="_list-note">Note: documentations must be <a href="/settings" class="_list-note-link">enabled</a> to appear in the search.</div>
37+ """
38+ ja: """
39+ <div class="_list-note">ノート: 検索で表示するには、ドキュメントを<a href="/settings" class="_list-note-link">有効</a> にすることが必要です。</div>
40+ """
41+ ) unless app.isSingleDoc() or app.disabledDocs.isEmpty()
3742 html
3843
3944 templates.sidebarPageLink = (count) ->
40− """<span role="link" class="_list-item _list-pagelink">Show more\u2026 (#{count})</span>"""
45+ """<span role="link" class="_list-item _list-pagelink">#{_ en: "Show more", ja: "もっと見る"}\u2026 (#{count})</span>"""
4146
4247 templates.sidebarLabel = (doc, options = {}) ->
4348 label = """<label class="_list-item"""
@@ -52,7 +57,8 @@ templates.sidebarVersionedDoc = (doc, versions, options = {}) -> · 8 unmodified lines
5257 html + """" tabindex="0">#{arrow}#{doc.name}</div><div class="_list _list-sub">#{versions}</div>"""
5358
5459 templates.sidebarDisabled = (options) ->
55− """<h6 class="_list-title">#{arrow}Disabled (#{options.count}) <a href="/settings" class="_list-title-link" tabindex="-1">Customize</a></h6>"""
60+ disabled = _ en: "Disabled", ja: "カスタマイズ"
61+ """<h6 class="_list-title">#{arrow}Disabled (#{options.count}) <a href="/settings" class="_list-title-link" tabindex="-1">#{disabled}</a></h6>"""
5662
5763 templates.sidebarDisabledList = (html) ->
5864 """<div class="_disabled-list">#{html}</div>"""
@@ -60,9 +66,16 @@ templates.sidebarDisabledList = (html) -> · 1 unmodified line
6066 templates.sidebarDisabledVersionedDoc = (doc, versions) ->
6167 """<a class="_list-item _list-dir _icon-#{doc.icon} _list-disabled" data-slug="#{doc.slug_without_version}" tabindex="-1">#{arrow}#{doc.name}</a><div class="_list _list-sub">#{versions}</div>"""
6268
63−templates.docPickerHeader = """<div class="_list-picker-head"><span>Documentation</span> <span>Enable</span></div>"""
69+templates.docPickerHeader =
70+ en: """<div class="_list-picker-head"><span>Documentation</span> <span>Enable</span></div>"""
71+ ja: """<div class="_list-picker-head"><span>ドキュメント</span> <span>Enable</span></div>"""
6472
65−templates.docPickerNote = """
66− <div class="_list-note">Tip: for faster and better search results, select only the docs you need.</div>
67− <a href="https://trello.com/b/6BmTulfx/devdocs-documentation" class="_list-link" target="_blank" rel="noopener">Vote for new documentation</a>
73+templates.docPickerNote =
74+ en: """
75+ <div class="_list-note">Tip: for faster and better search results, select only the docs you need.</div>
76+ <a href="https://trello.com/b/6BmTulfx/devdocs-documentation" class="_list-link" target="_blank" rel="noopener">Vote for new documentation</a>
77+ """
78+ ja: """
79+ <div class="_list-note">Tip: 検索結果を速くよくするには、必要なドキュメントだけ選択してください。</div>
80+ <a href="https://trello.com/b/6BmTulfx/devdocs-documentation" class="_list-link" target="_blank" rel="noopener">新しいドキュメントを投票する</a>
6881 """
assets/javascripts/templates/tip_tmpl.coffee+21−10
@@ -1,10 +1,21 @@
1−app.templates.tipKeyNav = """
2− <p class="_notif-text">
3− <strong>ProTip</strong>
4− <span class="_notif-info">(click to dismiss)</span>
5− <p class="_notif-text">
6− Hit <code class="_label">&darr;</code> <code class="_label">&uarr;</code> <code class="_label">&larr;</code> <code class="_label">&rarr;</code> to navigate the sidebar.<br>
7− Hit <code class="_label">space / shift space</code>, <code class="_label">alt &darr;/&uarr;</code> or <code class="_label">shift &darr;/&uarr;</code> to scroll the page.
8− <p class="_notif-text">
9− <a href="/help#shortcuts" class="_notif-link">See all keyboard shortcuts</a>
10−"""
1+app.templates.tipKeyNav =
2+ en: """
3+ <p class="_notif-text">
4+ <strong>ProTip</strong>
5+ <span class="_notif-info">(click to dismiss)</span>
6+ <p class="_notif-text">
7+ Hit <code class="_label">&darr;</code> <code class="_label">&uarr;</code> <code class="_label">&larr;</code> <code class="_label">&rarr;</code> to navigate the sidebar.<br>
8+ Hit <code class="_label">space / shift space</code>, <code class="_label">alt &darr;/&uarr;</code> or <code class="_label">shift &darr;/&uarr;</code> to scroll the page.
9+ <p class="_notif-text">
10+ <a href="/help#shortcuts" class="_notif-link">See all keyboard shortcuts</a>
11+ """
12+ ja: """
13+ <p class="_notif-text">
14+ <strong>ProTip</strong>
15+ <span class="_notif-info">(クリックすると退出します)</span>
16+ <p class="_notif-text">
17+ Hit <code class="_label">&darr;</code> <code class="_label">&uarr;</code> <code class="_label">&larr;</code> <code class="_label">&rarr;</code> サイドバーを操作します。<br>
18+ Hit <code class="_label">space / shift space</code>, <code class="_label">alt &darr;/&uarr;</code> または <code class="_label">shift &darr;/&uarr;</code> で、ページをスクロールします。
19+ <p class="_notif-text">
20+ <a href="/help#shortcuts" class="_notif-link">すべてのキーボードショートカットを見る</a>
21+ """

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t