code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/gnu-social/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/gnu-social/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""

repo_name: piratas/tortuga

license: mit


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/gnu-social/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Juan Riquelme González <soulchainer@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-27 15:52+0000\n"
"Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/gnu-social/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "No se pudo conectar a %1$s en el puerto %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Error agregando un mensaje de Meteor: «%s»."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Complemento para hacer actualizaciones en «tiempo real» con Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/gnu-social/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Ezin izan da %1$s(e)ra konektatu %2$s(e)n."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "\"%s\" meteor mezua gehitzen akatsa."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Meteor erabiliz \"denbora errealean\" eguneraketak egiteko plugina."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/gnu-social/language/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/gnu-social/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: French (http://www.transifex.com/projects/p/gnu-social/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Impossible de se connecter à %1$s sur %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Erreur lors de l’ajout d’un message meteor « %s »."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Extension pour réaliser des mises à jour « en temps réel » en utilisant Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Friulian (http://www.transifex.com/projects/p/gnu-social/language/fur/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fur\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/gnu-social/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Non se puido conectar a %1$s en %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Erro ao engadir unha mensaxe de Meteor \"%s\"."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Complemento para facer actualizacións \"en tempo real\" mediante Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/gnu-social/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Upper Sorbian (http://www.transifex.com/projects/p/gnu-social/language/hsb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hsb\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/gnu-social/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/gnu-social/language/ia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Non poteva connecter a %1$s sur %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Error durante le addition del message Meteor \"%s\"."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Plug-in pro facer actualisationes \"in directo\" usante Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/gnu-social/language/id/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/gnu-social/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/gnu-social/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Impossibile connettersi a %1$s sulla porta %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Errore durante l'aggiunta di un messaggio meteor \"%s\"."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Estensione per utilizzare degli aggiornamenti in tempo reale attraverso l'utilizzo di Meteor"


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/gnu-social/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Georgian (http://www.transifex.com/projects/p/gnu-social/language/ka/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ka\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/gnu-social/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Colognian (http://www.transifex.com/projects/p/gnu-social/language/ksh/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ksh\n"
"Plural-Forms: nplurals=3; plural=(n==0) ? 0 : (n==1) ? 1 : 2;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/gnu-social/language/lb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Lithuanian (http://www.transifex.com/projects/p/gnu-social/language/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:39+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/gnu-social/language/lv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malagasy (http://www.transifex.com/projects/p/gnu-social/language/mg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: mg\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Macedonian (http://www.transifex.com/projects/p/gnu-social/language/mk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Не можев да се поврзам со %1$s на %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Грешка при додавање на Meteor-овата порака „%s“."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Приклучок за вршење на поднови „во живо“ користејќи Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malayalam (http://www.transifex.com/projects/p/gnu-social/language/ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ml\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malay (http://www.transifex.com/projects/p/gnu-social/language/ms/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ms\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Burmese (http://www.transifex.com/projects/p/gnu-social/language/my/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: my\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/projects/p/gnu-social/language/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Kunne ikke koble til %1$s på %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Mislyktes å legge til meteormelding «%s»."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Utvidelse for å gjøre «sanntids»-oppdateringer med Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:30+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Nepali (http://www.transifex.com/projects/p/gnu-social/language/ne/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ne\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/gnu-social/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Het was niet mogelijk te verbinden met %1$s op %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Fout bij het toevoegen van meteorbericht \"%s\"."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Plug-in voor het maken van \"real time\"-updates via Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Nynorsk (http://www.transifex.com/projects/p/gnu-social/language/nn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/gnu-social/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese (http://www.transifex.com/projects/p/gnu-social/language/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/gnu-social/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/gnu-social/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\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"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/gnu-social/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr\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"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/gnu-social/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Tamil (http://www.transifex.com/projects/p/gnu-social/language/ta/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ta\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Telugu (http://www.transifex.com/projects/p/gnu-social/language/te/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: te\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Tagalog (http://www.transifex.com/projects/p/gnu-social/language/tl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tl\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Hindi makaugnay sa %1$s doon sa %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Kamalian sa pagdaragdag ng mensahe ng meteor na \"%s\"."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr "Pamasak upang makagawa ng mga pagsasapanahong nasa \"tunay na panahon\" na ginagamitan ng Meteor."


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/gnu-social/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 09:02+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/gnu-social/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uk\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"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr "Не вдається підключитися до %1$s на %2$s."

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr "Помилка при додаванні швидкого повідомлення «%s»."

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Urdu (Pakistan) (http://www.transifex.com/projects/p/gnu-social/language/ur_PK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ur_PK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/gnu-social/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/gnu-social/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 08:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/gnu-social/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
#: MeteorPlugin.php:127
#, php-format
msgid "Could not connect to %1$s on %2$s."
msgstr ""

#. TRANS: Exception. %s is the Meteor message that could not be added.
#: MeteorPlugin.php:140
#, php-format
msgid "Error adding meteor message \"%s\"."
msgstr ""

#. TRANS: Plugin description.
#: MeteorPlugin.php:171
msgid "Plugin to do \"real time\" updates using Meteor."
msgstr ""


code:
<?php
/*
StatusNet Plugin: 0.9
Plugin Name: Minify
Description: Minifies resources (Javascript and CSS)
Version: 0.1
Author: Craig Andrews <candrews@integralblue.com>
Author URI: http://candrews.integralblue.com/
*/

/*
 * StatusNet - the distributed open-source microblogging tool
 * Copyright (C) 2009, StatusNet, Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

/**
 * @package MinifyPlugin
 * @maintainer Craig Andrews <candrews@integralblue.com>
 * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
 */

if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }

// We bundle the minify library...
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/minify/min/lib');

class MinifyPlugin extends Plugin
{
    private $minifyInlineJs = true;
    private $minifyInlineCss = true;

    const cacheKey = 'minify';

    /**
     * Add Minification related paths to the router table
     *
     * Hook for RouterInitialized event.
     *
     * @return boolean hook return
     */
    function onStartInitializeRouter($m)
    {
        $m->connect('main/min',
                    array('action' => 'minify'));
        return true;
    }

    function onLoginAction($action, &$login)
    {
        switch ($action)
        {
         case 'minify':
            $login = true;
            return false;
         default:
            return true;
        }
    }

    function onStartScriptElement($action,&$src,&$type) {
        $url = parse_url($src);
        if( empty($url['scheme']) && empty($url['host']) && empty($url['query']) && empty($url['fragment']))
        {
            if (strpos($src, 'plugins/') === 0 || strpos($src, 'local/') === 0) {
                $src = $this->minifyUrl($src);
            } else {
                $src = $this->minifyUrl('js/'.$src);
            }
        }
    }

    function onStartCssLinkElement($action,&$src,&$theme,&$media) {
        $allowThemeMinification =
            is_null(common_config('theme', 'dir'))
            && is_null(common_config('theme', 'path'))
            && is_null(common_config('theme', 'server'));
        $url = parse_url($src);
        if( empty($url['scheme']) && empty($url['host']) && empty($url['query']) && empty($url['fragment']))
        {
            if(!isset($theme)) {
                $theme = common_config('site', 'theme');
            }
            if($allowThemeMinification && file_exists(INSTALLDIR.'/local/theme/'.$theme.'/'.$src)) {
                $src = $this->minifyUrl('local/theme/'.$theme.'/'.$src);
            } else if($allowThemeMinification && file_exists(INSTALLDIR.'/theme/'.$theme.'/'.$src)) {
                $src = $this->minifyUrl('theme/'.$theme.'/'.$src);
            }else if(file_exists(INSTALLDIR.'/'.$src)){
                $src = $this->minifyUrl($src);
            }
        }
    }

    function onStartInlineScriptElement($action,&$code,&$type)
    {
        if($this->minifyInlineJs && $type=='text/javascript'){
            $c = Cache::instance();
            if (!empty($c)) {
                $cacheKey = Cache::key(self::cacheKey . ':' . crc32($code));
                $out = $c->get($cacheKey);
            }
            if(empty($out)) {
                $out = $this->minifyJs($code);
            }
            if (!empty($c)) {
                $c->set($cacheKey, $out);
            }
            if(!empty($out)) {
                $code = $out;
            }
        }
    }

    function onStartStyleElement($action,&$code,&$type,&$media)
    {
        if($this->minifyInlineCss && $type=='text/css'){
            $c = Cache::instance();
            if (!empty($c)) {
                $cacheKey = Cache::key(self::cacheKey . ':' . crc32($code));
                $out = $c->get($cacheKey);
            }
            if(empty($out)) {
                $out = $this->minifyCss($code);
            }
            if (!empty($c)) {
                $c->set($cacheKey, $out);
            }
            if(!empty($out)) {
                $code = $out;
            }
        }
    }

    function minifyUrl($src) {
        return common_local_url('minify',null,array('f' => $src ,v => GNUSOCIAL_VERSION));
    }

    static function minifyJs($code) {
        require_once('JSMin.php');
        return JSMin::minify($code);
    }

    static function minifyCss($code, $options = array()) {
        require_once('Minify/CSS.php');
        return Minify_CSS::minify($code,$options);
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'Minify',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Craig Andrews',
                            'homepage' => 'http://status.net/wiki/Plugin:Minify',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('The Minify plugin minifies StatusNet\'s CSS and JavaScript, removing whitespace and comments.'));
        return true;
    }
}


code:
The Minify plugin minifies your CSS and Javascript, removing whitespace and
comments.

Note that if enabled this plugin and use a theme server,
    (if any of $config['theme']['server'], $config['theme']['path'],
    $config['theme']['dir'] are set) theme CSS will not be minified.

This plugin will use memcache, if it is available, for storing minified inline
    and file javascript and css. Because minification is non-trivial, using
    memcache is recommended.

Installation
============
add "addPlugin('minify',
    array('setting'=>'value', 'setting2'=>'value2', ...);"
to the bottom of your config.php

Settings
========
minifyInlineJs (true): Minify inline javascript.
    Because caching isn'tas effective for inline resources (due to its more
    dynamic nature) than static files, minifying inline resources may adversely
    affect performance for higher volume sites. Testing (and memcache usage)
    are highly recommended.
minifyInlineCss (true): Minify inline CSS.
    Because caching isn'tas effective for inline resources (due to its more
    dynamic nature) than static files, minifying inline resources may adversely
    affect performance for higher volume sites. Testing (and memcache usage)
    are highly recommended.

