Merge branch 'master' into greenkeeper/webpack-hot-middleware-2.16.0

This commit is contained in:
tofumatt ☕️ 2017-02-08 20:03:20 +00:00 коммит произвёл GitHub
Родитель c460df59c9 85dbdda57f
Коммит 034785d183
170 изменённых файлов: 3329 добавлений и 1991 удалений

Просмотреть файл

@ -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ɹıı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ś &ndash; 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ś &ndash; 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 doutils.
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 limage 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 limage 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 linstallation. 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 sest produite pendant linstallation."
#: src/disco/components/Addon.js:134
#: src/disco/components/Addon.js:140
msgid "An unexpected error occurred during uninstallation."
msgstr "Une erreur inattendue sest 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 sest 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 limage 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 jusquaux 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 jusquaux 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 doutils"

Просмотреть файл

@ -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 temas\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 temas\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ć &ndash; 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ć &ndash; 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 limmagine col puntatore del mouse per visualizzare lanteprima"
#: 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 unanteprima 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 limmagine col puntatore del mouse per visualizzare lanteprima"
#: 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 linstallazione."
#: 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 unanteprima 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 themas\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 themas\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"

Просмотреть файл

@ -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: &#12296;
// 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);
};
}

4
src/core/errors.js Normal file
Просмотреть файл

@ -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" ],

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше