diff --git a/Translations/pt-br.po b/Translations/pt-br.po new file mode 100644 index 000000000..7129db695 --- /dev/null +++ b/Translations/pt-br.po @@ -0,0 +1,686 @@ +msgid "" +msgstr "" +"Project-Id-Version: DevilutionX\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-05 07:13-0300\n" +"PO-Revision-Date: 2020-05-06 03:09-0300\n" +"Last-Translator: Cyro Dubeux \n" +"Language-Team: \n" +"Language: pt-BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: CP1252\n" +"X-Poedit-KeywordsList: _;N_\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SearchPath-0: Source\n" +"X-Poedit-SearchPath-1: SourceX\n" + +#: Source/appfat.cpp:32 +msgid "Error" +msgstr "Erro" + +#: Source/appfat.cpp:66 +#, c-format +msgid "" +"assertion failed (%d:%s)\n" +"%s" +msgstr "" +"falha na asserção (%d:%s)\n" +"%s" + +#: Source/appfat.cpp:76 +#, c-format +msgid "" +"%s\n" +"\n" +"The error occurred at: %s line %d" +msgstr "" +"%s\n" +"\n" +"O erro ocorreu em: %s linha %d" + +#: Source/appfat.cpp:94 +#, c-format +msgid "" +"Unable to open a required file.\n" +"\n" +"Verify that the MD5 of diabdat.mpq matches on of the following values\n" +"011bc6518e6166206231080a4440b373\n" +"68f049866b44688a7af65ba766bef75a\n" +"\n" +"The problem occurred when loading:\n" +"%s" +msgstr "" +"Não foi possível abrir um arquivo necessário.\n" +"\n" +"Verifique se o MD5 do diabdat.mpq corresponde aos seguintes valores\n" +"011bc6518e6166206231080a4440b373\n" +"68f049866b44688a7af65ba766bef75a\n" +"\n" +"O problema ocorreu ao carregar:\n" +"% s" + +#: Source/appfat.cpp:113 +#, c-format +msgid "" +"Unable to open %s.\n" +"\n" +"Make sure that it is in the game folder and that the file name is in all " +"lowercase." +msgstr "" +"Não foi possível abrir %s.\n" +"\n" +"Verifique se ele está na pasta do jogo e se o nome do arquivo está todo minúsculo." + +#: Source/appfat.cpp:126 +#, c-format +msgid "" +"Unable to write to location:\n" +"%s" +msgstr "" +"Não foi possível gravar no local:\n" +"%s" + +#: Source/appfat.cpp:128 +msgid "Read-Only Directory Error" +msgstr "Erro de diretório, somente leitura" + +#: Source/gamemenu.cpp:8 +msgid "Save Game" +msgstr "Salvar jogo" + +#: Source/gamemenu.cpp:9 Source/gamemenu.cpp:19 +msgid "Options" +msgstr "Opções" + +#: Source/gamemenu.cpp:10 Source/gamemenu.cpp:20 +#: SourceX/DiabloUI/selhero.cpp:91 +msgid "New Game" +msgstr "Novo jogo" + +#: Source/gamemenu.cpp:11 SourceX/DiabloUI/selhero.cpp:90 +msgid "Load Game" +msgstr "Carregar jogo" + +#: Source/gamemenu.cpp:12 Source/gamemenu.cpp:22 +msgid "Quit Diablo" +msgstr "Sair do Diablo" + +#: Source/gamemenu.cpp:21 +msgid "Restart In Town" +msgstr "Reiniciar na cidade" + +#: Source/gamemenu.cpp:31 +msgid "Gamma" +msgstr "Gamma" + +#: Source/gamemenu.cpp:33 +msgid "Previous Menu" +msgstr "Menu anterior" + +#: Source/gamemenu.cpp:37 SourceX/DiabloUI/credits_lines.cpp:78 +msgid "Music" +msgstr "Música" + +#: Source/gamemenu.cpp:37 +msgid "Music Disabled" +msgstr "Desativar música" + +#: Source/gamemenu.cpp:38 +msgid "Sound" +msgstr "Som" + +#: Source/gamemenu.cpp:38 +msgid "Sound Disabled" +msgstr "Desativar som" + +#: Source/gamemenu.cpp:39 +msgid "Color Cycling Off" +msgstr "Desativar ciclo de cores" + +#: Source/gamemenu.cpp:39 +msgid "Color Cycling On" +msgstr "Ativar ciclo de cores" + +#: Source/gmenu.cpp:48 +msgid "Pause" +msgstr "Pausar" + +#: SourceX/DiabloUI/art.cpp:35 +msgid "Failed to load image" +msgstr "Falha ao carregar a imagem" + +#: SourceX/DiabloUI/credits_lines.cpp:8 +msgid "Game Design" +msgstr "Design de jogo" + +#: SourceX/DiabloUI/credits_lines.cpp:11 +msgid "Senior Designers" +msgstr "Designers senior" + +#: SourceX/DiabloUI/credits_lines.cpp:14 +msgid "Additional Design" +msgstr "Design adicional" + +#: SourceX/DiabloUI/credits_lines.cpp:17 +msgid "Lead Programmer" +msgstr "Programador líder" + +#: SourceX/DiabloUI/credits_lines.cpp:20 +msgid "Senior Programmers" +msgstr "Programadores senior" + +#: SourceX/DiabloUI/credits_lines.cpp:24 +msgid "Programming" +msgstr "Programação" + +#: SourceX/DiabloUI/credits_lines.cpp:27 +msgid "Special Guest Programmers" +msgstr "Programadores convidados especiais" + +#: SourceX/DiabloUI/credits_lines.cpp:30 +msgid "Battle.net Programming" +msgstr "Programação Battle.net" + +#: SourceX/DiabloUI/credits_lines.cpp:33 +msgid "Serial Communications Programming" +msgstr "Programação de comunicação serial" + +#: SourceX/DiabloUI/credits_lines.cpp:36 +msgid "Installer Programming" +msgstr "Programação do instalador" + +#: SourceX/DiabloUI/credits_lines.cpp:39 +msgid "Art Directors" +msgstr "Diretores de arte" + +#: SourceX/DiabloUI/credits_lines.cpp:42 +msgid "Artwork" +msgstr "Arte" + +#: SourceX/DiabloUI/credits_lines.cpp:49 +msgid "Technical Artwork" +msgstr "Arte técnica" + +#: SourceX/DiabloUI/credits_lines.cpp:53 +msgid "Cinematic Art Directors" +msgstr "Diretores de arte cinematográfica" + +#: SourceX/DiabloUI/credits_lines.cpp:56 +msgid "3D Cinematic Artwork" +msgstr "Arte cinematográfica 3D" + +#: SourceX/DiabloUI/credits_lines.cpp:62 +msgid "Cinematic Technical Artwork" +msgstr "Arte técnica cinematográfica" + +#: SourceX/DiabloUI/credits_lines.cpp:65 +msgid "Executive Producer" +msgstr "Produtor executivo" + +#: SourceX/DiabloUI/credits_lines.cpp:68 +msgid "Producer" +msgstr "Produtor" + +#: SourceX/DiabloUI/credits_lines.cpp:71 +msgid "Associate Producer" +msgstr "Produtor associado" + +#: SourceX/DiabloUI/credits_lines.cpp:74 +msgid "Diablo Strike Team" +msgstr "Diablo Strike Team" + +#: SourceX/DiabloUI/credits_lines.cpp:81 +msgid "Sound Design" +msgstr "Design de som" + +#: SourceX/DiabloUI/credits_lines.cpp:84 +msgid "Cinematic Music & Sound" +msgstr "Música cinematográfica e som" + +#: SourceX/DiabloUI/credits_lines.cpp:87 +msgid "Voice Production, Direction & Casting" +msgstr "Produção de voz, direção e elenco" + +#: SourceX/DiabloUI/credits_lines.cpp:90 +msgid "Script & Story" +msgstr "Roteiro e história" + +#: SourceX/DiabloUI/credits_lines.cpp:94 +msgid "Voice Editing" +msgstr "Edição de voz" + +#: SourceX/DiabloUI/credits_lines.cpp:97 +msgid "Voices" +msgstr "Vozes" + +#: SourceX/DiabloUI/credits_lines.cpp:102 +msgid "Recording Engineer" +msgstr "Engenheiro de gravação" + +#: SourceX/DiabloUI/credits_lines.cpp:105 +msgid "Manual Design & Layout" +msgstr "Design manual e layout" + +#: SourceX/DiabloUI/credits_lines.cpp:109 +msgid "Manual Artwork" +msgstr "Arte manual" + +#: SourceX/DiabloUI/credits_lines.cpp:113 +msgid "Provisional Director of QA (Lead Tester)" +msgstr "Diretor provisório de controle de qualidade (Testador principal)" + +#: SourceX/DiabloUI/credits_lines.cpp:116 +msgid "QA Assault Team (Testers)" +msgstr "Equipe de assalto do controle de qualidade (Testadores)" + +#: SourceX/DiabloUI/credits_lines.cpp:121 +msgid "QA Special Ops Team (Compatibility Testers)" +msgstr "Forças especiais do controle de qualidade (Testadores de compatibilidade)" + +#: SourceX/DiabloUI/credits_lines.cpp:124 +msgid "QA Artillery Support (Additional Testers) " +msgstr "Suporte de artilharia do controle de qualidade (Testadores adicionais) " + +#: SourceX/DiabloUI/credits_lines.cpp:128 +msgid "QA Counterintelligence" +msgstr "Contrainteligência do controle de qualidade" + +#: SourceX/DiabloUI/credits_lines.cpp:131 +msgid "Order of Network Information Services" +msgstr "Ordem dos serviços de informações de rede" + +#: SourceX/DiabloUI/credits_lines.cpp:135 +msgid "Customer Support" +msgstr "Suporte ao cliente" + +#: SourceX/DiabloUI/credits_lines.cpp:140 +msgid "Sales" +msgstr "Vendas" + +#: SourceX/DiabloUI/credits_lines.cpp:143 +msgid "Dunsel" +msgstr "Dunsel" + +#: SourceX/DiabloUI/credits_lines.cpp:146 +msgid "Mr. Dabiri's Background Vocalists" +msgstr "Vocal de apoio do senhor Dabiri" + +#: SourceX/DiabloUI/credits_lines.cpp:150 +msgid "Public Relations" +msgstr "Relações públicas" + +#: SourceX/DiabloUI/credits_lines.cpp:153 +msgid "Marketing" +msgstr "Marketing" + +#: SourceX/DiabloUI/credits_lines.cpp:156 +msgid "International Sales" +msgstr "Vendas internacionais" + +#: SourceX/DiabloUI/credits_lines.cpp:159 +msgid "U.S. Sales" +msgstr "Vendas EUA" + +#: SourceX/DiabloUI/credits_lines.cpp:162 +msgid "Manufacturing" +msgstr "Produção" + +#: SourceX/DiabloUI/credits_lines.cpp:165 +msgid "Legal & Business" +msgstr "Jurídico e negócios" + +#: SourceX/DiabloUI/credits_lines.cpp:168 +msgid "Special Thanks To" +msgstr "Agradecimentos especiais para" + +#: SourceX/DiabloUI/credits_lines.cpp:172 +msgid "Thanks To" +msgstr "Agradecimentos a" + +#: SourceX/DiabloUI/credits_lines.cpp:201 +msgid "In memory of" +msgstr "Em memória de" + +#: SourceX/DiabloUI/credits_lines.cpp:207 +msgid "Very Special Thanks to" +msgstr "Agradecimentos muito especiais a" + +#: SourceX/DiabloUI/credits_lines.cpp:211 +msgid "The Ring of One Thousand" +msgstr "O anel de mil" + +#: SourceX/DiabloUI/credits_lines.cpp:457 +msgid "\tNo souls were sold in the making of this game." +msgstr "\tNenhuma alma foi vendida na criação deste jogo." + +#: SourceX/DiabloUI/dialogs.cpp:39 SourceX/DiabloUI/dialogs.cpp:46 +#: SourceX/DiabloUI/selconn.cpp:46 SourceX/DiabloUI/selgame.cpp:25 +#: SourceX/DiabloUI/selhero.cpp:62 SourceX/DiabloUI/selhero.cpp:78 +#: SourceX/DiabloUI/selhero.cpp:85 SourceX/DiabloUI/selhero.cpp:96 +#: SourceX/DiabloUI/selok.cpp:33 +msgid "OK" +msgstr "OK" + +#: SourceX/DiabloUI/fonts.cpp:55 +#, c-format +msgid "TTF_Init: %s\n" +msgstr "TTF_Init: %s\n" + +#: SourceX/DiabloUI/fonts.cpp:63 +#, c-format +msgid "TTF_OpenFont: %s\n" +msgstr "TTF_OpenFont: %s\n" + +#: SourceX/DiabloUI/mainmenu.cpp:12 +msgid "Single Player" +msgstr "Um jogador" + +#: SourceX/DiabloUI/mainmenu.cpp:13 +msgid "Multi Player" +msgstr "Multijogador" + +#: SourceX/DiabloUI/mainmenu.cpp:14 +msgid "Replay Intro" +msgstr "Repetir intro" + +#: SourceX/DiabloUI/mainmenu.cpp:15 +msgid "Show Credits" +msgstr "Exibir créditos" + +#: SourceX/DiabloUI/mainmenu.cpp:16 +msgid "Exit Diablo" +msgstr "Sair do Diablo" + +#: SourceX/DiabloUI/mainmenu.cpp:79 +msgid "" +"The Diablo introduction cinematic is only available in the full retail " +"version of Diablo. Visit https://www.gog.com/game/diablo to purchase." +msgstr "" +"A introdução cinematográfica da Diablo está disponível apenas na versão comercial " +"completa do Diablo. Visite https://www.gog.com/game/diablo para comprar." + +#: SourceX/DiabloUI/progress.cpp:32 SourceX/DiabloUI/progress.cpp:48 +#: SourceX/DiabloUI/progress.cpp:49 SourceX/DiabloUI/selconn.cpp:47 +#: SourceX/DiabloUI/selhero.cpp:64 SourceX/DiabloUI/selhero.cpp:79 +#: SourceX/DiabloUI/selhero.cpp:86 SourceX/DiabloUI/selhero.cpp:97 +msgid "Cancel" +msgstr "Cancelar" + +#: SourceX/DiabloUI/selconn.cpp:26 SourceX/DiabloUI/selgame.cpp:112 +msgid "Client-Server (TCP)" +msgstr "Cliente-servidor (TCP)" + +#: SourceX/DiabloUI/selconn.cpp:28 +msgid "Peer-to-Peer (UDP)" +msgstr "Ponto-a-Ponto (UDP)" + +#: SourceX/DiabloUI/selconn.cpp:31 +msgid "Loopback" +msgstr "Loopback" + +#: SourceX/DiabloUI/selconn.cpp:37 SourceX/DiabloUI/selgame.cpp:239 +#: SourceX/DiabloUI/selgame.cpp:255 +msgid "Multi Player Game" +msgstr "Jogo Multijogador" + +#: SourceX/DiabloUI/selconn.cpp:39 +msgid "Requirements:" +msgstr "Requisitos:" + +#: SourceX/DiabloUI/selconn.cpp:41 +msgid "no gateway needed" +msgstr "nenhum gateway necessário" + +#: SourceX/DiabloUI/selconn.cpp:43 +msgid "Select Connection" +msgstr "Selecione uma conexão" + +#: SourceX/DiabloUI/selconn.cpp:44 +msgid "Change Gateway" +msgstr "Mudar gateway" + +#: SourceX/DiabloUI/selconn.cpp:73 +msgid "All computers must be connected to a TCP-compatible network." +msgstr "Todos os computadores devem estar conectados a uma rede TCP compatível." + +#: SourceX/DiabloUI/selconn.cpp:78 +msgid "All computers must be connected to a UDP-compatible network." +msgstr "Todos os computadores devem estar conectados a uma rede UDP compatível." + +#: SourceX/DiabloUI/selconn.cpp:84 +msgid "Play by yourself with no network exposure." +msgstr "Jogue sozinho sem exposição na rede." + +#: SourceX/DiabloUI/selconn.cpp:89 +#, c-format +msgid "Players Supported: %d" +msgstr "Jogadores suportados: %d" + +#: SourceX/DiabloUI/selgame.cpp:26 +msgid "CANCEL" +msgstr "CANCELAR" + +#: SourceX/DiabloUI/selgame.cpp:34 SourceX/DiabloUI/selgame.cpp:157 +msgid "Normal" +msgstr "Normal" + +#: SourceX/DiabloUI/selgame.cpp:35 SourceX/DiabloUI/selgame.cpp:161 +msgid "Nightmare" +msgstr "Pesadelo" + +#: SourceX/DiabloUI/selgame.cpp:36 SourceX/DiabloUI/selgame.cpp:165 +msgid "Hell" +msgstr "Inferno" + +#: SourceX/DiabloUI/selgame.cpp:44 +msgid "Select Difficulty" +msgstr "Selecionar dificuldade" + +#: SourceX/DiabloUI/selgame.cpp:54 SourceX/DiabloUI/selgame.cpp:136 +msgid "Create Game" +msgstr "Criar jogo" + +#: SourceX/DiabloUI/selgame.cpp:55 SourceX/DiabloUI/selgame.cpp:75 +msgid "Enter IP" +msgstr "Insira o IP" + +#: SourceX/DiabloUI/selgame.cpp:63 +msgid "Select Action" +msgstr "Selecionar ação" + +#: SourceX/DiabloUI/selgame.cpp:87 +msgid "Enter Password" +msgstr "Insira a senha" + +#: SourceX/DiabloUI/selgame.cpp:120 +msgid "Create a new game with a difficulty setting of your choice." +msgstr "" +"Crie um novo jogo com uma dificuldade de sua escolha." + +#: SourceX/DiabloUI/selgame.cpp:123 +msgid "Enter an IP and join a game already in progress at that address." +msgstr "" +"Insira um IP e participe de um jogo já em andamento nesse endereço." + +#: SourceX/DiabloUI/selgame.cpp:140 +msgid "Join TCP Games" +msgstr "Entrar em jogos TCP" + +#: SourceX/DiabloUI/selgame.cpp:158 +msgid "" +"Normal Difficulty\n" +"This is where a starting character should begin the quest to defeat Diablo." +msgstr "" +"Dificuldade Normal\n" +"É aqui que um personagem inicial deve começar a busca para derrotar Diablo." + +#: SourceX/DiabloUI/selgame.cpp:162 +msgid "" +"Nightmare Difficulty\n" +"The denizens of the Labyrinth have been bolstered and will prove to be a " +"greater challenge. This is recommended for experienced characters only." +msgstr "" +"Dificuldade Pesadelo\n" +"Os habitantes do labirinto foram reforçados e provarão ser um " +"grande desafio. Recomendado apenas para personagens experientes." + +#: SourceX/DiabloUI/selgame.cpp:166 +msgid "" +"Hell Difficulty\n" +"The most powerful of the underworld's creatures lurk at the gateway into " +"Hell. Only the most experienced characters should venture in this realm." +msgstr "" +"Dificuldade Inferno\n" +"A mais poderosa das criaturas do submundo se esconde na porta de entrada do " +"Inferno. Somente os personagens mais experientes devem se aventurar nesse reino." + +#: SourceX/DiabloUI/selgame.cpp:182 +msgid "" +"Your character must reach level 20 before you can enter a multiplayer game " +"of Nightmare difficulty." +msgstr "" +"Seu personagem deve atingir o nível 20 antes de poder entrar em um jogo multijogador " +"da dificuldade Pesadelo." + +#: SourceX/DiabloUI/selgame.cpp:184 +msgid "" +"Your character must reach level 30 before you can enter a multiplayer game " +"of Hell difficulty." +msgstr "" +"Seu personagem deve atingir o nível 30 antes de poder entrar em um jogo multijogador " +"da dificuldade Inferno." + +#: SourceX/DiabloUI/selhero.cpp:44 +msgid "Level:" +msgstr "Nível:" + +#: SourceX/DiabloUI/selhero.cpp:46 +msgid "Strength:" +msgstr "Força:" + +#: SourceX/DiabloUI/selhero.cpp:48 +msgid "Magic:" +msgstr "Magia:" + +#: SourceX/DiabloUI/selhero.cpp:50 +msgid "Dexterity:" +msgstr "Destreza:" + +#: SourceX/DiabloUI/selhero.cpp:52 +msgid "Vitality:" +msgstr "Vitalidade:" + +#: SourceX/DiabloUI/selhero.cpp:59 +msgid "Select Hero" +msgstr "Selecione um herói" + +#: SourceX/DiabloUI/selhero.cpp:63 +msgid "Delete" +msgstr "Deletar" + +#: SourceX/DiabloUI/selhero.cpp:71 +msgid "Warrior" +msgstr "Guerreiro" + +#: SourceX/DiabloUI/selhero.cpp:72 +msgid "Rogue" +msgstr "Ladino" + +#: SourceX/DiabloUI/selhero.cpp:73 +msgid "Sorcerer" +msgstr "Feiticeiro" + +#: SourceX/DiabloUI/selhero.cpp:76 +msgid "Choose Class" +msgstr "Escolha uma classe" + +#: SourceX/DiabloUI/selhero.cpp:83 +msgid "Enter Name" +msgstr "Insira o nome" + +#: SourceX/DiabloUI/selhero.cpp:94 +msgid "Save File Exists" +msgstr "O save já existe" + +#: SourceX/DiabloUI/selhero.cpp:134 +msgid "New Hero" +msgstr "Novo herói" + +#: SourceX/DiabloUI/selhero.cpp:161 +msgid "Multi Player Characters" +msgstr "Personagens multijogador" + +#: SourceX/DiabloUI/selhero.cpp:163 SourceX/DiabloUI/selhero.cpp:210 +msgid "Single Player Characters" +msgstr "Personagens" + +#: SourceX/DiabloUI/selhero.cpp:203 SourceX/DiabloUI/selhero.cpp:252 +msgid "New Multi Player Hero" +msgstr "Novo herói multijogador" + +#: SourceX/DiabloUI/selhero.cpp:205 SourceX/DiabloUI/selhero.cpp:254 +msgid "New Single Player Hero" +msgstr "Novo herói" + +#: SourceX/DiabloUI/selhero.cpp:245 +msgid "" +"The Rogue and Sorcerer are only available in the full retail version of " +"Diablo. Visit https://www.gog.com/game/diablo to purchase." +msgstr "" +"O Ladino e o Feiticeiro estão disponíveis apenas na versão comercial completa do " +"Diablo. Visite https://www.gog.com/game/diablo para comprar." + +#: SourceX/DiabloUI/selhero.cpp:279 +msgid "" +"Invalid name. A name cannot contain spaces, reserved characters, or reserved " +"words.\n" +msgstr "" +"Nome inválido. Um nome não pode conter espaços, caracteres reservados ou " +"palavras.\n" + +#: SourceX/DiabloUI/selhero.cpp:288 +#, c-format +msgid "Character already exists. Do you want to overwrite \"%s\"?" +msgstr "O personagem já existe. Você deseja substituir \"%s\"?" + +#: SourceX/DiabloUI/selhero.cpp:301 +msgid "Unable to create character." +msgstr "Não foi possível criar o personagem." + +#: SourceX/DiabloUI/selhero.cpp:382 +msgid "Delete Multi Player Hero" +msgstr "Deletar herói multijogador" + +#: SourceX/DiabloUI/selhero.cpp:384 +msgid "Delete Single Player Hero" +msgstr "Deletar herói" + +#: SourceX/DiabloUI/selhero.cpp:386 +#, c-format +msgid "Are you sure you want to delete the character \"%s\"?" +msgstr "Tem certeza de que deseja deletar o personagem \"%s\"?" + +#: SourceX/DiabloUI/selyesno.cpp:15 +msgid "Yes" +msgstr "Sim" + +#: SourceX/DiabloUI/selyesno.cpp:16 +msgid "No" +msgstr "Não" + +#: SourceX/DiabloUI/title.cpp:24 +msgid "Copyright © 1996-2001 Blizzard Entertainment" +msgstr "Copyright © 1996-2001 Blizzard Entertainment" + +#: SourceX/DiabloUI/ttf_render_wrapped.cpp:31 +msgid "Text has zero width" +msgstr "O texto tem largura zero" + +#: SourceX/DiabloUI/ttf_render_wrapped.cpp:49 +#: SourceX/DiabloUI/ttf_render_wrapped.cpp:59 +msgid "Out of memory" +msgstr "Memória insuficiente" \ No newline at end of file