Example
=======

addPlugin('minify', array());

path: plugins/Minify/README


code:
<?php
/*
 * StatusNet - the distributed open-source microblogging tool
 * Copyright (C) 2008, 2009, StatusNet, Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }

class MinifyAction extends Action
{
    const TYPE_CSS = 'text/css';
    const TYPE_HTML = 'text/html';
    // there is some debate over the ideal JS Content-Type, but this is the
    // Apache default and what Yahoo! uses..
    const TYPE_JS = 'application/x-javascript';

    var $file;
    var $v;

    function isReadOnly($args)
    {
        return true;
    }

    function prepare($args)
    {
        parent::prepare($args);
        $this->v = $args['v'];

        $f = $this->arg('f');
        if(isset($f)) {
            $this->file = INSTALLDIR.'/'.$f;
            if(file_exists($this->file)) {
                return true;
            } else {
                // TRANS: Client error displayed when not providing a valid path in parameter "f".
                $this->clientError(_m('The parameter "f" is not a valid path.'),404);
            }
        }else{
            // TRANS: Client error displayed when not providing parameter "f".
            $this->clientError(_m('The parameter "f" is required but missing.'),500);
        }
    }

    function etag()
    {
        if(isset($this->v)) {
            return "\"" . crc32($this->file . $this->v) . "\"";
        }else{
            $stat = stat($this->file);
            return '"' . $stat['ino'] . '-' . $stat['size'] . '-' . $stat['mtime'] . '"';
        }
    }

    function lastModified()
    {
        return filemtime($this->file);
    }

    function handle($args)
    {
        parent::handle($args);

        $c = Cache::instance();
        if (!empty($c)) {
            $cacheKey = Cache::key(MinifyPlugin::cacheKey . ':' . $this->file . '?v=' . empty($this->v)?'':$this->v);
            $out = $c->get($cacheKey);
        }
        if(empty($out)) {
            $out = $this->minify($this->file);
        }
        if (!empty($c)) {
            $c->set($cacheKey, $out);
        }

        $sec = session_cache_expire() * 60;
        header('Cache-Control: public, max-age=' . $sec);
        header('Pragma: public');
        $this->raw($out);
    }

    function minify($file)
    {
        $info = pathinfo($file);
        switch(strtolower($info['extension'])){
            case 'js':
                $out = MinifyPlugin::minifyJs(file_get_contents($file));
                header('Content-Type: ' . self::TYPE_JS);
                break;
            case 'css':
                $options = array();
                $options['currentDir'] = dirname($file);
                $options['docRoot'] = INSTALLDIR;
                $out = MinifyPlugin::minifyCss(file_get_contents($file),$options);
                header('Content-Type: ' . self::TYPE_CSS);
                break;
            default:
                // TRANS: Client error displayed when trying to minify an unsupported file type.
                $this->clientError(_m('File type not supported.'),500);
        }
        return $out;
    }
}


code:
Minify Release History

Version 2.1.3
    * HTTP fixes
      * ETag generation now valid (different when gzipped)
      * Vary header always sent when Accept-Encoding is sniffed
      * Cache-Control no longer has "must-revalidate" due to webkit bug
        See: http://mrclay.org/index.php/2009/02/24/safari-4-beta-cache-controlmust-revalidate-bug/
      * Dropped deflate encoding. Browser and proxy support could be buggy.
        See: http://stackoverflow.com/questions/883841/
    * File cache now works w/o setting $min_cachePath
    * Allow setting contentType in Minify_Source objects
    * No more 5.3 deprecation warnings: split() removed

Version 2.1.2
    * Javascript fixes
      * Debug mode no longer confused by "*/*" in strings/RegExps (jQuery)
      * quote characters inside RegExp literals no longer cause exception
      * files ending in single-line comments no longer cause code loss
    * CSS: data: URLs no longer mangled
    * Optional error logging to Firefox's FirePHP extension
    * Unit tests to check for common DOCUMENT_ROOT problems
      * DOCUMENT_ROOT no longer overwritten on IIS servers
    * Builder app doesn't fail on systems without gzdeflate()
    * APC caching class included

