Merge branch 'master' into greenkeeper/webpack-hot-middleware-2.16.0
This commit is contained in:
Коммит
034785d183
|
@ -70,6 +70,7 @@
|
|||
// This ensures a new line after all import statements.
|
||||
"import/newline-after-import": ["error"],
|
||||
"jsx-a11y/no-static-element-interactions": "off",
|
||||
"no-console": "error",
|
||||
"no-plusplus": "off",
|
||||
"no-underscore-dangle": "off",
|
||||
"space-before-function-paren": ["error", "never"],
|
||||
|
|
|
@ -20,6 +20,10 @@ RUN buildDeps=' \
|
|||
ADD . /srv/code/
|
||||
WORKDIR /srv/code
|
||||
|
||||
# The V2 Pipeline expects version.json to be located in /app/
|
||||
# As a temporary measure symlink to the version.json generated by Circle-CI
|
||||
RUN mkdir /app && ln -s /srv/code/version.json /app/version.json
|
||||
|
||||
# Replace the local node_modules with the ones we installed above.
|
||||
RUN rm -rf node_modules
|
||||
RUN ln -s /srv/node/node_modules
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
|
||||
[![Build Status](https://travis-ci.org/mozilla/addons-frontend.svg?branch=master)](https://travis-ci.org/mozilla/addons-frontend)
|
||||
[![Coverage Status](https://coveralls.io/repos/github/mozilla/addons-frontend/badge.svg?branch=master)](https://coveralls.io/github/mozilla/addons-frontend?branch=master)
|
||||
|
||||
[Documentation](http://addons-frontend.readthedocs.io/en/latest/)
|
||||
[![Documentation](https://readthedocs.org/projects/addons-frontend/badge/?version=latest)](http://addons-frontend.readthedocs.io/en/latest/)
|
||||
|
||||
# Addons-frontend 🔥
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@ module.exports = {
|
|||
'af', 'ar', 'ast', 'bg', 'bn-BD', 'ca', 'cs', 'da', 'de', 'dbl', 'dbr', 'dsb', 'el',
|
||||
'en-GB', 'en-US', 'es', 'eu', 'fa', 'fi', 'fr', 'fy-NL', 'ga-IE', 'he', 'hsb', 'hu', 'id',
|
||||
'it', 'ja', 'kab', 'ko', 'mk', 'mn', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk',
|
||||
'sl', 'sq', 'sv-SE', 'uk', 'vi', 'zh-CN', 'zh-TW',
|
||||
'sl', 'sq', 'sv-SE', 'th', 'uk', 'vi', 'zh-CN', 'zh-TW',
|
||||
],
|
||||
// Map of short langs to longer ones.
|
||||
langMap: {
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-07-22 13:25+0000\n"
|
||||
"Last-Translator: Mohamed Hafez <mohamed7afezz@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "أغلاق"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -3,8 +3,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"PO-Revision-Date: 2016-09-21 23:42+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-02-02 13:58+0000\n"
|
||||
"Last-Translator: Enol <enolp@softastur.org>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: ast\n"
|
||||
|
@ -15,13 +15,12 @@ msgstr ""
|
|||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
#, fuzzy
|
||||
msgid "Install Theme"
|
||||
msgstr "Instalando %(name)s."
|
||||
msgstr "Instalar tema"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "Amestar a Firefox"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
|
@ -63,46 +62,46 @@ msgstr "Agora pues acceder a %(name)s dende la barra de ferramientes."
|
|||
msgid "OK!"
|
||||
msgstr "¡Val!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Pasa penriba pa previsualizar o primi pa instalar %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Pasa penriba d'una imaxe pa previsualizala"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Falló la instalación. Volvi tentalo, por favor."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Falló la descarga. Comprueba la to conexón, por favor."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Asocedió un fallu inesperáu na instalación."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Asocedió un fallu inesperáu na desinstalación."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Asocedió un fallu inesperáu."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Esti add-on desinstalaráse dempués de que reanicies Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Reanicia Firefox pa usar esti add-on, por favor."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Zarrar"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Pasa penriba pa previsualizar o primi pa instalar %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Descubrir add-ons"
|
||||
|
|
|
@ -3,8 +3,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"PO-Revision-Date: 2016-09-01 08:07+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-02-01 10:44+0000\n"
|
||||
"Last-Translator: :stoyan <stoyan@gmx.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: bg\n"
|
||||
|
@ -15,13 +15,12 @@ msgstr ""
|
|||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
#, fuzzy
|
||||
msgid "Install Theme"
|
||||
msgstr "Инсталиране на %(name)s."
|
||||
msgstr "Инсталиране на темата"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "Добавяне към Firefox"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
|
@ -63,46 +62,46 @@ msgstr "Вече може да достъпвате %(name)s от лентата
|
|||
msgid "OK!"
|
||||
msgstr "Добре!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Посочете с мишката за преглед или натиснете за инсталиране на %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Посочете изображението с мишката за преглед"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Грешка при инсталацията. Моля, опитайте отново."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Грешка при изтеглянето. Моля, проверете свързаността си."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Възникна неочаквана грешка при инсталацията."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Възникна неочаквана грешка при премахването."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Възникна неочаквана грешка."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Тази добавка ще бъде премахната, след рестарт на Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Моля, рестартирайте Firefox, за да използвате тази добавка."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Затваряне"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Посочете с мишката за преглед или натиснете за инсталиране на %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Още добавки"
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-10-23 22:57+0000\n"
|
||||
"Last-Translator: S M Sarwar Nobin <smsarwar1996@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr "আপনি এখন টুলবার থেকে %(name)s এ প
|
|||
msgid "OK!"
|
||||
msgstr "ওকে!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hover করুন প্রিভিউ দেখতে অথবা ক্লিক করুন %(name)s ইন্সটল করতে"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "ছবির উপর মাউস ঘুরান প্রিভিউ দেখতে"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "ইন্সটল করা সম্ভব হয়নি। দয়া করে আবার চেস্টা করুন।"
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "ডাউনলোড সম্ভব হয়নি। দয়া করে আপনার সংযোগটি পরীক্ষা করুন।"
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "অপ্রত্যাশিত ভূল হয়েছে ইন্সটল করার সময়।"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "অপ্রত্যাশিত ভূল হয়েছে আনইন্সটল করার সময়।"
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "অপ্রত্যাশিত ভূল হয়েছে।"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "আপনার ফায়ারফক্সটি রিস্টার্ট এর পর এড-অনটি আনইন্সটল হবে।"
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "এড-অন টি ব্যবহার করতে আপনা ফায়ারফক্সকে রি-স্টার্ট করুন।"
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "বন্ধ"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hover করুন প্রিভিউ দেখতে অথবা ক্লিক করুন %(name)s ইন্সটল করতে"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "আরো এড-অন আবিষ্কার করুন"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-29 20:34+0000\n"
|
||||
"Last-Translator: Tomáš Zelina <zelitomas@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,46 @@ msgstr "Nyní můžete přistupovat k %(name)s z panelu nástrojů."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Najeďte myší pro náhled nebo klepněte pro instalaci doplňku %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Pro náhled přejeďte nad obrázkem myší"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalace selhala. Zkuste to prosím znovu."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Stahování selhalo. Zkontrolujte prosím své připojení."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Během instalace došlo k neočekávané chybě."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Během odinstalace došlo k neočekávané chybě."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Došlo k neočekávané chybě."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Tento doplněk bude odinstalován jakmile restartujete Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Pro použití tohoto doplňku prosím restartujte Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Najeďte myší pro náhled nebo klepněte pro instalaci doplňku %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Objevte doplňky"
|
||||
|
@ -129,14 +129,20 @@ msgstr "Přizpůsobte si svůj Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Jsou tady tisíce bezplatných doplňků vytvořených vývojáři z celého světa, které vám pomůžou přizpůsobit si prohlížeč podle sebe. Od nádherných motivů vzhledu až po produktivní nástroje, díky kterým "
|
||||
"bude prohlížení rychlejší a bezpečnější, všechny z nich pomáhají, aby se prohlížeč stal vaším prohlížečem. Abychom vám do začátku pomohli, vybrali jsme některé, které pro jejich výkon a funkce "
|
||||
"doporučujeme."
|
||||
"Jsou tady tisíce bezplatných doplňků vytvořených vývojáři z celého světa, "
|
||||
"které vám pomůžou přizpůsobit si prohlížeč podle sebe. Od nádherných motivů "
|
||||
"vzhledu až po produktivní nástroje, díky kterým bude prohlížení rychlejší a "
|
||||
"bezpečnější, všechny z nich pomáhají, aby se prohlížeč stal vaším "
|
||||
"prohlížečem. Abychom vám do začátku pomohli, vybrali jsme některé, které pro "
|
||||
"jejich výkon a funkce doporučujeme."
|
||||
|
||||
#~ msgid "Preview %(name)s"
|
||||
#~ msgstr "Náhled %(name)s"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-28 23:29+0000\n"
|
||||
"Last-Translator: Joergen <joergenr@stofanet.dk>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,48 @@ msgstr "Du kan nu tilgå %(name)s fra værktøjslinjen."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Hold markøren over for at få vist et eksempel, eller klik for at installere "
|
||||
"%(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Hold markøren over for billedet for at få vist et eksempel"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installationen mislykkedes. Prøv igen."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Filhentning mislykkedes. Kontroller din forbindelse."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Der opstod en uventet fejl under installationen."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Der opstod en uventet fejl under afinstallationen."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Der opstod en uventet fejl."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Denne tilføjelse vil blive afinstalleret, når du genstarter Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Genstart Firefox for at bruge denne tilføjelse."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hold markøren over for at få vist et eksempel, eller klik for at installere %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Find tilføjelser"
|
||||
|
@ -129,10 +131,15 @@ msgstr "Tilpas Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Udviklere over hele verden har lavet tusindvis af gratis tilføjelser, der kan personliggøre din surfen på internettet — du kan tilføje alt fra sjove temaer til kraftfulde værktøjer og funktioner. "
|
||||
"Her er nogle, som du kan prøve."
|
||||
"Udviklere over hele verden har lavet tusindvis af gratis tilføjelser, der "
|
||||
"kan personliggøre din surfen på internettet — du kan tilføje alt fra sjove "
|
||||
"temaer til kraftfulde værktøjer og funktioner. Her er nogle, som du kan "
|
||||
"prøve."
|
||||
|
|
|
@ -2,24 +2,23 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
#, fuzzy
|
||||
msgid "Install Theme"
|
||||
msgstr "Īƞşŧȧŀŀīƞɠ %(name)s."
|
||||
msgstr "Īƞşŧȧŀŀ Ŧħḗḿḗ"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "Ȧḓḓ ŧǿ Ƒīřḗƒǿẋ"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
|
@ -61,46 +60,46 @@ msgstr "Ƞǿẇ ẏǿŭ ƈȧƞ ȧƈƈḗşş %(name)s ƒřǿḿ ŧħḗ ŧǿǿŀ
|
|||
msgid "OK!"
|
||||
msgstr "ǾĶ!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Ħǿṽḗř ŧǿ ƥřḗṽīḗẇ ǿř ƈŀīƈķ ŧǿ īƞşŧȧŀŀ %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Ħǿṽḗř ǿṽḗř ŧħḗ īḿȧɠḗ ŧǿ ƥřḗṽīḗẇ"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Īƞşŧȧŀŀȧŧīǿƞ ƒȧīŀḗḓ. Ƥŀḗȧşḗ ŧřẏ ȧɠȧīƞ."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Ḓǿẇƞŀǿȧḓ ƒȧīŀḗḓ. Ƥŀḗȧşḗ ƈħḗƈķ ẏǿŭř ƈǿƞƞḗƈŧīǿƞ."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Ȧƞ ŭƞḗẋƥḗƈŧḗḓ ḗřřǿř ǿƈƈŭřřḗḓ ḓŭřīƞɠ īƞşŧȧŀŀȧŧīǿƞ."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Ȧƞ ŭƞḗẋƥḗƈŧḗḓ ḗřřǿř ǿƈƈŭřřḗḓ ḓŭřīƞɠ ŭƞīƞşŧȧŀŀȧŧīǿƞ."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ȧƞ ŭƞḗẋƥḗƈŧḗḓ ḗřřǿř ǿƈƈŭřřḗḓ."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Ŧħīş ȧḓḓ-ǿƞ ẇīŀŀ ƀḗ ŭƞīƞşŧȧŀŀḗḓ ȧƒŧḗř ẏǿŭ řḗşŧȧřŧ Ƒīřḗƒǿẋ."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ƥŀḗȧşḗ řḗşŧȧřŧ Ƒīřḗƒǿẋ ŧǿ ŭşḗ ŧħīş ȧḓḓ-ǿƞ."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Ƈŀǿşḗ"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Ħǿṽḗř ŧǿ ƥřḗṽīḗẇ ǿř ƈŀīƈķ ŧǿ īƞşŧȧŀŀ %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Ḓīşƈǿṽḗř Ȧḓḓ-ǿƞş"
|
||||
|
@ -128,8 +127,8 @@ msgstr "Ƥḗřşǿƞȧŀīzḗ Ẏǿŭř Ƒīřḗƒǿẋ"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun "
|
||||
"visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
|
|
|
@ -2,24 +2,23 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
#, fuzzy
|
||||
msgid "Install Theme"
|
||||
msgstr "Iusʇɐʅʅıuƃ %(name)s˙"
|
||||
msgstr "Iusʇɐʅʅ ⊥ɥǝɯǝ"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "∀pp ʇo Ⅎıɹǝɟox"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
|
@ -61,46 +60,46 @@ msgstr "Noʍ ʎon ɔɐu ɐɔɔǝss %(name)s ɟɹoɯ ʇɥǝ ʇooʅqɐɹ˙"
|
|||
msgid "OK!"
|
||||
msgstr "OӼ¡"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hoʌǝɹ ʇo dɹǝʌıǝʍ oɹ ɔʅıɔʞ ʇo ıusʇɐʅʅ %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Hoʌǝɹ oʌǝɹ ʇɥǝ ıɯɐƃǝ ʇo dɹǝʌıǝʍ"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Iusʇɐʅʅɐʇıou ɟɐıʅǝp˙ Ԁʅǝɐsǝ ʇɹʎ ɐƃɐıu˙"
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "ᗡoʍuʅoɐp ɟɐıʅǝp˙ Ԁʅǝɐsǝ ɔɥǝɔʞ ʎonɹ ɔouuǝɔʇıou˙"
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "∀u nuǝxdǝɔʇǝp ǝɹɹoɹ oɔɔnɹɹǝp pnɹıuƃ ıusʇɐʅʅɐʇıou˙"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "∀u nuǝxdǝɔʇǝp ǝɹɹoɹ oɔɔnɹɹǝp pnɹıuƃ nuıusʇɐʅʅɐʇıou˙"
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "∀u nuǝxdǝɔʇǝp ǝɹɹoɹ oɔɔnɹɹǝp˙"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "⊥ɥıs ɐpp-ou ʍıʅʅ qǝ nuıusʇɐʅʅǝp ɐɟʇǝɹ ʎon ɹǝsʇɐɹʇ Ⅎıɹǝɟox˙"
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ԁʅǝɐsǝ ɹǝsʇɐɹʇ Ⅎıɹǝɟox ʇo nsǝ ʇɥıs ɐpp-ou˙"
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Ↄʅosǝ"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hoʌǝɹ ʇo dɹǝʌıǝʍ oɹ ɔʅıɔʞ ʇo ıusʇɐʅʅ %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "ᗡısɔoʌǝɹ ∀pp-ous"
|
||||
|
@ -128,8 +127,8 @@ msgstr "Ԁǝɹsouɐʅızǝ ⅄onɹ Ⅎıɹǝɟox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun "
|
||||
"visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
|
@ -137,8 +136,8 @@ msgid ""
|
|||
"and functionality."
|
||||
msgstr ""
|
||||
"⊥ɥǝɹǝ ɐɹǝ ʇɥonsɐups oɟ ɟɹǝǝ ɐpp-ous´ ɔɹǝɐʇǝp qʎ pǝʌǝʅodǝɹs ɐʅʅ oʌǝɹ\n"
|
||||
"ʇɥǝ ʍoɹʅp´ ʇɥɐʇ ʎon ɔɐu ıusʇɐʅʅ ʇo dǝɹsouɐʅızǝ ʎonɹ Ⅎıɹǝɟox˙ Ⅎɹoɯ ɟnu ʌısnɐʅ "
|
||||
"ʇɥǝɯǝs\n"
|
||||
"ʇɥǝ ʍoɹʅp´ ʇɥɐʇ ʎon ɔɐu ıusʇɐʅʅ ʇo dǝɹsouɐʅızǝ ʎonɹ Ⅎıɹǝɟox˙ Ⅎɹoɯ ɟnu "
|
||||
"ʌısnɐʅ ʇɥǝɯǝs\n"
|
||||
"ʇo doʍǝɹɟnʅ ʇooʅs ʇɥɐʇ ɯɐʞǝ qɹoʍsıuƃ ɟɐsʇǝɹ ɐup sɐɟǝɹ´ ɐpp-ous ɯɐʞǝ ʎonɹ "
|
||||
"qɹoʍsǝɹ ʎonɹs˙\n"
|
||||
"⊥o ɥǝʅd ʎon ƃǝʇ sʇɐɹʇǝp´ ɥǝɹǝ ɐɹǝ soɯǝ ʍǝ ɹǝɔoɯɯǝup ɟoɹ ʇɥǝıɹ sʇɐup-onʇ "
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 15:45+0000\n"
|
||||
"Last-Translator: Michael Köhler <michael.koehler1@gmx.de>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -32,7 +32,9 @@ msgstr "%(name)s wird installiert."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "%(name)s wurde installiert und aktiviert. Klicken Sie, um es zu deinstallieren."
|
||||
msgstr ""
|
||||
"%(name)s wurde installiert und aktiviert. Klicken Sie, um es zu "
|
||||
"deinstallieren."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +64,49 @@ msgstr "Sie können jetzt über die Symbolleiste auf %(name)s zugreifen."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Bewegen Sie den Mauszeiger über die Grafik, um eine Vorschau anzuzeigen."
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Zur Vorschau Mauszeiger darüber halten, zum Installieren von %(name)s klicken"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
"Bewegen Sie den Mauszeiger über die Grafik, um eine Vorschau anzuzeigen."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installation fehlgeschlagen. Bitte versuchen Sie es erneut."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Download fehlgeschlagen. Bitte überprüfen Sie Ihre Verbindung."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Bei der Installation ist ein unerwarteter Fehler aufgetreten."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Bei der Deinstallation ist ein unerwarteter Fehler aufgetreten."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ein unerwarteter Fehler ist aufgetreten."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Dieses Add-on wird deinstalliert, nachdem Sie Firefox neu gestartet haben."
|
||||
msgstr ""
|
||||
"Dieses Add-on wird deinstalliert, nachdem Sie Firefox neu gestartet haben."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Bitte starten Sie Firefox neu, um dieses Add-on zu verwenden."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Zur Vorschau Mauszeiger darüber halten, zum Installieren von %(name)s klicken"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Add-ons entdecken"
|
||||
|
@ -129,13 +134,19 @@ msgstr "Passen Sie Ihren Firefox an."
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Es gibt Tausende von kostenlosen Add-ons von Entwicklern auf der ganzen Welt, mit denen Sie Firefox an Ihre Bedürfnisse anpassen können – alles, von lustigen Themes zu mächtigen Werkzeugen, dank "
|
||||
"denen Sie schneller und sicherer surfen können. Für den Einstieg empfehlen wir Ihnen hier einige besonders leistungsfähige und funktionsreiche Add-ons."
|
||||
"Es gibt Tausende von kostenlosen Add-ons von Entwicklern auf der ganzen "
|
||||
"Welt, mit denen Sie Firefox an Ihre Bedürfnisse anpassen können – alles, von "
|
||||
"lustigen Themes zu mächtigen Werkzeugen, dank denen Sie schneller und "
|
||||
"sicherer surfen können. Für den Einstieg empfehlen wir Ihnen hier einige "
|
||||
"besonders leistungsfähige und funktionsreiche Add-ons."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Installiert und zur Symbolleiste hinzugefügt."
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 22:06+0000\n"
|
||||
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -11,7 +11,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
|
@ -32,7 +33,8 @@ msgstr "%(name)s se instalěrujo."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "%(name)s jo se instalěrował a zmóžnił. Klikniśo, aby jen wótinstalěrował."
|
||||
msgstr ""
|
||||
"%(name)s jo se instalěrował a zmóžnił. Klikniśo, aby jen wótinstalěrował."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +64,48 @@ msgstr "Něnto maśo pśistup na %(name)s ze symboloweje rědki."
|
|||
msgid "OK!"
|
||||
msgstr "W pórěźe!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Za pśeglěd špěrku myški nad tym źaržaś abo za instalěrowanje %(name)s kliknuś"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Gibniśo myšku nad wobraz za pśeglěd"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalacija njejo se raźiła. Pšosym wopytajśo hyšći raz."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Ześěgnjenje njejo se raźiło. Pšosym pśeglědujśo swój zwisk."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Njewótcakana zmólka jo pśi instalěrowanju nastała."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Njewótcakana zmólka jo pśi wótinstalěrowanju nastała."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Njewótcakana zmólka jo nastała."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Toś ten dodank se wótinstalěrujo, za tym až sćo Firefox znowego startował."
|
||||
msgstr ""
|
||||
"Toś ten dodank se wótinstalěrujo, za tym až sćo Firefox znowego startował."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Pšosym startujśo Firefox znowego, aby toś ten dodank wužywał."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Zacyniś"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Za pśeglěd špěrku myški nad tym źaržaś abo za instalěrowanje %(name)s kliknuś"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Dodanki namakaś"
|
||||
|
@ -129,13 +133,19 @@ msgstr "Pśiměrśo swój Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Su towzynty dermotnych dodankwo, napóranych wót wuwijarjow z cełego swěta, kótrež wam zmóžnjaju, Firefox wašym pótrěbnosćam pśiměriś – wšykno, wót směšnych drastwow až do mócnych rědow, "
|
||||
"kótarež póspěšuju pśeglědowanje a cynje jo wěsćejše. Dodanki cynje waš wobglědowak k wašomu. Za zachopjeńk dopórucujomy wam někotare wugbałe dodanki z wjele funkcijami."
|
||||
"Su towzynty dermotnych dodankwo, napóranych wót wuwijarjow z cełego swěta, "
|
||||
"kótrež wam zmóžnjaju, Firefox wašym pótrěbnosćam pśiměriś – wšykno, "
|
||||
"wót směšnych drastwow až do mócnych rědow, kótarež póspěšuju pśeglědowanje a "
|
||||
"cynje jo wěsćejše. Dodanki cynje waš wobglědowak k wašomu. Za zachopjeńk "
|
||||
"dopórucujomy wam někotare wugbałe dodanki z wjele funkcijami."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Instalěrowany a symbolowej rědce pśidany"
|
||||
|
|
|
@ -3,8 +3,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"PO-Revision-Date: 2016-12-11 14:54+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-30 09:17+0000\n"
|
||||
"Last-Translator: Jim Spentzos <jamesspentzos@hotmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: el\n"
|
||||
|
@ -15,13 +15,12 @@ msgstr ""
|
|||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
#, fuzzy
|
||||
msgid "Install Theme"
|
||||
msgstr "Γίνεται εγκατάσταση του %(name)s."
|
||||
msgstr "Εγκατάσταση θέματος"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "Προσθήκη στο Firefox"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
|
@ -65,48 +64,48 @@ msgstr "Έχετε πλέον πρόσβαση στο %(name)s από τη γρ
|
|||
msgid "OK!"
|
||||
msgstr "ΟΚ!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Μετακινήστε τον κέρσορα πάνω από την εικόνα για προεπισκόπηση"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Αποτυχία εγκατάστασης. Παρακαλώ προσπαθήστε ξανά."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Αποτυχία λήψης. Παρακαλώ ελέγξτε τη σύνδεσή σας."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Προέκυψε ένα απροσδόκητο σφάλμα κατά την εγκατάσταση."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Προέκυψε ένα απροσδόκητο σφάλμα κατά την απεγκατάσταση."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Προέκυψε ένα απροσδόκητο σφάλμα."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Αυτό το πρόσθετο θα απεγκατασταθεί αφού επανεκκινήσετε το Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Παρακαλώ επανεκκινήστε το Firefox για χρήση του πρόσθετου."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Περάστε από πάνω τον κέρσορα για προεπισκόπηση ή κάντε κλικ για εγκατάσταση "
|
||||
"του %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Μετακινήστε τον κέρσορα πάνω από την εικόνα για προεπισκόπηση"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Αποτυχία εγκατάστασης. Παρακαλώ προσπαθήστε ξανά."
|
||||
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Αποτυχία λήψης. Παρακαλώ ελέγξτε τη σύνδεσή σας."
|
||||
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Προέκυψε ένα απροσδόκητο σφάλμα κατά την εγκατάσταση."
|
||||
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Προέκυψε ένα απροσδόκητο σφάλμα κατά την απεγκατάσταση."
|
||||
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Προέκυψε ένα απροσδόκητο σφάλμα."
|
||||
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Αυτό το πρόσθετο θα απεγκατασταθεί αφού επανεκκινήσετε το Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Παρακαλώ επανεκκινήστε το Firefox για χρήση του πρόσθετου."
|
||||
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Ανακάλυψη πρόσθετων"
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-09-13 05:32+0000\n"
|
||||
"Last-Translator: Ian Neal <iann_bugzilla@blueyonder.co.uk>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr "Now you can access %(name)s from the toolbar."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hover to preview or click to install %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Hover over the image to preview"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installation failed. Please try again."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Download failed. Please check your connection."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "An unexpected error occurred during installation."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "An unexpected error occurred during uninstallation."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "An unexpected error occurred."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "This add-on will be uninstalled after you restart Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Please restart Firefox to use this add-on."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hover to preview or click to install %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Discover Add-ons"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -61,46 +61,46 @@ msgstr "Now you can access %(name)s from the toolbar."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hover to preview or click to install %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Hover over the image to preview"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installation failed. Please try again."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Download failed. Please check your connection."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "An unexpected error occurred during installation."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "An unexpected error occurred during uninstallation."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "An unexpected error occurred"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "This add-on will be uninstalled after you restart Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Please restart Firefox to use this add-on."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hover to preview or click to install %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Discover Add-ons"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 14:57+0000\n"
|
||||
"Last-Translator: avelper <avelper@mozilla-hispano.org>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,46 @@ msgstr "Ya puedes acceder a %(name)s desde la barra de herramientas."
|
|||
msgid "OK!"
|
||||
msgstr "¡Vale!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Pasa por encima para verla o haz clic para instalar %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Pasa por la imagen para visualizarla"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Falló la instalación. Vuelve a intentarlo, por favor."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Falló la descarga. Comprueba tu conexión, por favor."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Se ha producido un error inesperado durante la instalación."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Se ha producido un error inesperado durante la desinstalación."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Se ha producido un error inesperado."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "El complemento se desinstalará tras reiniciar Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Por favor, reinicia Firefox para usar este complemento."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Pasa por encima para verla o haz clic para instalar %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Descubrir complementos"
|
||||
|
@ -129,15 +129,22 @@ msgstr "Personaliza tu Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Hay miles de complementos gratis, creados por desarrolladores de todo el mundo\n"
|
||||
"y que te ayudan a personalizar Firefox. Desde divertidos temas visuales a herramientas \n"
|
||||
"y funciones alucinantes para que navegues más rápido y seguro. Los complementos te\n"
|
||||
"ayudan a personalizar tu navegador. Para empezar, te recomendamos algunos por su\n"
|
||||
"Hay miles de complementos gratis, creados por desarrolladores de todo el "
|
||||
"mundo\n"
|
||||
"y que te ayudan a personalizar Firefox. Desde divertidos temas visuales a "
|
||||
"herramientas \n"
|
||||
"y funciones alucinantes para que navegues más rápido y seguro. Los "
|
||||
"complementos te\n"
|
||||
"ayudan a personalizar tu navegador. Para empezar, te recomendamos algunos "
|
||||
"por su\n"
|
||||
"rendimiento y funcionalidad."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-11-18 14:42+0000\n"
|
||||
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr "حالا شما میتوانید به %(name)s از طریق نوار
|
|||
msgid "OK!"
|
||||
msgstr "باشه!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "برای پیشنمایش موس را بر رویاش نگه دارید یا برای نصب %(name)s کلیک کنید"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "برای پیشنمایش بر روی تصویر حرکت کنید"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "نصب شکست خورد. لطفا دوباره تلاش کنید."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "دریافت شکست خورد. لطفا اتصال خود را بررسی کنید."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "یک خطا غیر منتظره در هنگام نصب رُخ داد."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "یک خطا غیر منتظره در هنگام حذف رُخ داد."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "یک خطا غیر منتظره رُخ داد."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "این افزودنی پس از راهاندازی مجدد فایرفاکس حذف خواهد شد."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "لطفا برای استفاده از این افزودنی فایرفاکس را مجددا راهاندازی کنید."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "بستن"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "برای پیشنمایش موس را بر رویاش نگه دارید یا برای نصب %(name)s کلیک کنید"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "افزونه کشف کنید"
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-08-01 20:02+0000\n"
|
||||
"Last-Translator: Jarmo <jarmo@juslin.me>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Esikatsele %(name)s osoittamalla tai asenna se napsauttamalla"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Esikatsele osoittamalla kuvaa"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Asennus epäonnistui. Yritä uudestaan."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Lataus epäonnistui. Tarkista verkkoyhteys."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Asennuksessa tapahtui odottamaton virhe."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Asennuksen poistossa tapahtui odottamaton virhe."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Tapahtui odottamaton virhe."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Tämä lisäosa poistetaan, kun käynnistät Firefoxin uudestaan."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Käynnistä Firefox uudestaan, jotta voit käyttää tätä lisäosaa."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Esikatsele %(name)s osoittamalla tai asenna se napsauttamalla"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Löydä lisäosia"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-25 20:11+0000\n"
|
||||
"Last-Translator: Théo Chevalier <theo.chevalier11@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,48 @@ msgstr "Vous pouvez à présent accéder à %(name)s depuis la barre d’outils.
|
|||
msgid "OK!"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Survolez l’image pour activer la prévisualisation ou cliquez pour installer "
|
||||
"%(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Survolez l’image pour activer la prévisualisation"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Échec de l’installation. Veuillez réessayer."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Échec du téléchargement. Veuillez vérifier votre connexion."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Une erreur inattendue s’est produite pendant l’installation."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Une erreur inattendue s’est produite pendant la désinstallation."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Une erreur inattendue s’est produite."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Ce module sera désinstallé au prochain démarrage de Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Veuillez redémarrer Firefox pour utiliser ce module."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Survolez l’image pour activer la prévisualisation ou cliquez pour installer %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Découvrez des modules"
|
||||
|
@ -129,14 +131,21 @@ msgstr "Personnalisez Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Il existe des milliers de modules gratuits, créés par des développeurs du monde entier, que vous pouvez installer pour personnaliser Firefox. Des thèmes amusants jusqu’aux puissants outils qui "
|
||||
"rendent votre navigation encore plus rapide et sûre, les modules vous permettent de personnaliser complètement votre navigation. Pour vous aider à bien démarrer, nous en avons sélectionné quelques-"
|
||||
"uns selon leurs performances et leurs fonctionnalités."
|
||||
"Il existe des milliers de modules gratuits, créés par des développeurs du "
|
||||
"monde entier, que vous pouvez installer pour personnaliser Firefox. Des "
|
||||
"thèmes amusants jusqu’aux puissants outils qui rendent votre navigation "
|
||||
"encore plus rapide et sûre, les modules vous permettent de personnaliser "
|
||||
"complètement votre navigation. Pour vous aider à bien démarrer, nous en "
|
||||
"avons sélectionné quelques-uns selon leurs performances et leurs "
|
||||
"fonctionnalités."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Installé et ajouté à la barre d’outils"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-25 11:37+0000\n"
|
||||
"Last-Translator: Fjoerfoks <fryskefirefox@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -32,7 +32,8 @@ msgstr "%(name)s wurdt ynstallearre."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "%(name)s is ynstallearre en ynskeakele. Klik om de add-on fuort te smiten."
|
||||
msgstr ""
|
||||
"%(name)s is ynstallearre en ynskeakele. Klik om de add-on fuort te smiten."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +63,48 @@ msgstr "Jo kinne %(name)s no benaderje fan de arkbalke ôf."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Hâld de mûsoanwizer hjir foar in foarbyld of klik om %(name)s te "
|
||||
"ynstallearjen"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Hâld de mûsoanwizer boppe de ôfbylding foar in foarbyld"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Ynstallaasje mislearre. Probearje it opnij."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Downloaden mislearre. Kontrolearje jo ferbining."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Der is in ûnferwachte flater bard wylst it ynstallearjen."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Der is in ûnferwachte flater bard wylst it fuortsmiten."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Der is in ûnferwachte flater bard."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Dizze add-on sil de-ynstallearre wurde neidat jo Firefox opnij starte."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Start Firefox opnij om dizze add-on te brûken."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Slute"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Hâld de mûsoanwizer hjir foar in foarbyld of klik om %(name)s te ynstallearjen"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Add-ons ûntdekke"
|
||||
|
@ -129,13 +132,20 @@ msgstr "Personalisearje jo Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Der binne tûzenen fergese add-ons, makke troch ûntwikkelers fan oer de hiele wrâld,\n"
|
||||
"dy jo ynstallearje kinne om jo Firefox te personalisearjen. Fariearjend fan aardige fisuele tema’s\n"
|
||||
"oant krêftige helpmiddelen dy't it browsen flugger en feiliger meitsje, meitsje add-ons jo browser fan jo.\n"
|
||||
"Om jo op gong te helpen, binne hjir in pear add-ons dy't wy oanrekkomandearre fanwege harren bjusterbaarlike prestaasjes\n"
|
||||
"Der binne tûzenen fergese add-ons, makke troch ûntwikkelers fan oer de hiele "
|
||||
"wrâld,\n"
|
||||
"dy jo ynstallearje kinne om jo Firefox te personalisearjen. Fariearjend fan "
|
||||
"aardige fisuele tema’s\n"
|
||||
"oant krêftige helpmiddelen dy't it browsen flugger en feiliger meitsje, "
|
||||
"meitsje add-ons jo browser fan jo.\n"
|
||||
"Om jo op gong te helpen, binne hjir in pear add-ons dy't wy "
|
||||
"oanrekkomandearre fanwege harren bjusterbaarlike prestaasjes\n"
|
||||
"en funksjonaliteit."
|
||||
|
|
|
@ -1,243 +1,249 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: amo\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2016-11-10 09:55+0000\n"
|
||||
"PO-Revision-Date: 2016-11-10 09:55+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"PO-Revision-Date: 2017-02-03 21:54+0000\n"
|
||||
"Last-Translator: kscanne <kscanne@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ga\n"
|
||||
"Language: ga_IE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4;\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/amo/components/AddonDetail.js:49
|
||||
msgid "%(addonName)s %(startSpan)sby %(authorList)s%(endSpan)s"
|
||||
msgstr ""
|
||||
msgstr "%(addonName)s %(startSpan)sle %(authorList)s%(endSpan)s"
|
||||
|
||||
#: src/amo/components/AddonDetail.js:74
|
||||
msgid "Extension Metadata"
|
||||
msgstr ""
|
||||
msgstr "Meiteashonraí na hEisínteachta"
|
||||
|
||||
#: src/amo/components/AddonDetail.js:81
|
||||
msgid "Screenshots"
|
||||
msgstr ""
|
||||
msgstr "Seatanna den scáileán"
|
||||
|
||||
#: src/amo/components/AddonDetail.js:88
|
||||
msgid "About this extension"
|
||||
msgstr ""
|
||||
msgstr "Maidir leis an eisínteacht seo"
|
||||
|
||||
#: src/amo/components/AddonDetail.js:96
|
||||
msgid "Rate your experience"
|
||||
msgstr ""
|
||||
msgstr "Rátáil d'eispéireas"
|
||||
|
||||
#: src/amo/components/AddonMeta.js:19
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
msgstr "Catagóir"
|
||||
|
||||
#: src/amo/components/AddonMeta.js:24
|
||||
msgid "Used by"
|
||||
msgstr ""
|
||||
msgstr "Úsáidte ag"
|
||||
|
||||
#: src/amo/components/AddonMeta.js:29
|
||||
msgid "Sentiment"
|
||||
msgstr ""
|
||||
msgstr "Meon"
|
||||
|
||||
#: src/amo/components/AddonReview.js:109
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
msgstr "Siar"
|
||||
|
||||
#: src/amo/components/AddonReview.js:113
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
msgstr "Seol"
|
||||
|
||||
#: src/amo/components/AddonReview.js:41
|
||||
msgid "Please enter some text"
|
||||
msgstr ""
|
||||
msgstr "Cuir téacs isteach"
|
||||
|
||||
#: src/amo/components/AddonReview.js:90
|
||||
msgid "Write a review"
|
||||
msgstr ""
|
||||
msgstr "Scríobh léirmheas"
|
||||
|
||||
#: src/amo/components/AddonReview.js:92
|
||||
msgid "Tell the world why you think this extension is fantastic!"
|
||||
msgstr ""
|
||||
msgstr "Inis don domhan cén fáth a bhfuil an eisínteacht seo chomh hiontach sin!"
|
||||
|
||||
#: src/amo/components/Footer.js:27
|
||||
msgid "Privacy policy"
|
||||
msgstr ""
|
||||
msgstr "Polasaí príobháideachais"
|
||||
|
||||
#: src/amo/components/Footer.js:33
|
||||
msgid "Legal notices"
|
||||
msgstr ""
|
||||
msgstr "Fógraí dlí"
|
||||
|
||||
#: src/amo/components/Footer.js:39
|
||||
msgid "View desktop site"
|
||||
msgstr ""
|
||||
msgstr "Amharc suíomh an ríomhaire"
|
||||
|
||||
#: src/amo/components/LanguagePicker.js:20
|
||||
msgid "Browse in your language"
|
||||
msgstr ""
|
||||
msgstr "Brabhsáil i do theanga dhúchais"
|
||||
|
||||
#: src/amo/components/MastHead.js:29
|
||||
msgid "Firefox Add-ons"
|
||||
msgstr ""
|
||||
msgstr "Breiseáin Firefox"
|
||||
|
||||
#: src/amo/components/OverallRating.js:45
|
||||
msgid "How are you enjoying your experience with %(addonName)s?"
|
||||
msgstr ""
|
||||
msgstr "An dtaitníonn %(addonName)s leat?"
|
||||
|
||||
#: src/amo/components/ScreenShots.js:28
|
||||
msgid "screenshot %(imageNumber)s of %(totalImages)s"
|
||||
msgstr ""
|
||||
msgstr "seat %(imageNumber)s as %(totalImages)s den scáileán"
|
||||
|
||||
#: src/amo/components/SearchResult.js:23
|
||||
msgid "Average rating: %(rating)s out of 5"
|
||||
msgstr ""
|
||||
msgstr "Meánrátáil: %(rating)s as 5"
|
||||
|
||||
#: src/amo/components/SearchResult.js:29
|
||||
msgid "No ratings"
|
||||
msgstr ""
|
||||
msgstr "Gan rátáil"
|
||||
|
||||
#: src/amo/components/SearchResult.js:43
|
||||
msgid "%(users)s user"
|
||||
msgid_plural "%(users)s users"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[0] "%(users)s úsáideoir"
|
||||
msgstr[1] "%(users)s úsáideoir"
|
||||
msgstr[2] "%(users)s úsáideoir"
|
||||
msgstr[3] "%(users)s n-úsáideoir"
|
||||
msgstr[4] "%(users)s úsáideoir"
|
||||
|
||||
#: src/amo/containers/App.js:39
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
msgstr "Logáil amach"
|
||||
|
||||
#: src/amo/containers/App.js:39
|
||||
msgid "Log in/Sign up"
|
||||
msgstr ""
|
||||
msgstr "Logáil isteach/Cláraigh"
|
||||
|
||||
#: src/amo/containers/App.js:51
|
||||
msgid "Add-ons for Firefox"
|
||||
msgstr ""
|
||||
msgstr "Breiseáin Firefox"
|
||||
|
||||
#: src/amo/containers/Home.js:18
|
||||
msgid "What do you want Firefox to do?"
|
||||
msgstr ""
|
||||
msgstr "Cad ba mhaith leat déanamh le Firefox?"
|
||||
|
||||
#: src/amo/containers/Home.js:20
|
||||
msgid "Block ads"
|
||||
msgstr ""
|
||||
msgstr "Cosc a chur ar fhógraí"
|
||||
|
||||
#: src/amo/containers/Home.js:21
|
||||
msgid "Screenshot"
|
||||
msgstr ""
|
||||
msgstr "Seatanna den scáileán a thógáil"
|
||||
|
||||
#: src/amo/containers/Home.js:22
|
||||
msgid "Save stuff"
|
||||
msgstr ""
|
||||
msgstr "Stuif a shábháil"
|
||||
|
||||
#: src/amo/containers/Home.js:23
|
||||
msgid "Shop online"
|
||||
msgstr ""
|
||||
msgstr "Siopadóireacht ar líne"
|
||||
|
||||
#: src/amo/containers/Home.js:24
|
||||
msgid "Be social"
|
||||
msgstr ""
|
||||
msgstr "Ceangal le cairde"
|
||||
|
||||
#: src/amo/containers/Home.js:25
|
||||
msgid "Share stuff"
|
||||
msgstr ""
|
||||
msgstr "Stuif a chomhroinnt"
|
||||
|
||||
#: src/amo/containers/Home.js:28
|
||||
msgid "Browse all extensions"
|
||||
msgstr ""
|
||||
msgstr "Brabhsáil na heisínteachtaí go léir"
|
||||
|
||||
#: src/amo/containers/Home.js:31
|
||||
msgid "How do you want Firefox to look?"
|
||||
msgstr ""
|
||||
msgstr "Cén chuma ba mhaith leat cur ar Firefox?"
|
||||
|
||||
#: src/amo/containers/Home.js:33
|
||||
msgid "Wild"
|
||||
msgstr ""
|
||||
msgstr "Fiáin"
|
||||
|
||||
#: src/amo/containers/Home.js:34
|
||||
msgid "Abstract"
|
||||
msgstr ""
|
||||
msgstr "Teibí"
|
||||
|
||||
#: src/amo/containers/Home.js:35
|
||||
msgid "Fashionable"
|
||||
msgstr ""
|
||||
msgstr "Faiseanta"
|
||||
|
||||
#: src/amo/containers/Home.js:36
|
||||
msgid "Scenic"
|
||||
msgstr ""
|
||||
msgstr "Sciamhach"
|
||||
|
||||
#: src/amo/containers/Home.js:37
|
||||
msgid "Sporty"
|
||||
msgstr ""
|
||||
msgstr "Spórtúil"
|
||||
|
||||
#: src/amo/containers/Home.js:38
|
||||
msgid "Mystical"
|
||||
msgstr ""
|
||||
msgstr "Mistiúil"
|
||||
|
||||
#: src/amo/containers/Home.js:41
|
||||
msgid "Browse all themes"
|
||||
msgstr ""
|
||||
msgstr "Brabhsáil na téamaí go léir"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
msgstr ""
|
||||
msgstr "%(name)s á íoslódáil."
|
||||
|
||||
#: src/core/components/InstallButton/index.js:52
|
||||
msgid "Installing %(name)s."
|
||||
msgstr ""
|
||||
msgstr "%(name)s á shuiteáil."
|
||||
|
||||
#: src/core/components/InstallButton/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr ""
|
||||
msgstr "Suiteáladh agus cumasaíodh %(name)s. Cliceáil chun é a dhíshuiteáil."
|
||||
|
||||
#: src/core/components/InstallButton/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
msgstr ""
|
||||
msgstr "Díchumasaíodh %(name)s. Cliceáil chun é a chumasú arís."
|
||||
|
||||
#: src/core/components/InstallButton/index.js:62
|
||||
msgid "Uninstalling %(name)s."
|
||||
msgstr ""
|
||||
msgstr "%(name)s á dhíshuiteáil."
|
||||
|
||||
#: src/core/components/InstallButton/index.js:65
|
||||
msgid "%(name)s is uninstalled. Click to install."
|
||||
msgstr ""
|
||||
msgstr "Díshuiteáladh %(name)s. Cliceáil chun é a shuiteáil arís."
|
||||
|
||||
#: src/core/components/InstallButton/index.js:68
|
||||
msgid "Install state for %(name)s is unknown."
|
||||
msgstr ""
|
||||
msgstr "Níl a fhios againn an bhfuil %(name)s suiteáilte."
|
||||
|
||||
#: src/core/components/Paginate/index.js:102
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
msgstr "Siar"
|
||||
|
||||
#: src/core/components/Paginate/index.js:104
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
msgstr "Ar Aghaidh"
|
||||
|
||||
#: src/core/components/Paginate/index.js:97
|
||||
msgid "Page %(currentPage)s of %(totalPages)s"
|
||||
msgstr ""
|
||||
msgstr "Leathanach %(currentPage)s as %(totalPages)s"
|
||||
|
||||
#: src/core/components/Search/SearchResults.js:40
|
||||
msgid "Your search for \"%(query)s\" returned %(count)s result."
|
||||
msgid_plural "Your search for \"%(query)s\" returned %(count)s results."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[0] "%(count)s toradh ar \"%(query)s\""
|
||||
msgstr[1] "%(count)s thoradh ar \"%(query)s\""
|
||||
msgstr[2] "%(count)s thoradh ar \"%(query)s\""
|
||||
msgstr[3] "%(count)s dtoradh ar \"%(query)s\""
|
||||
msgstr[4] "%(count)s toradh ar \"%(query)s\""
|
||||
|
||||
#: src/core/components/Search/SearchResults.js:56
|
||||
msgid "Searching..."
|
||||
msgstr ""
|
||||
msgstr "Ag cuardach..."
|
||||
|
||||
#: src/core/components/Search/SearchResults.js:59
|
||||
msgid "No results were found for \"%(query)s\"."
|
||||
msgstr ""
|
||||
msgstr "Gan torthaí ar \"%(query)s\"."
|
||||
|
||||
#: src/core/components/Search/SearchResults.js:61
|
||||
msgid "Please supply a valid search"
|
||||
msgstr ""
|
||||
msgstr "Cuardach neamhbhailí"
|
||||
|
|
|
@ -1,128 +1,134 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-02-03 22:13+0000\n"
|
||||
"Last-Translator: kscanne <kscanne@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ga\n"
|
||||
"Language: ga_IE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
|
||||
"4;\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
msgid "Install Theme"
|
||||
msgstr ""
|
||||
msgstr "Suiteáil Téama"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "Cuir le Firefox"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
msgstr ""
|
||||
msgstr "%(name)s á íoslódáil."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:52
|
||||
msgid "Installing %(name)s."
|
||||
msgstr ""
|
||||
msgstr "%(name)s á shuiteáil."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr ""
|
||||
msgstr "Suiteáladh agus cumasaíodh %(name)s. Cliceáil chun é a dhíshuiteáil."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
msgstr ""
|
||||
msgstr "Díchumasaíodh %(name)s. Cliceáil chun é a chumasú arís."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:62
|
||||
msgid "Uninstalling %(name)s."
|
||||
msgstr ""
|
||||
msgstr "%(name)s á dhíshuiteáil."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:65
|
||||
msgid "%(name)s is uninstalled. Click to install."
|
||||
msgstr ""
|
||||
msgstr "Díshuiteáladh %(name)s. Cliceáil chun é a shuiteáil arís."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:68
|
||||
msgid "Install state for %(name)s is unknown."
|
||||
msgstr ""
|
||||
msgstr "Níl a fhios againn an bhfuil %(name)s suiteáilte nó nach bhfuil."
|
||||
|
||||
#: src/core/containers/InfoDialog/index.js:31
|
||||
msgid "Your add-on is ready"
|
||||
msgstr ""
|
||||
msgstr "Tá do bhreiseán réidh"
|
||||
|
||||
#: src/core/containers/InfoDialog/index.js:33
|
||||
msgid "Now you can access %(name)s from the toolbar."
|
||||
msgstr ""
|
||||
msgstr "Anois is féidir leat teacht ar %(name)s ón bharra uirlisí."
|
||||
|
||||
#: src/core/containers/InfoDialog/index.js:38
|
||||
msgid "OK!"
|
||||
msgstr ""
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Cuir do luch os a chionn chun réamhamharc a fháil, nó cliceáil chun %(name)s "
|
||||
"a shuiteáil"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Cuir do luch os cionn an phictiúir le réamhamharc a fháil"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Theip ar an tsuiteáil. Bain triail eile as."
|
||||
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
"Theip ar an íoslódáil. Déan cinnte go bhfuil tú ceangailte leis an líonra."
|
||||
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Tharla earráid gan súil leis le linn suiteála."
|
||||
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Tharla earráid gan súil leis le linn díshuiteála."
|
||||
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Tharla earráid gan súil leis."
|
||||
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Díshuiteálfar an breiseán seo tar éis duit Firefox a atosú."
|
||||
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ní mór duit Firefox a atosú chun an breiseán seo a úsáid."
|
||||
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Dún"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
msgstr "Aimsigh Breiseáin"
|
||||
|
||||
#: src/disco/containers/DiscoPane.js:105
|
||||
msgid "Click to play"
|
||||
msgstr ""
|
||||
msgstr "Cliceáil le seinm"
|
||||
|
||||
#: src/disco/containers/DiscoPane.js:106
|
||||
msgid "to find out more about add-ons"
|
||||
msgstr ""
|
||||
msgstr "chun tuilleadh eolais faoi bhreiseáin a fháil"
|
||||
|
||||
#: src/disco/containers/DiscoPane.js:115
|
||||
msgid "Close video"
|
||||
msgstr ""
|
||||
msgstr "Dún an físeán"
|
||||
|
||||
#: src/disco/containers/DiscoPane.js:126
|
||||
msgid "See more add-ons!"
|
||||
msgstr ""
|
||||
msgstr "Tuilleadh breiseán!"
|
||||
|
||||
#: src/disco/containers/DiscoPane.js:96
|
||||
msgid "Personalize Your Firefox"
|
||||
msgstr ""
|
||||
msgstr "Cuir Firefox in oiriúint duitse féin"
|
||||
|
||||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
|
@ -135,3 +141,9 @@ msgid ""
|
|||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Tá na mílte breiseán saor in aisce ar fáil, cruthaithe ag forbróirí timpeall "
|
||||
"an domhain, lenar féidir leat Firefox a fheabhsú. Ó théamaí spraíúla go "
|
||||
"huirlisí cumhachtacha a dhéanann Firefox níos sciobtha níos sláine, is "
|
||||
"féidir breiseáin a úsáid chun do bhrabhsálaí a chur in oiriúint duitse féin. "
|
||||
"I dtús báire, seo duit roinnt breiseán a mholaimid mar gheall ar "
|
||||
"fheidhmíocht agus gníomhaíocht thar barr."
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-12-22 21:12+0000\n"
|
||||
"Last-Translator: ItielMaN <itiel_yn8@walla.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr "כעת ניתן לגשת אל %(name)s מסרגל הכלים."
|
|||
msgid "OK!"
|
||||
msgstr "בסדר!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "רחפו לתצוגה מקדימה או לחצו להתקנת %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "רחפו על התמונה לתצוגה מקדימה"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "ההתקנה נכשלה. נא לנסות שנית."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "ההורדה נכשלה. נא לבדוק את החיבור שלך."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "אירעה שגיאה לא צפויה במהלך ההתקנה."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "אירעה שגיאה לא צפויה במהלך הסרת ההתקנה."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "אירעה שגיאה לא צפויה."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "תוספת זו תוסר לאחר ש־Firefox יופעל מחדש."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "נא להפעיל מחדש את Firefox כדי להשתמש בתוספת זו."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "סגירה"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "רחפו לתצוגה מקדימה או לחצו להתקנת %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "גילוי תוספות"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 22:05+0000\n"
|
||||
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -11,7 +11,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
|
@ -32,7 +33,8 @@ msgstr "%(name)s so instaluje."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "%(name)s je so instalował a zmóžnił. Klikńće, zo byšće jón wotinstalował."
|
||||
msgstr ""
|
||||
"%(name)s je so instalował a zmóžnił. Klikńće, zo byšće jón wotinstalował."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +64,48 @@ msgstr "Nětko maće přistup na %(name)s ze symboloweje lajsty."
|
|||
msgid "OK!"
|
||||
msgstr "W porjadku!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Za přehladanje pokazowak myški nad tym dźeržeć abo za instalowanje %(name)s "
|
||||
"kliknyć"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Pohíbujće myšku nad wobraz za přehlad"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalacija je so nimokuliła. Prošu spytajće hišće raz."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Sćehnjenje je so nimokuliło. Prošu přepruwujće swój zwisk."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Njewočakowany zmylk je při instalowanju wustupił."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Njewočakowany zmylk je při wotinstalowanju wustupił."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Njewočakowany zmylk je wustupił."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Tutón přidatk so wotinstaluje, po tym zo sće Firefox znowa startował."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Prošu startujće Firefox znowa, zo byšće tutón přidatk wužiwał."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Začinić"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Za přehladanje pokazowak myški nad tym dźeržeć abo za instalowanje %(name)s kliknyć"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Přidatki wotkryć"
|
||||
|
@ -129,13 +133,19 @@ msgstr "Přiměrće swój Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Su tysacy darmotnych přidatkow, wutworjenych wot wuwiwarjow z cyłeho swěta, kotrež wam zmóžnjeja, Firefox wašim potrěbnosćam přiměrić – wšitko, wot zabawnych drastow hač do mócnych nastrojow, "
|
||||
"kotrež přehladowanje pospěšuja a wěsćiše činja. Přidatki činja waš wobhladowak k wašemu. Za spočatk doporučamy wam někotre wukonliwe přidatki z wjele funkcijemi."
|
||||
"Su tysacy darmotnych přidatkow, wutworjenych wot wuwiwarjow z cyłeho swěta, "
|
||||
"kotrež wam zmóžnjeja, Firefox wašim potrěbnosćam přiměrić – wšitko, "
|
||||
"wot zabawnych drastow hač do mócnych nastrojow, kotrež přehladowanje "
|
||||
"pospěšuja a wěsćiše činja. Přidatki činja waš wobhladowak k wašemu. Za "
|
||||
"spočatk doporučamy wam někotre wukonliwe přidatki z wjele funkcijemi."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Instalowany a symbolowej lajsće přidaty"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 15:28+0000\n"
|
||||
"Last-Translator: Balázs Meskó <meskobalazs@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -32,7 +32,8 @@ msgstr "%(name)s telepítése."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "A(z) %(name) telepítve van, és engedélyezett. Kattintson az eltávolításhoz."
|
||||
msgstr ""
|
||||
"A(z) %(name) telepítve van, és engedélyezett. Kattintson az eltávolításhoz."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +63,48 @@ msgstr "Most már elérheti ezt az eszköztáron: %(name)s."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Vigye fölé az egeret az előnézethez, vagy kattintson a(z) %(name)s "
|
||||
"telepítéséhez"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Az előnézethez vigye a kép fölé az egeret"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "A telepítés sikertelen. Kérjük, próbálja meg újra."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "A letöltés sikertelen. Kérjük, ellenőrizze kapcsolatát."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Váratlan hiba történt a telepítés során."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Váratlan hiba történt az eltávolítás során."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Váratlan hiba történt."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Ez a kiegészítő a Firefox újraindítása után el lesz távolítva."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "A kiegészítő használatához kérjük, indítsa újra a Firefoxot."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Bezárás"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Vigye fölé az egeret az előnézethez, vagy kattintson a(z) %(name)s telepítéséhez"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Kiegészítők felfedezése"
|
||||
|
@ -129,15 +132,22 @@ msgstr "A Firefox testreszabása"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Ingyenes kiegészítők ezrei léteznek, a világ minden táján lévő fejlesztőktől,\n"
|
||||
"amelyeket telepítve testre szabhatja a Firefoxát. A mókás vizuális témáktól kezdve,\n"
|
||||
"a hatékony eszközökig, amelyek a böngészést gyorsabbá és biztonságosabbá teszik,\n"
|
||||
"a kiegészítők teszik a böngészőt az Önévé. Hogy segítsünk az elindulásban, itt van néhány,\n"
|
||||
"Ingyenes kiegészítők ezrei léteznek, a világ minden táján lévő "
|
||||
"fejlesztőktől,\n"
|
||||
"amelyeket telepítve testre szabhatja a Firefoxát. A mókás vizuális témáktól "
|
||||
"kezdve,\n"
|
||||
"a hatékony eszközökig, amelyek a böngészést gyorsabbá és biztonságosabbá "
|
||||
"teszik,\n"
|
||||
"a kiegészítők teszik a böngészőt az Önévé. Hogy segítsünk az elindulásban, "
|
||||
"itt van néhány,\n"
|
||||
"amelyeket ajánlunk a kiemelkedő teljesítményük és funkcionalitásuk miatt."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-09-10 10:47+0000\n"
|
||||
"Last-Translator: Fauzan Alfi <fauzanalfi@mozilla.web.id>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,46 +63,46 @@ msgstr "Sekarang Anda dapat mengakses %(name)s dari bilah alat."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Layangkan kursor untuk pratinjau atau klik untuk memasang %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Layangkan kursor di area gambar untuk pratinjau"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Pemasangan gagal. Mohon coba lagi."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Pengunduhan gagal. Mohon periksa koneksi anda."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Terjadi kesalahan yang tidak diharapkan selama pemasangan."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Terjadi kesalahan yang tidak diharapkan saat pencopotan."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Terjadi kesalahan yang tidak diharapkan."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Pengaya ini akan dihapus setelah Anda memulai ulang Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Silakan mulai ulang Firefox Anda untuk menggunakan pengaya ini."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Tutup"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Layangkan kursor untuk pratinjau atau klik untuk memasang %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Temukan Pengaya"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-27 08:23+0000\n"
|
||||
"Last-Translator: Sara Todaro <sara.todaro@mozillaitalia.org>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -44,7 +44,8 @@ msgstr "Disinstallazione di %(name)s."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:65
|
||||
msgid "%(name)s is uninstalled. Click to install."
|
||||
msgstr "%(name)s è stato disinstallato. Fare clic per reinstallarlo nuovamente."
|
||||
msgstr ""
|
||||
"%(name)s è stato disinstallato. Fare clic per reinstallarlo nuovamente."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:68
|
||||
msgid "Install state for %(name)s is unknown."
|
||||
|
@ -62,46 +63,53 @@ msgstr "Adesso è possibile accedere a %(name)s dalla barra degli strumenti."
|
|||
msgid "OK!"
|
||||
msgstr "OK."
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Passa sopra l’immagine col puntatore del mouse per visualizzare l’anteprima"
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Passa sopra col puntatore del mouse per visualizzare un’anteprima di "
|
||||
"%(name)s o fai clic per installarlo"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
"Passa sopra l’immagine col puntatore del mouse per visualizzare l’anteprima"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installazione del componente aggiuntivo non riuscita. Riprova."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Non è riuscito il download del componente aggiuntivo. Controlla la connessione alla rete."
|
||||
msgstr ""
|
||||
"Non è riuscito il download del componente aggiuntivo. Controlla la "
|
||||
"connessione alla rete."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Si è verificato un errore inatteso durante l’installazione."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Si è verificato un errore inatteso durante la disinstallazione."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Si è verificato un errore inatteso."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Questo componente aggiuntivo verrà disinstallato al prossimo riavvio di Firefox."
|
||||
msgstr ""
|
||||
"Questo componente aggiuntivo verrà disinstallato al prossimo riavvio di "
|
||||
"Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "riavvia Firefox per utilizzare questo componente aggiuntivo."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Passa sopra col puntatore del mouse per visualizzare un’anteprima di %(name)s o fai clic per installarlo"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Alla scoperta dei componenti aggiuntivi"
|
||||
|
@ -129,14 +137,22 @@ msgstr "Personalizza Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Hai la possibilità di personalizzare Firefox secondo le tue esigenze scegliendo tra migliaia di componenti aggiuntivi gratuiti, creati da sviluppatori provenienti da ogni parte del mondo. Dagli "
|
||||
"sgargianti temi per dare un tocco di originalità all'interfaccia utente fino a strumenti e caratteristiche avanzate che rendono la navigazione più veloce e sicura, i componenti aggiuntivi rendono il"
|
||||
" tuo browser più \"tuo\". Se non sai da dove iniziare, ecco una lista di componenti aggiuntivi che ci sentiamo di consigliarti, distintisi per gli alti standard di prestazioni e funzionalità."
|
||||
"Hai la possibilità di personalizzare Firefox secondo le tue esigenze "
|
||||
"scegliendo tra migliaia di componenti aggiuntivi gratuiti, creati da "
|
||||
"sviluppatori provenienti da ogni parte del mondo. Dagli sgargianti temi per "
|
||||
"dare un tocco di originalità all'interfaccia utente fino a strumenti e "
|
||||
"caratteristiche avanzate che rendono la navigazione più veloce e sicura, i "
|
||||
"componenti aggiuntivi rendono il tuo browser più \"tuo\". Se non sai da dove "
|
||||
"iniziare, ecco una lista di componenti aggiuntivi che ci sentiamo di "
|
||||
"consigliarti, distintisi per gli alti standard di prestazioni e funzionalità."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Installato e aggiunto alla barra degli strumenti"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 15:55+0000\n"
|
||||
"Last-Translator: Kohei Yoshino <kohei.yoshino@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -32,7 +32,8 @@ msgstr "%(name)s をインストールしています。"
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "%(name)s はインストール、有効化されています。削除するにはここをクリック。"
|
||||
msgstr ""
|
||||
"%(name)s はインストール、有効化されています。削除するにはここをクリック。"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +63,47 @@ msgstr "今後はツールバーから %(name)s にアクセスできます"
|
|||
msgid "OK!"
|
||||
msgstr "了解"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"%(name)s をプレビューするにはマウスオーバー、インストールするにはクリック"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "画像にマウスオーバーしてプレビュー"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "インストールに失敗しました。再度試してください。"
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "ダウンロードに失敗しました。接続状況を確認してください。"
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "インストール中に予期せぬ問題が発生しました。"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "アンインストール中に予期せぬ問題が発生しました。"
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "予期せぬ問題が発生しました。"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "このアドオンは Firefox の再起動後に削除されます。"
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "このアドオンを使うには Firefox を再起動してください。"
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "閉じる"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "%(name)s をプレビューするにはマウスオーバー、インストールするにはクリック"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "アドオンを見つける"
|
||||
|
@ -129,11 +131,19 @@ msgstr "Firefox をパーソナライズしよう"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr "インストールして Firefox をパーソナライズできる無料のアドオンが、世界中の開発者によって何千種類も作られています。楽しいデザインのテーマから、ブラウジングをより早くより安全にするパワフルなツールや機能まで、アドオンを使ってお使いのブラウザーを自分だけのものにしましょう。手始めに、パフォーマンスや機能が優れているおすすめのアドオンをいくつか紹介します。"
|
||||
msgstr ""
|
||||
"インストールして Firefox をパーソナライズできる無料のアドオンが、世界中の開発"
|
||||
"者によって何千種類も作られています。楽しいデザインのテーマから、ブラウジング"
|
||||
"をより早くより安全にするパワフルなツールや機能まで、アドオンを使ってお使いの"
|
||||
"ブラウザーを自分だけのものにしましょう。手始めに、パフォーマンスや機能が優れ"
|
||||
"ているおすすめのアドオンをいくつか紹介します。"
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "インストールされツールバーへ追加されました"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 21:31+0000\n"
|
||||
"Last-Translator: Moḥend Belqasem <belkacem77@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -62,46 +62,47 @@ msgstr "Tura tzemreḍ ad kecmeḍ ɣer %(name)s seg ufeggag n ifecka."
|
|||
msgid "OK!"
|
||||
msgstr "IH!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Sers taɣerdayt s ufella akken ad twaliḍ neɣ sit akken ad tesbeddeḍ %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Sers taɣeṛdayt ɣef tugna akken ad twaliḍ"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Asebded ur yeddi ara. Ma ulac aqilif, ɛreḍ tikelt nniḍen."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Asider ur yeddi ara. Ma ulac aɣilif senqed tuqqna yinek."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Teḍra-d tuccḍa tarussint deg usebded."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Teḍra-d tuccḍa tarussint deg tukksa n usebded."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Teḍra-d tuccḍa tarussint."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Azegrir agi ad yettwakkes ticki yekker Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ma ulac aɣilif, senker Firefox akken ad tesqedceḍ azegrir agi."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Mdel"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Sers taɣerdayt s ufella akken ad twaliḍ neɣ sit akken ad tesbeddeḍ %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Issin izegrar"
|
||||
|
@ -129,10 +130,16 @@ msgstr "Sagen Firefox inek"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Llan deqs n wagimen n izegrar n baṭel, rnan-ten ineflayen n umaḍal, i tzemreḍ ad tesbeddeḍ i waggan n Firefox. Seg Isental icebḥen arma d ifecka uzmiren ara yerren tunigin inek d taruraṭ, d "
|
||||
"taɣelsant, izegrar ad sirgen aggan n tunigin inek imeṛṛa. Akken ad tebduḍ, nefren-d kra akken tella tmellit nsen neɣ timahilin nsen."
|
||||
"Llan deqs n wagimen n izegrar n baṭel, rnan-ten ineflayen n umaḍal, i "
|
||||
"tzemreḍ ad tesbeddeḍ i waggan n Firefox. Seg Isental icebḥen arma d ifecka "
|
||||
"uzmiren ara yerren tunigin inek d taruraṭ, d taɣelsant, izegrar ad sirgen "
|
||||
"aggan n tunigin inek imeṛṛa. Akken ad tebduḍ, nefren-d kra akken tella "
|
||||
"tmellit nsen neɣ timahilin nsen."
|
||||
|
|
|
@ -3,8 +3,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"PO-Revision-Date: 2016-11-29 01:30+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-30 01:27+0000\n"
|
||||
"Last-Translator: Hyeonseok Shin <hyeonseok@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ko\n"
|
||||
|
@ -15,13 +15,12 @@ msgstr ""
|
|||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
#, fuzzy
|
||||
msgid "Install Theme"
|
||||
msgstr "설치"
|
||||
msgstr "테마 설치"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:48
|
||||
msgid "Add to Firefox"
|
||||
msgstr ""
|
||||
msgstr "Firefox에 추가"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:49
|
||||
msgid "Downloading %(name)s."
|
||||
|
@ -63,46 +62,46 @@ msgstr "이제 도구 모음에서 %(name)s를 접근할 수 있습니다."
|
|||
msgid "OK!"
|
||||
msgstr "좋습니다!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "마우스를 올려서 %(name)s를 미리보거나 클릭해서 설치"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "마우스 올려서 미리보기"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "설치하지 못했습니다. 다시 시도해 주세요."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "다운로드에 실패했습니다. 접속 상태를 확인 해 주세요."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "설치 중에 예상치 못 한 오류가 발생하였습니다."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "설치 제거 중에 예상치 못 한 오류가 발생하였습니다."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "예상치 못 한 오류가 발생하였습니다."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "이 부가 기능은 Firefox를 재시작한 후에 제거될 것입니다."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "이 부가 기능을 사용하려면 Firefox를 재시작 해주십시오."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "닫기"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "마우스를 올려서 %(name)s를 미리보거나 클릭해서 설치"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "부가기능 찾기"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 21:20+0000\n"
|
||||
"Last-Translator: Ton <tonnes.mb@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -32,7 +32,8 @@ msgstr "%(name)s wordt geïnstalleerd."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "%(name)s is geïnstalleerd en ingeschakeld. Klik om de add-on te verwijderen."
|
||||
msgstr ""
|
||||
"%(name)s is geïnstalleerd en ingeschakeld. Klik om de add-on te verwijderen."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +63,48 @@ msgstr "U kunt %(name)s nu benaderen vanaf de werkbalk."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Houd de muisaanwijzer hier voor een voorbeeld of klik om %(name)s te "
|
||||
"installeren"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Houd de muisaanwijzer boven de afbeelding voor een voorbeeld"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installatie mislukt. Probeer het opnieuw."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Downloaden mislukt. Controleer uw verbinding."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Er is een onverwachte fout opgetreden tijdens het installeren."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Er is een onverwachte fout opgetreden tijdens het verwijderen."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Er is een onverwachte fout opgetreden."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Deze add-on zal worden gede-installeerd nadat u Firefox herstart."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Herstart Firefox om deze add-on te gebruiken."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Sluiten"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Houd de muisaanwijzer hier voor een voorbeeld of klik om %(name)s te installeren"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Add-ons ontdekken"
|
||||
|
@ -129,15 +132,22 @@ msgstr "Personaliseer uw Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Er zijn duizenden gratis add-ons, gemaakt door ontwikkelaars van over de hele wereld,\n"
|
||||
"die u kunt installeren om uw Firefox te personaliseren. Variërend van leuke visuele thema’s\n"
|
||||
"tot krachtige hulpmiddelen die het browsen sneller en veiliger maken, maken add-ons uw browser van u.\n"
|
||||
"Om u op gang te helpen, zijn hier een paar add-ons die we aanbevelen vanwege hun uitstekende prestaties\n"
|
||||
"Er zijn duizenden gratis add-ons, gemaakt door ontwikkelaars van over de "
|
||||
"hele wereld,\n"
|
||||
"die u kunt installeren om uw Firefox te personaliseren. Variërend van leuke "
|
||||
"visuele thema’s\n"
|
||||
"tot krachtige hulpmiddelen die het browsen sneller en veiliger maken, maken "
|
||||
"add-ons uw browser van u.\n"
|
||||
"Om u op gang te helpen, zijn hier een paar add-ons die we aanbevelen vanwege "
|
||||
"hun uitstekende prestaties\n"
|
||||
"en functionaliteit."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 17:47+0100\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <community-poland@mozilla.org>\n"
|
||||
|
@ -62,48 +62,48 @@ msgstr "Można teraz korzystać z dodatku „%(name)s” na pasku narzędziowym
|
|||
msgid "OK!"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Najedź na obraz, aby wyświetlić podgląd"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalacja się nie powiodła. Proszę spróbować ponownie."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Pobranie się nie powiodło. Proszę sprawdzić połączenie z Internetem."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Wystąpił nieoczekiwany błąd podczas instalacji."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Wystąpił nieoczekiwany błąd podczas dezinstalacji."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Wystąpił nieoczekiwany błąd."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Ten dodatek zostanie odinstalowany po ponownym uruchomieniu Firefoksa."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Proszę ponownie uruchomić Firefoksa, aby użyć tego dodatku."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Najedź, aby wyświetlić podgląd lub kliknij, aby zainstalować dodatek "
|
||||
"„%(name)s”"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Najedź na obraz, aby wyświetlić podgląd"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalacja się nie powiodła. Proszę spróbować ponownie."
|
||||
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Pobranie się nie powiodło. Proszę sprawdzić połączenie z Internetem."
|
||||
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Wystąpił nieoczekiwany błąd podczas instalacji."
|
||||
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Wystąpił nieoczekiwany błąd podczas dezinstalacji."
|
||||
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Wystąpił nieoczekiwany błąd."
|
||||
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Ten dodatek zostanie odinstalowany po ponownym uruchomieniu Firefoksa."
|
||||
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Proszę ponownie uruchomić Firefoksa, aby użyć tego dodatku."
|
||||
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Zamknij"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Odkrywaj dodatki"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-25 10:47+0000\n"
|
||||
"Last-Translator: Marlon Custodio <marloncustodiodasilva@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,46 @@ msgstr "Agora pode acessar a %(name)s pela barra de ferramentas."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Passe o mouse para visualizar ou clique para instalar %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Passe o mouse sobre a imagem para visualizar"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "A instalação falhou. Tente novamente."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "O download falhou. Por favor, verifique sua conexão."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Ocorreu um erro inesperado durante a instalação."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Ocorreu um erro inesperado durante a desinstalação."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ocorreu um erro inesperado."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Este complemento será desinstalado depois de reiniciar o Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Por favor, reinicie o Firefox para usar esta extensão."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Passe o mouse para visualizar ou clique para instalar %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Descobrir complementos"
|
||||
|
@ -129,14 +129,22 @@ msgstr "Personalize seu Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Existem milhares de complementos gratuitos, criados por desenvolvedores de todo o\n"
|
||||
"mundo, que pode instalar para personalizar o seu Firefox. Desde temas visuais divertidos\n"
|
||||
"até poderosas ferramentas que fazem a navegação ser mais rápida e segura, os extras fazem o seu navegador ser seu. Para o ajudar a começar, aqui estão alguns que nós recomendamos pelo seu desempenho e funcionalidade se destacarem."
|
||||
"Existem milhares de complementos gratuitos, criados por desenvolvedores de "
|
||||
"todo o\n"
|
||||
"mundo, que pode instalar para personalizar o seu Firefox. Desde temas "
|
||||
"visuais divertidos\n"
|
||||
"até poderosas ferramentas que fazem a navegação ser mais rápida e segura, os "
|
||||
"extras fazem o seu navegador ser seu. Para o ajudar a começar, aqui estão "
|
||||
"alguns que nós recomendamos pelo seu desempenho e funcionalidade se "
|
||||
"destacarem."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Instalado e adicionado à barra de ferramentas"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 14:20+0000\n"
|
||||
"Last-Translator: Rodrigo <rodrigo.mcunha@hotmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,46 @@ msgstr "Agora pode aceder a %(name)s pela barra de ferramentas."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Coloque o cursor para pré-visualizar ou clique para instalar %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Coloque o cursor sob a imagem para pré-visualizar"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "A instalação falhou. Por favor, tente novamente."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "A descarga falhou. Por favor, verifique a sua ligação."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Ocorreu um erro inesperado durante a instalação."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Ocorreu um erro inesperado durante a desinstalação."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ocorreu um erro inesperado."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Este extra será desinstalado depois de reiniciar o Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Por favor, reinicie o Firefox para utilizar este extra."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Coloque o cursor para pré-visualizar ou clique para instalar %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Descobrir extras"
|
||||
|
@ -129,15 +129,21 @@ msgstr "Personalize o seu Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Existem milhares de extras gratuitos, criados por programadores por todo o\n"
|
||||
"mundo, que pode instalar para personalizar o seu Firefox. Desde temas visuais divertidos\n"
|
||||
"até poderosas ferramentas que fazem a navegação ser mais rápida e segura, os extras fazem o seu navegador ser seu.\n"
|
||||
"Para o ajudar a começar, aqui estão alguns que nós recomendamos pelo seu desempenho e funcionalidade se destacarem."
|
||||
"mundo, que pode instalar para personalizar o seu Firefox. Desde temas "
|
||||
"visuais divertidos\n"
|
||||
"até poderosas ferramentas que fazem a navegação ser mais rápida e segura, os "
|
||||
"extras fazem o seu navegador ser seu.\n"
|
||||
"Para o ajudar a começar, aqui estão alguns que nós recomendamos pelo seu "
|
||||
"desempenho e funcionalidade se destacarem."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Instalado e adicionado à barra de ferramentas"
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-07-21 23:36+0000\n"
|
||||
"Last-Translator: Cristian Silaghi <cristian.silaghi@mozilla.ro>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -64,46 +64,46 @@ msgstr "Acum poți accesa %(name)s de pe bara de unelte."
|
|||
msgid "OK!"
|
||||
msgstr "Ok!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "S-a produs o eroare neașteptată în timpul instalării."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "S-a produs o eroare neașteptată în timpul dezinstalării."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "S-a produs o eroare neașteptată."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Închide"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Descoperă suplimente"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 17:28+0000\n"
|
||||
"Last-Translator: Victor Bychek <a@bychek.ru>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -11,7 +11,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
|
@ -62,46 +63,47 @@ msgstr "Теперь вы можете получить доступ к %(name)s
|
|||
msgid "OK!"
|
||||
msgstr "ОК!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Наведите мышь для предпросмотра, или щёлкните, чтобы установить %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Наведите мышь на изображение для предпросмотра"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Установка не удалась. Пожалуйста, попробуйте позже."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Загрузка не удалась. Пожалуйста, проверьте ваше соединение."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "При установке произошла непредвиденная ошибка."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "При удалении произошла непредвиденная ошибка."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Произошла непредвиденная ошибка."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Это дополнение будет удалено после перезапуска вами Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Пожалуйста, перезапустите Firefox для использования этого дополнения."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Наведите мышь для предпросмотра, или щёлкните, чтобы установить %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Откройте для себя дополнения"
|
||||
|
@ -129,14 +131,19 @@ msgstr "Настройте под себя свой Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Есть тысячи бесплатных дополнений, созданных разработчиками со всего мира, \n"
|
||||
"которые вы можете установить, чтобы настроить Firefox под себя. От весёлых визуальных\n"
|
||||
"тем до мощных инструментов, которые сделают ваш сёрфинг быстрее и безопаснее,\n"
|
||||
"которые вы можете установить, чтобы настроить Firefox под себя. От весёлых "
|
||||
"визуальных\n"
|
||||
"тем до мощных инструментов, которые сделают ваш сёрфинг быстрее и "
|
||||
"безопаснее,\n"
|
||||
"дополнения, которые делают браузер вашим.\n"
|
||||
"Чтобы помочь вам начать, вот несколько дополнений, которые мы рекомендуем\n"
|
||||
"из-за их превосходной производительности и функциональности."
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 20:45+0000\n"
|
||||
"Last-Translator: Juraj Cigáň <kusavica@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -32,7 +32,8 @@ msgstr "Inštalovanie doplnku %(name)s."
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:56
|
||||
msgid "%(name)s is installed and enabled. Click to uninstall."
|
||||
msgstr "Doplnok %(name)s je nainštalovaný a povolený. Kliknutím ho odinštalujete."
|
||||
msgstr ""
|
||||
"Doplnok %(name)s je nainštalovaný a povolený. Kliknutím ho odinštalujete."
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:59
|
||||
msgid "%(name)s is disabled. Click to enable."
|
||||
|
@ -62,46 +63,47 @@ msgstr "Teraz môžete pristupovať k %(name)s z panela nástrojov."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Prejdite myšou pre náhľad alebo kliknite pre inštaláciu doplnku %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Pre náhľad prejdite na obrázok myšou"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Inštalácia zlyhala. Skúste to prosím znova."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Prevzatie zlyhalo. Skontrolujte prosím vaše pripojenie."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Počas inštalácie nastala neočakávaná chyba."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Počas odinštalovania nastala neočakávaná chyba."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Nastala neočakávaná chyba."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Tento doplnok bude odinštalovaný po reštarte Firefoxu."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Pre použitie tohto doplnku, prosím, reštartujte Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Zavrieť"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Prejdite myšou pre náhľad alebo kliknite pre inštaláciu doplnku %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Objavte doplnky"
|
||||
|
@ -129,14 +131,19 @@ msgstr "Prispôsobte si svoj Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Existujú tisíce doplnkov, ktoré vytvárajú tisíce vývojárov po celom svete.\n"
|
||||
"Tieto doplnky vám umožnia Firefox vylepšiť podľa vlastnej potreby - od zábavných tém \n"
|
||||
"až po výkonné nástroje, ktoré spravia vaše prehliadanie rýchlejšie a bezpečnejšie.\n"
|
||||
"Tieto doplnky vám umožnia Firefox vylepšiť podľa vlastnej potreby - od "
|
||||
"zábavných tém \n"
|
||||
"až po výkonné nástroje, ktoré spravia vaše prehliadanie rýchlejšie a "
|
||||
"bezpečnejšie.\n"
|
||||
"Tu je niekoľko velikánov, čo stoja za vyskúšanie."
|
||||
|
||||
#~ msgid "Ok"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 16:44+0000\n"
|
||||
"Last-Translator: Lan Glad <upwinxp@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -11,7 +11,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
|
@ -62,46 +63,47 @@ msgstr "Sedaj lahko do %(name)s dostopate iz orodne vrstice."
|
|||
msgid "OK!"
|
||||
msgstr "V redu!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Pridržite miškin kazalec za predogled ali kliknite, da namestite %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Premaknite miško nad sliko za predogled"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Namestitev ni uspela. Poskusite znova."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Prenos ni uspel. Preverite svojo povezavo."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Med nameščanjem je prišlo do nepričakovane napake."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Med odstranjevanjem je prišlo do nepričakovane napake."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Prišlo je do nepričakovane napake."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Dodatek bo odstranjen po ponovnem zagonu Firefoxa."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ponovno zaženite Firefox za uporabo tega dodatka."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Zapri"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Pridržite miškin kazalec za predogled ali kliknite, da namestite %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Odkrijte dodatke"
|
||||
|
@ -129,13 +131,19 @@ msgstr "Prikrojite Firefox po svoji meri"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Razvijalci širom sveta so ustvarili na tisoče dodatkov, s katerimi si lahko prilagodite Firefox. Od zabavnih grafičnih tem do zmogljivih orodij, ki napravijo vaše brskanje hitrejše in varnejše — "
|
||||
"dodatki naredijo vaš Firefox čisto vaš. Za začetek lahko preskusite naslednje, ki jih priporočamo zaradi izredne zmogljivosti in uporabnosti."
|
||||
"Razvijalci širom sveta so ustvarili na tisoče dodatkov, s katerimi si lahko "
|
||||
"prilagodite Firefox. Od zabavnih grafičnih tem do zmogljivih orodij, ki "
|
||||
"napravijo vaše brskanje hitrejše in varnejše — dodatki naredijo vaš Firefox "
|
||||
"čisto vaš. Za začetek lahko preskusite naslednje, ki jih priporočamo zaradi "
|
||||
"izredne zmogljivosti in uporabnosti."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Nameščen in dodan v orodno vrstico"
|
||||
|
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-09-17 08:22+0000\n"
|
||||
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -63,48 +63,48 @@ msgstr "Tani mund të hyni te %(name)s që nga paneli."
|
|||
msgid "OK!"
|
||||
msgstr "OK!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Kalojeni kursorin përsipër figurës që ta parashihni"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalimi dështoi. Ju lutemi, riprovoni."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Shkarkimi dështoi. Ju lutemi, kontrolloni lidhjen tuaj."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Ndodhi një gabim i papritur gjatë instalimit."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Ndodhi një gabim i papritur gjatë çinstalimit."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ndodhi një gabim i papritur."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Kjo shtesë do të çinstalohet pasi të rinisni Firefox-in."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ju lutemi, rinisni Firefox-in që të përdorni këtë shtesë."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
msgid "Close"
|
||||
msgstr "Mbylle"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Kalojini kursorin përsipër që ta parashihni ose klikoni që të instalohet "
|
||||
"%(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Kalojeni kursorin përsipër figurës që ta parashihni"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Instalimi dështoi. Ju lutemi, riprovoni."
|
||||
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Shkarkimi dështoi. Ju lutemi, kontrolloni lidhjen tuaj."
|
||||
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Ndodhi një gabim i papritur gjatë instalimit."
|
||||
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Ndodhi një gabim i papritur gjatë çinstalimit."
|
||||
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ndodhi një gabim i papritur."
|
||||
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Kjo shtesë do të çinstalohet pasi të rinisni Firefox-in."
|
||||
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Ju lutemi, rinisni Firefox-in që të përdorni këtë shtesë."
|
||||
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Mbylle"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Zbuloni Shtesa"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 18:02+0000\n"
|
||||
"Last-Translator: Andreas Pettersson <az@kth.se>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,48 @@ msgstr "Nu kan du komma åt %(name)s från verktygsfältet."
|
|||
msgid "OK!"
|
||||
msgstr "Ok!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
"Håll muspekaren över för att förhandsgranska eller klicka för att installera "
|
||||
"%(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Håll muspekaren över bilden för att förhandsgranska"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Installationen misslyckades. Försök igen."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Hämtningen misslyckades. Kontrollera din anslutning."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Ett oväntat fel uppstod under installationen."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Ett oväntat fel uppstod under avinstallationen."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Ett oväntat fel inträffade."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Detta tillägg kommer att avinstalleras efter omstart av Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Starta om Firefox för att använda detta tillägg."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Stäng"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Håll muspekaren över för att förhandsgranska eller klicka för att installera %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Upptäck tillägg"
|
||||
|
@ -129,15 +131,22 @@ msgstr "Anpassa Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Det finns tusentals tillägg som är gratis, skapade av utvecklare över hela världen, \n"
|
||||
"som du kan installera för att anpassa Firefox. Från roliga visuella teman till kraftfulla \n"
|
||||
"verktyg som gör surfning snabbare och säkrare, tillägg gör din webbläsare till din egen.\n"
|
||||
"För att hjälpa dig att komma igång, här är några vi rekommenderar för deras \n"
|
||||
"Det finns tusentals tillägg som är gratis, skapade av utvecklare över hela "
|
||||
"världen, \n"
|
||||
"som du kan installera för att anpassa Firefox. Från roliga visuella teman "
|
||||
"till kraftfulla \n"
|
||||
"verktyg som gör surfning snabbare och säkrare, tillägg gör din webbläsare "
|
||||
"till din egen.\n"
|
||||
"För att hjälpa dig att komma igång, här är några vi rekommenderar för "
|
||||
"deras \n"
|
||||
"enastående prestanda och funktionalitet."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -4,7 +4,7 @@ msgstr ""
|
|||
"Project-Id-Version: amo\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2016-11-10 09:55+0000\n"
|
||||
"PO-Revision-Date: 2017-01-29 22:07+0000\n"
|
||||
"PO-Revision-Date: 2017-02-04 20:01+0000\n"
|
||||
"Last-Translator: Top <teerapatxtop@yahoo.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: th\n"
|
||||
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: src/amo/components/AddonDetail.js:49
|
||||
msgid "%(addonName)s %(startSpan)sby %(authorList)s%(endSpan)s"
|
||||
msgstr ""
|
||||
msgstr "%(addonName)s %(startSpan)sโดย %(authorList)s%(endSpan)s"
|
||||
|
||||
#: src/amo/components/AddonDetail.js:74
|
||||
msgid "Extension Metadata"
|
||||
|
@ -68,11 +68,11 @@ msgstr ""
|
|||
|
||||
#: src/amo/components/Footer.js:27
|
||||
msgid "Privacy policy"
|
||||
msgstr ""
|
||||
msgstr "นโยบายความเป็นส่วนตัว"
|
||||
|
||||
#: src/amo/components/Footer.js:33
|
||||
msgid "Legal notices"
|
||||
msgstr ""
|
||||
msgstr "ข้อกฎหมาย"
|
||||
|
||||
#: src/amo/components/Footer.js:39
|
||||
msgid "View desktop site"
|
||||
|
@ -84,7 +84,7 @@ msgstr "เรียกดูในภาษาของคุณ"
|
|||
|
||||
#: src/amo/components/MastHead.js:29
|
||||
msgid "Firefox Add-ons"
|
||||
msgstr ""
|
||||
msgstr "ส่วนเสริม Firefox"
|
||||
|
||||
#: src/amo/components/OverallRating.js:45
|
||||
msgid "How are you enjoying your experience with %(addonName)s?"
|
||||
|
@ -121,7 +121,7 @@ msgstr "ส่วนเสริมสำหรับ Firefox"
|
|||
|
||||
#: src/amo/containers/Home.js:18
|
||||
msgid "What do you want Firefox to do?"
|
||||
msgstr ""
|
||||
msgstr "คุณต้องการให้ Firefox ทำอะไร?"
|
||||
|
||||
#: src/amo/containers/Home.js:20
|
||||
msgid "Block ads"
|
||||
|
@ -153,7 +153,7 @@ msgstr "เรียกดูส่วนขยายทั้งหมด"
|
|||
|
||||
#: src/amo/containers/Home.js:31
|
||||
msgid "How do you want Firefox to look?"
|
||||
msgstr ""
|
||||
msgstr "คุณต้องการให้ Firefox มีลักษณะอย่างไร?"
|
||||
|
||||
#: src/amo/containers/Home.js:33
|
||||
msgid "Wild"
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"PO-Revision-Date: 2017-01-29 22:03+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-02-04 19:56+0000\n"
|
||||
"Last-Translator: Top <teerapatxtop@yahoo.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: th\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
@ -44,7 +44,7 @@ msgstr "กำลังถอนการติดตั้ง %(name)s"
|
|||
|
||||
#: src/core/components/InstallSwitch/index.js:65
|
||||
msgid "%(name)s is uninstalled. Click to install."
|
||||
msgstr ""
|
||||
msgstr "%(name)s ถูกถอนการติดตั้ง คลิกเพื่อติดตั้ง"
|
||||
|
||||
#: src/core/components/InstallSwitch/index.js:68
|
||||
msgid "Install state for %(name)s is unknown."
|
||||
|
@ -62,46 +62,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr "ตกลง!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "วางเมาส์เพื่อแสดงตัวอย่างหรือคลิกเพื่อติดตั้ง %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "วางเมาส์เหนือภาพเพื่อแสดงตัวอย่าง"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "การติดตั้งล้มเหลว โปรดลองอีกครั้ง"
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "การดาวน์โหลดล้มเหลว โปรดตรวจสอบการเชื่อมต่อของคุณ"
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "เกิดข้อผิดพลาดที่ไม่คาดคิดระหว่างการติดตั้ง"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "เกิดข้อผิดพลาดที่ไม่คาดคิดระหว่างการถอนการติดตั้ง"
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "เกิดข้อผิดพลาดที่ไม่คาดคิด"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "ส่วนเสริมนี้จะถูกถอนการติดตั้งหลังจากคุณเริ่มการทำงาน Firefox ใหม่"
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "โปรดเริ่มการทำงาน Firefox ใหม่เพื่อใช้ส่วนเสริมนี้"
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "ปิด"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "ค้นพบส่วนเสริม"
|
||||
|
@ -129,8 +129,11 @@ msgstr "ปรับแต่ง Firefox ของคุณ"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-25 12:38+0000\n"
|
||||
"Last-Translator: Denis Sikorsky <sikorskydenisua@protonmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -11,7 +11,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Pontoon\n"
|
||||
|
||||
#: src/core/components/InstallButton/index.js:42
|
||||
|
@ -62,46 +63,46 @@ msgstr "Тепер ви можете отримати доступ до %(name)s
|
|||
msgid "OK!"
|
||||
msgstr "Гаразд!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Наведіть для перегляду, або натисніть для встановлення %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "Наведіть курсор на зображення для перегляду"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "Не вдалося встановити. Повторіть спробу."
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "Не вдалося завантажити. Будь ласка, перевірте підключення."
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "Сталася неочікувана помилка під час встановлення."
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "Сталася неочікувана помилка під час видалення."
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "Сталася неочікувана помилка."
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "Цей додаток буде видалений після перезапуску Firefox."
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "Перезапустіть Firefox для використання цього додатку."
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "Закрити"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "Наведіть для перегляду, або натисніть для встановлення %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "Відкрийте для себе додатки"
|
||||
|
@ -129,13 +130,20 @@ msgstr "Персоналізуйте ваш Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr ""
|
||||
"Існують тисячі додатків, створені розробниками з усього світу, які ви можете встановити для персоналізації Firefox. Починаючи від візуальних тем до потужних інструментів, які роблять перегляд швидшим і безпечнішим; додатки роблять ваш браузер вашим.\n"
|
||||
"Щоб допомогти вам розпочати, ось декілька додатків, рекомендованих нами за незрівнянну продуктивність та функціональність."
|
||||
"Існують тисячі додатків, створені розробниками з усього світу, які ви можете "
|
||||
"встановити для персоналізації Firefox. Починаючи від візуальних тем до "
|
||||
"потужних інструментів, які роблять перегляд швидшим і безпечнішим; додатки "
|
||||
"роблять ваш браузер вашим.\n"
|
||||
"Щоб допомогти вам розпочати, ось декілька додатків, рекомендованих нами за "
|
||||
"незрівнянну продуктивність та функціональність."
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "Встановлено й додано на панель інструментів"
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2016-05-20 11:26+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -60,46 +60,46 @@ msgstr ""
|
|||
msgid "OK!"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr ""
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-25 05:40+0000\n"
|
||||
"Last-Translator: YFdyh000 <yfdyh000@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,46 @@ msgstr "您现在可以在工具栏找到 %(name)s 了。"
|
|||
msgid "OK!"
|
||||
msgstr "知道了!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "鼠标悬停在上面即可预览,点击可安装 %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "鼠标悬停在上面的图像上就能预览"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "安装失败。请重试。"
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "下载失败。请检查您的网络连接。"
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "安装时发生意外错误。"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "卸载时发生意外错误。"
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "发生意外错误。"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "此附加组件将在您重启 Firefox 后被卸载。"
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "重启 Firefox 后即可使用此附加组件。"
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "关闭"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "鼠标悬停在上面即可预览,点击可安装 %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "探寻附加组件"
|
||||
|
@ -129,11 +129,18 @@ msgstr "让火狐有您的个性"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr "这里有成千上万完全免费的附加组件,由全球各地的开发者打造。您可以随心安装附加组件,让 Firefox 有您的个性。这里不但有养眼的主题,还有各式功能强大的工具,帮您更快更安全地上网冲浪。为了协助您上手,下面提供了一些我们力荐的轻巧好用的附加组件。"
|
||||
msgstr ""
|
||||
"这里有成千上万完全免费的附加组件,由全球各地的开发者打造。您可以随心安装附加"
|
||||
"组件,让 Firefox 有您的个性。这里不但有养眼的主题,还有各式功能强大的工具,帮"
|
||||
"您更快更安全地上网冲浪。为了协助您上手,下面提供了一些我们力荐的轻巧好用的附"
|
||||
"加组件。"
|
||||
|
||||
#~ msgid "Installed and added to toolbar"
|
||||
#~ msgstr "已安装并添加到工具栏"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: disco\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2017-01-24 12:23+0000\n"
|
||||
"POT-Creation-Date: 2017-02-07 14:11+0000\n"
|
||||
"PO-Revision-Date: 2017-01-24 14:37+0000\n"
|
||||
"Last-Translator: Pin-guang Chen <petercpg@mail.moztw.org>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -62,46 +62,46 @@ msgstr "您現在可在工具列使用 %(name)s。"
|
|||
msgid "OK!"
|
||||
msgstr "好!"
|
||||
|
||||
#: src/disco/components/Addon.js:107
|
||||
#: src/disco/components/Addon.js:100
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "滑動以預覽或點擊安裝 %(name)s"
|
||||
|
||||
#: src/disco/components/Addon.js:113
|
||||
msgid "Hover over the image to preview"
|
||||
msgstr "滑過圖片進行預覽"
|
||||
|
||||
#: src/disco/components/Addon.js:128
|
||||
#: src/disco/components/Addon.js:134
|
||||
msgid "Installation failed. Please try again."
|
||||
msgstr "安裝失敗,請再試一次。"
|
||||
|
||||
#: src/disco/components/Addon.js:130
|
||||
#: src/disco/components/Addon.js:136
|
||||
msgid "Download failed. Please check your connection."
|
||||
msgstr "下載失敗,請檢查網路連線。"
|
||||
|
||||
#: src/disco/components/Addon.js:132
|
||||
#: src/disco/components/Addon.js:138
|
||||
msgid "An unexpected error occurred during installation."
|
||||
msgstr "安裝時發生未預期的錯誤。"
|
||||
|
||||
#: src/disco/components/Addon.js:134
|
||||
#: src/disco/components/Addon.js:140
|
||||
msgid "An unexpected error occurred during uninstallation."
|
||||
msgstr "移除時發生未預期的錯誤。"
|
||||
|
||||
#: src/disco/components/Addon.js:137
|
||||
#: src/disco/components/Addon.js:143
|
||||
msgid "An unexpected error occurred."
|
||||
msgstr "發生未預期的錯誤。"
|
||||
|
||||
#: src/disco/components/Addon.js:145
|
||||
#: src/disco/components/Addon.js:151
|
||||
msgid "This add-on will be uninstalled after you restart Firefox."
|
||||
msgstr "您重新啟動 Firefox 後將移除此附加元件。"
|
||||
|
||||
#: src/disco/components/Addon.js:147
|
||||
#: src/disco/components/Addon.js:153
|
||||
msgid "Please restart Firefox to use this add-on."
|
||||
msgstr "重新啟動 Firefox 後即可使用此附加元件。"
|
||||
|
||||
#: src/disco/components/Addon.js:67
|
||||
#: src/disco/components/Addon.js:68
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: src/disco/components/Addon.js:97
|
||||
msgid "Hover to preview or click to install %(name)s"
|
||||
msgstr "滑動以預覽或點擊安裝 %(name)s"
|
||||
|
||||
#: src/disco/containers/App.js:27
|
||||
msgid "Discover Add-ons"
|
||||
msgstr "探索附加元件"
|
||||
|
@ -129,11 +129,17 @@ msgstr "個人化您的 Firefox"
|
|||
#: src/disco/containers/DiscoPane.js:97
|
||||
msgid ""
|
||||
"There are thousands of free add-ons, created by developers all over\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out performance\n"
|
||||
"the world, that you can install to personalize your Firefox. From fun visual "
|
||||
"themes\n"
|
||||
"to powerful tools that make browsing faster and safer, add-ons make your "
|
||||
"browser yours.\n"
|
||||
"To help you get started, here are some we recommend for their stand-out "
|
||||
"performance\n"
|
||||
"and functionality."
|
||||
msgstr "有數以千計的附加元件可讓您把 Firefox 變得有您的樣子,不論是漂亮的佈景主題、讓您瀏覽時更快、更安全的工具與功能。為了幫助您開始使用,以下是一些我們推薦效能與功能都很傑出的附加元件。"
|
||||
msgstr ""
|
||||
"有數以千計的附加元件可讓您把 Firefox 變得有您的樣子,不論是漂亮的佈景主題、讓"
|
||||
"您瀏覽時更快、更安全的工具與功能。為了幫助您開始使用,以下是一些我們推薦效能"
|
||||
"與功能都很傑出的附加元件。"
|
||||
|
||||
#~ msgid "Preview %(name)s"
|
||||
#~ msgstr "預覽 %(name)s"
|
||||
|
|
34
package.json
34
package.json
|
@ -160,16 +160,17 @@
|
|||
"bunyan": "1.8.5",
|
||||
"classnames": "2.2.5",
|
||||
"common-tags": "1.4.0",
|
||||
"config": "1.24.0",
|
||||
"config": "1.25.1",
|
||||
"deep-eql": "2.0.1",
|
||||
"dompurify": "0.8.4",
|
||||
"express": "4.14.0",
|
||||
"dompurify": "0.8.5",
|
||||
"es6-error": "4.0.1",
|
||||
"express": "4.14.1",
|
||||
"extract-text-webpack-plugin": "1.0.1",
|
||||
"helmet": "3.4.0",
|
||||
"humps": "2.0.0",
|
||||
"isomorphic-fetch": "2.2.1",
|
||||
"jed": "1.1.1",
|
||||
"jsdom": "9.9.1",
|
||||
"jsdom": "9.10.0",
|
||||
"moment": "2.17.1",
|
||||
"mozilla-tabzilla": "0.5.1",
|
||||
"normalize.css": "5.0.0",
|
||||
|
@ -180,14 +181,15 @@
|
|||
"react-cookie": "1.0.4",
|
||||
"react-dom": "15.4.1",
|
||||
"react-helmet": "4.0.0",
|
||||
"react-onclickoutside": "5.8.3",
|
||||
"react-nested-status": "0.1.2",
|
||||
"react-onclickoutside": "5.9.0",
|
||||
"react-photoswipe": "1.2.0",
|
||||
"react-redux": "4.4.6",
|
||||
"react-router": "2.8.1",
|
||||
"react-router-scroll": "0.4.1",
|
||||
"redux": "3.6.0",
|
||||
"redux-connect": "4.0.2",
|
||||
"redux-logger": "2.7.4",
|
||||
"redux-logger": "2.8.1",
|
||||
"serialize-javascript": "1.3.0",
|
||||
"url": "0.11.0",
|
||||
"url-loader": "0.5.7",
|
||||
|
@ -220,11 +222,11 @@
|
|||
"eslint-plugin-import": "2.2.0",
|
||||
"eslint-plugin-jsx-a11y": "2.2.3",
|
||||
"eslint-plugin-react": "6.8.0",
|
||||
"fetch-mock": "5.8.1",
|
||||
"file-loader": "0.9.0",
|
||||
"fetch-mock": "5.9.3",
|
||||
"file-loader": "0.10.0",
|
||||
"glob": "7.1.1",
|
||||
"json-loader": "0.5.4",
|
||||
"karma": "1.4.0",
|
||||
"karma": "1.4.1",
|
||||
"karma-chai": "0.1.0",
|
||||
"karma-coverage": "1.1.1",
|
||||
"karma-coveralls": "1.1.2",
|
||||
|
@ -235,7 +237,7 @@
|
|||
"karma-sourcemap-loader": "0.3.7",
|
||||
"karma-webpack": "2.0.2",
|
||||
"mocha": "3.2.0",
|
||||
"node-sass": "4.2.0",
|
||||
"node-sass": "4.4.0",
|
||||
"po2json": "0.4.5",
|
||||
"postcss-loader": "1.2.2",
|
||||
"react-addons-test-utils": "15.4.1",
|
||||
|
@ -244,21 +246,21 @@
|
|||
"redux-devtools": "3.3.2",
|
||||
"require-uncached": "1.0.3",
|
||||
"rimraf": "2.5.4",
|
||||
"sass-loader": "4.1.1",
|
||||
"sass-loader": "5.0.1",
|
||||
"semver": "5.3.0",
|
||||
"shelljs": "0.7.5",
|
||||
"sinon": "1.17.7",
|
||||
"sri-stats-webpack-plugin": "0.7.3",
|
||||
"style-loader": "0.13.1",
|
||||
"stylelint": "7.7.1",
|
||||
"stylelint-config-standard": "15.0.1",
|
||||
"stylelint": "7.8.0",
|
||||
"stylelint-config-standard": "16.0.0",
|
||||
"supertest": "2.0.1",
|
||||
"supertest-as-promised": "4.0.2",
|
||||
"svg-url-loader": "1.1.0",
|
||||
"svg-url-loader": "2.0.1",
|
||||
"tosource": "1.0.0",
|
||||
"webpack": "1.14.0",
|
||||
"webpack-dev-middleware": "1.9.0",
|
||||
"webpack-dev-server": "1.16.2",
|
||||
"webpack-dev-middleware": "1.10.0",
|
||||
"webpack-dev-server": "2.3.0",
|
||||
"webpack-hot-middleware": "2.16.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,12 +8,13 @@ export function submitReview({
|
|||
rating,
|
||||
apiState,
|
||||
addonSlug,
|
||||
title,
|
||||
versionId,
|
||||
body,
|
||||
reviewId,
|
||||
...apiCallParams
|
||||
}) {
|
||||
const data = { rating, version: versionId, body };
|
||||
const data = { rating, version: versionId, body, title };
|
||||
if (reviewId) {
|
||||
// You cannot update the version of an existing review.
|
||||
data.version = undefined;
|
||||
|
|
|
@ -171,7 +171,7 @@ export class AddonDetailBase extends React.Component {
|
|||
<h2 className="visually-hidden">
|
||||
{i18n.gettext('Extension Metadata')}
|
||||
</h2>
|
||||
<AddonMeta averageDailyUsers={addon.average_daily_users} />
|
||||
<AddonMeta addon={addon} />
|
||||
<InstallButton {...this.props} />
|
||||
</section>
|
||||
|
||||
|
|
|
@ -8,24 +8,54 @@ import 'amo/css/AddonMeta.scss';
|
|||
|
||||
export class AddonMetaBase extends React.Component {
|
||||
static propTypes = {
|
||||
averageDailyUsers: PropTypes.number.isRequired,
|
||||
addon: PropTypes.object.isRequired,
|
||||
i18n: PropTypes.object.isRequired,
|
||||
}
|
||||
|
||||
render() {
|
||||
const { averageDailyUsers, i18n } = this.props;
|
||||
const { addon, i18n } = this.props;
|
||||
const averageDailyUsers = addon.average_daily_users;
|
||||
const averageRating = addon.ratings.average;
|
||||
const addonReviewCount = addon.ratings.count;
|
||||
|
||||
const userCount = i18n.sprintf(
|
||||
i18n.ngettext('%(total)s user', '%(total)s users', averageDailyUsers),
|
||||
{ total: i18n.formatNumber(averageDailyUsers) },
|
||||
);
|
||||
let starCount;
|
||||
if (averageRating) {
|
||||
starCount = i18n.sprintf(
|
||||
i18n.gettext('%(averageRating)s out of 5'),
|
||||
{ averageRating: i18n.formatNumber(averageRating) },
|
||||
);
|
||||
} else {
|
||||
starCount = i18n.gettext('Not yet rated');
|
||||
}
|
||||
let reviewCount;
|
||||
if (addonReviewCount) {
|
||||
reviewCount = i18n.sprintf(
|
||||
i18n.ngettext('%(total)s review', '%(total)s reviews', addonReviewCount),
|
||||
{ total: i18n.formatNumber(addonReviewCount) },
|
||||
);
|
||||
} else {
|
||||
reviewCount = i18n.gettext('Not yet reviewed');
|
||||
}
|
||||
return (
|
||||
<div className="AddonMeta">
|
||||
<div className="AddonMeta-users">
|
||||
<div className="AddonMeta-item AddonMeta-users">
|
||||
<h3 className="visually-hidden">{i18n.gettext('Used by')}</h3>
|
||||
<Icon className="AddonMeta-users-icon" name="user" />
|
||||
<p className="AddonMeta-text">{userCount}</p>
|
||||
</div>
|
||||
<div className="AddonMeta-item AddonMeta-ratings">
|
||||
<Icon className="AddonMeta-ratings-icon" name="star" />
|
||||
<p className="AddonMeta-text AddonMeta-star-count">
|
||||
{starCount}
|
||||
</p>
|
||||
<p className="AddonMeta-text AddonMeta-review-count">
|
||||
{reviewCount}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { compose } from 'redux';
|
||||
import { asyncConnect } from 'redux-connect';
|
||||
import { withRouter } from 'react-router';
|
||||
|
||||
import { submitReview } from 'amo/api';
|
||||
import { setReview } from 'amo/actions/reviews';
|
||||
import { callApi } from 'core/api';
|
||||
import { withErrorHandling } from 'core/errorHandler';
|
||||
import { withErrorHandler } from 'core/errorHandler';
|
||||
import translate from 'core/i18n/translate';
|
||||
import OverlayCard from 'ui/components/OverlayCard';
|
||||
|
||||
import 'amo/css/AddonReview.scss';
|
||||
|
||||
|
@ -19,40 +17,62 @@ export class AddonReviewBase extends React.Component {
|
|||
errorHandler: PropTypes.object.isRequired,
|
||||
i18n: PropTypes.object.isRequired,
|
||||
review: PropTypes.object.isRequired,
|
||||
router: PropTypes.object.isRequired,
|
||||
updateReviewText: PropTypes.func,
|
||||
}
|
||||
|
||||
onSubmit = (event) => {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = { reviewBody: null, reviewTitle: null };
|
||||
if (props.review) {
|
||||
this.state.reviewTitle = props.review.title;
|
||||
this.state.reviewBody = props.review.body;
|
||||
}
|
||||
this.overlayCard = null;
|
||||
this.reviewTextarea = null;
|
||||
this.reviewTitleInput = null;
|
||||
}
|
||||
|
||||
componentWillReceiveProps(nextProps) {
|
||||
const { review } = nextProps;
|
||||
if (review) {
|
||||
this.setState({
|
||||
reviewTitle: review.title,
|
||||
reviewBody: review.body,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
onSubmit = (event, { overlayCard = this.overlayCard } = {}) => {
|
||||
const { reviewBody, reviewTitle } = this.state;
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
const body = this.reviewTextarea.value;
|
||||
const params = {
|
||||
body,
|
||||
body: reviewBody,
|
||||
title: reviewTitle,
|
||||
addonSlug: this.props.review.addonSlug,
|
||||
errorHandler: this.props.errorHandler,
|
||||
reviewId: this.props.review.id,
|
||||
apiState: this.props.apiState,
|
||||
router: this.props.router,
|
||||
};
|
||||
// TODO: render a progress indicator in the UI.
|
||||
// https://github.com/mozilla/addons-frontend/issues/1156
|
||||
return this.props.updateReviewText(params)
|
||||
.then(() => this.goBackToAddonDetail());
|
||||
.then(() => {
|
||||
overlayCard.hide();
|
||||
});
|
||||
}
|
||||
|
||||
goBackToAddonDetail = (event) => {
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
const { router } = this.props;
|
||||
const { addonSlug } = this.props.review;
|
||||
const { lang, clientApp } = this.props.apiState;
|
||||
router.push(`/${lang}/${clientApp}/addon/${addonSlug}/`);
|
||||
onTitleInput = (event) => {
|
||||
this.setState({ reviewTitle: event.target.value });
|
||||
}
|
||||
|
||||
onBodyInput = (event) => {
|
||||
this.setState({ reviewBody: event.target.value });
|
||||
}
|
||||
|
||||
render() {
|
||||
const { i18n, review } = this.props;
|
||||
const { errorHandler, i18n, review } = this.props;
|
||||
const { reviewBody, reviewTitle } = this.state;
|
||||
if (!review || !review.id || !review.addonSlug) {
|
||||
throw new Error(`Unexpected review property: ${JSON.stringify(review)}`);
|
||||
}
|
||||
|
@ -74,31 +94,40 @@ export class AddonReviewBase extends React.Component {
|
|||
);
|
||||
}
|
||||
|
||||
const titlePlaceholder = i18n.gettext('Give your review a title');
|
||||
|
||||
return (
|
||||
<div className="AddonReview">
|
||||
<OverlayCard ref={(ref) => { this.overlayCard = ref; }}
|
||||
visibleOnLoad className="AddonReview">
|
||||
<h2 className="AddonReview-header">{i18n.gettext('Write a review')}</h2>
|
||||
<p ref={(ref) => { this.reviewPrompt = ref; }}>{prompt}</p>
|
||||
<form onSubmit={this.onSubmit} ref={(ref) => { this.reviewForm = ref; }}>
|
||||
<textarea
|
||||
className="AddonReview-textarea"
|
||||
ref={(ref) => { this.reviewTextarea = ref; }}
|
||||
name="review"
|
||||
placeholder={placeholder}>
|
||||
{review.body}
|
||||
</textarea>
|
||||
<div className="AddonReview-button-row">
|
||||
<button className="AddonReview-button AddonReview-back-button"
|
||||
onClick={this.goBackToAddonDetail}
|
||||
ref={(ref) => { this.backButton = ref; }}>
|
||||
{i18n.gettext('Back')}
|
||||
</button>
|
||||
<div className="AddonReview-form-input">
|
||||
{errorHandler.hasError() ? errorHandler.renderError() : null}
|
||||
<input
|
||||
className="AddonReview-button AddonReview-submit-button"
|
||||
type="submit" value={i18n.gettext('Submit')}
|
||||
ref={(ref) => { this.reviewTitleInput = ref; }}
|
||||
type="text"
|
||||
className="AddonReview-title"
|
||||
name="reviewTitle"
|
||||
value={reviewTitle}
|
||||
onInput={this.onTitleInput}
|
||||
placeholder={titlePlaceholder}
|
||||
/>
|
||||
<textarea
|
||||
ref={(ref) => { this.reviewTextarea = ref; }}
|
||||
className="AddonReview-textarea"
|
||||
onInput={this.onBodyInput}
|
||||
name="review"
|
||||
value={reviewBody}
|
||||
placeholder={placeholder}
|
||||
/>
|
||||
</div>
|
||||
<input
|
||||
className="AddonReview-submit"
|
||||
type="submit" value={i18n.gettext('Submit review')}
|
||||
/>
|
||||
</form>
|
||||
</div>
|
||||
</OverlayCard>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -114,33 +143,8 @@ export const mapDispatchToProps = (dispatch) => ({
|
|||
},
|
||||
});
|
||||
|
||||
export function loadAddonReview(
|
||||
{ store: { dispatch }, params: { slug, reviewId } }
|
||||
) {
|
||||
return new Promise((resolve) => {
|
||||
if (!slug || !reviewId) {
|
||||
throw new Error('missing URL params slug (add-on slug) or reviewId');
|
||||
}
|
||||
resolve(callApi({
|
||||
endpoint: `addons/addon/${slug}/reviews/${reviewId}`,
|
||||
method: 'GET',
|
||||
}));
|
||||
})
|
||||
.then((review) => {
|
||||
const action = setReview(review);
|
||||
dispatch(action);
|
||||
return action.payload;
|
||||
});
|
||||
}
|
||||
|
||||
export default compose(
|
||||
asyncConnect([{
|
||||
key: 'review',
|
||||
deferred: true,
|
||||
promise: loadAddonReview,
|
||||
}]),
|
||||
withErrorHandling({ name: 'AddonReview' }),
|
||||
withRouter,
|
||||
withErrorHandler({ name: 'AddonReview' }),
|
||||
connect(mapStateToProps, mapDispatchToProps),
|
||||
translate({ withRef: true }),
|
||||
)(AddonReviewBase);
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
@import "~amo/css/inc/vars";
|
||||
|
||||
.ErrorPage {
|
||||
margin: $page-margin;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { compose } from 'redux';
|
||||
|
||||
import { getErrorComponent } from 'amo/utils';
|
||||
|
||||
|
||||
export class ErrorPageBase extends React.Component {
|
||||
static propTypes = {
|
||||
children: PropTypes.node.isRequired,
|
||||
errorPage: PropTypes.object.isRequired,
|
||||
}
|
||||
|
||||
static defaultProps = {
|
||||
errorPage: {},
|
||||
}
|
||||
|
||||
render() {
|
||||
const { children, errorPage } = this.props;
|
||||
|
||||
if (errorPage.hasError) {
|
||||
const ErrorComponent = getErrorComponent(errorPage.statusCode);
|
||||
return (
|
||||
<ErrorComponent error={errorPage.error} status={errorPage.statusCode} />
|
||||
);
|
||||
}
|
||||
|
||||
return children;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const mapStateToProps = (state) => ({
|
||||
errorPage: state.errorPage,
|
||||
});
|
||||
|
||||
export default compose(
|
||||
connect(mapStateToProps),
|
||||
)(ErrorPageBase);
|
|
@ -5,6 +5,7 @@ import { asyncConnect } from 'redux-connect';
|
|||
import { connect } from 'react-redux';
|
||||
|
||||
import LandingAddonsCard from 'amo/components/LandingAddonsCard';
|
||||
import NotFound from 'amo/components/NotFound';
|
||||
import { loadLandingAddons } from 'amo/utils';
|
||||
import {
|
||||
ADDON_TYPE_EXTENSION,
|
||||
|
@ -12,7 +13,12 @@ import {
|
|||
SEARCH_SORT_POPULAR,
|
||||
SEARCH_SORT_TOP_RATED,
|
||||
} from 'core/constants';
|
||||
import { apiAddonType, visibleAddonType } from 'core/utils';
|
||||
import { AddonTypeNotFound } from 'core/errors';
|
||||
import log from 'core/logger';
|
||||
import {
|
||||
apiAddonType as getApiAddonType,
|
||||
visibleAddonType as getVisibleAddonType,
|
||||
} from 'core/utils';
|
||||
import translate from 'core/i18n/translate';
|
||||
|
||||
import './LandingPage.scss';
|
||||
|
@ -20,21 +26,29 @@ import './LandingPage.scss';
|
|||
|
||||
export class LandingPageBase extends React.Component {
|
||||
static propTypes = {
|
||||
addonType: PropTypes.string.isRequired,
|
||||
apiAddonType: PropTypes.func.isRequired,
|
||||
featuredAddons: PropTypes.array,
|
||||
highlyRatedAddons: PropTypes.array,
|
||||
popularAddons: PropTypes.array,
|
||||
i18n: PropTypes.object.isRequired,
|
||||
params: PropTypes.objectOf({
|
||||
visibleAddonType: PropTypes.string.isRequired,
|
||||
}).isRequired,
|
||||
}
|
||||
|
||||
contentForType(addonType) {
|
||||
const { i18n } = this.props;
|
||||
static defaultProps = {
|
||||
apiAddonType: getApiAddonType,
|
||||
}
|
||||
|
||||
contentForType(visibleAddonType) {
|
||||
const { apiAddonType, i18n } = this.props;
|
||||
const addonType = apiAddonType(visibleAddonType);
|
||||
|
||||
const contentForTypes = {
|
||||
[ADDON_TYPE_EXTENSION]: {
|
||||
featuredHeader: i18n.gettext('Featured extensions'),
|
||||
featuredFooterLink: {
|
||||
pathname: `/${visibleAddonType(ADDON_TYPE_EXTENSION)}/featured/`,
|
||||
pathname: `/${getVisibleAddonType(ADDON_TYPE_EXTENSION)}/featured/`,
|
||||
query: { addonType: ADDON_TYPE_EXTENSION },
|
||||
},
|
||||
featuredFooterText: i18n.gettext('More featured extensions'),
|
||||
|
@ -54,7 +68,7 @@ export class LandingPageBase extends React.Component {
|
|||
[ADDON_TYPE_THEME]: {
|
||||
featuredHeader: i18n.gettext('Featured themes'),
|
||||
featuredFooterLink: {
|
||||
pathname: `/${visibleAddonType(ADDON_TYPE_THEME)}/featured/`,
|
||||
pathname: `/${getVisibleAddonType(ADDON_TYPE_THEME)}/featured/`,
|
||||
query: { addonType: ADDON_TYPE_THEME },
|
||||
},
|
||||
featuredFooterText: i18n.gettext('More featured themes'),
|
||||
|
@ -73,19 +87,26 @@ export class LandingPageBase extends React.Component {
|
|||
},
|
||||
};
|
||||
|
||||
if (contentForTypes[addonType]) {
|
||||
return contentForTypes[addonType];
|
||||
}
|
||||
|
||||
throw new Error(`No LandingPage content for addonType: ${addonType}`);
|
||||
return { addonType, html: contentForTypes[addonType] };
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
addonType, featuredAddons, highlyRatedAddons, popularAddons,
|
||||
} = this.props;
|
||||
const { featuredAddons, highlyRatedAddons, popularAddons } = this.props;
|
||||
const { visibleAddonType } = this.props.params;
|
||||
|
||||
const html = this.contentForType(addonType);
|
||||
let content;
|
||||
try {
|
||||
content = this.contentForType(visibleAddonType);
|
||||
} catch (err) {
|
||||
if (err instanceof AddonTypeNotFound) {
|
||||
log.info('Rendering <NotFound /> for error:', err);
|
||||
return <NotFound />;
|
||||
}
|
||||
|
||||
throw err;
|
||||
}
|
||||
|
||||
const { addonType, html } = content;
|
||||
|
||||
return (
|
||||
<div className={classNames('LandingPage', `LandingPage-${addonType}`)}>
|
||||
|
@ -108,9 +129,8 @@ export class LandingPageBase extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
export function mapStateToProps(state, ownProps) {
|
||||
export function mapStateToProps(state) {
|
||||
return {
|
||||
addonType: apiAddonType(ownProps.params.visibleAddonType),
|
||||
featuredAddons: state.landing.featured.results,
|
||||
highlyRatedAddons: state.landing.highlyRated.results,
|
||||
popularAddons: state.landing.popular.results,
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import { oneLine } from 'common-tags';
|
||||
import { compose } from 'redux';
|
||||
import NestedStatus from 'react-nested-status';
|
||||
|
||||
import translate from 'core/i18n/translate';
|
||||
import { sanitizeHTML } from 'core/utils';
|
||||
import Card from 'ui/components/Card';
|
||||
|
||||
import 'amo/components/ErrorPage/ErrorPage.scss';
|
||||
|
||||
|
||||
export class NotFoundBase extends React.Component {
|
||||
static propTypes = {
|
||||
i18n: PropTypes.object.isRequired,
|
||||
}
|
||||
|
||||
render() {
|
||||
const { i18n } = this.props;
|
||||
|
||||
const fileAnIssueText = i18n.sprintf(i18n.gettext(oneLine`
|
||||
If you are signed in and think this message is an error, please
|
||||
<a href="%(url)s">file an issue</a>. Tell us where you came from
|
||||
and what you were trying to access, and we'll fix the issue.`),
|
||||
{ url: 'https://github.com/mozilla/addons-frontend/issues/new/' });
|
||||
|
||||
// TODO: Check for signed in state and offer different messages.
|
||||
// TODO: Offer a sign in link/button inside the error page.
|
||||
/* eslint-disable react/no-danger */
|
||||
return (
|
||||
<NestedStatus code={401}>
|
||||
<Card className="ErrorPage NotAuthorized"
|
||||
header={i18n.gettext('Not Authorized')}>
|
||||
<p>
|
||||
{i18n.gettext(oneLine`
|
||||
Sorry, but you aren't authorized to access this page. If you
|
||||
aren't signed in, try signing in using the link at the top
|
||||
of the page.`)}
|
||||
</p>
|
||||
|
||||
<p dangerouslySetInnerHTML={sanitizeHTML(fileAnIssueText, ['a'])} />
|
||||
</Card>
|
||||
</NestedStatus>
|
||||
);
|
||||
/* eslint-enable react/no-danger */
|
||||
}
|
||||
}
|
||||
|
||||
export default compose(
|
||||
translate({ withRef: true }),
|
||||
)(NotFoundBase);
|
|
@ -0,0 +1,72 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import { oneLine } from 'common-tags';
|
||||
import { compose } from 'redux';
|
||||
import NestedStatus from 'react-nested-status';
|
||||
|
||||
import Link from 'amo/components/Link';
|
||||
import { ADDON_TYPE_EXTENSION, ADDON_TYPE_THEME } from 'core/constants';
|
||||
import translate from 'core/i18n/translate';
|
||||
import { sanitizeHTML, visibleAddonType } from 'core/utils';
|
||||
import Card from 'ui/components/Card';
|
||||
|
||||
import 'amo/components/ErrorPage/ErrorPage.scss';
|
||||
|
||||
|
||||
export class NotFoundBase extends React.Component {
|
||||
static propTypes = {
|
||||
i18n: PropTypes.object.isRequired,
|
||||
}
|
||||
|
||||
render() {
|
||||
const { i18n } = this.props;
|
||||
|
||||
const fileAnIssueText = i18n.sprintf(i18n.gettext(oneLine`
|
||||
If you followed a link from somewhere, please
|
||||
<a href="%(url)s">file an issue</a>. Tell us where you came from and
|
||||
what you were looking for, and we'll do our best to fix it.`),
|
||||
{ url: 'https://github.com/mozilla/addons-frontend/issues/new/' });
|
||||
|
||||
|
||||
/* eslint-disable react/no-danger */
|
||||
return (
|
||||
<NestedStatus code={404}>
|
||||
<Card className="ErrorPage NotFound"
|
||||
header={i18n.gettext('Page not found')}>
|
||||
<p>
|
||||
{i18n.gettext(oneLine`
|
||||
Sorry, but we can't find anything at the address you entered.
|
||||
If you followed a link to an add-on, it's possible that add-on
|
||||
has been removed by its author.`)}
|
||||
</p>
|
||||
|
||||
<h2>{i18n.gettext('Suggested Pages')}</h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<Link to={`/${visibleAddonType(ADDON_TYPE_EXTENSION)}/featured/`}>
|
||||
{i18n.gettext('Browse all extensions')}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`/${visibleAddonType(ADDON_TYPE_THEME)}/featured/`}>
|
||||
{i18n.gettext('Browse all themes')}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to="/">
|
||||
{i18n.gettext('Add-ons Home Page')}
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p dangerouslySetInnerHTML={sanitizeHTML(fileAnIssueText, ['a'])} />
|
||||
</Card>
|
||||
</NestedStatus>
|
||||
);
|
||||
/* eslint-enable react/no-danger */
|
||||
}
|
||||
}
|
||||
|
||||
export default compose(
|
||||
translate({ withRef: true }),
|
||||
)(NotFoundBase);
|
|
@ -1,11 +1,11 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { compose } from 'redux';
|
||||
import { withRouter } from 'react-router';
|
||||
|
||||
import { withErrorHandling } from 'core/errorHandler';
|
||||
import { setReview } from 'amo/actions/reviews';
|
||||
import { getLatestUserReview, submitReview } from 'amo/api';
|
||||
import AddonReview from 'amo/components/AddonReview';
|
||||
import translate from 'core/i18n/translate';
|
||||
import log from 'core/logger';
|
||||
import DefaultRating from 'ui/components/Rating';
|
||||
|
@ -19,7 +19,6 @@ export class RatingManagerBase extends React.Component {
|
|||
i18n: PropTypes.object.isRequired,
|
||||
loadSavedReview: PropTypes.func.isRequired,
|
||||
Rating: PropTypes.object,
|
||||
router: PropTypes.object.isRequired,
|
||||
submitReview: PropTypes.func.isRequired,
|
||||
userId: PropTypes.number,
|
||||
userReview: PropTypes.object,
|
||||
|
@ -33,6 +32,7 @@ export class RatingManagerBase extends React.Component {
|
|||
constructor(props) {
|
||||
super(props);
|
||||
const { loadSavedReview, userId, addon } = props;
|
||||
this.state = { showTextEntry: false };
|
||||
if (userId) {
|
||||
log.info(`loading a saved rating (if it exists) for user ${userId}`);
|
||||
loadSavedReview({ userId, addonId: addon.id });
|
||||
|
@ -40,7 +40,7 @@ export class RatingManagerBase extends React.Component {
|
|||
}
|
||||
|
||||
onSelectRating = (rating) => {
|
||||
const { userReview, userId, version } = this.props;
|
||||
const { userId, userReview, version } = this.props;
|
||||
|
||||
const params = {
|
||||
errorHandler: this.props.errorHandler,
|
||||
|
@ -48,7 +48,6 @@ export class RatingManagerBase extends React.Component {
|
|||
apiState: this.props.apiState,
|
||||
addonId: this.props.addon.id,
|
||||
addonSlug: this.props.addon.slug,
|
||||
router: this.props.router,
|
||||
versionId: version.id,
|
||||
userId,
|
||||
};
|
||||
|
@ -68,11 +67,15 @@ export class RatingManagerBase extends React.Component {
|
|||
} else {
|
||||
log.info(`Submitting a new review for versionId ${params.versionId}`);
|
||||
}
|
||||
this.props.submitReview(params);
|
||||
this.props.submitReview(params)
|
||||
.then(() => {
|
||||
this.setState({ showTextEntry: true });
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
const { Rating, i18n, addon, userReview } = this.props;
|
||||
const { showTextEntry } = this.state;
|
||||
|
||||
// TODO: Disable rating ability when not logged in
|
||||
// (when props.userId is empty)
|
||||
|
@ -83,6 +86,7 @@ export class RatingManagerBase extends React.Component {
|
|||
|
||||
return (
|
||||
<div className="RatingManager">
|
||||
{showTextEntry ? <AddonReview review={userReview} /> : null}
|
||||
<form action="">
|
||||
<fieldset>
|
||||
<legend ref={(ref) => { this.ratingLegend = ref; }}>
|
||||
|
@ -141,14 +145,9 @@ export const mapDispatchToProps = (dispatch) => ({
|
|||
});
|
||||
},
|
||||
|
||||
submitReview({ router, addonSlug, ...params }) {
|
||||
submitReview({ addonSlug, ...params }) {
|
||||
return submitReview({ addonSlug, ...params })
|
||||
.then((review) => {
|
||||
const { lang, clientApp } = params.apiState;
|
||||
dispatch(setReview(review));
|
||||
router.push(
|
||||
`/${lang}/${clientApp}/addon/${addonSlug}/review/${review.id}/`);
|
||||
});
|
||||
.then((review) => dispatch(setReview(review)));
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -158,6 +157,5 @@ export const RatingManagerWithI18n = compose(
|
|||
|
||||
export default compose(
|
||||
withErrorHandling({ name: 'RatingManager' }),
|
||||
withRouter,
|
||||
connect(mapStateToProps, mapDispatchToProps),
|
||||
)(RatingManagerWithI18n);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
background: $base-color;
|
||||
border-radius: $border-radius-default;
|
||||
border: 0;
|
||||
margin: 0 ($padding-page * 2) $padding-page;
|
||||
margin: $padding-page ($padding-page * 2);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import { oneLine } from 'common-tags';
|
||||
import { compose } from 'redux';
|
||||
import NestedStatus from 'react-nested-status';
|
||||
|
||||
import Link from 'amo/components/Link';
|
||||
import { ADDON_TYPE_EXTENSION, ADDON_TYPE_THEME } from 'core/constants';
|
||||
import translate from 'core/i18n/translate';
|
||||
import { sanitizeHTML, visibleAddonType } from 'core/utils';
|
||||
import Card from 'ui/components/Card';
|
||||
|
||||
import 'amo/components/ErrorPage/ErrorPage.scss';
|
||||
|
||||
|
||||
export class ServerErrorBase extends React.Component {
|
||||
static propTypes = {
|
||||
i18n: PropTypes.object.isRequired,
|
||||
}
|
||||
|
||||
render() {
|
||||
const { i18n } = this.props;
|
||||
|
||||
const fileAnIssueText = i18n.gettext(oneLine`
|
||||
If you have additional information that would help us you can
|
||||
<a href="https://github.com/mozilla/addons-frontend/issues/new/">file an
|
||||
issue</a>. Tell us what steps you took that lead to the error and we'll
|
||||
do our best to fix it.`);
|
||||
|
||||
/* eslint-disable react/no-danger */
|
||||
return (
|
||||
<NestedStatus code={500}>
|
||||
<Card className="ErrorPage ServerError"
|
||||
header={i18n.gettext('Server Error')}>
|
||||
<p>
|
||||
{i18n.gettext(oneLine`
|
||||
Sorry, but there was an error with our server and we couldn't
|
||||
complete your request. We have logged this error and will
|
||||
investigate it.`)}
|
||||
</p>
|
||||
|
||||
<h2>{i18n.gettext('Suggested Pages')}</h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<Link to={`/${visibleAddonType(ADDON_TYPE_EXTENSION)}/featured/`}>
|
||||
{i18n.gettext('Browse all extensions')}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to={`/${visibleAddonType(ADDON_TYPE_THEME)}/featured/`}>
|
||||
{i18n.gettext('Browse all themes')}
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link to="/">
|
||||
{i18n.gettext('Add-ons Home Page')}
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p dangerouslySetInnerHTML={sanitizeHTML(fileAnIssueText, ['a'])} />
|
||||
</Card>
|
||||
</NestedStatus>
|
||||
);
|
||||
/* eslint-enable react/no-danger */
|
||||
}
|
||||
}
|
||||
|
||||
export default compose(
|
||||
translate({ withRef: true }),
|
||||
)(ServerErrorBase);
|
|
@ -9,10 +9,10 @@ import { compose } from 'redux';
|
|||
import 'core/fonts/fira.scss';
|
||||
import 'amo/css/App.scss';
|
||||
import SearchForm from 'amo/components/SearchForm';
|
||||
import DefaultErrorPage from 'amo/components/ErrorPage';
|
||||
import { addChangeListeners } from 'core/addonManager';
|
||||
import { INSTALL_STATE } from 'core/constants';
|
||||
import InfoDialog from 'core/containers/InfoDialog';
|
||||
import { handleResourceErrors } from 'core/resourceErrors/decorator';
|
||||
import translate from 'core/i18n/translate';
|
||||
import Footer from 'amo/components/Footer';
|
||||
import MastHead from 'amo/components/MastHead';
|
||||
|
@ -20,6 +20,7 @@ import MastHead from 'amo/components/MastHead';
|
|||
|
||||
export class AppBase extends React.Component {
|
||||
static propTypes = {
|
||||
ErrorPage: PropTypes.node.isRequired,
|
||||
FooterComponent: PropTypes.node.isRequired,
|
||||
InfoDialogComponent: PropTypes.node.isRequired,
|
||||
MastHeadComponent: PropTypes.node.isRequired,
|
||||
|
@ -34,6 +35,7 @@ export class AppBase extends React.Component {
|
|||
}
|
||||
|
||||
static defaultProps = {
|
||||
ErrorPage: DefaultErrorPage,
|
||||
FooterComponent: Footer,
|
||||
InfoDialogComponent: InfoDialog,
|
||||
MastHeadComponent: MastHead,
|
||||
|
@ -57,6 +59,7 @@ export class AppBase extends React.Component {
|
|||
|
||||
render() {
|
||||
const {
|
||||
ErrorPage,
|
||||
FooterComponent,
|
||||
InfoDialogComponent,
|
||||
MastHeadComponent,
|
||||
|
@ -66,6 +69,7 @@ export class AppBase extends React.Component {
|
|||
lang,
|
||||
location,
|
||||
} = this.props;
|
||||
|
||||
const isHomePage = Boolean(location.pathname && location.pathname.match(
|
||||
new RegExp(`^\\/${lang}\\/${clientApp}\\/?$`)));
|
||||
const query = location.query ? location.query.q : null;
|
||||
|
@ -77,7 +81,7 @@ export class AppBase extends React.Component {
|
|||
SearchFormComponent={SearchForm} isHomePage={isHomePage} location={location}
|
||||
query={query} ref={(ref) => { this.mastHead = ref; }} />
|
||||
<div className="App-content">
|
||||
{children}
|
||||
<ErrorPage>{children}</ErrorPage>
|
||||
</div>
|
||||
<FooterComponent handleViewDesktop={this.onViewDesktop}
|
||||
location={location} />
|
||||
|
@ -100,7 +104,6 @@ export function mapDispatchToProps(dispatch) {
|
|||
}
|
||||
|
||||
export default compose(
|
||||
handleResourceErrors,
|
||||
connect(mapStateToProps, mapDispatchToProps),
|
||||
translate({ withRef: true }),
|
||||
)(AppBase);
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
.AddonMeta {
|
||||
display: flex;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.AddonMeta-users {
|
||||
.AddonMeta-item {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
@ -15,6 +16,11 @@
|
|||
width: 40px;
|
||||
}
|
||||
|
||||
.AddonMeta-ratings-icon {
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.AddonMeta-text {
|
||||
display: inline-block;
|
||||
line-height: 1.4;
|
||||
|
|
|
@ -1,52 +1,51 @@
|
|||
@import "~amo/css/inc/vars";
|
||||
|
||||
.AddonReview {
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
width: 90%;
|
||||
.AddonReview .Card-contents {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.AddonReview-form-input {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.AddonReview-header {
|
||||
font-size: $font-size-l;
|
||||
font-size: $font-size-form-header;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.AddonReview-textarea {
|
||||
.AddonReview-title,
|
||||
.AddonReview-textarea,
|
||||
.AddonReview-submit {
|
||||
margin-bottom: 12px;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
padding: 0.7em;
|
||||
border: 2px solid $form-border-color;
|
||||
border-radius: 8px;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.AddonReview-textarea {
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.AddonReview-button-row {
|
||||
margin-top: 1em;
|
||||
text-align: left;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.AddonReview-back-button::before {
|
||||
// This is a left pointing angle bracket (used as an arrow).
|
||||
// Code point: 〈
|
||||
// TODO: switch this to an SVG.
|
||||
content: '〈 ';
|
||||
}
|
||||
|
||||
.AddonReview-button {
|
||||
.AddonReview-submit {
|
||||
font-size: $font-size-s;
|
||||
text-align: center;
|
||||
color: $link-color;
|
||||
text-transform: uppercase;
|
||||
background: none;
|
||||
border: 0;
|
||||
color: $body-font-color;
|
||||
padding: 0.7em;
|
||||
background-color: $button-background-color;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.AddonReview-back-button {
|
||||
// This is because the left-pointing angle bracket character
|
||||
// seems to have a lot of whitespace on the left side.
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.AddonReview-submit-button {
|
||||
margin-left: auto;
|
||||
border-top: 2px solid $link-color;
|
||||
border-radius: 0;
|
||||
margin-bottom: 0;
|
||||
// This is an attempt at vertically centering the text. It accounts
|
||||
// for the rounded corners of the overlay.
|
||||
padding: 15px 0 5px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
|
|
@ -14,3 +14,5 @@ $breakpoints: (
|
|||
medium: '(min-width: 500px)',
|
||||
large: '(min-width: 720px)'
|
||||
);
|
||||
|
||||
$page-margin: 20px 10px;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import config from 'config';
|
||||
import React from 'react';
|
||||
import { IndexRoute, Route } from 'react-router';
|
||||
|
||||
import HandleLogin from 'core/containers/HandleLogin';
|
||||
|
||||
import AddonReview from './components/AddonReview';
|
||||
import AddonReviewList from './components/AddonReviewList';
|
||||
import App from './containers/App';
|
||||
import CategoryList from './containers/CategoryList';
|
||||
|
@ -12,7 +12,10 @@ import FeaturedAddons from './components/FeaturedAddons';
|
|||
import LandingPage from './components/LandingPage';
|
||||
import Home from './containers/Home';
|
||||
import DetailPage from './containers/DetailPage';
|
||||
import NotAuthorized from './components/NotAuthorized';
|
||||
import NotFound from './components/NotFound';
|
||||
import SearchPage from './containers/SearchPage';
|
||||
import ServerError from './components/ServerError';
|
||||
|
||||
|
||||
export default (
|
||||
|
@ -20,12 +23,17 @@ export default (
|
|||
<IndexRoute component={Home} />
|
||||
<Route path="addon/:slug/" component={DetailPage} />
|
||||
<Route path="addon/:addonSlug/reviews/" component={AddonReviewList} />
|
||||
<Route path="addon/:slug/review/:reviewId/" component={AddonReview} />
|
||||
<Route path=":visibleAddonType/categories/" component={CategoryList} />
|
||||
<Route path=":visibleAddonType/featured/" component={FeaturedAddons} />
|
||||
<Route path=":visibleAddonType/:slug/" component={CategoryPage} />
|
||||
<Route path="fxa-authenticate" component={HandleLogin} />
|
||||
<Route path="search/" component={SearchPage} />
|
||||
<Route path="401/"
|
||||
component={config.get('isDevelopment') ? NotAuthorized : NotFound} />
|
||||
<Route path="404/" component={NotFound} />
|
||||
<Route path="500/"
|
||||
component={config.get('isDevelopment') ? ServerError : NotFound} />
|
||||
<Route path=":visibleAddonType/" component={LandingPage} />
|
||||
<Route path="*" component={NotFound} />
|
||||
</Route>
|
||||
);
|
||||
|
|
|
@ -9,6 +9,7 @@ import api from 'core/reducers/api';
|
|||
import auth from 'core/reducers/authentication';
|
||||
import categories from 'core/reducers/categories';
|
||||
import errors from 'core/reducers/errors';
|
||||
import errorPage from 'core/reducers/errorPage';
|
||||
import infoDialog from 'core/reducers/infoDialog';
|
||||
import installations from 'core/reducers/installations';
|
||||
import search from 'core/reducers/search';
|
||||
|
@ -23,6 +24,7 @@ export default function createStore(initialState = {}) {
|
|||
auth,
|
||||
categories,
|
||||
errors,
|
||||
errorPage,
|
||||
featured,
|
||||
infoDialog,
|
||||
installations,
|
||||
|
|
|
@ -4,6 +4,9 @@ import {
|
|||
} from 'amo/constants';
|
||||
import { getFeatured, loadFeatured } from 'amo/actions/featured';
|
||||
import { getLanding, loadLanding, failLanding } from 'amo/actions/landing';
|
||||
import NotAuthorized from 'amo/components/NotAuthorized';
|
||||
import NotFound from 'amo/components/NotFound';
|
||||
import ServerError from 'amo/components/ServerError';
|
||||
import { featured as featuredAPI, search } from 'core/api';
|
||||
import { SEARCH_SORT_POPULAR, SEARCH_SORT_TOP_RATED } from 'core/constants';
|
||||
import { apiAddonType } from 'core/utils';
|
||||
|
@ -50,7 +53,23 @@ export function fetchLandingAddons({ addonType, api, dispatch }) {
|
|||
|
||||
export function loadLandingAddons({ store: { dispatch, getState }, params }) {
|
||||
const state = getState();
|
||||
const addonType = apiAddonType(params.visibleAddonType);
|
||||
try {
|
||||
const addonType = apiAddonType(params.visibleAddonType);
|
||||
|
||||
return fetchLandingAddons({ addonType, api: state.api, dispatch });
|
||||
return fetchLandingAddons({ addonType, api: state.api, dispatch });
|
||||
} catch (err) {
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
export function getErrorComponent(status) {
|
||||
switch (status) {
|
||||
case 401:
|
||||
return NotAuthorized;
|
||||
case 404:
|
||||
return NotFound;
|
||||
case 500:
|
||||
default:
|
||||
return ServerError;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import { addQueryParams } from 'core/utils';
|
|||
const testHasWindow = () => typeof window !== 'undefined';
|
||||
|
||||
export function hasAddonManager({ hasWindow = testHasWindow, navigator } = {}) {
|
||||
// Returns undefined if it cannot be determined if mozAddonManager is supperted (likely server
|
||||
// Returns undefined if it cannot be determined if mozAddonManager is supported (likely server
|
||||
// rendering with no window). Otherwise returns true/false based on mozAddonManager in navigator.
|
||||
if (!navigator && !hasWindow()) {
|
||||
return undefined;
|
||||
|
@ -20,6 +20,14 @@ export function hasAddonManager({ hasWindow = testHasWindow, navigator } = {}) {
|
|||
return 'mozAddonManager' in (navigator || window.navigator);
|
||||
}
|
||||
|
||||
export function hasPermissionPromptsEnabled({ navigator } = {}) {
|
||||
if (module.exports.hasAddonManager({ navigator })) {
|
||||
const _navigator = navigator || window.navigator;
|
||||
return _navigator.mozAddonManager.permissionPromptsEnabled;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export function getAddon(guid, { _mozAddonManager = window.navigator.mozAddonManager } = {}) {
|
||||
if (_mozAddonManager || module.exports.hasAddonManager()) {
|
||||
// Resolves a promise with the addon on success.
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* global fetch */
|
||||
/* eslint-disable arrow-body-style */
|
||||
|
||||
import url from 'url';
|
||||
|
||||
|
@ -60,15 +61,18 @@ export function callApi({
|
|||
const apiURL = `${API_BASE}/${endpoint}/${queryString}`;
|
||||
|
||||
return fetch(apiURL, options)
|
||||
.then((response) => response.json().then(
|
||||
(jsonResponse) => ({ response, jsonResponse }),
|
||||
(error) => {
|
||||
log.warn('Could not parse response as JSON:', error);
|
||||
return response.text().then((textResponse) =>
|
||||
({ response, jsonResponse: { text: textResponse } })
|
||||
.then((response) => {
|
||||
return response.clone().json()
|
||||
.then(
|
||||
(jsonResponse) => ({ response, jsonResponse }),
|
||||
(error) => {
|
||||
log.warn('Could not parse response as JSON:', error);
|
||||
return response.clone().text().then((textResponse) =>
|
||||
({ response, jsonResponse: { text: textResponse } })
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
))
|
||||
})
|
||||
.then(({ response, jsonResponse }) => {
|
||||
if (response.ok) {
|
||||
return jsonResponse;
|
||||
|
@ -84,6 +88,13 @@ export function callApi({
|
|||
errorHandler.handle(apiError);
|
||||
}
|
||||
throw apiError;
|
||||
}, (fetchError) => {
|
||||
// This actually handles the case when the call to fetch() is
|
||||
// rejected, say, for a network connection error, etc.
|
||||
if (errorHandler) {
|
||||
errorHandler.handle(fetchError);
|
||||
}
|
||||
throw fetchError;
|
||||
})
|
||||
.then((response) => (schema ? normalize(response, schema) : response));
|
||||
}
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
|
||||
function square(x) {
|
||||
return x * x;
|
||||
}
|
||||
|
||||
function distanceSquared(a, b) {
|
||||
return square(a.x - b.x) + square(a.y - b.y);
|
||||
}
|
||||
|
||||
export default class HoverIntent extends React.Component {
|
||||
static propTypes = {
|
||||
sensitivity: PropTypes.number,
|
||||
interval: PropTypes.number,
|
||||
onHoverIntent: PropTypes.func.isRequired,
|
||||
onHoverIntentEnd: PropTypes.func.isRequired,
|
||||
children: PropTypes.element.isRequired,
|
||||
}
|
||||
|
||||
static defaultProps = {
|
||||
sensitivity: 5,
|
||||
interval: 100,
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.isHoverIntended = false;
|
||||
this.clearHoverIntentDetection();
|
||||
}
|
||||
|
||||
onMouseOver = (e) => {
|
||||
const detector = this.createHoverIntentDetector(e);
|
||||
this.interval = setInterval(detector, this.props.interval);
|
||||
}
|
||||
|
||||
onMouseOut = (e) => {
|
||||
this.clearHoverIntentDetection();
|
||||
if (this.isHoverIntended) {
|
||||
this.isHoverIntended = false;
|
||||
this.props.onHoverIntentEnd(e);
|
||||
}
|
||||
}
|
||||
|
||||
onMouseMove = (e) => {
|
||||
this.currentMousePosition = { x: e.clientX, y: e.clientY };
|
||||
}
|
||||
|
||||
createHoverIntentDetector = (e) => {
|
||||
// persist the event so that when we call our callback below, React hasn't
|
||||
// reused it and turned it into something else.
|
||||
e.persist();
|
||||
const currentTarget = e.currentTarget;
|
||||
|
||||
const sensitivitySq = square(this.props.sensitivity);
|
||||
|
||||
const initialPosition = { x: e.clientX, y: e.clientY };
|
||||
let previousPosition = initialPosition;
|
||||
this.currentMousePosition = initialPosition;
|
||||
|
||||
return () => {
|
||||
const currentPosition = this.currentMousePosition;
|
||||
if (distanceSquared(initialPosition, currentPosition) > sensitivitySq &&
|
||||
distanceSquared(previousPosition, currentPosition) < sensitivitySq) {
|
||||
this.clearHoverIntentDetection();
|
||||
this.isHoverIntended = true;
|
||||
|
||||
// construct a fake event cloned from e, but with e's initial currentTarget
|
||||
// (currentTarget will change as the event bubbles up the DOM.)
|
||||
this.props.onHoverIntent(Object.assign({}, e, { currentTarget }));
|
||||
}
|
||||
|
||||
previousPosition = currentPosition;
|
||||
};
|
||||
}
|
||||
|
||||
clearHoverIntentDetection() {
|
||||
clearInterval(this.interval);
|
||||
}
|
||||
|
||||
render() {
|
||||
const child = React.Children.only(this.props.children);
|
||||
const propOverrides = ['onMouseOver', 'onMouseOut', 'onMouseMove'];
|
||||
|
||||
const newProps = {};
|
||||
propOverrides.forEach((propName) => {
|
||||
if (child.props[propName]) {
|
||||
throw new Error(`Cannot provide the prop [${propName}] on HoverIntent child`);
|
||||
}
|
||||
newProps[propName] = this[propName];
|
||||
});
|
||||
|
||||
return React.cloneElement(child, newProps);
|
||||
}
|
||||
}
|
|
@ -25,6 +25,11 @@ export const validInstallStates = [
|
|||
UNKNOWN,
|
||||
];
|
||||
|
||||
// redux-connect action types; we watch for these in our `errorPage`
|
||||
// reducer to display error pages.
|
||||
export const REDUX_CONNECT_END_GLOBAL_LOAD = '@redux-conn/END_GLOBAL_LOAD';
|
||||
export const REDUX_CONNECT_LOAD_FAIL = '@redux-conn/LOAD_FAIL';
|
||||
|
||||
// Add-on error states.
|
||||
export const DOWNLOAD_FAILED = 'DOWNLOAD_FAILED';
|
||||
export const INSTALL_FAILED = 'INSTALL_FAILED';
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
.SearchResult-main {
|
||||
flex-grow: 1;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.SearchResult-heading {
|
||||
|
@ -58,7 +59,9 @@
|
|||
}
|
||||
|
||||
.SearchResult-author {
|
||||
display: block;
|
||||
margin-right: 0.5em;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.SearchResult-info {
|
||||
|
|
|
@ -8,9 +8,9 @@ $text-color-default: #333;
|
|||
$text-color-headings: $text-color-default;
|
||||
$text-color-message: #fff;
|
||||
$sub-text-color: #6a6a6a;
|
||||
$form-border-color: #f1f1f1;
|
||||
$form-border-color: $primary-font-color;
|
||||
$error-text-color: $text-color-message;
|
||||
$error-background-color: #f00;
|
||||
$error-background-color: #f03e3e;
|
||||
|
||||
$button-background-color: #0095dd;
|
||||
|
||||
|
@ -31,6 +31,7 @@ $font-size-m: 16px;
|
|||
$font-size-l: 28px;
|
||||
$font-size-xl: 36px;
|
||||
$font-size-xxl: 42px;
|
||||
$font-size-form-header: 24px;
|
||||
|
||||
// Animation Variables
|
||||
$transition-short: 150ms;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React, { PropTypes } from 'react';
|
||||
import React from 'react';
|
||||
import { compose } from 'redux';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
|
@ -11,10 +11,18 @@ function generateHandlerId({ name = '' } = {}) {
|
|||
return `${name}-${Math.random().toString(36).substr(2, 9)}`;
|
||||
}
|
||||
|
||||
/*
|
||||
* Error handling utility for components.
|
||||
*
|
||||
* This is a class that components can work with
|
||||
* to easily dispatch error actions or retrieve error
|
||||
* information from the Redux state.
|
||||
*/
|
||||
export class ErrorHandler {
|
||||
constructor({ id, dispatch }) {
|
||||
constructor({ id, dispatch, capturedError = null } = {}) {
|
||||
this.id = id;
|
||||
this.dispatch = dispatch;
|
||||
this.capturedError = capturedError;
|
||||
}
|
||||
|
||||
clear() {
|
||||
|
@ -22,6 +30,18 @@ export class ErrorHandler {
|
|||
this.dispatch(clearError(this.id));
|
||||
}
|
||||
|
||||
hasError() {
|
||||
return Boolean(this.capturedError);
|
||||
}
|
||||
|
||||
renderError() {
|
||||
return (
|
||||
<ul className="ErrorHandler-list">
|
||||
{this.capturedError.messages.map((msg) => <li>{msg}</li>)}
|
||||
</ul>
|
||||
);
|
||||
}
|
||||
|
||||
handle(error) {
|
||||
const info = { error, id: this.id };
|
||||
log.debug('Dispatching error action', info);
|
||||
|
@ -29,43 +49,37 @@ export class ErrorHandler {
|
|||
}
|
||||
}
|
||||
|
||||
class ErrorHandlerComponent extends React.Component {
|
||||
static propTypes = {
|
||||
dispatch: PropTypes.func,
|
||||
error: PropTypes.object,
|
||||
errorHandlerId: PropTypes.string,
|
||||
WrappedComponent: PropTypes.object,
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
WrappedComponent,
|
||||
errorHandlerId,
|
||||
dispatch,
|
||||
error,
|
||||
...props
|
||||
} = this.props;
|
||||
const errorHandler = new ErrorHandler({ id: errorHandlerId, dispatch });
|
||||
const wrappedOutput = (
|
||||
<WrappedComponent errorHandler={errorHandler} {...props} />
|
||||
);
|
||||
|
||||
if (error) {
|
||||
return (
|
||||
<div>
|
||||
<ul className="ErrorHandler-list">
|
||||
{error.messages.map((msg) => <li>{msg}</li>)}
|
||||
</ul>
|
||||
{wrappedOutput}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return wrappedOutput;
|
||||
}
|
||||
}
|
||||
|
||||
export function withErrorHandling({ name, id } = {}) {
|
||||
/*
|
||||
* This is a decorator that gives a component the ability to handle errors.
|
||||
*
|
||||
* The decorator will assign an ErrorHandler instance to the errorHandler
|
||||
* property.
|
||||
*
|
||||
* For convenience, you can use withErrorHandling() instead which will
|
||||
* additionally renders the error automatically.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* class SomeComponent extends React.Component {
|
||||
* static propTypes = {
|
||||
* errorHandler: PropTypes.object.isRequired,
|
||||
* }
|
||||
* render() {
|
||||
* const { errorHandler } = this.props;
|
||||
* return (
|
||||
* <div>
|
||||
* {errorHandler.hasError() ? errorHandler.renderError() : null}
|
||||
* <div>some content</div>
|
||||
* </div>
|
||||
* );
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* export default compose(
|
||||
* withErrorHandler({ name: 'SomeComponent' }),
|
||||
* )(SomeComponent);
|
||||
*/
|
||||
export function withErrorHandler({ name, id }) {
|
||||
return (WrappedComponent) => {
|
||||
const mapStateToProps = () => {
|
||||
// Each component instance gets its own error handler ID.
|
||||
|
@ -74,15 +88,73 @@ export function withErrorHandling({ name, id } = {}) {
|
|||
instanceId = generateHandlerId({ name });
|
||||
log.debug(`Generated error handler ID: ${instanceId}`);
|
||||
}
|
||||
|
||||
return (state) => ({
|
||||
WrappedComponent,
|
||||
errorHandlerId: instanceId,
|
||||
error: state.errors[instanceId],
|
||||
instanceId,
|
||||
});
|
||||
};
|
||||
|
||||
const mergeProps = (stateProps, dispatchProps, ownProps) => ({
|
||||
...ownProps,
|
||||
errorHandler: new ErrorHandler({
|
||||
capturedError: stateProps.error,
|
||||
id: stateProps.instanceId,
|
||||
dispatch: dispatchProps.dispatch,
|
||||
}),
|
||||
});
|
||||
|
||||
return compose(
|
||||
connect(mapStateToProps),
|
||||
)(ErrorHandlerComponent);
|
||||
connect(mapStateToProps, undefined, mergeProps),
|
||||
)(WrappedComponent);
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* This is a decorator that automatically renders errors.
|
||||
*
|
||||
* It will render all errors at the top of the wrapped component's
|
||||
* content and it will pass an errorHandler property for the component
|
||||
* to use.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* class SomeComponent extends React.Component {
|
||||
* static propTypes = {
|
||||
* // The decorator will assign an ErrorHandler instance to this.
|
||||
* errorHandler: PropTypes.object.isRequired,
|
||||
* }
|
||||
* render() {
|
||||
* // In the case of an error, the list of errors will be displayed
|
||||
* // above this div.
|
||||
* return <div>some content</div>;
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* export default compose(
|
||||
* withErrorHandling({ name: 'SomeComponent' }),
|
||||
* )(SomeComponent);
|
||||
*/
|
||||
export function withErrorHandling({ name, id } = {}) {
|
||||
return (WrappedComponent) => {
|
||||
function ErrorBanner(props) {
|
||||
// eslint-disable-next-line react/prop-types
|
||||
const { errorHandler } = props;
|
||||
|
||||
if (errorHandler.hasError()) {
|
||||
return (
|
||||
<div>
|
||||
{errorHandler.renderError()}
|
||||
<WrappedComponent {...props} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return <WrappedComponent {...props} />;
|
||||
}
|
||||
|
||||
return compose(
|
||||
withErrorHandler({ name, id }),
|
||||
)(ErrorBanner);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
import ExtendableError from 'es6-error';
|
||||
|
||||
|
||||
export class AddonTypeNotFound extends ExtendableError {}
|
|
@ -150,7 +150,9 @@ export function makeMapDispatchToProps({ WrappedComponent, src }) {
|
|||
const { guid, iconUrl, name } = ownProps;
|
||||
return _addonManager.enable(guid)
|
||||
.then(() => {
|
||||
_showInfo({ name, iconUrl });
|
||||
if (!_addonManager.hasPermissionPromptsEnabled()) {
|
||||
_showInfo({ name, iconUrl });
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
if (err && err.message === SET_ENABLE_NOT_AVAILABLE) {
|
||||
|
@ -175,7 +177,9 @@ export function makeMapDispatchToProps({ WrappedComponent, src }) {
|
|||
category: INSTALL_CATEGORY,
|
||||
label: name,
|
||||
});
|
||||
showInfo({ name, iconUrl });
|
||||
if (!_addonManager.hasPermissionPromptsEnabled()) {
|
||||
showInfo({ name, iconUrl });
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
log.error(err);
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
import {
|
||||
REDUX_CONNECT_END_GLOBAL_LOAD,
|
||||
REDUX_CONNECT_LOAD_FAIL,
|
||||
} from 'core/constants';
|
||||
|
||||
export const initialState = {
|
||||
clearOnNext: false,
|
||||
error: null,
|
||||
hasError: false,
|
||||
statusCode: null,
|
||||
};
|
||||
|
||||
export default function errorPage(state = initialState, action) {
|
||||
const { payload } = action;
|
||||
switch (action.type) {
|
||||
case REDUX_CONNECT_END_GLOBAL_LOAD:
|
||||
if (state.clearOnNext) {
|
||||
return initialState;
|
||||
}
|
||||
return { ...state, clearOnNext: true };
|
||||
case REDUX_CONNECT_LOAD_FAIL: {
|
||||
// Default to a 500 error if we don't have a status code from our
|
||||
// response. See:
|
||||
// github.com/mozilla/addons-frontend/pull/1685#discussion_r99243105
|
||||
let statusCode = 500;
|
||||
if (payload.error && payload.error.response &&
|
||||
payload.error.response.status
|
||||
) {
|
||||
statusCode = payload.error.response.status;
|
||||
}
|
||||
|
||||
return {
|
||||
...state,
|
||||
error: payload.error,
|
||||
hasError: true,
|
||||
statusCode,
|
||||
};
|
||||
}
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
/* eslint-disable react/prop-types */
|
||||
import React from 'react';
|
||||
import { compose } from 'redux';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { getReduxConnectError } from './reduxConnectErrors';
|
||||
|
||||
|
||||
/*
|
||||
* Display resource errors such as a 404, 500, etc.
|
||||
*
|
||||
* Currently, the only way to produce a resource error is if an
|
||||
* asyncConnect callback returns one from its fetch() promise.
|
||||
*/
|
||||
function ResourceError(props) {
|
||||
const {
|
||||
reduxAsyncConnect,
|
||||
WrappedComponent,
|
||||
...componentProps
|
||||
} = props;
|
||||
|
||||
if (reduxAsyncConnect && reduxAsyncConnect.loadState) {
|
||||
const reduxResult = getReduxConnectError(reduxAsyncConnect.loadState);
|
||||
if (reduxResult.error) {
|
||||
// TODO: This will be prettier once we implement real error pages.
|
||||
// https://github.com/mozilla/addons-frontend/issues/1033
|
||||
return <div>{reduxResult.error}</div>;
|
||||
}
|
||||
}
|
||||
|
||||
return <WrappedComponent {...componentProps} />;
|
||||
}
|
||||
|
||||
/*
|
||||
* If a resource error occurs, render a ResourceError, otherwise render
|
||||
* the wrapped component.
|
||||
*
|
||||
* You only need to use this once in the top-level App component, like this:
|
||||
*
|
||||
import { handleResourceErrors } from 'core/resourceErrors/decorator';
|
||||
|
||||
class App extends React.Component {
|
||||
render() {
|
||||
// renders the top-level App with routes and all.
|
||||
}
|
||||
}
|
||||
|
||||
export default compose(
|
||||
handleResourceErrors,
|
||||
)(App);
|
||||
*
|
||||
* This is complementary to server side rendering which already renders
|
||||
* resource errors by default. This decorator handles the case where client
|
||||
* side navigation might result in the same server 404 scenario.
|
||||
*/
|
||||
export function handleResourceErrors(WrappedComponent) {
|
||||
const mapStateToProps = (state) => ({
|
||||
reduxAsyncConnect: state.reduxAsyncConnect,
|
||||
WrappedComponent,
|
||||
});
|
||||
|
||||
return compose(
|
||||
connect(mapStateToProps),
|
||||
)(ResourceError);
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
import log from 'core/logger';
|
||||
|
||||
|
||||
const errorPageText = {
|
||||
401: 'Unauthorized',
|
||||
404: 'Not Found',
|
||||
500: 'Internal Server Error',
|
||||
};
|
||||
|
||||
export function getErrorMsg(statusCode) {
|
||||
const statusKey = statusCode.toString();
|
||||
// TODO: I guess when we make a real error page handler we'll map out
|
||||
// all possible statuses.
|
||||
return errorPageText[statusKey] || 'Unexpected Error';
|
||||
}
|
||||
|
||||
export function getReduxConnectError(reduxConnectLoadState) {
|
||||
// Create a list of any apiErrors detected.
|
||||
const apiErrors = Object.keys(reduxConnectLoadState)
|
||||
.map((item) => reduxConnectLoadState[item].error)
|
||||
.filter((item) => Boolean(item));
|
||||
let status;
|
||||
|
||||
if (apiErrors.length === 1) {
|
||||
// If we have a single API error reflect that in the page's response.
|
||||
status = apiErrors[0].response.status;
|
||||
} else if (apiErrors.length > 1) {
|
||||
// Otherwise we have multiple api errors it should be logged
|
||||
// and throw a 500.
|
||||
log.error(apiErrors);
|
||||
status = 500;
|
||||
}
|
||||
|
||||
return { status, error: status ? getErrorMsg(status) : undefined };
|
||||
}
|
|
@ -10,16 +10,15 @@ import helmet from 'helmet';
|
|||
import cookie from 'react-cookie';
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom/server';
|
||||
import NestedStatus from 'react-nested-status';
|
||||
import { Provider } from 'react-redux';
|
||||
import { match } from 'react-router';
|
||||
import { ReduxAsyncConnect, loadOnServer } from 'redux-connect';
|
||||
import { loadFail } from 'redux-connect/lib/store';
|
||||
import WebpackIsomorphicTools from 'webpack-isomorphic-tools';
|
||||
|
||||
import { createApiError } from 'core/api';
|
||||
import ServerHtml from 'core/containers/ServerHtml';
|
||||
import {
|
||||
getErrorMsg,
|
||||
getReduxConnectError,
|
||||
} from 'core/resourceErrors/reduxConnectErrors';
|
||||
import { prefixMiddleWare } from 'core/middleware';
|
||||
import { convertBoolean } from 'core/utils';
|
||||
import { setClientApp, setLang, setJwt } from 'core/actions';
|
||||
|
@ -54,17 +53,55 @@ function getNoScriptStyles({ appName }) {
|
|||
return undefined;
|
||||
}
|
||||
|
||||
function showErrorPage(res, status) {
|
||||
let adjustedStatus = status;
|
||||
let error = getErrorMsg(adjustedStatus);
|
||||
if (!error) {
|
||||
adjustedStatus = 500;
|
||||
error = getErrorMsg(adjustedStatus);
|
||||
const appName = config.get('appName');
|
||||
|
||||
function getPageProps({ noScriptStyles = '', store, req, res }) {
|
||||
// Get SRI for deployed services only.
|
||||
const sriData = (isDeployed) ? JSON.parse(
|
||||
fs.readFileSync(path.join(config.get('basePath'), 'dist/sri.json'))
|
||||
) : {};
|
||||
|
||||
// Check the lang supplied by res.locals.lang for validity
|
||||
// or fall-back to the default.
|
||||
const lang = isValidLang(res.locals.lang) ?
|
||||
res.locals.lang : config.get('defaultLang');
|
||||
const dir = getDirection(lang);
|
||||
store.dispatch(setLang(lang));
|
||||
if (res.locals.clientApp) {
|
||||
store.dispatch(setClientApp(res.locals.clientApp));
|
||||
} else if (req && req.url) {
|
||||
log.warn(`No clientApp for this URL: ${req.url}`);
|
||||
} else {
|
||||
log.warn('No clientApp (error)');
|
||||
}
|
||||
return res.status(adjustedStatus).end(error);
|
||||
|
||||
return {
|
||||
appName,
|
||||
assets: webpackIsomorphicTools.assets(),
|
||||
htmlLang: lang,
|
||||
htmlDir: dir,
|
||||
includeSri: isDeployed,
|
||||
noScriptStyles,
|
||||
sriData,
|
||||
store,
|
||||
trackingEnabled: convertBoolean(config.get('trackingEnabled')),
|
||||
};
|
||||
}
|
||||
|
||||
const appName = config.get('appName');
|
||||
function showErrorPage({ createStore, error = {}, req, res, status }) {
|
||||
const store = createStore();
|
||||
const pageProps = getPageProps({ store, req, res });
|
||||
|
||||
const apiError = createApiError({ response: { status } });
|
||||
store.dispatch(loadFail('ServerBase', { ...apiError, ...error }));
|
||||
|
||||
const HTML = ReactDOM.renderToString(
|
||||
<ServerHtml {...pageProps} />);
|
||||
const httpStatus = NestedStatus.rewind();
|
||||
return res.status(status || httpStatus)
|
||||
.send(`<!DOCTYPE html>\n${HTML}`)
|
||||
.end();
|
||||
}
|
||||
|
||||
function logRequests(req, res, next) {
|
||||
const start = new Date();
|
||||
|
@ -160,55 +197,30 @@ function baseServer(routes, createStore, { appInstanceName = appName } = {}) {
|
|||
) => {
|
||||
cookie.plugToRequest(req, res);
|
||||
|
||||
if (err) {
|
||||
log.error({ err, req });
|
||||
return showErrorPage(res, 500);
|
||||
}
|
||||
|
||||
if (!renderProps) {
|
||||
return showErrorPage(res, 404);
|
||||
}
|
||||
|
||||
const store = createStore();
|
||||
const token = cookie.load(config.get('cookieName'));
|
||||
if (token) {
|
||||
store.dispatch(setJwt(token));
|
||||
}
|
||||
// Get SRI for deployed services only.
|
||||
const sriData = (isDeployed) ? JSON.parse(
|
||||
fs.readFileSync(path.join(config.get('basePath'), 'dist/sri.json'))
|
||||
) : {};
|
||||
|
||||
// Check the lang supplied by res.locals.lang for validity
|
||||
// or fall-back to the default.
|
||||
const lang = isValidLang(res.locals.lang) ?
|
||||
res.locals.lang : config.get('defaultLang');
|
||||
const dir = getDirection(lang);
|
||||
const locale = langToLocale(lang);
|
||||
store.dispatch(setLang(lang));
|
||||
if (res.locals.clientApp) {
|
||||
store.dispatch(setClientApp(res.locals.clientApp));
|
||||
} else {
|
||||
log.warn(`No clientApp for this URL: ${req.url}`);
|
||||
// github.com/mozilla/addons-frontend/pull/1685#discussion_r99705186
|
||||
if (err) {
|
||||
return showErrorPage({ createStore, status: 500, req, res });
|
||||
}
|
||||
|
||||
function hydrateOnClient(props = {}) {
|
||||
const pageProps = {
|
||||
appName: appInstanceName,
|
||||
assets: webpackIsomorphicTools.assets(),
|
||||
htmlLang: lang,
|
||||
htmlDir: dir,
|
||||
includeSri: isDeployed,
|
||||
noScriptStyles,
|
||||
sriData,
|
||||
store,
|
||||
trackingEnabled: convertBoolean(config.get('trackingEnabled')),
|
||||
...props,
|
||||
};
|
||||
if (!renderProps) {
|
||||
return showErrorPage({ createStore, status: 404, req, res });
|
||||
}
|
||||
|
||||
const pageProps = getPageProps({ noScriptStyles, store, req, res });
|
||||
const { htmlLang } = pageProps;
|
||||
const locale = langToLocale(htmlLang);
|
||||
|
||||
function hydrateOnClient(props = {}) {
|
||||
const HTML = ReactDOM.renderToString(
|
||||
<ServerHtml {...pageProps} />);
|
||||
res.send(`<!DOCTYPE html>\n${HTML}`);
|
||||
<ServerHtml {...pageProps} {...props} />);
|
||||
const httpStatus = NestedStatus.rewind();
|
||||
res.status(httpStatus).send(`<!DOCTYPE html>\n${HTML}`);
|
||||
}
|
||||
|
||||
// Set disableSSR to true to debug
|
||||
|
@ -233,7 +245,7 @@ function baseServer(routes, createStore, { appInstanceName = appName } = {}) {
|
|||
log.info(
|
||||
`Falling back to default lang: "${config.get('defaultLang')}".`);
|
||||
}
|
||||
const i18n = makeI18n(i18nData, lang);
|
||||
const i18n = makeI18n(i18nData, htmlLang);
|
||||
|
||||
const InitialComponent = (
|
||||
<I18nProvider i18n={i18n}>
|
||||
|
@ -243,44 +255,52 @@ function baseServer(routes, createStore, { appInstanceName = appName } = {}) {
|
|||
</I18nProvider>
|
||||
);
|
||||
|
||||
const asyncConnectLoadState = store.getState().reduxAsyncConnect.loadState || {};
|
||||
const reduxResult = getReduxConnectError(asyncConnectLoadState);
|
||||
if (reduxResult.status) {
|
||||
return showErrorPage(res, reduxResult.status);
|
||||
const errorPage = store.getState().errorPage;
|
||||
if (errorPage && errorPage.hasError) {
|
||||
return showErrorPage({
|
||||
createStore,
|
||||
error: errorPage.error,
|
||||
req,
|
||||
res,
|
||||
status: errorPage.statusCode,
|
||||
});
|
||||
}
|
||||
|
||||
return hydrateOnClient({ component: InitialComponent });
|
||||
})
|
||||
.catch((error) => {
|
||||
log.error({ err: error });
|
||||
return showErrorPage(res, 500);
|
||||
return showErrorPage({ createStore, error, status: 500, req, res });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
app.use((err, req, res, next) => {
|
||||
log.error({ err });
|
||||
return showErrorPage(res, 500);
|
||||
app.use((error, req, res, next) => {
|
||||
log.error({ err: error });
|
||||
return showErrorPage({ createStore, error, status: 500, req, res });
|
||||
});
|
||||
|
||||
return app;
|
||||
}
|
||||
|
||||
export function runServer({ listen = true, app = appName } = {}) {
|
||||
if (!app) {
|
||||
log.fatal(
|
||||
`Please specify a valid appName from ${config.get('validAppNames')}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
export function runServer({
|
||||
listen = true, app = appName, exitProcess = true,
|
||||
} = {}) {
|
||||
const port = config.get('serverPort');
|
||||
const host = config.get('serverHost');
|
||||
|
||||
const isoMorphicServer = new WebpackIsomorphicTools(
|
||||
WebpackIsomorphicToolsConfig);
|
||||
return isoMorphicServer
|
||||
.server(config.get('basePath'))
|
||||
|
||||
return new Promise((resolve) => {
|
||||
if (!app) {
|
||||
throw new Error(
|
||||
`Please specify a valid appName from ${config.get('validAppNames')}`);
|
||||
}
|
||||
resolve();
|
||||
})
|
||||
.then(() => isoMorphicServer.server(config.get('basePath')))
|
||||
.then(() => {
|
||||
global.webpackIsomorphicTools = isoMorphicServer;
|
||||
// Webpack Isomorphic tools is ready
|
||||
|
@ -295,7 +315,7 @@ export function runServer({ listen = true, app = appName } = {}) {
|
|||
if (listen === true) {
|
||||
server.listen(port, host, (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
return reject(err);
|
||||
}
|
||||
log.info(oneLine`🔥 Addons-frontend server is running [ENV:${env}]
|
||||
[APP:${app}] [isDevelopment:${isDevelopment}
|
||||
|
@ -303,7 +323,7 @@ export function runServer({ listen = true, app = appName } = {}) {
|
|||
[apiPath:${config.get('apiPath')}]`);
|
||||
log.info(
|
||||
`👁 Open your browser at http://${host}:${port} to view it.`);
|
||||
resolve(server);
|
||||
return resolve(server);
|
||||
});
|
||||
} else {
|
||||
resolve(server);
|
||||
|
@ -312,6 +332,11 @@ export function runServer({ listen = true, app = appName } = {}) {
|
|||
})
|
||||
.catch((err) => {
|
||||
log.error({ err });
|
||||
if (exitProcess) {
|
||||
process.exit(1);
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import { applyMiddleware, compose } from 'redux';
|
|||
import createLogger from 'redux-logger';
|
||||
import config from 'config';
|
||||
|
||||
|
||||
/*
|
||||
* Enhance a redux store with common middleware.
|
||||
*
|
||||
|
|
|
@ -13,6 +13,7 @@ import {
|
|||
API_ADDON_TYPES_MAPPING,
|
||||
VISIBLE_ADDON_TYPES_MAPPING,
|
||||
} from 'core/constants';
|
||||
import { AddonTypeNotFound } from 'core/errors';
|
||||
import log from 'core/logger';
|
||||
import purify from 'core/purify';
|
||||
|
||||
|
@ -163,7 +164,8 @@ export function apiAddonType(addonType) {
|
|||
if (!Object.prototype.hasOwnProperty.call(
|
||||
API_ADDON_TYPES_MAPPING, addonType
|
||||
)) {
|
||||
throw new Error(`"${addonType}" not found in API_ADDON_TYPES_MAPPING`);
|
||||
throw new AddonTypeNotFound(
|
||||
`"${addonType}" not found in API_ADDON_TYPES_MAPPING`);
|
||||
}
|
||||
return API_ADDON_TYPES_MAPPING[addonType];
|
||||
}
|
||||
|
@ -172,7 +174,8 @@ export function visibleAddonType(addonType) {
|
|||
if (!Object.prototype.hasOwnProperty.call(
|
||||
VISIBLE_ADDON_TYPES_MAPPING, addonType
|
||||
)) {
|
||||
throw new Error(`"${addonType}" not found in VISIBLE_ADDON_TYPES_MAPPING`);
|
||||
throw new AddonTypeNotFound(
|
||||
`"${addonType}" not found in VISIBLE_ADDON_TYPES_MAPPING`);
|
||||
}
|
||||
return VISIBLE_ADDON_TYPES_MAPPING[addonType];
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import translate from 'core/i18n/translate';
|
|||
import themeAction from 'core/themePreview';
|
||||
import tracking, { getAction } from 'core/tracking';
|
||||
import InstallButton from 'core/components/InstallButton';
|
||||
import HoverIntent from 'core/components/HoverIntent';
|
||||
import {
|
||||
CLICK_CATEGORY,
|
||||
DOWNLOAD_FAILED,
|
||||
|
@ -85,17 +86,22 @@ export class AddonBase extends React.Component {
|
|||
getThemeImage() {
|
||||
const { getBrowserThemeData, i18n, name, previewURL } = this.props;
|
||||
if (this.props.type === ADDON_TYPE_THEME) {
|
||||
// eslint-disable-next-line jsx-a11y/href-no-hash
|
||||
return (<a href="#" className="theme-image"
|
||||
data-browsertheme={getBrowserThemeData()}
|
||||
onBlur={this.resetPreviewTheme}
|
||||
onClick={this.installTheme}
|
||||
onFocus={this.previewTheme}
|
||||
onMouseOut={this.resetPreviewTheme}
|
||||
onMouseOver={this.previewTheme}>
|
||||
<img src={previewURL}
|
||||
alt={sprintf(i18n.gettext('Hover to preview or click to install %(name)s'), { name })}
|
||||
/></a>);
|
||||
/* eslint-disable jsx-a11y/href-no-hash */
|
||||
return (
|
||||
<HoverIntent
|
||||
onHoverIntent={this.previewTheme}
|
||||
onHoverIntentEnd={this.resetPreviewTheme}>
|
||||
<a href="#" className="theme-image"
|
||||
data-browsertheme={getBrowserThemeData()}
|
||||
onBlur={this.resetPreviewTheme}
|
||||
onClick={this.installTheme}
|
||||
onFocus={this.previewTheme}>
|
||||
<img src={previewURL}
|
||||
alt={sprintf(i18n.gettext('Hover to preview or click to install %(name)s'), { name })} />
|
||||
</a>
|
||||
</HoverIntent>
|
||||
);
|
||||
/* eslint-enable jsx-a11y/href-no-hash */
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "" ],
|
||||
"OK!":[ "" ],
|
||||
"Hover to preview or click to install %(name)s":[ "" ],
|
||||
"Hover over the image to preview":[ "" ],
|
||||
"Installation failed. Please try again.":[ "" ],
|
||||
"Download failed. Please check your connection.":[ "" ],
|
||||
|
@ -23,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "" ],
|
||||
"Please restart Firefox to use this add-on.":[ "" ],
|
||||
Close:[ "" ],
|
||||
"Hover to preview or click to install %(name)s":[ "" ],
|
||||
"Discover Add-ons":[ "" ],
|
||||
"Click to play":[ "" ],
|
||||
"to find out more about add-ons":[ "" ],
|
||||
|
|
|
@ -14,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "" ],
|
||||
"OK!":[ "" ],
|
||||
"Hover to preview or click to install %(name)s":[ "" ],
|
||||
"Hover over the image to preview":[ "" ],
|
||||
"Installation failed. Please try again.":[ "" ],
|
||||
"Download failed. Please check your connection.":[ "" ],
|
||||
|
@ -23,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "" ],
|
||||
"Please restart Firefox to use this add-on.":[ "" ],
|
||||
Close:[ "أغلاق" ],
|
||||
"Hover to preview or click to install %(name)s":[ "" ],
|
||||
"Discover Add-ons":[ "" ],
|
||||
"Click to play":[ "" ],
|
||||
"to find out more about add-ons":[ "" ],
|
||||
|
|
|
@ -2,7 +2,8 @@ module.exports = { domain:"messages",
|
|||
locale_data:{ messages:{ "":{ domain:"messages",
|
||||
plural_forms:"nplurals=2; plural=(n != 1);",
|
||||
lang:"ast" },
|
||||
"Add to Firefox":[ "" ],
|
||||
"Install Theme":[ "Instalar tema" ],
|
||||
"Add to Firefox":[ "Amestar a Firefox" ],
|
||||
"Downloading %(name)s.":[ "Baxando %(name)s." ],
|
||||
"Installing %(name)s.":[ "Instalando %(name)s." ],
|
||||
"%(name)s is installed and enabled. Click to uninstall.":[ "%(name)s ta instaláu y habilitáu. Primi pa desinstalar." ],
|
||||
|
@ -13,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "El to add-on ta preparáu" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "Agora pues acceder a %(name)s dende la barra de ferramientes." ],
|
||||
"OK!":[ "¡Val!" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Pasa penriba pa previsualizar o primi pa instalar %(name)s" ],
|
||||
"Hover over the image to preview":[ "Pasa penriba d'una imaxe pa previsualizala" ],
|
||||
"Installation failed. Please try again.":[ "Falló la instalación. Volvi tentalo, por favor." ],
|
||||
"Download failed. Please check your connection.":[ "Falló la descarga. Comprueba la to conexón, por favor." ],
|
||||
|
@ -22,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "Esti add-on desinstalaráse dempués de que reanicies Firefox." ],
|
||||
"Please restart Firefox to use this add-on.":[ "Reanicia Firefox pa usar esti add-on, por favor." ],
|
||||
Close:[ "Zarrar" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Pasa penriba pa previsualizar o primi pa instalar %(name)s" ],
|
||||
"Discover Add-ons":[ "Descubrir add-ons" ],
|
||||
"Click to play":[ "Primi pa reproducir" ],
|
||||
"to find out more about add-ons":[ "pa pescudar más tocante a los add-ons" ],
|
||||
|
|
|
@ -2,7 +2,8 @@ module.exports = { domain:"messages",
|
|||
locale_data:{ messages:{ "":{ domain:"messages",
|
||||
plural_forms:"nplurals=2; plural=(n != 1);",
|
||||
lang:"bg" },
|
||||
"Add to Firefox":[ "" ],
|
||||
"Install Theme":[ "Инсталиране на темата" ],
|
||||
"Add to Firefox":[ "Добавяне към Firefox" ],
|
||||
"Downloading %(name)s.":[ "Изтегляне на %(name)s." ],
|
||||
"Installing %(name)s.":[ "Инсталиране на %(name)s." ],
|
||||
"%(name)s is installed and enabled. Click to uninstall.":[ "%(name)s е инсталирана и активна. Натиснете за премахване." ],
|
||||
|
@ -13,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "Добавката ви е готова" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "Вече може да достъпвате %(name)s от лентата с инструменти." ],
|
||||
"OK!":[ "Добре!" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Посочете с мишката за преглед или натиснете за инсталиране на %(name)s" ],
|
||||
"Hover over the image to preview":[ "Посочете изображението с мишката за преглед" ],
|
||||
"Installation failed. Please try again.":[ "Грешка при инсталацията. Моля, опитайте отново." ],
|
||||
"Download failed. Please check your connection.":[ "Грешка при изтеглянето. Моля, проверете свързаността си." ],
|
||||
|
@ -22,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "Тази добавка ще бъде премахната, след рестарт на Firefox." ],
|
||||
"Please restart Firefox to use this add-on.":[ "Моля, рестартирайте Firefox, за да използвате тази добавка." ],
|
||||
Close:[ "Затваряне" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Посочете с мишката за преглед или натиснете за инсталиране на %(name)s" ],
|
||||
"Discover Add-ons":[ "Още добавки" ],
|
||||
"Click to play":[ "Натиснете за начало" ],
|
||||
"to find out more about add-ons":[ "и ще разберете повече за добавките" ],
|
||||
|
|
|
@ -13,6 +13,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "আপনার এড-অন এখন প্রস্তুত" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "আপনি এখন টুলবার থেকে %(name)s এ প্রবেশ করতে পারেন।" ],
|
||||
"OK!":[ "ওকে!" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Hover করুন প্রিভিউ দেখতে অথবা ক্লিক করুন %(name)s ইন্সটল করতে" ],
|
||||
"Hover over the image to preview":[ "ছবির উপর মাউস ঘুরান প্রিভিউ দেখতে" ],
|
||||
"Installation failed. Please try again.":[ "ইন্সটল করা সম্ভব হয়নি। দয়া করে আবার চেস্টা করুন।" ],
|
||||
"Download failed. Please check your connection.":[ "ডাউনলোড সম্ভব হয়নি। দয়া করে আপনার সংযোগটি পরীক্ষা করুন।" ],
|
||||
|
@ -22,7 +23,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "আপনার ফায়ারফক্সটি রিস্টার্ট এর পর এড-অনটি আনইন্সটল হবে।" ],
|
||||
"Please restart Firefox to use this add-on.":[ "এড-অন টি ব্যবহার করতে আপনা ফায়ারফক্সকে রি-স্টার্ট করুন।" ],
|
||||
Close:[ "বন্ধ" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Hover করুন প্রিভিউ দেখতে অথবা ক্লিক করুন %(name)s ইন্সটল করতে" ],
|
||||
"Discover Add-ons":[ "আরো এড-অন আবিষ্কার করুন" ],
|
||||
"Click to play":[ "চালু করতে ক্লিক করুন" ],
|
||||
"to find out more about add-ons":[ "এড-অন সম্বন্ধে আরো খুঁজুন" ],
|
||||
|
|
|
@ -14,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "" ],
|
||||
"OK!":[ "" ],
|
||||
"Hover to preview or click to install %(name)s":[ "" ],
|
||||
"Hover over the image to preview":[ "" ],
|
||||
"Installation failed. Please try again.":[ "" ],
|
||||
"Download failed. Please check your connection.":[ "" ],
|
||||
|
@ -23,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "" ],
|
||||
"Please restart Firefox to use this add-on.":[ "" ],
|
||||
Close:[ "" ],
|
||||
"Hover to preview or click to install %(name)s":[ "" ],
|
||||
"Discover Add-ons":[ "" ],
|
||||
"Click to play":[ "" ],
|
||||
"to find out more about add-ons":[ "" ],
|
||||
|
|
|
@ -2,7 +2,8 @@ module.exports = { domain:"messages",
|
|||
locale_data:{ messages:{ "":{ domain:"messages",
|
||||
plural_forms:"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;",
|
||||
lang:"cs" },
|
||||
"Add to Firefox":[ "" ],
|
||||
"Install Theme":[ "Nainstalovat motiv" ],
|
||||
"Add to Firefox":[ "Přidat do Firefoxu" ],
|
||||
"Downloading %(name)s.":[ "Stahování doplňku %(name)s." ],
|
||||
"Installing %(name)s.":[ "Instalace doplňku %(name)s." ],
|
||||
"%(name)s is installed and enabled. Click to uninstall.":[ "Doplněk %(name)s je nainstalován a povolen. Klepněte pro odinstalaci." ],
|
||||
|
@ -13,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "Váš doplněk je připraven" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "Nyní můžete přistupovat k %(name)s z panelu nástrojů." ],
|
||||
"OK!":[ "OK!" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Najeďte myší pro náhled nebo klepněte pro instalaci doplňku %(name)s" ],
|
||||
"Hover over the image to preview":[ "Pro náhled přejeďte nad obrázkem myší" ],
|
||||
"Installation failed. Please try again.":[ "Instalace selhala. Zkuste to prosím znovu." ],
|
||||
"Download failed. Please check your connection.":[ "Stahování selhalo. Zkontrolujte prosím své připojení." ],
|
||||
|
@ -22,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "Tento doplněk bude odinstalován jakmile restartujete Firefox." ],
|
||||
"Please restart Firefox to use this add-on.":[ "Pro použití tohoto doplňku prosím restartujte Firefox." ],
|
||||
Close:[ "Zavřít" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Najeďte myší pro náhled nebo klepněte pro instalaci doplňku %(name)s" ],
|
||||
"Discover Add-ons":[ "Objevte doplňky" ],
|
||||
"Click to play":[ "Klepněte a spusťte" ],
|
||||
"to find out more about add-ons":[ "a zjistěte více o doplňcích" ],
|
||||
|
|
|
@ -2,7 +2,8 @@ module.exports = { domain:"messages",
|
|||
locale_data:{ messages:{ "":{ domain:"messages",
|
||||
plural_forms:"nplurals=2; plural=(n != 1);",
|
||||
lang:"da" },
|
||||
"Add to Firefox":[ "" ],
|
||||
"Install Theme":[ "Installer tema" ],
|
||||
"Add to Firefox":[ "Føj til Firefox" ],
|
||||
"Downloading %(name)s.":[ "Henter %(name)s." ],
|
||||
"Installing %(name)s.":[ "Installerer %(name)s." ],
|
||||
"%(name)s is installed and enabled. Click to uninstall.":[ "%(name)s er installeret og aktiveret. Klik for at afinstallere." ],
|
||||
|
@ -13,6 +14,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "Din tilføjelse er klar" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "Du kan nu tilgå %(name)s fra værktøjslinjen." ],
|
||||
"OK!":[ "OK!" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Hold markøren over for at få vist et eksempel, eller klik for at installere %(name)s" ],
|
||||
"Hover over the image to preview":[ "Hold markøren over for billedet for at få vist et eksempel" ],
|
||||
"Installation failed. Please try again.":[ "Installationen mislykkedes. Prøv igen." ],
|
||||
"Download failed. Please check your connection.":[ "Filhentning mislykkedes. Kontroller din forbindelse." ],
|
||||
|
@ -22,7 +24,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "Denne tilføjelse vil blive afinstalleret, når du genstarter Firefox." ],
|
||||
"Please restart Firefox to use this add-on.":[ "Genstart Firefox for at bruge denne tilføjelse." ],
|
||||
Close:[ "Luk" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Hold markøren over for at få vist et eksempel, eller klik for at installere %(name)s" ],
|
||||
"Discover Add-ons":[ "Find tilføjelser" ],
|
||||
"Click to play":[ "Klik for at afspille" ],
|
||||
"to find out more about add-ons":[ "for at finde ud af mere om tilføjelser" ],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
module.exports = { domain:"messages",
|
||||
locale_data:{ messages:{ "":{ domain:"messages",
|
||||
plural_forms:"nplurals=2; plural=(n!=1);",
|
||||
lang:"" },
|
||||
"Add to Firefox":[ "" ],
|
||||
plural_forms:"nplurals=2; plural=(n!=1);" },
|
||||
"Install Theme":[ "Īƞşŧȧŀŀ Ŧħḗḿḗ" ],
|
||||
"Add to Firefox":[ "Ȧḓḓ ŧǿ Ƒīřḗƒǿẋ" ],
|
||||
"Downloading %(name)s.":[ "Ḓǿẇƞŀǿȧḓīƞɠ %(name)s." ],
|
||||
"Installing %(name)s.":[ "Īƞşŧȧŀŀīƞɠ %(name)s." ],
|
||||
"%(name)s is installed and enabled. Click to uninstall.":[ "%(name)s īş īƞşŧȧŀŀḗḓ ȧƞḓ ḗƞȧƀŀḗḓ. Ƈŀīƈķ ŧǿ ŭƞīƞşŧȧŀŀ." ],
|
||||
|
@ -13,6 +13,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "Ẏǿŭř ȧḓḓ-ǿƞ īş řḗȧḓẏ" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "Ƞǿẇ ẏǿŭ ƈȧƞ ȧƈƈḗşş %(name)s ƒřǿḿ ŧħḗ ŧǿǿŀƀȧř." ],
|
||||
"OK!":[ "ǾĶ!" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Ħǿṽḗř ŧǿ ƥřḗṽīḗẇ ǿř ƈŀīƈķ ŧǿ īƞşŧȧŀŀ %(name)s" ],
|
||||
"Hover over the image to preview":[ "Ħǿṽḗř ǿṽḗř ŧħḗ īḿȧɠḗ ŧǿ ƥřḗṽīḗẇ" ],
|
||||
"Installation failed. Please try again.":[ "Īƞşŧȧŀŀȧŧīǿƞ ƒȧīŀḗḓ. Ƥŀḗȧşḗ ŧřẏ ȧɠȧīƞ." ],
|
||||
"Download failed. Please check your connection.":[ "Ḓǿẇƞŀǿȧḓ ƒȧīŀḗḓ. Ƥŀḗȧşḗ ƈħḗƈķ ẏǿŭř ƈǿƞƞḗƈŧīǿƞ." ],
|
||||
|
@ -22,7 +23,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "Ŧħīş ȧḓḓ-ǿƞ ẇīŀŀ ƀḗ ŭƞīƞşŧȧŀŀḗḓ ȧƒŧḗř ẏǿŭ řḗşŧȧřŧ Ƒīřḗƒǿẋ." ],
|
||||
"Please restart Firefox to use this add-on.":[ "Ƥŀḗȧşḗ řḗşŧȧřŧ Ƒīřḗƒǿẋ ŧǿ ŭşḗ ŧħīş ȧḓḓ-ǿƞ." ],
|
||||
Close:[ "Ƈŀǿşḗ" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Ħǿṽḗř ŧǿ ƥřḗṽīḗẇ ǿř ƈŀīƈķ ŧǿ īƞşŧȧŀŀ %(name)s" ],
|
||||
"Discover Add-ons":[ "Ḓīşƈǿṽḗř Ȧḓḓ-ǿƞş" ],
|
||||
"Click to play":[ "Ƈŀīƈķ ŧǿ ƥŀȧẏ" ],
|
||||
"to find out more about add-ons":[ "ŧǿ ƒīƞḓ ǿŭŧ ḿǿřḗ ȧƀǿŭŧ ȧḓḓ-ǿƞş" ],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
module.exports = { domain:"messages",
|
||||
locale_data:{ messages:{ "":{ domain:"messages",
|
||||
plural_forms:"nplurals=2; plural=(n!=1);",
|
||||
lang:"" },
|
||||
"Add to Firefox":[ "" ],
|
||||
plural_forms:"nplurals=2; plural=(n!=1);" },
|
||||
"Install Theme":[ "Iusʇɐʅʅ ⊥ɥǝɯǝ" ],
|
||||
"Add to Firefox":[ "∀pp ʇo Ⅎıɹǝɟox" ],
|
||||
"Downloading %(name)s.":[ "ᗡoʍuʅoɐpıuƃ %(name)s˙" ],
|
||||
"Installing %(name)s.":[ "Iusʇɐʅʅıuƃ %(name)s˙" ],
|
||||
"%(name)s is installed and enabled. Click to uninstall.":[ "%(name)s ıs ıusʇɐʅʅǝp ɐup ǝuɐqʅǝp˙ Ↄʅıɔʞ ʇo nuıusʇɐʅʅ˙" ],
|
||||
|
@ -13,6 +13,7 @@ module.exports = { domain:"messages",
|
|||
"Your add-on is ready":[ "⅄onɹ ɐpp-ou ıs ɹǝɐpʎ" ],
|
||||
"Now you can access %(name)s from the toolbar.":[ "Noʍ ʎon ɔɐu ɐɔɔǝss %(name)s ɟɹoɯ ʇɥǝ ʇooʅqɐɹ˙" ],
|
||||
"OK!":[ "OӼ¡" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Hoʌǝɹ ʇo dɹǝʌıǝʍ oɹ ɔʅıɔʞ ʇo ıusʇɐʅʅ %(name)s" ],
|
||||
"Hover over the image to preview":[ "Hoʌǝɹ oʌǝɹ ʇɥǝ ıɯɐƃǝ ʇo dɹǝʌıǝʍ" ],
|
||||
"Installation failed. Please try again.":[ "Iusʇɐʅʅɐʇıou ɟɐıʅǝp˙ Ԁʅǝɐsǝ ʇɹʎ ɐƃɐıu˙" ],
|
||||
"Download failed. Please check your connection.":[ "ᗡoʍuʅoɐp ɟɐıʅǝp˙ Ԁʅǝɐsǝ ɔɥǝɔʞ ʎonɹ ɔouuǝɔʇıou˙" ],
|
||||
|
@ -22,7 +23,6 @@ module.exports = { domain:"messages",
|
|||
"This add-on will be uninstalled after you restart Firefox.":[ "⊥ɥıs ɐpp-ou ʍıʅʅ qǝ nuıusʇɐʅʅǝp ɐɟʇǝɹ ʎon ɹǝsʇɐɹʇ Ⅎıɹǝɟox˙" ],
|
||||
"Please restart Firefox to use this add-on.":[ "Ԁʅǝɐsǝ ɹǝsʇɐɹʇ Ⅎıɹǝɟox ʇo nsǝ ʇɥıs ɐpp-ou˙" ],
|
||||
Close:[ "Ↄʅosǝ" ],
|
||||
"Hover to preview or click to install %(name)s":[ "Hoʌǝɹ ʇo dɹǝʌıǝʍ oɹ ɔʅıɔʞ ʇo ıusʇɐʅʅ %(name)s" ],
|
||||
"Discover Add-ons":[ "ᗡısɔoʌǝɹ ∀pp-ous" ],
|
||||
"Click to play":[ "Ↄʅıɔʞ ʇo dʅɐʎ" ],
|
||||
"to find out more about add-ons":[ "ʇo ɟıup onʇ ɯoɹǝ ɐqonʇ ɐpp-ous" ],
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче