mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-16 14:28:40 +02:00
291 lines
10 KiB
C
291 lines
10 KiB
C
/***************************************************************/
|
|
/* */
|
|
/* PORTBR.H */
|
|
/* */
|
|
/* Support for the Brazilian Portuguese Language. */
|
|
/* */
|
|
/* Contributed by Marco Paganini (paganini@ism.com.br). */
|
|
/* */
|
|
/* This file is part of REMIND. */
|
|
/* */
|
|
/* REMIND is Copyright (C) 1992-2024 by Dianne Skoll */
|
|
/* This file is Copyright (C) 1996 by Marco Paganini and */
|
|
/* Dianne Skoll. */
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/* */
|
|
/***************************************************************/
|
|
|
|
/* The very first define in a language support file must be L_LANGNAME: */
|
|
#define L_LANGNAME "Brazilian Portuguese"
|
|
|
|
/* Day names */
|
|
#define L_SUNDAY "domingo"
|
|
#define L_MONDAY "segunda"
|
|
#define L_TUESDAY "terca"
|
|
#define L_WEDNESDAY "quarta"
|
|
#define L_THURSDAY "quinta"
|
|
#define L_FRIDAY "sexta"
|
|
#define L_SATURDAY "sabado"
|
|
|
|
/* Month names */
|
|
#define L_JAN "janeiro"
|
|
#define L_FEB "fevereiro"
|
|
#define L_MAR "marco"
|
|
#define L_APR "abril"
|
|
#define L_MAY "maio"
|
|
#define L_JUN "junho"
|
|
#define L_JUL "julho"
|
|
#define L_AUG "agosto"
|
|
#define L_SEP "setembro"
|
|
#define L_OCT "outubro"
|
|
#define L_NOV "novembro"
|
|
#define L_DEC "dezembro"
|
|
|
|
/* Today and tomorrow */
|
|
#define L_TODAY "hoje"
|
|
#define L_TOMORROW "amanha"
|
|
|
|
/* The default banner */
|
|
#define L_BANNER "Avisos para %w, %d de %m de %y%o:"
|
|
|
|
/* "am" and "pm" */
|
|
#define L_AM "am"
|
|
#define L_PM "pm"
|
|
|
|
/* Ago and from now */
|
|
#define L_AGO "atras"
|
|
#define L_FROMNOW "adiante"
|
|
|
|
/* "in %d days' time" */
|
|
#define L_INXDAYS "em %d dias"
|
|
|
|
/* "on" as in "on date..." */
|
|
#define L_ON "em"
|
|
|
|
/* Pluralizing - this is a problem for many languages and may require
|
|
a more drastic fix */
|
|
#define L_PLURAL "s"
|
|
|
|
/* Minutes, hours, at, etc */
|
|
#define L_NOW "agora"
|
|
#define L_AT "as"
|
|
#define L_MINUTE "minuto"
|
|
#define L_HOUR "hora"
|
|
#define L_IS "sao"
|
|
#define L_WAS "eram"
|
|
#define L_AND "e"
|
|
|
|
/* What to add to make "hour" plural */
|
|
#define L_HPLU "s"
|
|
/* What to add to make "minute" plural */
|
|
#define L_MPLU "s"
|
|
|
|
/* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
|
|
See the file dosubst.c for more info. */
|
|
|
|
#define L_ORDINAL_OVERRIDE plu = "";
|
|
|
|
/* Portuguese weekdays must be treated separately */
|
|
#define _ON_WEEKDAY(x) ((x % 7) < 2) ? "no" : "na"
|
|
|
|
#define L_A_OVER \
|
|
sprintf(s, "%s %s, %d de %s de %d", _ON_WEEKDAY(dse), DayName[dse%7], d, MonthName[m], y);
|
|
|
|
#define L_C_OVER \
|
|
sprintf(s, "%s %s", _ON_WEEKDAY(dse), DayName[dse%7]);
|
|
|
|
#define L_G_OVER \
|
|
sprintf(s, "%s %s, %d %s", _ON_WEEKDAY(dse), DayName[dse%7], d, MonthName[m]);
|
|
|
|
#define L_J_OVER \
|
|
sprintf(s, "%s %s, %d de %s de %d", _ON_WEEKDAY(dse), DayName[dse%7], d, MonthName[m], y);
|
|
|
|
#define L_K_OVER \
|
|
sprintf(s, "%s %s, %d de %s", _ON_WEEKDAY(dse), DayName[dse%7], d, MonthName[m]);
|
|
|
|
/* Portuguese does not use some suffixes, some some %u and %j are the same */
|
|
#define L_U_OVER \
|
|
sprintf(s, "%s %s, %d de %s de %d", _ON_WEEKDAY(dse), DayName[dse%7], d, MonthName[m], y);
|
|
|
|
#define L_V_OVER \
|
|
sprintf(s, "%s %s, %d de %s", _ON_WEEKDAY(dse), DayName[dse%7], d, MonthName[m]);
|
|
|
|
#define L_1_OVER \
|
|
{ \
|
|
if (tdiff == 0) \
|
|
sprintf(s, L_NOW); \
|
|
else \
|
|
if (hdiff == 0) \
|
|
{ \
|
|
if (mdiff > 0) \
|
|
sprintf(s, "em %d %s%s", mdiff, L_MINUTE, mplu); \
|
|
else \
|
|
sprintf(s, "%d %s%s atras", mdiff, L_MINUTE, mplu); \
|
|
} \
|
|
else if (mdiff == 0) \
|
|
{ \
|
|
if (hdiff > 0) \
|
|
sprintf(s, "em %d %s%s", hdiff, L_HOUR, hplu); \
|
|
else \
|
|
sprintf(s, "%d %s%s atras", hdiff, L_HOUR, hplu); \
|
|
} else { \
|
|
if (tdiff > 0) \
|
|
sprintf(s, "em %d %s%s %s %d %s%s", hdiff, L_HOUR, hplu, L_AND, mdiff, L_MINUTE, mplu); \
|
|
else \
|
|
sprintf(s, "%d %s%s %s %d %s%s atras", hdiff, L_HOUR, hplu, L_AND, mdiff, L_MINUTE, mplu); \
|
|
} \
|
|
}
|
|
|
|
/* The next ones are used only when MK_GLOBALS is set */
|
|
#ifdef MK_GLOBALS
|
|
#define L_ERR_OVERRIDE 1
|
|
EXTERN char *ErrMsg[] =
|
|
{
|
|
"Ok",
|
|
"Falta um ']'",
|
|
"Falta uma aspa",
|
|
"Expressao muito complexa",
|
|
"Expressao muito complexa - muitos operandos",
|
|
"Falta um ')'",
|
|
"Funcao nao definida",
|
|
"Caracter ilegal",
|
|
"Esperando operador binario",
|
|
"Sem memoria",
|
|
"Numero mal-formado",
|
|
"Op stack underflow - erro interno",
|
|
"Va stack underflow - erro interno",
|
|
"Nao consigo fazer 'coerce'",
|
|
"Type mismatch",
|
|
"Overflow na data",
|
|
"Erro de stack - erro interno",
|
|
"Divisao por zero",
|
|
"Variavel nao definida",
|
|
"Fim da linha nao esperado",
|
|
"Fim de arquivo nao esperado",
|
|
"Erro de I/O",
|
|
"Linha muito longa",
|
|
"Erro interno",
|
|
"Especificacao de data invalida",
|
|
"Argumentos insuficientes",
|
|
"Argumentos em excesso",
|
|
"Hora mal-formada",
|
|
"Numero muito grande",
|
|
"Numero muito pequeno",
|
|
"Nao consigo abrir o arquivo",
|
|
"Ninho de INCLUDEs muito profundo",
|
|
"Erro de parsing",
|
|
"Nao consigo computar o 'trigger'",
|
|
"Muitos IFs aninhados",
|
|
"ELSE sem o IF correspondente",
|
|
"ENDIF sem o IF correspondente",
|
|
"Nao se pode usar OMIT para todos os dias da semana",
|
|
"Token nao reconhecido na linha",
|
|
"POP-OMIT-CONTEXT sem PUSH-OMIT-CONTEXT correspondente",
|
|
"RUN desabilitado",
|
|
"Erro de dominio",
|
|
"Identificados invalido",
|
|
"Chamada de funcao recursiva detectada",
|
|
"",
|
|
"Nao posso modificar variavel de sistema",
|
|
"Funcao da biblioteca C nao pode representar data/hora",
|
|
"Tentativa de redefinir funcao interna",
|
|
"Nao e' possivel aninhar definicao de funcao em expressao",
|
|
"Data deve ser completamente especificada para usar o fator de REPEAT",
|
|
"Ano especificado duas vezes",
|
|
"Mes especificado duas vezes",
|
|
"Dia especificado duas vezes",
|
|
"Token desconhecido",
|
|
"O mes deve ser especificados no comando OMIT",
|
|
"Muitos OMITs parciais",
|
|
"Muitos OMITs full",
|
|
"Aviso: PUSH-OMIT-CONTEXT sem POP-OMIT-CONTEXT correspondente",
|
|
"Erro na leitura do arquivo",
|
|
"Aguardando fim do arquivo",
|
|
"Data hebraica invalida",
|
|
"IIF necessita de numero impar de argumentos",
|
|
"Warning: ENDIF faltando",
|
|
"Esperando virgula",
|
|
"Dia da semana especificado duas vezes",
|
|
"Use apenas um de BEFORE, AFTER ou SKIP",
|
|
"Nao e possivel aninhar MSG, MSF, RUN, etc. em expressoes",
|
|
"Valor de Repeat especificado duas vezes",
|
|
"Valor de Delta especificado duas vezes",
|
|
"Valor de Back especificado duas vezes",
|
|
"ONCE usado duas vezes (Eheheh)",
|
|
"Esperando hora apos AT",
|
|
"Keyword THROUGH/UNTIL usada duas vezes",
|
|
"Especificacao de data incompleta",
|
|
"Keyword FROM/SCANFROM usada duas vezes",
|
|
"Variavel",
|
|
"Valor",
|
|
"*INDEFINIDO*",
|
|
"Entrando UserFN",
|
|
"Saindo UserFN",
|
|
"Expirou",
|
|
"fork() falhou - Nao posso processar compromissos na fila",
|
|
"Nao consigo acessar o arquivo",
|
|
"Data do sistema ilegal: Ano e menor que %d\n",
|
|
"Flag de debug desconhecido '%c'\n",
|
|
"Opcao desconhecida '%c'\n",
|
|
"Usuario desconhecido '%s'\n",
|
|
"Nao consigo mudar gid para %d\n",
|
|
"Nao consigo mudar uid para %d\n",
|
|
"Sem memoria para o environment\n",
|
|
"Falta o sinal de '='",
|
|
"Falta o nome da variavel",
|
|
"Falta a expressao",
|
|
"Nao consigo resetar a data de acesso de %s\n",
|
|
"Remind: '-i' opcao: %s\n",
|
|
"Sem compromissos.",
|
|
"%d compromisso(s) colocados na fila para mais tarde.\n",
|
|
"Esperando numero",
|
|
"Funcao ilegal na clausula WARN",
|
|
"Can't convert between time zones",
|
|
"No files matching *.rem",
|
|
"String too long",
|
|
"Time specified twice",
|
|
"Cannot specify DURATION without specifying AT",
|
|
"Esperando nome do dia da semana",
|
|
"Nome de argumento duplicado",
|
|
"A avaliação da expressão está desabilitada",
|
|
};
|
|
#endif /* MK_GLOBALS */
|
|
|
|
/* The following is only used in init.c */
|
|
#ifdef L_IN_INIT
|
|
#define L_USAGE_OVERRIDE 1
|
|
void Usage(void)
|
|
{
|
|
fprintf(ErrFp, "\nREMIND %s (versao %s) (C) 1992-2024 Dianne Skoll\n", VERSION, L_LANGNAME);
|
|
#ifdef BETA
|
|
fprintf(ErrFp, ">>>> VERSAO BETA <<<<\n");
|
|
#endif
|
|
fprintf(ErrFp, "Uso: remind [opcoes] arquivo [data] [hora] [*rep]\n");
|
|
fprintf(ErrFp, "Opcoes:\n");
|
|
fprintf(ErrFp, " -n Imprime a proxima ocorrencia em formato simples\n");
|
|
fprintf(ErrFp, " -r Desabilita a diretiva RUN\n");
|
|
fprintf(ErrFp, " -c[n] Produz calendario para n (default 1) meses\n");
|
|
fprintf(ErrFp, " -c+[n] Produz calendario para n (default 1) semanas\n");
|
|
fprintf(ErrFp, " -w[n[,p[,s]]] Especifica largura, preenchimento e espacejamento do calendario\n");
|
|
fprintf(ErrFp, " -s[+][n] Produz um `calendario simples' para n (1) meses (semanas)\n");
|
|
fprintf(ErrFp, " -p[n] Identico a -s, porem com saida compativel com rem2ps\n");
|
|
fprintf(ErrFp, " -v Modo verbose\n");
|
|
fprintf(ErrFp, " -o Ignora diretivas ONCE\n");
|
|
fprintf(ErrFp, " -t Aciona todos os compromissos futuros, sem considerar o delta\n");
|
|
fprintf(ErrFp, " -h Modo `Hush' - quieto\n");
|
|
fprintf(ErrFp, " -a Nao aciona compromissos com hora imediatamente - apenas coloca na fila\n");
|
|
fprintf(ErrFp, " -q Nao coloca compromissos com hora na fila\n");
|
|
fprintf(ErrFp, " -f Aciona compromissos com hora em modo foreground\n");
|
|
fprintf(ErrFp, " -z[n] Modo `daemon', acordando a cada n (5) minutos.\n");
|
|
fprintf(ErrFp, " -d... Debug: e=echo x=expr-eval t=trigger v=dumpvars l=showline\n");
|
|
fprintf(ErrFp, " -e Desvia mensagens normalmente enviadas a stderr para stdout\n");
|
|
fprintf(ErrFp, " -b[n] Formato da hora para o cal: 0=am/pm, 1=24hr, 2=nenhum\n");
|
|
fprintf(ErrFp, " -x[n] Limite de iteracoes para a clausula SATISFY (default=1000)\n");
|
|
fprintf(ErrFp, " -kcmd Executa `cmd' para os compromissos com MSG\n");
|
|
fprintf(ErrFp, " -g[ddd] Classifica compromissos por data, hora e prioridade antes de exibir\n");
|
|
fprintf(ErrFp, " -ivar=val Inicializa (e preserva) variavel var com val\n");
|
|
fprintf(ErrFp, " -m Inicia o calendario na segunda, ao inves de domingo\n");
|
|
exit(1);
|
|
}
|
|
#endif /* L_IN_INIT */
|