Version 2.1.1
    * Bug fix release
    * Detection and workarounds for zlib.output_compression and non-PHP encoding modules
    * Zlib not required (mod_rewrite, et.al., can still be used for encoding)
    * HTML : More IE conditional comments preserved
    * Minify_groupUri() utility fixed

Version 2.1.0
    * "min" default application for quick deployment
    * Minify URI Builder app & bookmarklet for quickly creating minify URIs
    * Relative URIs in CSS file are fixed automatically by default
    * "debug" mode for revealing original line #s in combined files
    * Better IIS support
    * Improved minifier classes:
      * JS: preserves IE conditional comments
      * CSS: smaller output, preserves more hacks and valid CSS syntax,
             shorter line lengths, other bug fixes
      * HTML: smaller output, shorter line lengths, other bug fixes
    * Default Cache-Control: max-age of 30 minutes
    * Conditional GETs supported even when max-age sent
    * Experimental memcache cache class (default is files)
    * Minify_Cache_File has flock()s (by default)
    * Workaround for Windows mtime reporting bug

Version 2.0.2 beta (2008-06-24)
    * Fast new cache system. Cached files served almost 3x as fast.
    * Dropped support of compress encoding (though HTTP_Encoder still supports it)

Version 2.0.1 (2008-05-31)
    * E_STRICT compliance (Cache_Lite_File).

