diff --git a/0-iniciais/abstract.tex b/0-iniciais/abstract.tex
index b74a9205ffd05c10a49e5b1c4f3d98b30da5c817..8ea03b5506b20807762d3442c0f6cac3427c9d7c 100644
--- a/0-iniciais/abstract.tex
+++ b/0-iniciais/abstract.tex
@@ -1,12 +1,7 @@
-\begin{otherlanguage}{english}
-
 \begin{abstract}
 
-% em inglês, o primeiro parágrafo não deve ser indentado
-\noindent
 The abstract should be the English translation of the ``resumo'', no more, no less.
 
-\end{abstract}
-
-\end{otherlanguage}
+\lipsum[10-13]	% texto aleatório
 
+\end{abstract}
diff --git a/0-iniciais/resumo.tex b/0-iniciais/resumo.tex
index aaf02e9e7bc845c3a7658ea89ce709df94bc1527..92404ba139837915558a7feb8bcd1acca842f335 100644
--- a/0-iniciais/resumo.tex
+++ b/0-iniciais/resumo.tex
@@ -2,7 +2,6 @@
 
 O resumo deve conter no máximo 500 palavras, devendo ser justificado na largura da página e escrito em um único parágrafo\footnote{E também não deve ter notas de rodapé; em outras palavras, não siga este exemplo... ;-)} com um afastamento de 1,27 cm na primeira linha. O espaçamento entre linhas deve ser de 1,5 linhas. O resumo deve ser informativo, ou seja, é a condensação do conteúdo e expõe finalidades, metodologia, resultados e conclusões.
 
-\lipsum[11-14]	% texto aleatório
+\lipsum[10-13]	% texto aleatório
 
 \end{resumo}
-
diff --git a/changelog b/changelog
index 6b02a32e61662ce86978c4ade747531d8acc0bb5..edcb61095bdaf605fe7c44b645935b2a9aa67ac5 100644
--- a/changelog
+++ b/changelog
@@ -1,5 +1,8 @@
 Changelog:
 
+15/10/18
+- modelo unificado para português e inglês
+
 28/09/18
 - legendas de floats (figuras, etc) em 10pt espaço simples
 
diff --git a/main.tex b/main.tex
index 2bdd446d4c285537d5ec65fc238b8cf41c7e9ef5..458dd4eebaba53301afe14a0560f9f7d4fc07298 100644
--- a/main.tex
+++ b/main.tex
@@ -20,10 +20,15 @@
 %             uma versão impressa, para economizar papel.
 % - ... (demais opções aceitas pela classe "book")
 
-% Opções default: defesa, oneside
-\documentclass[defesa,oneside]{ppginf}	% versão para a defesa
-%\documentclass[final,oneside]{ppginf}	% versão final, só em PDF
-%\documentclass[final,twoside]{ppginf}	% versão final, em PDF + impresso
+% Sobre línguas: o modelo tem suporte para português e inglês. As duas 
+% línguas devem ser informadas como opção da classe; a língua principal
+% do documento deve vir POR ÚLTIMO.
+
+% Opções default: defesa, oneside, texto principal em português
+\documentclass[defesa,oneside,english,brazilian]{ppginf}  % p/ defesa
+%\documentclass[defesa,oneside,brazilian,english]{ppginf}  % p/ defesa, inglês
+%\documentclass[final,oneside,english,brazilian]{ppginf}  % final PDF
+%\documentclass[final,twoside,english,brazilian]{ppginf}  % final impressa
 
 % configurações de diversos pacotes, inclusive o fonte principal do texto
 \include{packages}
@@ -35,10 +40,10 @@
 % Principais dados, usados para gerar as páginas iniciais.
 % Campos não utilizados podem ser removidos ou comentados.
 
-% título :-)
+% título
 \title{Um modelo \LaTeX\ para dissertações e teses \\ (escrevi um título mais longo para ver como se comporta a quebra de linhas e o espaçamento entre elas)}
 
-% palavras-chave e keywords
+% palavras-chave e keywords (p/ resumo, abstract e metadados do PDF)
 \pchave{palavra-chave 1, palavra-chave 2, palavra-chave 3}
 \keyword{keyword 1, keyword 2, keyword 3}
 
@@ -46,20 +51,34 @@
 \author{Carlos Alberto Maziero}
 \advisor{Donald Knuth}
 \coadvisor{Leslie Lamport}
-\instit{UFPR}{Universidade Federal do Paraná}
+
+% instituição
+\iflanguage{english}
+{  \instit{UFPR}{Federal University of Paraná}    }
+{  \instit{UFPR}{Universidade Federal do Paraná}  }
 
 % área de concentração (default do PPGInf, não mudar)
-\field{Ciência da Computação}
+\iflanguage{english}
+{  \field{Computer Science}  }
+{  \field{Ciência da Computação}  }
 
-% local e data
+% data (só o ano)
 \date{2018}
-\local{Curitiba PR}
+
+% local
+\iflanguage{english}
+{  \local{Curitiba PR - Brazil}  }
+{  \local{Curitiba PR}  }
 
 % imagem de fundo da capa (se não desejar, basta comentar)
 \coverimage{0-iniciais/fundo-capa.jpg}
 
