> For the complete documentation index, see [llms.txt](https://mentebinaria.gitbook.io/manual-da-linguagem-gnu-c/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mentebinaria.gitbook.io/manual-da-linguagem-gnu-c/5.-sintaxe-lexical/escreva-programas-em-ingles.md).

# Escreva Programas em Inglês!

Em princípio, você pode escrever os nomes de funções e variáveis em um programa, assim como os comentários, em qualquer idioma. C permite qualquer tipo de caractere Unicode em comentários, e você pode colocá-los em identificadores com um prefixo especial (veja [Códigos de Caracteres Unicode](#user-content-fn-1)[^1]). No entanto, para permitir que programadores de todos os países compreendam e desenvolvam o programa, é melhor, nas circunstâncias atuais, escrever todos os identificadores e comentários em inglês.

O inglês é a língua comum dos programadores; em todos os países, os programadores geralmente aprendem inglês. Se os nomes e comentários em um programa forem escritos em inglês, a maioria dos programadores em Bangladesh, Bélgica, Bolívia, Brasil, Bulgária e Burundi poderá entendê-los. Em todos esses países, a maioria dos programadores fala inglês, ou pelo menos o lê, mas eles não leem os idiomas uns dos outros. Na Índia, com tantos idiomas, dois programadores podem não ter um idioma comum além do inglês.

Se você não se sente confiante em escrever em inglês, faça o melhor que puder e siga cada comentário em inglês com uma versão em um idioma que você escreve melhor; adicione uma nota no comentário pedindo a outros para traduzirem isso para o inglês. Alguém eventualmente fará isso.

A interface do usuário do programa é uma questão diferente. Não precisamos escolher um idioma para isso; é fácil suportar múltiplos idiomas e deixar cada usuário escolher o idioma para exibição do texto. Isso requer escrever o programa para suportar a localização de sua interface. (O pacote `gettext` existe para dar suporte a isso; veja [The GNU C Library](https://www.gnu.org/software/libc/manual/html_node/Message-Translation.html#Message-Translation) no *The GNU C Library Reference Manual*.) Dessa forma, um esforço de tradução baseado em comunidade pode fornecer suporte para todos os idiomas que os usuários desejam usar.

[^1]: Capítulo pendente de tradução


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://mentebinaria.gitbook.io/manual-da-linguagem-gnu-c/5.-sintaxe-lexical/escreva-programas-em-ingles.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