Version 2.0.0 (2008-05-22)
    * Complete code overhaul. Minify is now a PEAR-style class and toolkit
      for building customized minifying file servers.
    * Content-Encoding: deflate/gzip/compress, based on request headers
    * Expanded CSS and HTML minifiers with test cases
    * Easily plug-in 3rd-party minifiers (like Packer)
    * Plug-able front end controller allows changing the way files are chosen
    * Compression & encoding modules lazy-loaded as needed (304 responses use
      use minimal code)
    * Separate utility classes for HTTP encoding and cache control

Version 1.0.1 (2007-05-05)
    * Fixed various problems resolving pathnames when hosted on an NFS mount.
    * Fixed 'undefined constant' notice.
    * Replaced old JSMin library with a much faster custom implementation.

Version 1.0.0 (2007-05-02)
    * First release.


code:
WELCOME TO MINIFY 2.1!

Minify is an HTTP content server. It compresses sources of content
(usually files), combines the result and serves it with appropriate
HTTP headers. These headers can allow clients to perform conditional
GETs (serving content only when clients do not have a valid cache)
and tell clients to cache the file for a period of time.
More info: http://code.google.com/p/minify/

UPGRADING

See UPGRADING.txt for instructions.

INSTALLATION AND USAGE:

1. Place the /min/ directory as a child of your DOCUMENT_ROOT
directory: i.e. you will have: /home/user/www/public_html/min

2. Open http://yourdomain/min/ in a web browser. This will forward
you to the Minify URI Builder application, which will help you
quickly start using Minify to serve content on your site.

UNIT TESTING:

1. Place the /min_unit_tests/ directory as a child of your DOCUMENT_ROOT
directory: i.e. you will have: /home/user/www/public_html/min_unit_tests

2. To run unit tests, access: http://yourdomain/min_unit_tests/test_all.php

(If you wish, the other test_*.php files can be run to test individual
components with more verbose output.)

3. Remove /min_unit_tests/ from your DOCUMENT_ROOT when you are done.

EXTRAS:

The min_extras folder contains files for benchmarking using Apache ab on Windows
and a couple single-use tools. DO NOT place this on your production server.

FILE ENCODINGS

Minify *should* work fine with files encoded in UTF-8 or other 8-bit
encodings like ISO 8859/Windows-1252. By default Minify appends
";charset=utf-8" to the Content-Type headers it sends.

Leading UTF-8 BOMs are stripped from all sources to prevent
duplication in output files, and files are converted to Unix newlines.


code:
Minify Upgrade Guide

UPGRADING FROM 2.1.*

1. Rename the following files:

    /min/config.php       --> /min/old_config.php
    /min/groupsConfig.php --> /min/old_groupsConfig.php

2. Overwrite all files in /min (and /min_unit_tests) with those from this zip.

3. Delete /min/groupsConfig.php

4. Rename /min/old_groupsConfig.php --> /min/groupsConfig.php

5. Merge your settings in old_config.php into config.php.

    * If you've set $_SERVER['DOCUMENT_ROOT'], instead set the new option
      $min_documentRoot. This is advantageous on IIS systems because Minify
      will no longer overwrite the path you specified.

    * $min_errorLogger adds the ability to enable FirePHP logging.

6. (optional) Delete /min/old_config.php and the Minify files from your cache
   directory (specified in $min_cachePath).

INSTALLING FRESH

See README.txt for instructions on installing this app for the first time.

SUPPORT

Send a message to http://groups.google.com/group/minify


code:
The files in this directory represent the default Minify setup designed to ease
integration with your site. This app will combine and minify your Javascript or
CSS files and serve them with HTTP compression and cache headers.

RECOMMENDED

It's recommended to edit config.php to set $min_cachePath to a writeable
(by PHP) directory on your system. This will improve performance.

GETTING STARTED