+%=====================================================
+
 %% Descrição do documento (obviamente, descomentar somente UMA!)
 
+\iflanguage{brazilian}
+{
 % tese de doutorado
 \descr{Tese apresentada como requisito parcial à obtenção do grau de Doutor em Informática, no Programa de Pós-Graduação em Informática, Setor de Ciências Exatas, da Universidade Federal do Paraná}
 
@@ -77,6 +96,26 @@
 
 % trabalho de disciplina
 %\descr{Trabalho apresentado como requisito parcial à conclusão da disciplina XYZ no Curso de Bacharelado em XYZ, Setor de Ciências Exatas, da Universidade Federal do Paraná}
+}
+{
+% doctorate thesis
+\descr{Thesis presented in partial fulfillment of the requirements for the degree of Doctor in Computer Science, in the Graduate Program in Informatics, Exact Sciences Sector, of the Federal University of Paraná, Brazil}
+
+% doctorate qualification
+%\descr{Document presented in partial fulfillment of the requirements for the doctoral qualification exam in the Graduate Program in Informatics, Exact Sciences Sector, of the Federal University of Paraná, Brazil}
+
+% MSc dissertation
+%\descr{Dissertation presented in partial fulfillment of the requirements for the degree of Master of Sciences in Informatics, in the Graduate Program in Informatics, Exact Sciences Sector, of the Federal University of Paraná, Brazil.}
+
+% MSc qualification
+%\descr{Document presented in partial fulfillment of the requirements for the Master of Sciences qualification exam in the Graduate Program in Informatics, Exact Sciences Sector, of the Federal University of Paraná, Brazil}
+
+% trabalho de conclusão de curso, inglês
+%\descr{to be translated}
+
+% trabalho de disciplina, inglês
+%\descr{to be translated}
+}
 
 %=====================================================
 
@@ -93,7 +132,7 @@
 \include{0-iniciais/dedica}		% dedicatória
 \include{0-iniciais/agradece}		% agradecimentos
 
-% resumo (português) e abstract (inglês), nesta ordem
+% resumo (português) e abstract (inglês)
 \include{0-iniciais/resumo}
 \include{0-iniciais/abstract}
 
diff --git a/packages.tex b/packages.tex
index 9760ea113fbebd7845e30bf7d778a8d4102f4f24..ec6d45039a6f5adc231754f5300c859b41cd1066 100644
--- a/packages.tex
+++ b/packages.tex
@@ -2,12 +2,6 @@
 
 % ------------------------------------------------------------------------------
 
-% seleção de línguas do texto (a última é a principal/default)
-\usepackage[english,brazilian]{babel}
-\selectlanguage{brazilian}
-
-% ------------------------------------------------------------------------------
-
 % Definição de fontes
 
 % formato dos arquivos-fonte (utf8 no Linux e latin1 no Windows)
@@ -64,7 +58,7 @@
 
 % formatação de algoritmos
 \usepackage{algorithm,algorithmic}
