diff --git a/omega-locales/ach/LC_MESSAGES/omega-web.po b/omega-locales/ach/LC_MESSAGES/omega-web.po
index 81aa847..af878fe 100644
--- a/omega-locales/ach/LC_MESSAGES/omega-web.po
+++ b/omega-locales/ach/LC_MESSAGES/omega-web.po
@@ -1199,3 +1199,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/cs/LC_MESSAGES/omega-web.po b/omega-locales/cs/LC_MESSAGES/omega-web.po
index 6b7bec6..7fee27c 100644
--- a/omega-locales/cs/LC_MESSAGES/omega-web.po
+++ b/omega-locales/cs/LC_MESSAGES/omega-web.po
@@ -1195,3 +1195,32 @@ msgstr "Zkontrolujte, zda server proxy používaná tento prvek"
msgid "contextMenu_enableQuickSwitch"
msgstr "Povolit rychlé přepínání"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/de/LC_MESSAGES/omega-web.po b/omega-locales/de/LC_MESSAGES/omega-web.po
index 2d4eabe..974baa5 100644
--- a/omega-locales/de/LC_MESSAGES/omega-web.po
+++ b/omega-locales/de/LC_MESSAGES/omega-web.po
@@ -1204,3 +1204,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/en_US/LC_MESSAGES/omega-web.po b/omega-locales/en_US/LC_MESSAGES/omega-web.po
index b164496..18a4267 100644
--- a/omega-locales/en_US/LC_MESSAGES/omega-web.po
+++ b/omega-locales/en_US/LC_MESSAGES/omega-web.po
@@ -1181,3 +1181,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/es_AR/LC_MESSAGES/omega-web.po b/omega-locales/es_AR/LC_MESSAGES/omega-web.po
index 8402583..bd519d2 100644
--- a/omega-locales/es_AR/LC_MESSAGES/omega-web.po
+++ b/omega-locales/es_AR/LC_MESSAGES/omega-web.po
@@ -1204,3 +1204,32 @@ msgstr "Inspeccionar proxy utilizado para este Elemento."
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/fa/LC_MESSAGES/omega-web.po b/omega-locales/fa/LC_MESSAGES/omega-web.po
index ea4dc68..45eefe1 100644
--- a/omega-locales/fa/LC_MESSAGES/omega-web.po
+++ b/omega-locales/fa/LC_MESSAGES/omega-web.po
@@ -1208,3 +1208,32 @@ msgstr "بررسی پروکسی مورد استفاده برای این الما
msgid "contextMenu_enableQuickSwitch"
msgstr "فعال سازی تغییر سرعتی"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/fr/LC_MESSAGES/omega-web.po b/omega-locales/fr/LC_MESSAGES/omega-web.po
index d6e730a..5067e39 100644
--- a/omega-locales/fr/LC_MESSAGES/omega-web.po
+++ b/omega-locales/fr/LC_MESSAGES/omega-web.po
@@ -1201,3 +1201,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/is/LC_MESSAGES/omega-web.po b/omega-locales/is/LC_MESSAGES/omega-web.po
index 37d827c..cbd5de5 100644
--- a/omega-locales/is/LC_MESSAGES/omega-web.po
+++ b/omega-locales/is/LC_MESSAGES/omega-web.po
@@ -1004,3 +1004,32 @@ msgstr ""
msgid "contextMenu_enableQuickSwitch"
msgstr ""
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/ja/LC_MESSAGES/omega-web.po b/omega-locales/ja/LC_MESSAGES/omega-web.po
index 6dcf26c..ba6c023 100644
--- a/omega-locales/ja/LC_MESSAGES/omega-web.po
+++ b/omega-locales/ja/LC_MESSAGES/omega-web.po
@@ -1190,3 +1190,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/nb_NO/LC_MESSAGES/omega-web.po b/omega-locales/nb_NO/LC_MESSAGES/omega-web.po
index 3cbb70c..b8bc705 100644
--- a/omega-locales/nb_NO/LC_MESSAGES/omega-web.po
+++ b/omega-locales/nb_NO/LC_MESSAGES/omega-web.po
@@ -1042,3 +1042,32 @@ msgstr ""
msgid "contextMenu_enableQuickSwitch"
msgstr "Skru på raskt bytte"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/nl/LC_MESSAGES/omega-web.po b/omega-locales/nl/LC_MESSAGES/omega-web.po
index 00ff118..a06c26c 100644
--- a/omega-locales/nl/LC_MESSAGES/omega-web.po
+++ b/omega-locales/nl/LC_MESSAGES/omega-web.po
@@ -993,3 +993,32 @@ msgstr ""
msgid "contextMenu_enableQuickSwitch"
msgstr ""
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/pt_BR/LC_MESSAGES/omega-web.po b/omega-locales/pt_BR/LC_MESSAGES/omega-web.po
index dc91673..59e7237 100644
--- a/omega-locales/pt_BR/LC_MESSAGES/omega-web.po
+++ b/omega-locales/pt_BR/LC_MESSAGES/omega-web.po
@@ -1200,3 +1200,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/ru/LC_MESSAGES/omega-web.po b/omega-locales/ru/LC_MESSAGES/omega-web.po
index 0d54d9d..73c057e 100644
--- a/omega-locales/ru/LC_MESSAGES/omega-web.po
+++ b/omega-locales/ru/LC_MESSAGES/omega-web.po
@@ -1204,3 +1204,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/sk/LC_MESSAGES/omega-web.po b/omega-locales/sk/LC_MESSAGES/omega-web.po
index d7f0cec..bfa1c92 100644
--- a/omega-locales/sk/LC_MESSAGES/omega-web.po
+++ b/omega-locales/sk/LC_MESSAGES/omega-web.po
@@ -1003,3 +1003,32 @@ msgstr ""
msgid "contextMenu_enableQuickSwitch"
msgstr ""
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/sl/LC_MESSAGES/omega-web.po b/omega-locales/sl/LC_MESSAGES/omega-web.po
index c92c5eb..6821887 100644
--- a/omega-locales/sl/LC_MESSAGES/omega-web.po
+++ b/omega-locales/sl/LC_MESSAGES/omega-web.po
@@ -1005,3 +1005,32 @@ msgstr ""
msgid "contextMenu_enableQuickSwitch"
msgstr ""
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/tr/LC_MESSAGES/omega-web.po b/omega-locales/tr/LC_MESSAGES/omega-web.po
index 67b7629..6953582 100644
--- a/omega-locales/tr/LC_MESSAGES/omega-web.po
+++ b/omega-locales/tr/LC_MESSAGES/omega-web.po
@@ -1196,3 +1196,32 @@ msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
+
+msgid "about_title"
+msgstr "About"
+
+msgid "about_app_description"
+msgstr "A proxy configuration tool"
+
+msgid "about_version"
+msgstr "Version $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
+" our privacy policy."
+
+msgid "about_help"
+msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
+"FAQ."
+
+msgid "about_copyright"
+msgstr "Copyright 2012-2017 The SwitchyOmega Authors. All rights reserved."
+
+msgid "about_credits"
+msgstr "SwitchyOmega is made possible by the SwitchyOmega open source project and other open source software."
+
+msgid "about_license"
+msgstr "SwitchyOmega is free software licensed under GNU General Public License Version 3 or later."
diff --git a/omega-locales/zh_CN/LC_MESSAGES/omega-web.po b/omega-locales/zh_CN/LC_MESSAGES/omega-web.po
index ac0e9bc..705e69c 100644
--- a/omega-locales/zh_CN/LC_MESSAGES/omega-web.po
+++ b/omega-locales/zh_CN/LC_MESSAGES/omega-web.po
@@ -1057,3 +1057,32 @@ msgstr "检查此[元素]使用的代理"
msgid "contextMenu_enableQuickSwitch"
msgstr "启用快速切换"
+
+msgid "about_title"
+msgstr "关于"
+
+msgid "about_app_description"
+msgstr "一个代理设置工具"
+
+msgid "about_version"
+msgstr "版本 $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega 不提供代理服务器、VPN等网络服务。"
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega 不会跟踪您的上网记录,不在页面中插入广告。请参见我们的"
+"隐私政策。"
+
+msgid "about_help"
+msgstr "如有其他问题或者需要帮助,请参考"
+"常见问题。"
+
+msgid "about_copyright"
+msgstr "版权所有 2012-2017 The SwitchyOmega Authors. 保留所有权利。"
+
+msgid "about_credits"
+msgstr "SwitchyOmega 的诞生离不开 SwitchyOmega 开源项目和其他开源软件。"
+
+msgid "about_license"
+msgstr "SwitchyOmega 是自由软件,使用GNU General Public License 版本 3 及以上授权。"
diff --git a/omega-locales/zh_TW/LC_MESSAGES/omega-web.po b/omega-locales/zh_TW/LC_MESSAGES/omega-web.po
index 699848c..eaad25d 100644
--- a/omega-locales/zh_TW/LC_MESSAGES/omega-web.po
+++ b/omega-locales/zh_TW/LC_MESSAGES/omega-web.po
@@ -1057,3 +1057,32 @@ msgstr "檢查此[元素]使用的代理"
msgid "contextMenu_enableQuickSwitch"
msgstr "啟用快速切換"
+
+msgid "about_title"
+msgstr "關於"
+
+msgid "about_app_description"
+msgstr "一個代理設置工具"
+
+msgid "about_version"
+msgstr "版本 $VERSION$"
+
+msgid "about_disclaimer_networkService"
+msgstr "SwitchyOmega 不提供代理伺服器、VPN等網絡服務。"
+
+msgid "about_disclaimer_privacy"
+msgstr "SwitchyOmega 不會跟蹤您的上網記錄,不在頁面中插入廣告。請參見我們的"
+"隱私政策。"
+
+msgid "about_help"
+msgstr "如有其他問題或者需要幫助,請參考"
+"常見問題。"
+
+msgid "about_copyright"
+msgstr "版權所有 2012-2017 The SwitchyOmega Authors. 保留所有權利。"
+
+msgid "about_credits"
+msgstr "SwitchyOmega 的誕生離不開 SwitchyOmega 開源項目和其他開源軟體。"
+
+msgid "about_license"
+msgstr "SwitchyOmega 是自由軟體,使用GNU General Public License 版本 3 及以上授權。"
diff --git a/omega-target-chromium-extension/background_preload.coffee b/omega-target-chromium-extension/background_preload.coffee
index 1ac2350..e2de513 100644
--- a/omega-target-chromium-extension/background_preload.coffee
+++ b/omega-target-chromium-extension/background_preload.coffee
@@ -20,37 +20,11 @@ if chrome.i18n.getUILanguage?
chrome.contextMenus.create({
title: chrome.i18n.getMessage('popup_reportIssues')
contexts: ["browser_action"]
- onclick: ->
- url = 'https://github.com/FelisCatus/SwitchyOmega/issues/new?title=&body='
- finalUrl = url
- try
- extensionVersion = chrome.runtime.getManifest().version
- env =
- extensionVersion: extensionVersion
- projectVersion: extensionVersion
- userAgent: navigator.userAgent
- body = chrome.i18n.getMessage('popup_issueTemplate', [
- env.projectVersion, env.userAgent
- ])
- body ||= """
- \n\n
-
- SwitchyOmega #{env.projectVersion}
- #{env.userAgent}
- """
- finalUrl = url + encodeURIComponent(body)
- err = localStorage['logLastError']
- if err
- body += "\n```\n#{err}\n```"
- finalUrl = (url + encodeURIComponent(body)).substr(0, 2000)
-
- chrome.tabs.create(url: finalUrl)
+ onclick: OmegaDebug.reportIssue
})
chrome.contextMenus.create({
title: chrome.i18n.getMessage('popup_errorLog')
contexts: ["browser_action"]
- onclick: ->
- blob = new Blob [localStorage['log']], {type: "text/plain;charset=utf-8"}
- saveAs(blob, "OmegaLog_#{Date.now()}.txt")
+ onclick: OmegaDebug.downloadLog
})
diff --git a/omega-target-chromium-extension/grunt/coffee.coffee b/omega-target-chromium-extension/grunt/coffee.coffee
index d442b7d..db255f8 100644
--- a/omega-target-chromium-extension/grunt/coffee.coffee
+++ b/omega-target-chromium-extension/grunt/coffee.coffee
@@ -8,3 +8,6 @@ module.exports =
background_preload:
files:
'build/js/background_preload.js': 'background_preload.coffee'
+ omega_debug:
+ files:
+ 'build/js/omega_debug.js': 'omega_debug.coffee'
diff --git a/omega-target-chromium-extension/omega_debug.coffee b/omega-target-chromium-extension/omega_debug.coffee
new file mode 100644
index 0000000..cf54b15
--- /dev/null
+++ b/omega-target-chromium-extension/omega_debug.coffee
@@ -0,0 +1,40 @@
+window.OmegaDebug =
+ getProjectVersion: ->
+ chrome.runtime.getManifest().version
+ getExtensionVersion: ->
+ chrome.runtime.getManifest().version
+ downloadLog: ->
+ blob = new Blob [localStorage['log']], {type: "text/plain;charset=utf-8"}
+ saveAs(blob, "OmegaLog_#{Date.now()}.txt")
+ resetOptions: ->
+ localStorage.clear()
+ # Prevent options loading from sync storage after reload.
+ localStorage['omega.local.syncOptions'] = '"conflict"'
+ chrome.storage.local.clear()
+ chrome.runtime.reload()
+ reportIssue: ->
+ url = 'https://github.com/FelisCatus/SwitchyOmega/issues/new?title=&body='
+ finalUrl = url
+ try
+ projectVersion = OmegaDebug.getProjectVersion()
+ extensionVersion = OmegaDebug.getExtensionVersion()
+ env =
+ extensionVersion: extensionVersion
+ projectVersion: extensionVersion
+ userAgent: navigator.userAgent
+ body = chrome.i18n.getMessage('popup_issueTemplate', [
+ env.projectVersion, env.userAgent
+ ])
+ body ||= """
+ \n\n
+
+ SwitchyOmega #{env.projectVersion}
+ #{env.userAgent}
+ """
+ finalUrl = url + encodeURIComponent(body)
+ err = localStorage['logLastError']
+ if err
+ body += "\n```\n#{err}\n```"
+ finalUrl = (url + encodeURIComponent(body)).substr(0, 2000)
+
+ chrome.tabs.create(url: finalUrl)
diff --git a/omega-target-chromium-extension/overlay/background.html b/omega-target-chromium-extension/overlay/background.html
index 088ff6c..db50447 100644
--- a/omega-target-chromium-extension/overlay/background.html
+++ b/omega-target-chromium-extension/overlay/background.html
@@ -8,6 +8,7 @@
+
diff --git a/omega-target/src/options.coffee b/omega-target/src/options.coffee
index 56d9893..ba29231 100644
--- a/omega-target/src/options.coffee
+++ b/omega-target/src/options.coffee
@@ -123,16 +123,18 @@ class Options
'web.switchGuide': 'showOnFirstUse'
}).then (items) => @_state.set(items)
return null unless @sync?
- # Try to fetch options from sync storage.
- return @sync.storage.get(null).then (options) =>
- if not options['schemaVersion']
- @_state.set({'syncOptions': 'pristine'})
- return null
- else
- @_state.set({'syncOptions': 'sync'})
- @sync.enabled = true
- @log.log('Options#loadOptions::fromSync', options)
- options
+ @_state.get({'syncOptions': ''}).then ({syncOptions}) =>
+ return if syncOptions == 'conflict'
+ # Try to fetch options from sync storage.
+ return @sync.storage.get(null).then (options) =>
+ if not options['schemaVersion']
+ @_state.set({'syncOptions': 'pristine'})
+ return null
+ else
+ @_state.set({'syncOptions': 'sync'})
+ @sync.enabled = true
+ @log.log('Options#loadOptions::fromSync', options)
+ options
else
@log.error(e.stack)
# Some serious error happened when loading options. Disable syncing
@@ -260,7 +262,7 @@ class Options
###
reset: (options) ->
@log.method('Options#reset', this, arguments)
- options ?= getDefaultOptions()
+ options ?= @getDefaultOptions()
@upgrade(@parseOptions(options)).then ([opt]) =>
# Disable syncing when resetting to avoid affecting sync storage.
@sync.enabled = false if @sync?
diff --git a/omega-web/src/omega/app.coffee b/omega-web/src/omega/app.coffee
index 737a7a0..c0cde0d 100644
--- a/omega-web/src/omega/app.coffee
+++ b/omega-web/src/omega/app.coffee
@@ -35,13 +35,13 @@ angular.module('omega').config ($stateProvider, $urlRouterProvider,
/^\s*(https?|ftp|mailto|chrome-extension):/)
$animateProvider.classNameFilter(/angular-animate/)
- $urlRouterProvider.otherwise '/ui'
+ $urlRouterProvider.otherwise '/about'
$urlRouterProvider.otherwise ($injector, $location) ->
if $location.path() == ''
- $injector.get('omegaTarget').lastUrl() || '/ui'
+ $injector.get('omegaTarget').lastUrl() || '/about'
else
- '/ui'
+ '/about'
$stateProvider
.state('ui',
@@ -63,4 +63,22 @@ angular.module('omega').config ($stateProvider, $urlRouterProvider,
).state('about',
url: '/about'
templateUrl: 'partials/about.html'
+ controller: 'AboutCtrl'
)
+
+angular.module('omega').factory 'omegaDebug', ($window, $rootScope) ->
+ omegaDebug = $window.OmegaDebug ? {}
+
+ omegaDebug.downloadLog ?= ->
+ blob = new Blob [localStorage['log']], {type: "text/plain;charset=utf-8"}
+ saveAs(blob, "OmegaLog_#{Date.now()}.txt")
+
+ omegaDebug.reportIssue ?= ->
+ $window.open(
+ 'https://github.com/FelisCatus/SwitchyOmega/issues/new?title=&body=')
+ return
+
+ omegaDebug.resetOptions ?= ->
+ $rootScope.resetOptions()
+
+ omegaDebug
diff --git a/omega-web/src/omega/controllers/about.coffee b/omega-web/src/omega/controllers/about.coffee
new file mode 100644
index 0000000..843f802
--- /dev/null
+++ b/omega-web/src/omega/controllers/about.coffee
@@ -0,0 +1,14 @@
+angular.module('omega').controller 'AboutCtrl', ($scope, $rootScope,
+ $modal, omegaDebug) ->
+
+ $scope.downloadLog = omegaDebug.downloadLog
+ $scope.reportIssue = omegaDebug.reportIssue
+
+ $scope.showResetOptionsModal = ->
+ $modal.open(templateUrl: 'partials/reset_options_confirm.html').result
+ .then -> omegaDebug.resetOptions()
+
+ try
+ $scope.version = omegaDebug.getProjectVersion()
+ catch
+ $scope.version = '?.?.?'
diff --git a/omega-web/src/options.jade b/omega-web/src/options.jade
index d301eb6..d8f8f18 100644
--- a/omega-web/src/options.jade
+++ b/omega-web/src/options.jade
@@ -12,7 +12,8 @@ html(lang='en' ng-controller='MasterCtrl' ng-csp)
body(style='display: none;' ng-style='{display: options ? "block" : "none"}')
.container-fluid
header.col-lg-2.col-sm-3.side-nav
- h1 {{'appNameShort' | tr}}
+ h1
+ a(ui-sref='about' title='{{"about_title" | tr}}') {{'appNameShort' | tr}}
nav.nav.nav-pills.nav-stacked
li.nav-header {{'options_navHeader_setting' | tr}}
li(ui-sref-active='active'): a(ui-sref='ui')
@@ -63,6 +64,7 @@ html(lang='en' ng-controller='MasterCtrl' ng-csp)
span.glyphicon(class="{{alertIcons[alert.type]}}")
= ' '
| {{alert.i18n ? (alert.i18n | tr) : alert.message}}
+ script(src='js/omega_debug.js')
script(src='js/log_error.js')
script(src='lib/script.js/script.min.js')
script(src='js/options.js')
diff --git a/omega-web/src/partials/about.jade b/omega-web/src/partials/about.jade
new file mode 100644
index 0000000..8e47e04
--- /dev/null
+++ b/omega-web/src/partials/about.jade
@@ -0,0 +1,50 @@
+.page-header
+ h2 {{'about_title' | tr}}
+section
+ .media(style='margin: 1em 0')
+ .media-left
+ img.media-object(src='img/icons/omega-action-32.png')
+ .media-body
+ h4.media-heading {{'appNameShort' | tr}}
+ p {{'about_app_description' | tr}}
+section
+ p
+ button.btn.btn-info(ng-click='reportIssue()')
+ span.glyphicon.glyphicon-comment
+ = ' '
+ | {{'popup_reportIssues' | tr}}
+ = ' '
+ button.btn.btn-default(ng-click='downloadLog()')
+ span.glyphicon.glyphicon-download
+ = ' '
+ | {{'popup_errorLog' | tr}}
+ = ' '
+ button.btn.btn-danger(ng-click='showResetOptionsModal()')
+ span.glyphicon.glyphicon-alert
+ = ' '
+ | {{'options_reset' | tr}}
+section
+ p
+ | {{'about_version' | tr:[version]}}
+ p.text-warning
+ span.glyphicon.glyphicon-info-sign
+ = ' '
+ span(ng-bind-html='"about_disclaimer_networkService" | tr')
+ p.text-success
+ span.glyphicon.glyphicon-eye-close
+ = ' '
+ span(ng-bind-html='"about_disclaimer_privacy" | tr')
+ p.text-info
+ span.glyphicon.glyphicon-question-sign
+ = ' '
+ span(ng-bind-html='"about_help" | tr')
+
+section(style='margin-top: 7em')
+ p
+ | {{'appNameShort' | tr}}
+ br
+ span(ng-bind-html='"about_copyright" | tr')
+ br
+ span(ng-bind-html='"about_license" | tr')
+ br
+ span(ng-bind-html='"about_credits" | tr')
diff --git a/omega-web/src/partials/reset_options_confirm.jade b/omega-web/src/partials/reset_options_confirm.jade
new file mode 100644
index 0000000..8fd9202
--- /dev/null
+++ b/omega-web/src/partials/reset_options_confirm.jade
@@ -0,0 +1,10 @@
+.modal-header
+ button.close(type='button' ng-click='$dismiss()')
+ span(aria-hidden='true') ×
+ span.sr-only {{'dialog_close' | tr}}
+ h4.modal-title {{'options_modalHeader_resetOptions' | tr}}
+.modal-body
+ p.text-danger {{'options_resetOptionsConfirm' | tr}}
+.modal-footer
+ button.btn.btn-default(ng-click='$dismiss()') {{'dialog_cancel' | tr}}
+ button.btn.btn-danger(type='button' ng-click='$close("ok")') {{'options_reset' | tr}}