The quickest way to get started is to use the Minify URI Builder application
on your website: http://example.com/min/builder/

MINIFYING A SINGLE FILE

Let's say you want to serve this file:
  http://example.com/wp-content/themes/default/default.css

Here's the "Minify URL" for this file:
  http://example.com/min/?f=wp-content/themes/default/default.css

In other words, the "f" argument is set to the file path from root without the
initial "/". As CSS files may contain relative URIs, Minify will automatically
"fix" these by rewriting them as root relative.

COMBINING MULTIPLE FILES IN ONE DOWNLOAD

Separate the paths given to "f" with commas.

Let's say you have CSS files at these URLs:
  http://example.com/scripts/jquery-1.2.6.js
  http://example.com/scripts/site.js

You can combine these files through Minify by requesting this URL:
  http://example.com/min/?f=scripts/jquery-1.2.6.js,scripts/site.js

SIMPLIFYING URLS WITH A BASE PATH

If you're combining files that share the same ancestor directory, you can use
the "b" argument to set the base directory for the "f" argument. Do not include
the leading or trailing "/" characters.

E.g., the following URLs will serve the exact same content:
  http://example.com/min/?f=scripts/jquery-1.2.6.js,scripts/site.js,scripts/home.js
  http://example.com/min/?b=scripts&f=jquery-1.2.6.js,site.js,home.js

MINIFY URLS IN HTML

In (X)HTML files, don't forget to replace any "&" characters with "&".

SPECIFYING ALLOWED DIRECTORIES