-\floatname{algorithm}{Algoritmo}
+\iflanguage{brazilian} {\floatname{algorithm}{Algoritmo}}{}
 \renewcommand{\algorithmiccomment}[1]{~~~// #1}
 %\algsetup{linenosize=\footnotesize,linenodelimiter=.}
 
@@ -84,8 +78,9 @@
 \usepackage{natbib}		% bibliografia no estilo NatBib
 
 % EXIGÊNCIA DA BIB@UFPR
-% muda o título das referências para "Referências"
+% muda o título das referências em português para "Referências"
 \addto{\captionsbrazilian}{\renewcommand{\bibname}{Refer\^encias}}
+\addto{\captionsenglish}{\renewcommand{\bibname}{References}}
 
 % ------------------------------------------------------------------------------
 
diff --git a/ppginf.cls b/ppginf.cls
index c8be6fe97d221a9774c4db64fcab8c522886007e..6aca116210c97dca6e9293d8afc408841669399e 100644
--- a/ppginf.cls
+++ b/ppginf.cls
@@ -37,8 +37,8 @@
 %------------------------------------------------------------------------------
 
 % definição da classe e versão
-\ProvidesClass{ppginf}[2018/09/28 Manuscript class for PPGInf/UFPR]
-\def\@classversion{0.9.11}
+\ProvidesClass{ppginf}[2018/10/15 Manuscript class for PPGInf/UFPR]
+\def\@classversion{0.9.12}
 
 %------------------------------------------------------------------------------
 
@@ -76,6 +76,32 @@
   \fi
 \fi
 
+% ------------------------------------------------------------------------------
+
+% suporte a texto com múltiplas linguas
+\usepackage{babel}
+
+% nomes dos capítulos/seções/campos/etc em inglês e português
+\iflanguage{english}
+{
+  \def\@listacronyms{List of Acronyms}
+  \def\@listsymbols{List of Symbols}
+  \def\@chapthanks{Acknowledgements}
+  \def\@tagappendix{Appendix}
+  \def\@tagfield{Field}
+  \def\@tagadvisor{Advisor}
+  \def\@tagcoadvisor{Coadvisor}
+}
+{
+  \def\@listacronyms{Lista de acr\^onimos}
+  \def\@listsymbols{Lista de S\'imbolos}
+  \def\@chapthanks{Agradecimentos}
+  \def\@tagappendix{Ap\^endice}
+  \def\@tagfield{\'Area de concentra\c{c}\~ao}
+  \def\@tagadvisor{Orientador}
+  \def\@tagcoadvisor{Coorientador}
+}
+
 %------------------------------------------------------------------------------
 
 %% AJUSTES DIVERSOS NO LAYOUT DO DOCUMENTO
@@ -162,14 +188,20 @@
 % https://stackoverflow.com/questions/717316/how-to-make-appendix-appear-in-toc-in-latex, adaptado
 \newcommand\appendix@chapter[1]{%
   \refstepcounter{chapter}%
-  \orig@chapter*{Ap\^endice \@Alph\c@chapter: #1}%
-  \addcontentsline{toc}{chapter}{Ap\^endice \@Alph\c@chapter: #1}}%
+  \orig@chapter*{\@tagappendix\ \@Alph\c@chapter: #1}%
+  \addcontentsline{toc}{chapter}{\@tagappendix\ \@Alph\c@chapter: #1}}%
 \let\orig@chapter\chapter
 \g@addto@macro\appendix{\let\chapter\appendix@chapter}
 
 % indentar o primeiro parágrafo (português) em 15mm
-\RequirePackage{indentfirst}
 \setlength{\parindent}{15mm}
+\iflanguage{brazilian}
+{
+  \RequirePackage{indentfirst}
+}
+{
+  % em inglês, espaço entre parágrafos deve aumentar um pouco
+}
 
 % indentar listas de itens alinhadas aos parágrafos
 \RequirePackage{enumitem}
@@ -367,6 +399,8 @@
 \newenvironment{resumo}
 {
   \chapter*{Resumo}
+  % texto deve ser formatado em português
+  \begin{otherlanguage}{brazilian}
 }{
   % somente mostrar palavras-chave se estiverem definidas
   \ifx\@pcs\@empty
@@ -374,6 +408,7 @@
     \vspace{3ex}
     \noindent\textbf{Palavras-chave:} {\@pcs}.
   \fi
+  \end{otherlanguage}
   \vfill
   \cleardoublepage
 }
@@ -382,6 +417,8 @@
 \newenvironment{abstract}
 {
   \chapter*{Abstract}
+  % texto deve ser formatado em inglês
+  \begin{otherlanguage}{english}
 }{
   % somente mostrar keywords se estiverem definidas
   \ifx\@kws\@empty
@@ -389,6 +426,7 @@
     \vspace{3ex}
     \noindent\textbf{Keywords:} {\@kws}.
   \fi
+  \end{otherlanguage}
   \vfill
   \cleardoublepage
 }
@@ -409,7 +447,7 @@
   % ambiente de agradecimentos
   \newenvironment{agradece}
   {
-    \chapter*{Agradecimentos}
+    \chapter*{\@chapthanks}
   }{
     \vfill
     \cleardoublepage
@@ -437,7 +475,7 @@
 % lista de acrônimos (siglas e abreviações)
 \newenvironment{listaacron}
 {
-  \chapter*{Lista de Acr\^onimos}
+  \chapter*{\@listacronyms}
   \begin{spacing}{1.25}  % a lista deve ter espaçamento 1,25
 }{
   \end{spacing}
@@ -448,7 +486,7 @@
 % lista de símbolos
 \newenvironment{listasimb}
 {
-  \chapter*{Lista de S\'{\i}mbolos}
+  \chapter*{\@listsymbols}
   \begin{spacing}{1.25}  % a lista deve ter espaçamento 1,25
 }{
   \end{spacing}
@@ -532,7 +570,12 @@
   \else
     \begin{small}
     \begin{center}
-      (\emph{vers\~ao de pr\'e-defesa, compilada em \today})
+      \iflanguage{english}
+      {
+        (\emph{pre-defense version, compiled at \today})
+      }{
+        (\emph{vers\~ao pr\'e-defesa, compilada em \today})
+      }
     \end{center}
     \end{small}
   \fi
@@ -555,7 +598,7 @@
     \else
       % 1 linha espaço 1.5
       \vspace{1em}
-      \'Area de concentra\c{c}\~ao: \emph{\@field}.
+      \@tagfield: \emph{\@field}.
     \fi
 
     % orientador, se estiver definido em main.tex
@@ -563,7 +606,7 @@
     \else
       % 1 linha espaço 1.5
       \vspace{1em}
-      Orientador: \@advisor.
+      \@tagadvisor: \@advisor.
     \fi
 
     % coorientador, se estiver definido em main.tex
@@ -571,7 +614,7 @@
     \else
       % 1 linha espaço 1.5
       \vspace{1em}
-      Coorientador: \@coadvisor.
+      \@tagcoadvisor: \@coadvisor.
     \fi
 
   \end{minipage}