// Generated by CoffeeScript 1.7.1
(function() {
  var Messages,
    __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };

  Messages = (function() {
    function Messages(locale) {
      this.gnStringFromExistingGuides = __bind(this.gnStringFromExistingGuides, this);
      this.gnUndefinedVariable = __bind(this.gnUndefinedVariable, this);
      this.gnFillInVariable = __bind(this.gnFillInVariable, this);
      this.gnOneFillPerGrid = __bind(this.gnOneFillPerGrid, this);
      this.gnNoFillWildcards = __bind(this.gnNoFillWildcards, this);
      this.gnNoGrids = __bind(this.gnNoGrids, this);
      this.gnUnrecognized = __bind(this.gnUnrecognized, this);
      this.alertMessageDonate = __bind(this.alertMessageDonate, this);
      this.alertTitleDonate = __bind(this.alertTitleDonate, this);
      this.alertMessageExportError = __bind(this.alertMessageExportError, this);
      this.alertTitleExportError = __bind(this.alertTitleExportError, this);
      this.alertMessageExportSuccess = __bind(this.alertMessageExportSuccess, this);
      this.alertTitleExportSuccess = __bind(this.alertTitleExportSuccess, this);
      this.alertMessageImportNotGist = __bind(this.alertMessageImportNotGist, this);
      this.alertTitleImportNotGist = __bind(this.alertTitleImportNotGist, this);
      this.alertMessageImportGistNoSets = __bind(this.alertMessageImportGistNoSets, this);
      this.alertTitleImportGistNoSets = __bind(this.alertTitleImportGistNoSets, this);
      this.alertMessageImportGistError = __bind(this.alertMessageImportGistError, this);
      this.alertTitleImportGistError = __bind(this.alertTitleImportGistError, this);
      this.alertMessageImportSuccess = __bind(this.alertMessageImportSuccess, this);
      this.alertTitleImportSuccess = __bind(this.alertTitleImportSuccess, this);
      this.alertMessageUpdate = __bind(this.alertMessageUpdate, this);
      this.alertTitleUpdate = __bind(this.alertTitleUpdate, this);
      this.alertMessageUpdateError = __bind(this.alertMessageUpdateError, this);
      this.alertTitleUpdateError = __bind(this.alertTitleUpdateError, this);
      this.alertMessageUpToDate = __bind(this.alertMessageUpToDate, this);
      this.alertTitleUpToDate = __bind(this.alertTitleUpToDate, this);
      this.helpGistExport = __bind(this.helpGistExport, this);
      this.helpImportDesc = __bind(this.helpImportDesc, this);
      this.uiOpenInBrowser = __bind(this.uiOpenInBrowser, this);
      this.uiNiceNo = __bind(this.uiNiceNo, this);
      this.uiVerticalLast = __bind(this.uiVerticalLast, this);
      this.uiVerticalCenter = __bind(this.uiVerticalCenter, this);
      this.uiVerticalFirst = __bind(this.uiVerticalFirst, this);
      this.uiHorizontalLast = __bind(this.uiHorizontalLast, this);
      this.uiHorizontalCenter = __bind(this.uiHorizontalCenter, this);
      this.uiHorizontalFirst = __bind(this.uiHorizontalFirst, this);
      this.uiVerticalRemainder = __bind(this.uiVerticalRemainder, this);
      this.uiHorizontalRemainder = __bind(this.uiHorizontalRemainder, this);
      this.uiVerticalPosition = __bind(this.uiVerticalPosition, this);
      this.uiHorizontalPosition = __bind(this.uiHorizontalPosition, this);
      this.uiSnapToPixels = __bind(this.uiSnapToPixels, this);
      this.uiShowLogs = __bind(this.uiShowLogs, this);
      this.uiCheckForUpdates = __bind(this.uiCheckForUpdates, this);
      this.uiDonate = __bind(this.uiDonate, this);
      this.uiOff = __bind(this.uiOff, this);
      this.uiOn = __bind(this.uiOn, this);
      this.uiCancel = __bind(this.uiCancel, this);
      this.uiOk = __bind(this.uiOk, this);
      this.uiGutterMidpoint = __bind(this.uiGutterMidpoint, this);
      this.uiRowMidpoint = __bind(this.uiRowMidpoint, this);
      this.uiColumnMidpoint = __bind(this.uiColumnMidpoint, this);
      this.uiExportSets = __bind(this.uiExportSets, this);
      this.uiImportSets = __bind(this.uiImportSets, this);
      this.uiSaveSet = __bind(this.uiSaveSet, this);
      this.uiMakeGrid = __bind(this.uiMakeGrid, this);
      this.uiClearForm = __bind(this.uiClearForm, this);
      this.uiDebug = __bind(this.uiDebug, this);
      this.uiSets = __bind(this.uiSets, this);
      this.uiCustom = __bind(this.uiCustom, this);
      this.uiGrid = __bind(this.uiGrid, this);
      if (locale != null) {
        this.i18n = locale;
      }
    }

    Messages.prototype.uiGrid = function() {
      switch (this.i18n) {
        case "es_es":
          return "Retícula";
        case "fr_fr":
          return "Grille";
        case "pt_br":
          return "Grid";
        default:
          return "Grid";
      }
    };

    Messages.prototype.uiCustom = function() {
      switch (this.i18n) {
        case "es_es":
          return "Personalizada";
        case "fr_fr":
          return "Personnalisée";
        case "pt_br":
          return "Personalizada";
        default:
          return "Custom";
      }
    };

    Messages.prototype.uiSets = function() {
      switch (this.i18n) {
        case "es_es":
          return "Sets";
        case "fr_fr":
          return "Sets";
        case "pt_br":
          return "Sets";
        default:
          return "Sets";
      }
    };

    Messages.prototype.uiDebug = function() {
      switch (this.i18n) {
        case "es_es":
          return "Debug";
        case "fr_fr":
          return "Débug";
        case "pt_br":
          return "Debug";
        default:
          return "Debug";
      }
    };

    Messages.prototype.uiClearForm = function() {
      switch (this.i18n) {
        case "es_es":
          return "Limpiar formulario";
        case "fr_fr":
          return "Effacer le formulaire";
        case "pt_br":
          return "Limpar formulário";
        default:
          return "Clear form";
      }
    };

    Messages.prototype.uiMakeGrid = function() {
      switch (this.i18n) {
        case "es_es":
          return "Crear retícula";
        case "fr_fr":
          return "Créer la grille";
        case "pt_br":
          return "Criar grid";
        default:
          return "Make grid";
      }
    };

    Messages.prototype.uiSaveSet = function() {
      switch (this.i18n) {
        case "es_es":
          return "Guardar set";
        case "fr_fr":
          return "Enregistrer le set";
        case "pt_br":
          return "Salvar set";
        default:
          return "Save set";
      }
    };

    Messages.prototype.uiImportSets = function() {
      switch (this.i18n) {
        case "es_es":
          return "Importar sets";
        case "fr_fr":
          return "Importer des sets";
        case "pt_br":
          return "Importar sets";
        default:
          return "Import sets";
      }
    };

    Messages.prototype.uiExportSets = function() {
      switch (this.i18n) {
        case "es_es":
          return "Exportar sets";
        case "fr_fr":
          return "Exporter des sets";
        case "pt_br":
          return "Exportar sets";
        default:
          return "Export sets";
      }
    };

    Messages.prototype.uiColumnMidpoint = function() {
      switch (this.i18n) {
        case "es_es":
          return "Punto medio de columna";
        case "fr_fr":
          return "Centre des colonnes";
        case "pt_br":
          return "Ponto central da coluna";
        default:
          return "Column midpoint";
      }
    };

    Messages.prototype.uiRowMidpoint = function() {
      switch (this.i18n) {
        case "es_es":
          return "Punto medio de fila";
        case "fr_fr":
          return "Centre des lignes";
        case "pt_br":
          return "Ponto central da linha";
        default:
          return "Row midpoint";
      }
    };

    Messages.prototype.uiGutterMidpoint = function() {
      switch (this.i18n) {
        case "es_es":
          return "Punto medio del medianil";
        case "fr_fr":
          return "Centre des gouttières";
        case "pt_br":
          return "Ponto central do espaçamento";
        default:
          return "Gutter midpoint";
      }
    };

    Messages.prototype.uiOk = function() {
      switch (this.i18n) {
        case "es_es":
          return "Ok";
        case "fr_fr":
          return "Ok";
        case "pt_br":
          return "Ok";
        default:
          return "Ok";
      }
    };

    Messages.prototype.uiCancel = function() {
      switch (this.i18n) {
        case "es_es":
          return "Cancelar";
        case "fr_fr":
          return "Annuler";
        case "pt_br":
          return "Cancelar";
        default:
          return "Cancel";
      }
    };

    Messages.prototype.uiOn = function() {
      switch (this.i18n) {
        case "es_es":
          return "Encendido";
        case "fr_fr":
          return "Activé";
        case "pt_br":
          return "Ligar";
        default:
          return "On";
      }
    };

    Messages.prototype.uiOff = function() {
      switch (this.i18n) {
        case "es_es":
          return "Apagado";
        case "fr_fr":
          return "Désactivé";
        case "pt_br":
          return "Desligar";
        default:
          return "Off";
      }
    };

    Messages.prototype.uiDonate = function() {
      switch (this.i18n) {
        case "es_es":
          return "Donar";
        case "fr_fr":
          return "Faire un don";
        case "pt_br":
          return "Doar";
        default:
          return "Donate";
      }
    };

    Messages.prototype.uiCheckForUpdates = function() {
      switch (this.i18n) {
        case "es_es":
          return "Buscar actualizaciones";
        case "fr_fr":
          return "Vérifier les mises à jour";
        case "pt_br":
          return "Buscar atualizações";
        default:
          return "Check for updates";
      }
    };

    Messages.prototype.uiShowLogs = function() {
      switch (this.i18n) {
        case "es_es":
          return "Mostrar logs";
        case "fr_fr":
          return "Afficher l'historique";
        case "pt_br":
          return "Mostrar logs";
        default:
          return "Show logs";
      }
    };

    Messages.prototype.uiSnapToPixels = function() {
      switch (this.i18n) {
        case "es_es":
          return "Encajar en pixels";
        case "fr_fr":
          return "Magnétisme des pixels";
        case "pt_br":
          return "Encaixar nos pixels";
        default:
          return "Snap to pixels";
      }
    };

    Messages.prototype.uiHorizontalPosition = function() {
      switch (this.i18n) {
        case "es_es":
          return "Posición horizontal";
        case "fr_fr":
          return "Position horizontale";
        case "pt_br":
          return "Posição horizontal";
        default:
          return "Horizontal position";
      }
    };

    Messages.prototype.uiVerticalPosition = function() {
      switch (this.i18n) {
        case "es_es":
          return "Posición vertical";
        case "fr_fr":
          return "Position verticale";
        case "pt_br":
          return "Posição vertical";
        default:
          return "Vertical position";
      }
    };

    Messages.prototype.uiHorizontalRemainder = function() {
      switch (this.i18n) {
        case "es_es":
          return "Resto horizontal";
        case "fr_fr":
          return "Excédent horizontal";
        case "pt_br":
          return "Restante horizontal";
        default:
          return "Horizontal remainder";
      }
    };

    Messages.prototype.uiVerticalRemainder = function() {
      switch (this.i18n) {
        case "es_es":
          return "Resto vertical";
        case "fr_fr":
          return "Excédent vertical";
        case "pt_br":
          return "Restante vertical";
        default:
          return "Vertical remainder";
      }
    };

    Messages.prototype.uiHorizontalFirst = function() {
      switch (this.i18n) {
        case "es_es":
          return "Izquierda";
        case "fr_fr":
          return "Gauche";
        case "pt_br":
          return "Esquerda";
        default:
          return "Left";
      }
    };

    Messages.prototype.uiHorizontalCenter = function() {
      switch (this.i18n) {
        case "es_es":
          return "Centro";
        case "fr_fr":
          return "Centre";
        case "pt_br":
          return "Centro";
        default:
          return "Center";
      }
    };

    Messages.prototype.uiHorizontalLast = function() {
      switch (this.i18n) {
        case "es_es":
          return "Derecha";
        case "fr_fr":
          return "Droite";
        case "pt_br":
          return "Direita";
        default:
          return "Right";
      }
    };

    Messages.prototype.uiVerticalFirst = function() {
      switch (this.i18n) {
        case "es_es":
          return "Arriba";
        case "fr_fr":
          return "Haut";
        case "pt_br":
          return "Acima";
        default:
          return "Top";
      }
    };

    Messages.prototype.uiVerticalCenter = function() {
      switch (this.i18n) {
        case "es_es":
          return "Centro";
        case "fr_fr":
          return "Centre";
        case "pt_br":
          return "Centro";
        default:
          return "Center";
      }
    };

    Messages.prototype.uiVerticalLast = function() {
      switch (this.i18n) {
        case "es_es":
          return "Abajo";
        case "fr_fr":
          return "Bas";
        case "pt_br":
          return "Abaixo";
        default:
          return "Bottom";
      }
    };

    Messages.prototype.uiNiceNo = function() {
      switch (this.i18n) {
        case "es_es":
          return "No, gracias";
        case "fr_fr":
          return "Non, merci";
        case "pt_br":
          return "Não, obrigado";
        default:
          return "No thanks";
      }
    };

    Messages.prototype.uiOpenInBrowser = function() {
      switch (this.i18n) {
        case "es_es":
          return "Abrir en navegador";
        case "fr_fr":
          return "Ouvrir dans le navigateur";
        case "pt_br":
          return "Abrir no navegador";
        default:
          return "Open in browser";
      }
    };

    Messages.prototype.helpImportDesc = function() {
      switch (this.i18n) {
        case "es_es":
          return "Importa sets pegando una url de GitHub Gist en el campo de texto de abajo.";
        case "fr_fr":
          return "Importez des sets en collant une url Github Gist dans le champ ci-dessous.";
        case "pt_br":
          return "Importar os sets colando uma URL de GitHub Gist no campo de texto abaixo.";
        default:
          return "Import sets by pasting a GitHub Gist url in the text field below.";
      }
    };

    Messages.prototype.helpGistExport = function() {
      switch (this.i18n) {
        case "es_es":
          return 'Estos son los datos de un set de guías exportado por el plugin GuideGuide. Para importarlos, haz click en el botón "Importar" en los ajustes de GuideGuide y pega la url de este Gist en el campo de texto.';
        case "fr_fr":
          return 'Ceci est un guide sur les données des sets exportées par l\'extension GuideGuide. Pour les importer, cliquez sur le bouton "Importer" dans les paramètres de GuideGuide et collez cette url Gist dans le champ.';
        case "pt_br":
          return 'Este é o guia de dados de set exportados pelo plugin GuideGuide. Para importar -lo, clique no botão "Importar" nas configurações do GuideGuide e cole a url do Gist no campo de texto';
        default:
          return 'This is guide set data exported by the GuideGuide plugin. To import them, click the "Import" button in the GuideGuide settings and paste this Gist url into the text field.';
      }
    };

    Messages.prototype.alertTitleUpToDate = function() {
      switch (this.i18n) {
        case "es_es":
          return "Estás al día";
        case "fr_fr":
          return "À jour";
        case "pt_br":
          return "Esta atualizado";
        default:
          return "Up to date";
      }
    };

    Messages.prototype.alertMessageUpToDate = function() {
      switch (this.i18n) {
        case "es_es":
          return "Ya tienes la última versión de GuideGuide.";
        case "fr_fr":
          return "GuideGuide est à jour.";
        case "pt_br":
          return "O GuideGuide está atualizado com a última versão.";
        default:
          return "GuideGuide is currently up to date.";
      }
    };

    Messages.prototype.alertTitleUpdateError = function() {
      switch (this.i18n) {
        case "es_es":
          return "Error buscando actualizaciones";
        case "fr_fr":
          return "Erreur lors de la vérification des mises à jour";
        case "pt_br":
          return "Erro na verificação de atualizações";
        default:
          return "Error checking for updates";
      }
    };

    Messages.prototype.alertMessageUpdateError = function() {
      switch (this.i18n) {
        case "es_es":
          return 'Desgraciadamente, algo ha fallado intentando buscar actualizaciones. Si el problema persiste, visita <strong><a class="js-link" href="http://guideguide.me">guideguide.me</a></strong> para descargar una nueva versión.';
        case "fr_fr":
          return 'Malheureusement, une erreur est survenue lors de la vérification des mises à jour. Si le problème persiste, consultez le site <strong><a class="js-link" href="http://guideguide.me">guideguide.me</a></strong> pour de nouvelles versions.';
        case "pt_br":
          return 'Infelizmente, algo deu errado ao tentar verificar se há atualizações. Se o problema persistir, verifique <strong><a class="js-link" href="http://guideguide.me">guideguide.me</a></strong> para novas versões.';
        default:
          return 'Unfortunately, something went wrong when trying to check for updates. If the problem persists, check <strong><a class="js-link" href="http://guideguide.me">guideguide.me</a></strong> for new versions.';
      }
    };

    Messages.prototype.alertTitleUpdate = function() {
      switch (this.i18n) {
        case "es_es":
          return "Actualizaciones disponibles";
        case "fr_fr":
          return "Mises à jour disponibles";
        case "pt_br":
          return "Atualizações disponíveis";
        default:
          return "Updates available";
      }
    };

    Messages.prototype.alertMessageUpdate = function() {
      switch (this.i18n) {
        case "es_es":
          return "Actualiza GuideGuide para obtener la última versión";
        case "fr_fr":
          return "Obtenez la dernière version de GuideGuide.";
        case "pt_br":
          return "Atualize o GuideGuide para obter a versão mais recente.";
        default:
          return "Update GuideGuide to get the latest version.";
      }
    };

    Messages.prototype.alertTitleImportSuccess = function() {
      switch (this.i18n) {
        case "es_es":
          return "Sets importados";
        case "fr_fr":
          return "Sets importés";
        case "pt_br":
          return "Sets importados";
        default:
          return "Sets imported";
      }
    };

    Messages.prototype.alertMessageImportSuccess = function() {
      switch (this.i18n) {
        case "es_es":
          return "Tus sets se han importado correctamente.";
        case "fr_fr":
          return "Vos sets ont été importés avec succès.";
        case "pt_br":
          return "Seus sets foram importados corretamente.";
        default:
          return "Your sets have successfully been imported.";
      }
    };

    Messages.prototype.alertTitleImportGistError = function() {
      switch (this.i18n) {
        case "es_es":
          return "Error de Importación";
        case "fr_fr":
          return "Erreur d'importation";
        case "pt_br":
          return "Erro na importação";
        default:
          return "Import Error";
      }
    };

    Messages.prototype.alertMessageImportGistError = function() {
      switch (this.i18n) {
        case "es_es":
          return "Desgraciadamente, GuideGuide no ha sido capaz de importar sets en este momento. Por favor, inténtalo de nuevo más adelante.";
        case "fr_fr":
          return "Malheureusement, GuideGuide n'est pas en mesure actuellement d'importer les sets. Veuillez réessayer plus tard.";
        case "pt_br":
          return "Infelizmente, o GuideGuide não foi capaz de importar os sets neste momento. Por favor, tente novamente mais tarde.";
        default:
          return "Unfortunately, GuideGuide is unable to import sets at this time. Please try again later.";
      }
    };

    Messages.prototype.alertTitleImportGistNoSets = function() {
      switch (this.i18n) {
        case "es_es":
          return "Error de Importación";
        case "fr_fr":
          return "Erreur d'importation";
        case "pt_br":
          return "Erro na importação";
        default:
          return "Import error";
      }
    };

    Messages.prototype.alertMessageImportGistNoSets = function() {
      switch (this.i18n) {
        case "es_es":
          return "GuideGuide no ha sido capaz de encontrar sets.json en este Gist.";
        case "fr_fr":
          return "GuideGuide n'a pas été en mesure de trouver le fichier sets.json dans ce Gist.";
        case "pt_br":
          return "O GuideGuide não foi capaz de encontrar o arquivo sets.json neste Gist.";
        default:
          return "GuideGuide was not able to find sets.json in this Gist.";
      }
    };

    Messages.prototype.alertTitleImportNotGist = function() {
      switch (this.i18n) {
        case "es_es":
          return "Error de Importación";
        case "fr_fr":
          return "Erreur d'importation";
        case "pt_br":
          return "Erro na importação";
        default:
          return "Import Error";
      }
    };

    Messages.prototype.alertMessageImportNotGist = function() {
      switch (this.i18n) {
        case "es_es":
          return "El texto de entrada no contiene una url de GitHub Gist.";
        case "fr_fr":
          return "Le champ ne contient aucune url GitHub Gist.";
        case "pt_br":
          return "O texto de entrada não contém uma url do GitHub Gist.";
        default:
          return "The input text does not contain a GitHub Gist url.";
      }
    };

    Messages.prototype.alertTitleExportSuccess = function() {
      switch (this.i18n) {
        case "es_es":
          return "Sets exportados";
        case "fr_fr":
          return "Les sets ont été exportés";
        case "pt_br":
          return "Configurações exportadas";
        default:
          return "Sets have been exported";
      }
    };

    Messages.prototype.alertMessageExportSuccess = function(url) {
      var button;
      button = "<div><strong><a class='js-link button export-button' href='" + url + "'>" + (this.uiOpenInBrowser()) + "</a></strong></div>";
      switch (this.i18n) {
        case "es_es":
          return "Tus sets han sido exportados a un GitHub Gist secreto. " + button;
        case "fr_fr":
          return "Vos sets ont été exportés vers un Github Gist secret. " + button;
        case "pt_br":
          return "Seus sets foram exportadas para um GitHub Gist secreto. " + button;
        default:
          return "Your sets have been exported to a secret GitHub Gist. " + button;
      }
    };

    Messages.prototype.alertTitleExportError = function() {
      switch (this.i18n) {
        case "es_es":
          return "Imposible exportar";
        case "fr_fr":
          return "Impossible d'exporter";
        case "pt_br":
          return "Impossivel exportar";
        default:
          return "Unable to export";
      }
    };

    Messages.prototype.alertMessageExportError = function() {
      switch (this.i18n) {
        case "es_es":
          return "Desgraciadamente, GuideGuide no ha sido capaz de exportar sets en este momento. Por favor, inténtalo de nuevo más adelante.";
        case "fr_fr":
          return "Malheureusement, GuideGuide n'est pas en mesure actuellement d'exporter les sets. Veuillez réessayer plus tard.";
        case "pt_br":
          return "Infelizmente, o GuideGuide não foi capaz de exportar os sets neste momento. Por favor, tente novamente mais tarde.";
        default:
          return "Unfortunately, GuideGuide is unable to export sets at this time. Please try again later.";
      }
    };

    Messages.prototype.alertTitleDonate = function() {
      switch (this.i18n) {
        case "es_es":
          return "¿Te gustaría donar?";
        case "fr_fr":
          return "Voulez-vous faire un don ?";
        case "pt_br":
          return "Gostaria de doar?";
        default:
          return "Would you like to donate?";
      }
    };

    Messages.prototype.alertMessageDonate = function() {
      switch (this.i18n) {
        case "es_es":
          return "¡Vaya, ya has usado GuideGuide 30 veces! Parece que le estás sacando bastante partido a GuideGuide, ¿te interesaría hacer una donación para contribuir a su desarrollo?";
        case "fr_fr":
          return "Wow, vous avez utilisé GuideGuide 30 fois ! Comme vous semblez utiliser et apprécier GuideGuide, pourquoi ne pas envisager de faire un don pour supporter son développement ?";
        case "pt_br":
          return "Yowza, você já usou o GuideGuide 30 vezes! Parece que o GuideGuide anda sendo bem útil, Você consideraria fazer uma doação para o desenvolvimento?";
        default:
          return "Yowza, you've used GuideGuide 30 times! Since you seem to get quite a bit of use out of GuideGuide, would you consider making a donation to the development?";
      }
    };

    Messages.prototype.gnUnrecognized = function() {
      switch (this.i18n) {
        case "es_es":
          return "Comando no reconocido";
        case "fr_fr":
          return "Commande non reconnue";
        case "pt_br":
          return "Comando desconhecido";
        default:
          return "Unrecognized command";
      }
    };

    Messages.prototype.gnNoGrids = function() {
      switch (this.i18n) {
        case "es_es":
          return "Esta cadena no contiene ninguna retícula";
        case "fr_fr":
          return "Cette chaîne de caractères ne contient aucune grille";
        case "pt_br":
          return "Esta palavra não contém nenhuma grids";
        default:
          return "This string does not contain any grids";
      }
    };

    Messages.prototype.gnNoFillWildcards = function() {
      switch (this.i18n) {
        case "es_es":
          return "Los comodines no pueden ser rellenos";
        case "fr_fr":
          return "Les métacaractères ne peuvent être un remplissage";
        case "pt_br":
          return "Wildcards não podem ser preenchido";
        default:
          return "Wildcards cannot be fills";
      }
    };

    Messages.prototype.gnOneFillPerGrid = function() {
      switch (this.i18n) {
        case "es_es":
          return "Una retícula sólo puede contener un relleno";
        case "fr_fr":
          return "Une grille ne peut contenir qu'un remplissage";
        case "pt_br":
          return "Uma grid só pode conter um preenchimento";
        default:
          return "A grid can only contain one fill";
      }
    };

    Messages.prototype.gnFillInVariable = function() {
      switch (this.i18n) {
        case "es_es":
          return "Las variables no pueden contener un relleno";
        case "fr_fr":
          return "Les variables ne peuvent contenir qu'un remplissage";
        case "pt_br":
          return "As variáveis ​​não podem conter um preenchimento";
        default:
          return "Variables cannot contain a fill";
      }
    };

    Messages.prototype.gnUndefinedVariable = function() {
      switch (this.i18n) {
        case "es_es":
          return "Variable no definida";
        case "fr_fr":
          return "Variable indéfinie";
        case "pt_br":
          return "Variável não definida";
        default:
          return "Undefined variable";
      }
    };

    Messages.prototype.gnStringFromExistingGuides = function() {
      switch (this.i18n) {
        case "es_es":
          return "Cadena generada a partir de las guías existentes";
        case "fr_fr":
          return "Chaîne de caratères générée à partir de guides existant";
        case "pt_br":
          return "Palavra gerada a partir das guias existentes";
        default:
          return "String generated from existing guides";
      }
    };

    return Messages;

  })();

  if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
    module.exports = Messages;
  } else {
    window.Messages = Messages;
  }

}).call(this);