By default, Minify will serve any *.css/*.js files within the DOCUMENT_ROOT. If
you'd prefer to limit Minify's access to certain directories, set the
$min_serveOptions['minApp']['allowDirs'] array in config.php. E.g. to limit
to the /js and /themes/default directories, use:

$min_serveOptions['minApp']['allowDirs'] = array('//js', '//themes/default');

GROUPS: FASTER PERFORMANCE AND BETTER URLS

For the best performance, edit groupsConfig.php to pre-specify groups of files
to be combined under preset keys. E.g., here's an example configuration in
groupsConfig.php:

return array(
    'js' => array('//js/Class.js', '//js/email.js')
);

This pre-selects the following files to be combined under the key "js":
  http://example.com/js/Class.js
  http://example.com/js/email.js

You can now serve these files with this simple URL:
  http://example.com/min/?g=js

GROUPS: SPECIFYING FILES OUTSIDE THE DOC_ROOT

In the groupsConfig.php array, the "//" in the file paths is a shortcut for
the DOCUMENT_ROOT, but you can also specify paths from the root of the filesystem
or relative to the DOC_ROOT:

return array(
    'js' => array(
        '//js/file.js'            // file within DOC_ROOT
        ,'//../file.js'           // file in parent directory of DOC_ROOT
        ,'C:/Users/Steve/file.js' // file anywhere on filesystem
    )
);

FAR-FUTURE EXPIRES HEADERS

Minify can send far-future (one year) Expires headers. To enable this you must
add a number to the querystring (e.g. /min/?g=js&1234 or /min/f=file.js&1234)
and alter it whenever a source file is changed. If you have a build process you
can use a build/source control revision number.

If you serve files as a group, you can use the utility function Minify_groupUri()
to get a "versioned" Minify URI for use in your HTML. E.g.:

<?php
// add /min/lib to your include_path first!
require $_SERVER['DOCUMENT_ROOT'] . '/min/utils.php';

$jsUri = Minify_groupUri('js');
echo "<script type='text/javascript' src='{$jsUri}'></script>";

DEBUG MODE

In debug mode, instead of compressing files, Minify sends combined files with
comments prepended to each line to show the line number in the original source
file. To enable this, set $min_allowDebugFlag to true in config.php and append
"&debug=1" to your URIs. E.g. /min/?f=script1.js,script2.js&debug=1

Known issue: files with comment-like strings/regexps can cause problems in this mode.

QUESTIONS?

http://groups.google.com/group/minify


code:
var MUB = {
    _uid : 0
    ,_minRoot : '/min/?'
    ,checkRewrite : function () {
        var testUri = location.pathname.replace(/\/[^\/]*$/, '/rewriteTest.js').substr(1);
        function fail() {
            $('#minRewriteFailed')[0].className = 'topNote';
        };
        $.ajax({
            url : '../f=' + testUri + '&' + (new Date()).getTime()
            ,success : function (data) {
                if (data === '1') {
                    MUB._minRoot = '/min/';
                    $('span.minRoot').html('/min/');
                } else
                    fail();
            }
            ,error : fail
        });
    }
    /**
     * Get markup for new source LI element
     */
    ,newLi : function () {
        return '
http://' + location.host + '/<input type=text size=20>'
        + ' <button title="Remove">x</button> <button title="Include Earlier">↑</button>'
        + ' <button title="Include Later">↓</button>
';
    }
    /**
     * Add new empty source LI and attach handlers to buttons
     */
    ,addLi : function () {
        $('#sources').append(MUB.newLi());
        var li = $('#li' + MUB._uid)[0];
        $('button[title=Remove]', li).click(function () {
            $('#results').hide();
            var hadValue = !!$('input', li)[0].value;
            $(li).remove();
        });
        $('button[title$=Earlier]', li).click(function () {
            $(li).prev('li').find('input').each(function () {
                $('#results').hide();
                // this = previous li input
                var tmp = this.value;
                this.value = $('input', li).val();
                $('input', li).val(tmp);
                MUB.updateAllTestLinks();
            });
        });
        $('button[title$=Later]', li).click(function () {
            $(li).next('li').find('input').each(function () {
                $('#results').hide();
                // this = next li input
                var tmp = this.value;
                this.value = $('input', li).val();
                $('input', li).val(tmp);
                MUB.updateAllTestLinks();
            });
        });
        ++MUB._uid;
    }
    /**
     * In the context of a source LI element, this will analyze the URI in
     * the INPUT and check the URL on the site.
     */
    ,liUpdateTestLink : function () { // call in context of li element
        if (! $('input', this)[0].value)
            return;
        var li = this;
        $('span', this).html('');
        var url = 'http://' + location.host + '/'
                + $('input', this)[0].value.replace(/^\//, '');
        $.ajax({
            url : url
            ,complete : function (xhr, stat) {
                if ('success' == stat)
                    $('span', li).html('✓');
                else {
                    $('span', li).html('<button>404!  recheck</button>')
                        .find('button').click(function () {
                            MUB.liUpdateTestLink.call(li);
                        });
                }
            }
            ,dataType : 'text'
        });
    }
    /**
     * Check all source URLs
     */
    ,updateAllTestLinks : function () {
        $('#sources li').each(MUB.liUpdateTestLink);
    }
    /**
     * In a given array of strings, find the character they all have at
     * a particular index
     * @param Array arr array of strings
     * @param Number pos index to check
     * @return mixed a common char or '' if any do not match
     */
    ,getCommonCharAtPos : function (arr, pos) {
        var i
           ,l = arr.length
           ,c = arr[0].charAt(pos);
        if (c === '' || l === 1)
            return c;
        for (i = 1; i < l; ++i)
            if (arr[i].charAt(pos) !== c)
                return '';
        return c;
    }
    /**
     * Get the shortest URI to minify the set of source files
     * @param Array sources URIs
     */
    ,getBestUri : function (sources) {
        var pos = 0
           ,base = ''
           ,c;
        while (true) {
            c = MUB.getCommonCharAtPos(sources, pos);
            if (c === '')
                break;
            else
                base += c;
            ++pos;
        }
        base = base.replace(/[^\/]+$/, '');
        var uri = MUB._minRoot + 'f=' + sources.join(',');
        if (base.charAt(base.length - 1) === '/') {
            // we have a base dir!
            var basedSources = sources
               ,i
               ,l = sources.length;
            for (i = 0; i < l; ++i) {
                basedSources[i] = sources[i].substr(base.length);
            }
            base = base.substr(0, base.length - 1);
            var bUri = MUB._minRoot + 'b=' + base + '&f=' + basedSources.join(',');
            //window.console && console.log([uri, bUri]);
            uri = uri.length < bUri.length
                ? uri
                : bUri;
        }
        return uri;
    }
    /**
     * Create the Minify URI for the sources
     */
    ,update : function () {
        MUB.updateAllTestLinks();
        var sources = []
           ,ext = false
           ,fail = false;
        $('#sources input').each(function () {
            var m, val;
            if (! fail && this.value && (m = this.value.match(/\.(css|js)$/))) {
                var thisExt = m[1];
                if (ext === false)
                    ext = thisExt;
                else if (thisExt !== ext) {
                    fail = true;
                    return alert('extensions must match!');
                }
                this.value = this.value.replace(/^\//, '');
                if (-1 != $.inArray(this.value, sources)) {
                    fail = true;
                    return alert('duplicate file!');
                }
                sources.push(this.value);
            }
        });
        if (fail || ! sources.length)
            return;
        $('#groupConfig').val("    'keyName' => array('//" + sources.join("', '//") + "'),");
        var uri = MUB.getBestUri(sources)
           ,uriH = uri.replace(/</, '<').replace(/>/, '>').replace(/&/, '&');
        $('#uriA').html(uriH)[0].href = uri;
        $('#uriHtml').val(
            ext === 'js'
            ? ''
            : '<link type="text/css" rel="stylesheet" href="' + uriH + '" />'
        );
        $('#results').show();
    }
    /**
     * Handler for the "Add file +" button
     */
    ,addButtonClick : function () {
        $('#results').hide();
        MUB.addLi();
        MUB.updateAllTestLinks();
        $('#update').show().click(MUB.update);
        $('#sources li:last input')[0].focus();
    }
    /**
     * Runs on DOMready
     */
    ,init : function () {
        $('#app').show();
        $('#sources').html('');
        $('#add button').click(MUB.addButtonClick);
        // make easier to copy text out of
        $('#uriHtml, #groupConfig').click(function () {
            this.select();
        }).focus(function () {
            this.select();
        });
        $('a.ext').attr({target:'_blank'});
        if (location.hash) {
            // make links out of URIs from bookmarklet
            $('#getBm').hide();
            $('#bmUris').html('
Found by bookmarklet: /'
                + location.hash.substr(1).split(',').join(' | /')
                + '
'
            );
            $('#bmUris a').click(function () {
                MUB.addButtonClick();
                $('#sources li:last input').val(this.innerHTML)
                MUB.liUpdateTestLink.call($('#sources li:last')[0]);
                $('#results').hide();
                return false;
            }).attr({title:'Add file +'});
        } else {
            // copy bookmarklet code into href
            var bmUri = location.pathname.replace(/\/[^\/]*$/, '/bm.js').substr(1);
            $.ajax({
                url : '../?f=' + bmUri
                ,success : function (code) {
                    $('#bm')[0].href = code
                        .replace('%BUILDER_URL%', location.href)
                        .replace(/\n/g, ' ');
                }
                ,dataType : 'text'
            });
            $.browser.msie && $('#getBm p:last').append(' Sorry, not supported in MSIE!');
            MUB.addButtonClick();
        }
        MUB.checkRewrite();
    }
};
window.onload = MUB.init;


code:
javascript:(function() {
    var d = document
       ,uris = []
       ,i = 0
       ,o
       ,home = (location + '').split('/').splice(0, 3).join('/') + '/';
    function add(uri) {
        return (0 === uri.indexOf(home))
            && (!/[\?&]/.test(uri))
            && uris.push(escape(uri.substr(home.length)));
    };
    function sheet(ss) {
        // we must check the domain with add() before accessing ss.cssRules
        // otherwise a security exception will be thrown
        if (ss.href && add(ss.href) && ss.cssRules) {
            var i = 0, r;
            while (r = ss.cssRules[i++])
                r.styleSheet && sheet(r.styleSheet);
        }
    };
    while (o = d.getElementsByTagName('script')[i++])
        o.src && !(o.type && /vbs/i.test(o.type)) && add(o.src);
    i = 0;
    while (o = d.styleSheets[i++])
    /* http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-DocumentStyle-styleSheets
    document.styleSheet is a list property where [0] accesses the 1st element and
    [outOfRange] returns null. In IE, styleSheets is a function, and also throws an
    exception when you check the out of bounds index. (sigh) */
        sheet(o);
    if (uris.length)
        window.open('%BUILDER_URL%#' + uris.join(','));
    else
        alert('No js/css files found with URLs within "'
            + home.split('/')[2]
            + '".\n(This tool is limited to URLs with the same domain.)');
})();


code:
<?php

if (phpversion() < 5) {
    exit('Minify requires PHP5 or greater.');
}

// check for auto-encoding
$encodeOutput = (function_exists('gzdeflate')
                 && !ini_get('zlib.output_compression'));

require dirname(__FILE__) . '/../config.php';

if (! $min_enableBuilder) {
    header('Location: /');
    exit();
}

ob_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
    <title>Minify URI Builder</title>

<?php if (! isset($min_cachePath)): ?>

Note: Please set $min_cachePath
in /min/config.php to improve performance.

<?php endIf; ?>

Note: Your webserver does not seem to
 support mod_rewrite (used in /min/.htaccess). Your Minify URIs will contain "?", which
may reduce the benefit of proxy cache servers.

Minify URI Builder

Javascript and a browser supported by jQuery 1.2.6 is required
for this application.

Create a list of Javascript or CSS files (or 1 is fine) you'd like to combine
and click [Update].

<button>Add file +</button>

<button id=update class=hide>Update</button>

Minify URI

Place this URI in your HTML to serve the files above combined, minified, compressed and
with cache headers.

URI	/min (opens in new window)

HTML	<input id=uriHtml type=text size=100 readonly>

How to serve these files as a group

For the best performance you can serve these files as a pre-defined group with a URI
like: /min/?g=keyName

To do this, add a line like this to /min/groupsConfig.php:

return array(
    ... your existing groups here ...
<input id=groupConfig size=100 type=text readonly>
);

Make sure to replace keyName with a unique key for this group.

Find URIs on a Page

You can use the bookmarklet below to fetch all CSS & Javascript URIs from a page
on your site. When you active it, this page will open in a new window with a list of
available URIs to add.

Create Minify URIs (right-click, add to bookmarks)

Combining CSS files that contain @import

If your CSS files contain @import declarations, Minify will not
remove them. Therefore, you will want to remove those that point to files already
in your list, and move any others to the top of the first file in your list
(imports below any styles will be ignored by browsers as invalid).

If you desire, you can use Minify URIs in imports and they will not be touched
by Minify. E.g. @import "/min/?g=css2";

Need help? Search or post to the Minify discussion list.

This app is minified :) view
source

