Unified · Split
| @@ -1,74 +1,142 @@ | |||
| 1 | error = (title, text = '', links = '') -> | 1 | error = (title, text = '', links = '') -> |
| 2 | text = """<p class="_error-text">#{text}</p>""" if text | 2 | text = """<p class="_error-text">#{_ text}</p>""" if text |
| 3 | links = """<p class="_error-links">#{links}</p>""" if links | 3 | links = """<p class="_error-links">#{_ links}</p>""" if links |
| 4 | """<div class="_error"><h1 class="_error-title">#{title}</h1>#{text}#{links}</div>""" | 4 | """<div class="_error"><h1 class="_error-title">#{_ title}</h1>#{text}#{links}</div>""" |
| 5 | 5 | ||
| 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>" |
| 7 | 7 | ||
| 8 | app.templates.notFoundPage = -> | 8 | app.templates.notFoundPage = -> |
| 9 | error """ Page not found. """, | 9 | error( |
| 10 | """ It may be missing from the source documentation or this could be a bug. """, | 10 | en: """ Page not found. """ |
| 11 | back | 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 | ) | ||
| 12 | 18 | ||
| 13 | app.templates.pageLoadError = -> | 19 | app.templates.pageLoadError = -> |
| 14 | error """ The page failed to load. """, | 20 | error( |
| 15 | """ It may be missing from the server (try reloading the app) or you could be offline.<br> | 21 | en: """ The page failed to load. """ |
| 16 | If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """, | 22 | ja: """ ページの読み込みが失敗しました。 """ |
| 17 | """ #{back} · <a href="/##{location.pathname}" target="_top" class="_error-link">Reload</a> | 23 | , |
| 18 | · <a href="#" class="_error-link" data-retry>Retry</a> """ | 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 | · | ||
| 31 | <a href="/##{location.pathname}" target="_top" class="_error-link"> | ||
| 32 | #{_ en: 'Reload', ja: '再読み込み'} | ||
| 33 | </a> | ||
| 34 | · | ||
| 35 | <a href="#" class="_error-link" data-retry>Retry</a> """ | ||
| 36 | ) | ||
| 37 | |||
| 19 | 38 | ||
| 20 | app.templates.bootError = -> | 39 | app.templates.bootError = -> |
| 21 | error """ The app failed to load. """, | 40 | error( |
| 22 | """ Check your Internet connection and try <a href="#" data-behavior="reload">reloading</a>.<br> | 41 | en: """ The app failed to load. """ |
| 23 | If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """ | 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 | ) | ||
| 24 | 49 | ||
| 25 | app.templates.offlineError = (reason, exception) -> | 50 | app.templates.offlineError = (reason, exception) -> |
| 26 | if reason is 'cookie_blocked' | 51 | 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 | ) | ||
| 28 | 56 | ||
| 29 | reason = switch reason | 57 | reason = switch reason |
| 30 | when 'not_supported' | 58 | when 'not_supported' |
| 31 | """ DevDocs requires IndexedDB to cache documentations for offline access.<br> | 59 | en: """ 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. """ | 60 | Unfortunately your browser either doesn't support IndexedDB or doesn't make it available. """ |
| 61 | ja: """DevDocsはオフラインアクセスのために、IndexedDBにキャッシュすることを要求しています。<br> | ||
| 62 | あいにく、お使いのブラウザはIndexedDBかキャッシュの作成いずれかが非対応です。""" | ||
| 33 | when 'buggy' | 63 | when 'buggy' |
| 34 | """ DevDocs requires IndexedDB to cache documentations for offline access.<br> | 64 | en: """ 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. """ | 65 | Unfortunately your browser's implementation of IndexedDB contains bugs that prevent DevDocs from using it. """ |
| 66 | ja: """ DevDocsはオフラインアクセスのために、IndexedDBにキャッシュすることを要求しています。<br> | ||
| 67 | あいにく、お使いのブラウザはIndexedDB containsの実行バグを防いでいます。""" | ||
| 36 | when 'private_mode' | 68 | when 'private_mode' |
| 37 | """ Your browser appears to be running in private mode.<br> | 69 | en: """ Your browser appears to be running in private mode.<br> |
| 38 | This prevents DevDocs from caching documentations for offline access.""" | 70 | This prevents DevDocs from caching documentations for offline access.""" |
| 71 | ja: """ ブラウザのプライベートモードで表示しています。<br> | ||
| 72 | オフラインアクセスによってドキュメントのキャッシュが防止されています。""" | ||
| 39 | when 'exception', 'cant_open' | 73 | when 'exception', 'cant_open' |
| 40 | """ An error occurred when trying to open the IndexedDB database:<br> | 74 | en: """ An error occurred when trying to open the IndexedDB database:<br> |
| 41 | <code class="_label">#{exception.name}: #{exception.message}</code>#{"""<br> | 75 | <code class="_label">#{exception.name}: #{exception.message}</code> |
| 42 | This could be because you're browsing in private mode or have disallowed offline storage on the domain. | 76 | #{if reason is 'cant_open' then """<br> |
| 43 | """ if reason is 'cant_open' else ''} """ | 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 ''} """ | ||
| 44 | when 'version' | 84 | when 'version' |
| 45 | """ The IndexedDB database was modified with a newer version of the app.<br> | 85 | en: """ 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. """ | 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 | |||
| 47 | when 'empty' | 90 | 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>してみてください。 """ | ||
| 49 | 93 | ||
| 50 | error 'Offline mode is unavailable.', reason | 94 | error 'Offline mode is unavailable.', reason |
| 51 | 95 | ||
| 52 | app.templates.unsupportedBrowser = """ | 96 | app.templates.unsupportedBrowser = |
| 53 | <div class="_fail"> | 97 | en: """ |
| 54 | <h1 class="_fail-title">Your browser is unsupported, sorry.</h1> | 98 | <div class="_fail"> |
| 55 | <p class="_fail-text">DevDocs is an API documentation browser which supports the following browsers: | 99 | <h1 class="_fail-title">Your browser is unsupported, sorry.</h1> |
| 56 | <ul class="_fail-list"> | 100 | <p class="_fail-text">DevDocs is an API documentation browser which supports the following browsers: |
| 57 | <li>Recent versions of Chrome and Firefox | 101 | <ul class="_fail-list"> |
| 58 | <li>Safari 5.1+ | 102 | <li>Recent versions of Chrome and Firefox |
| 59 | <li>Opera 12.1+ | 103 | <li>Safari 5.1+ |
| 60 | <li>Internet Explorer 10+ | 104 | <li>Opera 12.1+ |
| 61 | <li>iOS 6+ | 105 | <li>Internet Explorer 10+ |
| 62 | <li>Android 4.1+ | 106 | <li>iOS 6+ |
| 63 | <li>Windows Phone 8+ | 107 | <li>Android 4.1+ |
| 64 | </ul> | 108 | <li>Windows Phone 8+ |
| 65 | <p class="_fail-text"> | 109 | </ul> |
| 66 | If you're unable to upgrade, I apologize. | 110 | <p class="_fail-text"> |
| 67 | I decided to prioritize speed and new features over support for older browsers. | 111 | If you're unable to upgrade, I apologize. |
| 68 | <p class="_fail-text"> | 112 | I decided to prioritize speed and new features over support for older browsers. |
| 69 | Note: if you're already using one of the browsers above, check your settings and add-ons. | 113 | <p class="_fail-text"> |
| 70 | The app uses feature detection, not user agent sniffing. | 114 | Note: if you're already using one of the browsers above, check your settings and add-ons. |
| 71 | <p class="_fail-text"> | 115 | The app uses feature detection, not user agent sniffing. |
| 72 | — Thibaut <a href="https://twitter.com/DevDocs" class="_fail-link">@DevDocs</a> | 116 | <p class="_fail-text"> |
| 73 | </div> | 117 | — Thibaut <a href="https://twitter.com/DevDocs" class="_fail-link">@DevDocs</a> |
| 74 | """ | 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 | — Thibaut <a href="https://twitter.com/DevDocs" class="_fail-link">@DevDocs</a> | ||
| 141 | </div> | ||
| 142 | """ | ||
| @@ -1,9 +1,15 @@ | |||
| 1 | notice = (text) -> """<p class="_notice-text">#{_ text}</p>""" | 1 | notice = (text) -> """<p class="_notice-text">#{_ text}</p>""" |
| 2 | 2 | ||
| 3 | app.templates.singleDocNotice = (doc) -> | 3 | app.templates.singleDocNotice = (doc) -> |
| 4 | notice """ You're browsing the #{doc.fullName} documentation. To browse all docs, go to | 4 | notice |
| 5 | <a href="//#{app.config.production_host}" target="_top">#{app.config.production_host}</a> (or press <code>esc</code>). """ | 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>を押してください) """ | ||
| 6 | 9 | ||
| 7 | app.templates.disabledDocNotice = -> | 10 | app.templates.disabledDocNotice = -> |
| 8 | notice """ <strong>This documentation is disabled.</strong> | 11 | notice |
| 9 | To enable it, go to <a href="/settings" class="_notice-link">Preferences</a>. """ | 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>.にアクセスしてください。""" | ||
| @@ -1,38 +1,66 @@ | |||
| 1 | notif = (title, html) -> | 1 | notif = (title, html) -> |
| 2 | close = _ en: 'Close', ja: '閉じる' | ||
| 2 | html = html.replace /<a /g, '<a class="_notif-link" ' | 3 | html = html.replace /<a /g, '<a class="_notif-link" ' |
| 3 | """ <h5 class="_notif-title">#{_ title}</h5> | 4 | """ <h5 class="_notif-title">#{_ title}</h5> |
| 4 | #{html} | 5 | #{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> |
| 6 | """ | 7 | """ |
| 7 | 8 | ||
| 8 | textNotif = (title, message) -> | 9 | textNotif = (title, message) -> |
| 9 | notif title, """<p class="_notif-text">#{_ message}""" | 10 | notif title, """<p class="_notif-text">#{_ message}""" |
| 10 | 11 | ||
| 11 | app.templates.notifUpdateReady = -> | 12 | app.templates.notifUpdateReady = -> |
| 12 | textNotif """<span data-behavior="reboot">DevDocs has been updated.</span>""", | 13 | textNotif |
| 13 | """<span data-behavior="reboot"><a href="#" data-behavior="reboot">Reload the page</a> to use the new version.</span>""" | 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>""" | ||
| 14 | 19 | ||
| 15 | app.templates.notifError = -> | 20 | app.templates.notifError = -> |
| 16 | textNotif """ Oops, an error occurred. """, | 21 | textNotif |
| 17 | """ Try <a href="#" data-behavior="hard-reload">reloading</a>, and if the problem persists, | 22 | en: """ Oops, an error occurred. """ |
| 18 | <a href="#" data-behavior="reset">resetting the app</a>.<br> | 23 | ja: """ しまった、エラーが発生しました。 """ |
| 19 | You can also report this issue on <a href="https://github.com/freeCodeCamp/devdocs/issues/new" target="_blank" rel="noopener">GitHub</a>. """ | 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 | |||
| 20 | 32 | ||
| 21 | app.templates.notifQuotaExceeded = -> | 33 | app.templates.notifQuotaExceeded = -> |
| 22 | textNotif """ The offline database has exceeded its size limitation. """, | 34 | textNotif |
| 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. """ | 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: """ あいにく、この制限を検出するようプログラムできません。また、データベースは制限を超えて開くことができません。そのため、リセットを行ってください。""" | ||
| 24 | 40 | ||
| 25 | app.templates.notifCookieBlocked = -> | 41 | app.templates.notifCookieBlocked = -> |
| 26 | textNotif """ Please enable cookies. """, | 42 | textNotif |
| 27 | """ DevDocs will not work properly if cookies are disabled. """ | 43 | en: """ Please enable cookies. """ |
| 44 | ja: """ クッキーを有効にしてください。""" | ||
| 45 | , | ||
| 46 | en: """ DevDocs will not work properly if cookies are disabled. """ | ||
| 47 | ja: """ クッキーが無効な場合、DevDocsは正確に動きません。""" | ||
| 28 | 48 | ||
| 29 | app.templates.notifInvalidLocation = -> | 49 | app.templates.notifInvalidLocation = -> |
| 30 | textNotif """ DevDocs must be loaded from #{app.config.production_host} """, | 50 | textNotif |
| 31 | """ Otherwise things are likely to break. """ | 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: """ さもないと故障してしまうかもしれません。""" | ||
| 32 | 56 | ||
| 33 | app.templates.notifImportInvalid = -> | 57 | app.templates.notifImportInvalid = -> |
| 34 | textNotif """ Oops, an error occurred. """, | 58 | textNotif |
| 35 | """ The file you selected is invalid. """ | 59 | en: """ Oops, an error occurred. """ |
| 60 | ja: """ しまった、エラーが発生しました。""" | ||
| 61 | , | ||
| 62 | en: """ The file you selected is invalid. """ | ||
| 63 | ja: """ 選択したファイルは無効です。 """ | ||
| 36 | 64 | ||
| 37 | app.templates.notifNews = (news) -> | 65 | app.templates.notifNews = (news) -> |
| 38 | notif 'Changelog', """<div class="_notif-content _notif-news">#{app.templates.newsList(news, years: false)}</div>""" | 66 | 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 | |||
| 60 | notif 'Updates', "#{html}</div>" | 88 | notif 'Updates', "#{html}</div>" |
| 61 | 89 | ||
| 62 | app.templates.notifShare = -> | 90 | app.templates.notifShare = -> |
| 63 | textNotif """ Hi there! """, | 91 | textNotif |
| 64 | """ Like DevDocs? Help us reach more developers by sharing the link with your friends on | 92 | en: """ Hi there! """ |
| 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>, | 93 | ja: """ ようこそ! """ |
| 66 | <a href="https://out.devdocs.io/s/re" target="_blank" rel="noopener">Reddit</a>, etc.<br>Thanks :) """ | 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>よろしく:) """ | ||
| 67 | 101 | ||
| 68 | app.templates.notifUpdateDocs = -> | 102 | app.templates.notifUpdateDocs = -> |
| 69 | textNotif """ Documentation updates available. """, | 103 | textNotif |
| 70 | """ <a href="/offline">Install them</a> as soon as possible to avoid broken pages. """ | 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とすぐに可能になり、壊れたページを回避できます。 """ | ||
| @@ -1,89 +1,169 @@ | |||
| 1 | app.templates.aboutPage = -> """ | 1 | app.templates.aboutPage = |
| 2 | <nav class="_toc" role="directory"> | 2 | en: """ |
| 3 | <h3 class="_toc-title">Table of Contents</h3> | 3 | <nav class="_toc" role="directory"> |
| 4 | <ul class="_toc-list"> | 4 | <h3 class="_toc-title">Table of Contents</h3> |
| 5 | <li><a href="#copyright">Copyright</a> | 5 | <ul class="_toc-list"> |
| 6 | <li><a href="#plugins">Plugins</a> | 6 | <li><a href="#copyright">Copyright</a> |
| 7 | <li><a href="#faq">FAQ</a> | 7 | <li><a href="#plugins">Plugins</a> |
| 8 | <li><a href="#credits">Credits</a> | 8 | <li><a href="#faq">FAQ</a> |
| 9 | <li><a href="#privacy">Privacy Policy</a> | 9 | <li><a href="#credits">Credits</a> |
| 10 | </ul> | 10 | <li><a href="#privacy">Privacy Policy</a> |
| 11 | </nav> | 11 | </ul> |
| 12 | </nav> | ||
| 12 | 13 | ||
| 13 | <h1 class="_lined-heading">DevDocs: API Documentation Browser</h1> | 14 | <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 | <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 | <ul> |
| 16 | <li>Created and maintained by <a href="https://thibaut.me">Thibaut Courouble</a> | 17 | <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 | <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 | <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 | </ul> |
| 20 | <p>To keep up-to-date with the latest news: | 21 | <p>To keep up-to-date with the latest news: |
| 21 | <ul> | 22 | <ul> |
| 22 | <li>Follow <a href="https://twitter.com/DevDocs">@DevDocs</a> on Twitter | 23 | <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>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 | <li>Join the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a> |
| 25 | </ul> | 26 | </ul> |
| 26 | 27 | ||
| 27 | <h2 class="_block-heading" id="copyright">Copyright and License</h2> | 28 | <h2 class="_block-heading" id="copyright">Copyright and License</h2> |
| 28 | <p class="_note"> | 29 | <p class="_note"> |
| 29 | <strong>Copyright 2013–2018 Thibaut Courouble and <a href="https://github.com/freeCodeCamp/devdocs/graphs/contributors">other contributors</a></strong><br> | 30 | <strong>Copyright 2013–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 | 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 | 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 | 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. | 34 | and <a href="https://github.com/freeCodeCamp/devdocs/blob/master/LICENSE">LICENSE</a> files. |
| 34 | 35 | ||
| 35 | <h2 class="_block-heading" id="plugins">Plugins and Extensions</h2> | 36 | <h2 class="_block-heading" id="plugins">Plugins and Extensions</h2> |
| 36 | <ul> | 37 | <ul> |
| 37 | <li><a href="https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe">Chrome web app</a> | 38 | <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://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://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://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://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/yannickglt/alfred-devdocs">Alfred workflow</a> |
| 43 | <li><a href="https://github.com/search?q=topic%3Adevdocs&type=Repositories">More…</a> | 44 | <li><a href="https://github.com/search?q=topic%3Adevdocs&type=Repositories">More…</a> |
| 44 | </ul> | 45 | </ul> |
| 45 | 46 | ||
| 46 | <h2 class="_block-heading" id="faq">Questions & Answers</h2> | 47 | <h2 class="_block-heading" id="faq">Questions & Answers</h2> |
| 47 | <dl> | 48 | <dl> |
| 48 | <dt>Where can I suggest new docs and features? | 49 | <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 | <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 | 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 | Otherwise use the <a href="https://groups.google.com/d/forum/devdocs">mailing list</a>. |
| 52 | <dt>Where can I report bugs? | 53 | <dt>Where can I report bugs? |
| 53 | <dd>In the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>. Thanks! | 54 | <dd>In the <a href="https://github.com/freeCodeCamp/devdocs/issues">issue tracker</a>. Thanks! |
| 54 | </dl> | 55 | </dl> |
| 55 | <p>For anything else, feel free to email me at <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>. | 56 | <p>For anything else, feel free to email me at <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>. |
| 56 | 57 | ||
| 57 | <h2 class="_block-heading" id="credits">Credits</h2> | 58 | <h2 class="_block-heading" id="credits">Credits</h2> |
| 58 | 59 | ||
| 59 | <p><strong>Special thanks to:</strong> | 60 | <p><strong>Special thanks to:</strong> |
| 60 | <ul> | 61 | <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://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://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.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 | <li><a href="https://www.jeremykratz.com/">Jeremy Kratz</a> for the C/C++ logo |
| 65 | </ul> | 66 | </ul> |
| 66 | 67 | ||
| 67 | <div class="_table"> | 68 | <div class="_table"> |
| 68 | <table class="_credits"> | 69 | <table class="_credits"> |
| 69 | <tr> | 70 | <tr> |
| 70 | <th>Documentation | 71 | <th>Documentation |
| 71 | <th>Copyright | 72 | <th>Copyright |
| 72 | <th>License | 73 | <th>License |
| 73 | #{("<tr><td>#{c[0]}<td>© #{c[1]}<td><a href=\"#{c[3]}\">#{c[2]}</a>" for c in credits).join('')} | 74 | #{credit_table} |
| 74 | </table> | 75 | </table> |
| 75 | </div> | 76 | </div> |
| 76 | 77 | ||
| 77 | <h2 class="_block-heading" id="privacy">Privacy Policy</h2> | 78 | <h2 class="_block-heading" id="privacy">Privacy Policy</h2> |
| 78 | <ul> | 79 | <ul> |
| 79 | <li><a href="https://devdocs.io">devdocs.io</a> ("App") is operated by Thibaut Courouble ("We"). | 80 | <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 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>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>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>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 | <li>If you have any questions regarding privacy, please email <a href="mailto:thibaut@devdocs.io">thibaut@devdocs.io</a>. |
| 85 | </ul> | 86 | </ul> |
| 86 | """ | 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–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 | """ | ||
| 87 | 167 | ||
| 88 | credits = [ | 168 | credits = [ |
| 89 | [ 'Angular<br>Angular.js', | 169 | [ 'Angular<br>Angular.js', |
| @@ -687,3 +767,5 @@ credits = [ · 597 unmodified lines | |||
| 687 | 'https://raw.githubusercontent.com/yiisoft/yii/master/LICENSE' | 767 | 'https://raw.githubusercontent.com/yiisoft/yii/master/LICENSE' |
| 688 | ] | 768 | ] |
| 689 | ] | 769 | ] |
| 770 | |||
| 771 | credit_table = ("<tr><td>#{c[0]}<td>© #{c[1]}<td><a href=\"#{c[3]}\">#{c[2]}</a>" for c in credits).join('') | ||
| @@ -9,7 +9,14 @@ app.templates.helpPage = -> · 8 unmodified lines | |||
| 9 | for key, i in keys | 9 | for key, i in keys |
| 10 | (if i > middle then aliases_two else aliases_one)[key] = app.models.Entry.ALIASES[key] | 10 | (if i > middle then aliases_two else aliases_one)[key] = app.models.Entry.ALIASES[key] |
| 11 | 11 | ||
| 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 = """ | ||
| 13 | <nav class="_toc" role="directory"> | 20 | <nav class="_toc" role="directory"> |
| 14 | <h3 class="_toc-title">Table of Contents</h3> | 21 | <h3 class="_toc-title">Table of Contents</h3> |
| 15 | <ul class="_toc-list"> | 22 | <ul class="_toc-list"> |
| @@ -77,7 +84,7 @@ app.templates.helpPage = -> · 61 unmodified lines | |||
| 77 | <code class="_shortcut-code">enter</code> | 84 | <code class="_shortcut-code">enter</code> |
| 78 | <dd class="_shortcuts-dd">Open selection | 85 | <dd class="_shortcuts-dd">Open selection |
| 79 | <dt class="_shortcuts-dt"> | 86 | <dt class="_shortcuts-dt"> |
| 80 | <code class="_shortcut-code">#{ctrlKey} + enter</code> | 87 | <code class="_shortcut-code">{ctrlKey} + enter</code> |
| 81 | <dd class="_shortcuts-dd">Open selection in a new tab | 88 | <dd class="_shortcuts-dd">Open selection in a new tab |
| 82 | <dt class="_shortcuts-dt"> | 89 | <dt class="_shortcuts-dt"> |
| 83 | <code class="_shortcut-code">alt + r</code> | 90 | <code class="_shortcut-code">alt + r</code> |
| @@ -86,8 +93,8 @@ app.templates.helpPage = -> · 2 unmodified lines | |||
| 86 | <h3 class="_shortcuts-title">Browsing</h3> | 93 | <h3 class="_shortcuts-title">Browsing</h3> |
| 87 | <dl class="_shortcuts-dl"> | 94 | <dl class="_shortcuts-dl"> |
| 88 | <dt class="_shortcuts-dt"> | 95 | <dt class="_shortcuts-dt"> |
| 89 | <code class="_shortcut-code">#{navKey} + ←</code> | 96 | <code class="_shortcut-code">{navKey} + ←</code> |
| 90 | <code class="_shortcut-code">#{navKey} + →</code> | 97 | <code class="_shortcut-code">{navKey} + →</code> |
| 91 | <dd class="_shortcuts-dd">Go back/forward | 98 | <dd class="_shortcuts-dd">Go back/forward |
| 92 | <dt class="_shortcuts-dt"> | 99 | <dt class="_shortcuts-dt"> |
| 93 | <code class="_shortcut-code">alt + ↓</code> | 100 | <code class="_shortcut-code">alt + ↓</code> |
| @@ -101,8 +108,8 @@ app.templates.helpPage = -> · 7 unmodified lines | |||
| 101 | <code class="_shortcut-code">shift + space</code> | 108 | <code class="_shortcut-code">shift + space</code> |
| 102 | <dd class="_shortcuts-dd">Scroll screen by screen | 109 | <dd class="_shortcuts-dd">Scroll screen by screen |
| 103 | <dt class="_shortcuts-dt"> | 110 | <dt class="_shortcuts-dt"> |
| 104 | <code class="_shortcut-code">#{ctrlKey} + ↑</code> | 111 | <code class="_shortcut-code">{ctrlKey} + ↑</code> |
| 105 | <code class="_shortcut-code">#{ctrlKey} + ↓</code> | 112 | <code class="_shortcut-code">{ctrlKey} + ↓</code> |
| 106 | <dd class="_shortcuts-dd">Scroll to the top/bottom | 113 | <dd class="_shortcuts-dd">Scroll to the top/bottom |
| 107 | <dt class="_shortcuts-dt"> | 114 | <dt class="_shortcuts-dt"> |
| 108 | <code class="_shortcut-code">alt + f</code> | 115 | <code class="_shortcut-code">alt + f</code> |
| @@ -142,14 +149,167 @@ app.templates.helpPage = -> · 33 unmodified lines | |||
| 142 | <tr> | 149 | <tr> |
| 143 | <th>Word | 150 | <th>Word |
| 144 | <th>Alias | 151 | <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> )を押します。 | ||
| 196 | and pressing <code class="_label">tab</code> (<code class="_label">space</code> 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">↓</code> | ||
| 228 | <code class="_shortcut-code">↑</code> | ||
| 229 | <dd class="_shortcuts-dd">セレクションの移動 | ||
| 230 | <dt class="_shortcuts-dt"> | ||
| 231 | <code class="_shortcut-code">→</code> | ||
| 232 | <code class="_shortcut-code">←</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} + ←</code> | ||
| 248 | <code class="_shortcut-code">{navKey} + →</code> | ||
| 249 | <dd class="_shortcuts-dd">戻る/進む | ||
| 250 | <dt class="_shortcuts-dt"> | ||
| 251 | <code class="_shortcut-code">alt + ↓</code> | ||
| 252 | <code class="_shortcut-code">alt + ↑</code> | ||
| 253 | <br> | ||
| 254 | <code class="_shortcut-code">shift + ↓</code> | ||
| 255 | <code class="_shortcut-code">shift + ↑</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} + ↑</code> | ||
| 263 | <code class="_shortcut-code">{ctrlKey} + ↓</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} | ||
| 146 | </table> | 305 | </table> |
| 147 | <table> | 306 | <table> |
| 148 | <tr> | 307 | <tr> |
| 149 | <th>Word | 308 | <th>Word |
| 150 | <th>Alias | 309 | <th>Alias |
| 151 | #{("<tr><td class=\"_code\">#{key}<td class=\"_code\">#{value}" for key, value of aliases_two).join('')} | 310 | {aliases_two} |
| 152 | </table> | 311 | </table> |
| 153 | </div> | 312 | </div> |
| 313 | <p>新しいエイリアスは<a href="https://github.com/freeCodeCamp/devdocs/issues/new">GitHub</a>で自由に提案できます。</p> | ||
| 154 | <p>Feel free to suggest new aliases on <a href="https://github.com/freeCodeCamp/devdocs/issues/new">GitHub</a>. | 314 | <p>Feel free to suggest new aliases on <a href="https://github.com/freeCodeCamp/devdocs/issues/new">GitHub</a>. |
| 155 | """ | 315 | """ |
| @@ -24,27 +24,49 @@ app.templates.intro = """ · 23 unmodified lines | |||
| 24 | </div></div> | 24 | </div></div> |
| 25 | """ | 25 | """ |
| 26 | <% else %> | 26 | <% else %> |
| 27 | app.templates.intro = """ | 27 | app.templates.intro = |
| 28 | <div class="_intro"><div class="_intro-message"> | 28 | en: """ |
| 29 | <a href="#" class="_intro-hide" data-hide-intro>Stop showing this message</a> | 29 | <div class="_intro"><div class="_intro-message"> |
| 30 | <h2 class="_intro-title">Welcome!</h2> | 30 | <a href="#" class="_intro-hide" data-hide-intro>Stop showing this message</a> |
| 31 | <p>DevDocs combines multiple API documentations in a fast, organized, and searchable interface. | 31 | <h2 class="_intro-title">Welcome!</h2> |
| 32 | Here's what you should know before you start: | 32 | <p>DevDocs combines multiple API documentations in a fast, organized, and searchable interface. |
| 33 | <ol class="_intro-list"> | 33 | Here's what you should know before you start: |
| 34 | <li>Open the <a href="/settings">Preferences</a> to enable more docs and customize the UI. | 34 | <ol class="_intro-list"> |
| 35 | <li>You don't have to use your mouse — see the list of <a href="/help#shortcuts">keyboard shortcuts</a>. | 35 | <li>Open the <a href="/settings">Preferences</a> to enable more docs and customize the UI. |
| 36 | <li>The search supports fuzzy matching (e.g. "bgcp" brings up "background-clip"). | 36 | <li>You don't have to use your mouse — see the list of <a href="/help#shortcuts">keyboard shortcuts</a>. |
| 37 | <li>To search a specific documentation, type its name (or an abbr.), then Tab. | 37 | <li>The search supports fuzzy matching (e.g. "bgcp" brings up "background-clip"). |
| 38 | <li>You can search using your browser's address bar — <a href="/help#browser_search">learn how</a>. | 38 | <li>To search a specific documentation, type its name (or an abbr.), then Tab. |
| 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>. | 39 | <li>You can search using your browser's address bar — <a href="/help#browser_search">learn how</a>. |
| 40 | <li>For the latest news, follow <a href="https://twitter.com/DevDocs">@DevDocs</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>DevDocs is free and <a href="https://github.com/freeCodeCamp/devdocs">open source</a>. | 41 | <li>For the latest news, follow <a href="https://twitter.com/DevDocs">@DevDocs</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> | 42 | <li>DevDocs is free and <a href="https://github.com/freeCodeCamp/devdocs">open source</a>. |
| 43 | <li>And if you're new to coding, check out <a href="https://www.freecodecamp.org/">freeCodeCamp's open source curriculum</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 | </ol> | 44 | <li>And if you're new to coding, check out <a href="https://www.freecodecamp.org/">freeCodeCamp's open source curriculum</a>. |
| 45 | <p>Happy coding! | 45 | </ol> |
| 46 | </div></div> | 46 | <p>Happy coding! |
| 47 | """ | 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>マウスを使用する必要はありません — <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>ブラウザのアドレスバーで検索できます — <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 | """ | ||
| 48 | <% end %> | 70 | <% end %> |
| 49 | 71 | ||
| 50 | app.templates.mobileIntro = """ | 72 | app.templates.mobileIntro = """ |
| @@ -1,44 +1,83 @@ | |||
| 1 | app.templates.settingsPage = (settings) -> """ | 1 | app.templates.settingsPage = (settings) -> _ |
| 2 | <h1 class="_lined-heading">Preferences</h1> | 2 | en: """ |
| 3 | <h1 class="_lined-heading">Preferences</h1> | ||
| 3 | 4 | ||
| 4 | <div class="_settings-fieldset"> | 5 | <div class="_settings-fieldset"> |
| 5 | <h2 class="_settings-legend">General:</h2> | 6 | <h2 class="_settings-legend">General:</h2> |
| 6 | 7 | ||
| 7 | <div class="_settings-inputs"> | 8 | <div class="_settings-inputs"> |
| 8 | <label class="_settings-label"> | 9 | <label class="_settings-label"> |
| 9 | <input type="checkbox" form="settings" name="dark" value="1"#{if settings.dark then ' checked' else ''}>Enable dark theme | 10 | <input type="checkbox" form="settings" name="dark" value="1"#{if settings.dark then ' checked' else ''}>Enable dark theme |
| 10 | </label> | 11 | </label> |
| 11 | <label class="_settings-label _setting-max-width"> | 12 | <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 | <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> |
| 14 | <label class="_settings-label _hide-on-mobile"> | 15 | <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 | <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 | <small>Tip: drag the edge of the sidebar to resize it.</small> |
| 17 | </label> | 18 | </label> |
| 19 | </div> | ||
| 18 | </div> | 20 | </div> |
| 19 | </div> | ||
| 20 | 21 | ||
| 21 | <div class="_settings-fieldset _hide-on-mobile"> | 22 | <div class="_settings-fieldset _hide-on-mobile"> |
| 22 | <h2 class="_settings-legend">Scrolling:</h2> | 23 | <h2 class="_settings-legend">Scrolling:</h2> |
| 23 | 24 | ||
| 24 | <div class="_settings-inputs"> | 25 | <div class="_settings-inputs"> |
| 25 | <label class="_settings-label"> | 26 | <label class="_settings-label"> |
| 26 | <input type="checkbox" form="settings" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>Use smooth scrolling | 27 | <input type="checkbox" form="settings" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>Use smooth scrolling |
| 27 | </label> | 28 | </label> |
| 28 | <label class="_settings-label _setting-native-scrollbar"> | 29 | <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 | <input type="checkbox" form="settings" name="layout" value="_native-scrollbars"#{if settings['_native-scrollbars'] then ' checked' else ''}>Use native scrollbars |
| 30 | </label> | 31 | </label> |
| 31 | <label class="_settings-label"> | 32 | <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 | <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">↑</code><code class="_label">↓</code><code class="_label">←</code><code class="_label">→</code> to navigate the sidebar.</small> | 34 | <small>With this checked, use <code class="_label">alt</code> + <code class="_label">↑</code><code class="_label">↓</code><code class="_label">←</code><code class="_label">→</code> to navigate the sidebar.</small> |
| 34 | </label> | 35 | </label> |
| 36 | </div> | ||
| 35 | </div> | 37 | </div> |
| 36 | </div> | ||
| 37 | 38 | ||
| 38 | <p class="_hide-on-mobile"> | 39 | <p class="_hide-on-mobile"> |
| 39 | <button type="button" class="_btn" data-action="export">Export</button> | 40 | <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> | 41 | <label class="_btn _file-btn"><input type="file" form="settings" name="import" accept=".json">Import</label> |
| 41 | 42 | ||
| 42 | <p> | 43 | <p> |
| 43 | <button type="button" class="_btn-link _reset-btn" data-behavior="reset">Reset all preferences and data</button> | 44 | <button type="button" class="_btn-link _reset-btn" data-behavior="reset">Reset all preferences and data</button> |
| 44 | """ | 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">↑</code><code class="_label">↓</code><code class="_label">←</code><code class="_label">→</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 | """ | ||
| @@ -23,21 +23,26 @@ templates.sidebarEntry = (entry) -> · 22 unmodified lines | |||
| 23 | 23 | ||
| 24 | templates.sidebarResult = (entry) -> | 24 | templates.sidebarResult = (entry) -> |
| 25 | addons = if entry.isIndex() and app.disabledDocs.contains(entry.doc) | 25 | 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>""" |
| 27 | else | 27 | else |
| 28 | """<span class="_list-reveal" data-reset-list title="Reveal in list"></span>""" | 28 | """<span class="_list-reveal" data-reset-list title="Reveal in list"></span>""" |
| 29 | addons += """<span class="_list-count">#{entry.doc.short_version}</span>""" if entry.doc.version and not entry.isIndex() | 29 | addons += """<span class="_list-count">#{entry.doc.short_version}</span>""" if entry.doc.version and not entry.isIndex() |
| 30 | """<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>""" | 30 | """<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>""" |
| 31 | 31 | ||
| 32 | templates.sidebarNoResults = -> | 32 | templates.sidebarNoResults = -> |
| 33 | html = """ <div class="_list-note">No results.</div> """ | 33 | html = """ <div class="_list-note">#{_ en: "No results.", ja: "ヒットしませんでした。"}</div> """ |
| 34 | html += """ | 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> | 35 | en: """ |
| 36 | """ unless app.isSingleDoc() or app.disabledDocs.isEmpty() | 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() | ||
| 37 | html | 42 | html |
| 38 | 43 | ||
| 39 | templates.sidebarPageLink = (count) -> | 44 | 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>""" |
| 41 | 46 | ||
| 42 | templates.sidebarLabel = (doc, options = {}) -> | 47 | templates.sidebarLabel = (doc, options = {}) -> |
| 43 | label = """<label class="_list-item""" | 48 | label = """<label class="_list-item""" |
| @@ -52,7 +57,8 @@ templates.sidebarVersionedDoc = (doc, versions, options = {}) -> · 8 unmodified lines | |||
| 52 | html + """" tabindex="0">#{arrow}#{doc.name}</div><div class="_list _list-sub">#{versions}</div>""" | 57 | html + """" tabindex="0">#{arrow}#{doc.name}</div><div class="_list _list-sub">#{versions}</div>""" |
| 53 | 58 | ||
| 54 | templates.sidebarDisabled = (options) -> | 59 | 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>""" | ||
| 56 | 62 | ||
| 57 | templates.sidebarDisabledList = (html) -> | 63 | templates.sidebarDisabledList = (html) -> |
| 58 | """<div class="_disabled-list">#{html}</div>""" | 64 | """<div class="_disabled-list">#{html}</div>""" |
| @@ -60,9 +66,16 @@ templates.sidebarDisabledList = (html) -> · 1 unmodified line | |||
| 60 | templates.sidebarDisabledVersionedDoc = (doc, versions) -> | 66 | templates.sidebarDisabledVersionedDoc = (doc, versions) -> |
| 61 | """<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>""" | 67 | """<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>""" |
| 62 | 68 | ||
| 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>""" | ||
| 64 | 72 | ||
| 65 | templates.docPickerNote = """ | 73 | templates.docPickerNote = |
| 66 | <div class="_list-note">Tip: for faster and better search results, select only the docs you need.</div> | 74 | en: """ |
| 67 | <a href="https://trello.com/b/6BmTulfx/devdocs-documentation" class="_list-link" target="_blank" rel="noopener">Vote for new documentation</a> | 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> | ||
| 68 | """ | 81 | """ |
| @@ -1,10 +1,21 @@ | |||
| 1 | app.templates.tipKeyNav = """ | 1 | app.templates.tipKeyNav = |
| 2 | <p class="_notif-text"> | 2 | en: """ |
| 3 | <strong>ProTip</strong> | 3 | <p class="_notif-text"> |
| 4 | <span class="_notif-info">(click to dismiss)</span> | 4 | <strong>ProTip</strong> |
| 5 | <p class="_notif-text"> | 5 | <span class="_notif-info">(click to dismiss)</span> |
| 6 | Hit <code class="_label">↓</code> <code class="_label">↑</code> <code class="_label">←</code> <code class="_label">→</code> to navigate the sidebar.<br> | 6 | <p class="_notif-text"> |
| 7 | Hit <code class="_label">space / shift space</code>, <code class="_label">alt ↓/↑</code> or <code class="_label">shift ↓/↑</code> to scroll the page. | 7 | Hit <code class="_label">↓</code> <code class="_label">↑</code> <code class="_label">←</code> <code class="_label">→</code> to navigate the sidebar.<br> |
| 8 | <p class="_notif-text"> | 8 | Hit <code class="_label">space / shift space</code>, <code class="_label">alt ↓/↑</code> or <code class="_label">shift ↓/↑</code> to scroll the page. |
| 9 | <a href="/help#shortcuts" class="_notif-link">See all keyboard shortcuts</a> | 9 | <p class="_notif-text"> |
| 10 | """ | 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">↓</code> <code class="_label">↑</code> <code class="_label">←</code> <code class="_label">→</code> サイドバーを操作します。<br> | ||
| 18 | Hit <code class="_label">space / shift space</code>, <code class="_label">alt ↓/↑</code> または <code class="_label">shift ↓/↑</code> で、ページをスクロールします。 | ||
| 19 | <p class="_notif-text"> | ||
| 20 | <a href="/help#shortcuts" class="_notif-link">すべてのキーボードショートカットを見る</a> | ||
| 21 | """ | ||