<?php

$serveOpts = array(
    'content' => ob_get_contents()
    ,'id' => __FILE__
    ,'lastModifiedTime' => max(
        // regenerate cache if either of these change
        filemtime(__FILE__)
        ,filemtime(dirname(__FILE__) . '/../config.php')
    )
    ,'minifyAll' => true
    ,'encodeOutput' => $encodeOutput
);
ob_end_clean();

set_include_path(dirname(__FILE__) . '/../lib' . PATH_SEPARATOR . get_include_path());

require 'Minify.php';

if (0 === stripos(PHP_OS, 'win')) {
    Minify::setDocRoot(); // we may be on IIS
}
Minify::setCache(isset($min_cachePath) ? $min_cachePath : null);
Minify::$uploaderHoursBehind = $min_uploaderHoursBehind;

Minify::serve('Page', $serveOpts);


code:
<?php
/**
 * AJAX checks for zlib.output_compression
 *
 * @package Minify
 */

$_oc = ini_get('zlib.output_compression');

// allow access only if builder is enabled
require dirname(__FILE__) . '/../config.php';
if (! $min_enableBuilder) {
    header('Location: /');
    exit();
}

if (isset($_GET['hello'])) {
    // echo 'World!'

    // try to prevent double encoding (may not have an effect)
    ini_set('zlib.output_compression', '0');

    require $min_libPath . '/HTTP/Encoder.php';
    HTTP_Encoder::$encodeToIe6  = true; // just in case
    $he = new HTTP_Encoder(array(
        'content' => 'World!'
        ,'method' => 'deflate'
    ));
    $he->encode();
    $he->sendAll();

} else {
    // echo status "0" or "1"
    header('Content-Type: text/plain');
    echo (int)$_oc;
}


code:
<?php
/**
 * Groups configuration for default Minify implementation
 * @package Minify
 */

/**
 * You may wish to use the Minify URI Builder app to suggest
 * changes. http://yourdomain/min/builder/
 **/

return array(
    // 'js' => array('//js/file1.js', '//js/file2.js'),
    // 'css' => array('//css/file1.css', '//css/file2.css'),

    // custom source example
    /*'js2' => array(
        dirname(__FILE__) . '/../min_unit_tests/_test_files/js/before.js',
        // do NOT process this file
        new Minify_Source(array(
            'filepath' => dirname(__FILE__) . '/../min_unit_tests/_test_files/js/before.js',
            'minifier' => create_function('$a', 'return $a;')
        ))
    ),//*/

    /*'js3' => array(
        dirname(__FILE__) . '/../min_unit_tests/_test_files/js/before.js',
        // do NOT process this file
        new Minify_Source(array(
            'filepath' => dirname(__FILE__) . '/../min_unit_tests/_test_files/js/before.js',
            'minifier' => array('Minify_Packer', 'minify')
        ))
    ),//*/
);


code:
<?php
/**
 * Front controller for default Minify implementation
 *
 * DO NOT EDIT! Configure this utility via config.php and groupsConfig.php
 *
 * @package Minify
 */

define('MINIFY_MIN_DIR', dirname(__FILE__));

// load config
require MINIFY_MIN_DIR . '/config.php';

// setup include path
set_include_path($min_libPath . PATH_SEPARATOR . get_include_path());

require 'Minify.php';

Minify::$uploaderHoursBehind = $min_uploaderHoursBehind;
Minify::setCache(
    isset($min_cachePath) ? $min_cachePath : ''
    ,$min_cacheFileLocking
);

if ($min_documentRoot) {
    $_SERVER['DOCUMENT_ROOT'] = $min_documentRoot;
} elseif (0 === stripos(PHP_OS, 'win')) {
    Minify::setDocRoot(); // IIS may need help
}

$min_serveOptions['minifierOptions']['text/css']['symlinks'] = $min_symlinks;

if ($min_allowDebugFlag && isset($_GET['debug'])) {
    $min_serveOptions['debug'] = true;
}

if ($min_errorLogger) {
    require_once 'Minify/Logger.php';
    if (true === $min_errorLogger) {
        require_once 'FirePHP.php';
        Minify_Logger::setLogger(FirePHP::getInstance(true));
    } else {
        Minify_Logger::setLogger($min_errorLogger);
    }
}

// check for URI versioning
if (preg_match('/&\\d/', $_SERVER['QUERY_STRING'])) {
    $min_serveOptions['maxAge'] = 31536000;
}
if (isset($_GET['g'])) {
    // well need groups config
    $min_serveOptions['minApp']['groups'] = (require MINIFY_MIN_DIR . '/groupsConfig.php');
}
if (isset($_GET['f']) || isset($_GET['g'])) {
    // serve!
    Minify::serve('MinApp', $min_serveOptions);

} elseif ($min_enableBuilder) {
    header('Location: builder/');
    exit();
} else {
    header("Location: /");
    exit();
}