[Projeto] City of Killers 3.0 - Idioma por arquivo
#1

Previsгo de lanзamento COK 3.0: 3 de Janeiro de 2013

Diferenзas 2.0 x 3.0
  • Nova barra inferior;
  • Alguns bugs consertados;
  • BCMD;
  • Sistema de Adm in-GM;
  • Fundo no login;
  • Ban temporбrio;
  • Melhor identaзгo;
  • Sscanf.
Novidade ъnica

Idioma por DOF2:
TODAS as mensagens do Server serгo puxadas em um arquivo de idioma (ou dois).
Como definir:
pawn Код:
#define LANG1 "/lang/pt-br.lang.cok"
Como definir mais de 1 idioma:
pawn Код:
#define LANG1 "/lang/pt-br.lang.cok"
#define LANG2 "/lang/en-us.lang.cok"
Pra que serve?
Serve para puxar as mensagem da variбvel correspondente.
Exemplo:
pawn Код:
//OnPlayerConnect
format(string, sizeof(string), DOF2_GetString(LANG1, WELCOME_ENTERED_ON_SERVER), pnome(playerid), playerid);
return 1;
Como estaria no arquivo:
pawn Код:
WELCOME_ENTERED_ON_SERVER = "[SERVER] %s [%d] entrou no servidor"
Usando 2 idiomas

pawn Код:
#define LANG1 "/lang/pt-br.lang.cok"
#define LANG2 "/lang/en-us.lang.cok"
new lang[MAX_PLAYERS];
const BR = 1;
const EN = 2;

//OnPlayerConnect
if(lang[playerid]=BR)
{
    format(string, sizeof(string), DOF2_GetString(LANG1, WELCOME_ENTERED_ON_SERVER), pnome(playerid), playerid);
}
if(lang[playerid]=EN)
{
    format(string, sizeof(string), DOF2_GetString(LANG2, WELCOME_ENTERED_ON_SERVER), pnome(playerid), playerid);
}
return 1;
}
Arquivo pt-br.lang.cok:
pawn Код:
WELCOME_ENTERED_ON_SERVER = "[SERVER] %s [%d] entrou no servidor"
Arquivo en-us.lang.cok:
pawn Код:
WELCOME_ENTERED_ON_SERVER = "[SERVER] %s [%d] was entered on server"
Quais as vantagens?
Com esse novo sistema de idioma, serб muito mais fбcil adicionar novos idiomas ao GameMode.
Gostaria de saber a opiniгo de vocкs aqui no tуpico.

Exemplo incompleto de arquivo (pt-br.lang.cok)
pawn Код:
Nome = Portuguкs (Brazil)
Versao = 1.0
E-mail = ...
Criador = Marlon Cardozo
Data = 14/10/2012
__________________________ = __________________________
BAN_EXPIRED = "{FFFFFF}[SERVER] Sua baniзгo expirou a %d segundos atrбs. {00FF00}Bem-vindo de volta."
BAN_EXPIRE_IN = "[SERVER] Sua baniзгo expirarб em %d segundos."
BAN_BANNED = "[SERVER] Vocк estб banido do servidor."
TAGS_OFF = "[SERVER] Seu Nick й '%s'. Tags e etc foram removidos."
WELCOME_CMDS = "                   {1E90FF}/comandos /ajuda /perfil /creditos /radios             "
WELCOME_FORUM = "                       Fуrum: http://{FF0000}cokbr{FFFFFF}.forumbrasil.net        "
WELCOME_ENTERED_ON_SERVER = "[SERVER] {00FF00}%s{C0C0C0} [{00FF00}%d{C0C0C0}] entrou no servidor {00FF00}[%02d:%02d:%02d]"
WELCOME_DIALOG_REGISTER = "{00FF00}Seja bem vindo, %s!{FFFFFF}\nVocк ainda nгo estб Cadastrado, digite uma senha abaixo para se cadastrar.\n{FF0000}AVISO:{FFFFFF} Nгo se esqueзa dela"
WELCOME_DIALOG_REGISTER_TITLE = "===== Registro ====="
WELCOME_DIALOG_REGISTER_BUTTON1 = "Cadastrar"
WELCOME_DIALOG_REGISTER_BUTTON2 = "Cancelar"
WELCOME_MSG_AUTOLOGIN_USER = "[SERVER] Auto-Logado com Sucesso."
WELCOME_MSG_AUTOLOGIN_ADM1 = "[SERVER] Auto-Logado com Sucesso. {00FFFF}Admin level 1 (Moderador)"
WELCOME_MSG_AUTOLOGIN_ADM2 = "[SERVER] Auto-Logado com Sucesso. {87CEFA}Admin level 2 (Baixo Admin)"
WELCOME_MSG_AUTOLOGIN_ADM3 = "[SERVER] Auto-Logado com Sucesso. {00BFFF}Admin level 3 (Mйdio Admin)"
WELCOME_MSG_AUTOLOGIN_ADM4 = "[SERVER] Auto-Logado com Sucesso. {1E90FF}Admin level 4 (Alto Admin)"
WELCOME_MSG_AUTOLOGIN_ADM5 = "[SERVER] Auto-Logado com Sucesso. {0000FF}Admin level 5 (Sub-Dono)"
WELCOME_MSG_AUTOLOGIN_ADM6 = "[SERVER] Auto-Logado com Sucesso. {0000EE}Admin level 6 (Dono)"
WELCOME_MSG_LOGIN_USER = "[SERVER] Logado com Sucesso."
WELCOME_MSG_LOGIN_ADM1 = "[SERVER] Logado com Sucesso. {00FFFF}Admin level 1 (Moderador)"
WELCOME_MSG_LOGIN_ADM2 = "[SERVER] Logado com Sucesso. {87CEFA}Admin level 2 (Baixo Admin)"
WELCOME_MSG_LOGIN_ADM3 = "[SERVER] Logado com Sucesso. {00BFFF}Admin level 3 (Mйdio Admin)"
WELCOME_MSG_LOGIN_ADM4 = "[SERVER] Logado com Sucesso. {1E90FF}Admin level 4 (Alto Admin)"
WELCOME_MSG_LOGIN_ADM5 = "[SERVER] Logado com Sucesso. {0000FF}Admin level 5 (Sub-Dono)"
WELCOME_MSG_LOGIN_ADM6 = "[SERVER] Logado com Sucesso. {0000EE}Admin level 6 (Dono)"
DISCONNECT_CASE1 = "[SERVER] {FF4500}%s{C0C0C0} saiu do Servidor {FF0000}[%02d:%02d:%02d] (Problema de Conexгo)"
DISCONNECT_CASE2 = "[SERVER] {FF4500}%s{C0C0C0} saiu do Servidor {FF0000}[%02d:%02d:%02d] (Resolveu Sair)"
DISCONNECT_CASE3 = "[SERVER] {FF4500}%s{C0C0C0} saiu do Servidor{FF0000}[%02d:%02d:%02d] (Kickado/Banido)"
ADM_COMMAND_VIEW = "%s [%i] digitou: %s"
CMD_INVALID = "[SERVER] Comando invбlido. {FF0000}Use /comandos!"
ADMCMD_MSG_YOUARENOTADM = "[SERVER] Vocк nгo й admin."
ADMCMD_MSG_YOUDONTHAVELEVEL = "[SERVER] Vocк nгo tem level de admin suficiente."
SEXDIALOG_MSG = "Qual seu sexo?"
SEXDIALOG_TITLE = "===== Sexo ======"
SEXDIALOG_MALE = "Masculino"
SEXDIALOG_FEMALE = "Feminino"
Reply
#2

Achei legal, Ja tinha pensado em fazer isso no meu novo GM que estou a construir, Mais assim talvez depois eu faзa Pq a preguiзa e mta kkkkk!
Reply
#3

n sei nao, eu nao fazeria meu gm em outros idiomas, ate pq ele eh 100% focado no publico BR mesmo, e isto seria perda de tempo, mas quem sabe futuramente.. mas neste caso sera OS apoio!
Reply
#4

Quote:
Originally Posted by jpeg
Посмотреть сообщение
n sei nao, eu nao fazeria meu gm em outros idiomas, ate pq ele eh 100% focado no publico BR mesmo, e isto seria perda de tempo, mas quem sabe futuramente.. mas neste caso sera OS apoio!
A ideia central nгo й ter 2 idiomas, e sim, poder traduzir ele para qualquer idioma com mais facilidade.
Reply
#5

Nгo entendi o motivo de usar arquivos o.O
Nгo й mais fбcil:
pawn Код:
if(lang[playerid]=BR)
{
    format(string, sizeof(string), "%s (%d) entrou no server.", pnome(playerid), playerid);
}
if(lang[playerid]=EN)
{
    format(string, sizeof(string), "%s [%d] was entered on server", pnome(playerid), playerid);
}
Ou
pawn Код:
#define MENSAGEM_ENTRADA_PTBR "%s (%d) entrou no server."
#define MENSAGEM_ENTRADA_EN "%s [%d] was entered on server"
fif(lang[playerid]=BR)
{
    format(string, sizeof(string),MENSAGEM_ENTRADA_PTBR, pnome(playerid), playerid);
}
if(lang[playerid]=EN)
{
    format(string, sizeof(string), MENSAGEM_ENTRADA_EN, pnome(playerid), playerid);
}
?
'-'
Reply
#6

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Nгo entendi o motivo de usar arquivos o.O
Nгo й mais fбcil:
pawn Код:
if(lang[playerid]=BR)
{
    format(string, sizeof(string), "%s (%d) entrou no server.", pnome(playerid), playerid);
}
if(lang[playerid]=EN)
{
    format(string, sizeof(string), "%s [%d] was entered on server", pnome(playerid), playerid);
}
Ou
pawn Код:
#define MENSAGEM_ENTRADA_PTBR "%s (%d) entrou no server."
#define MENSAGEM_ENTRADA_EN "%s [%d] was entered on server"
fif(lang[playerid]=BR)
{
    format(string, sizeof(string),MENSAGEM_ENTRADA_PTBR, pnome(playerid), playerid);
}
if(lang[playerid]=EN)
{
    format(string, sizeof(string), MENSAGEM_ENTRADA_EN, pnome(playerid), playerid);
}
?
'-'
Usar arquivos й obvio, nгo? '-'
Nгo lota o GM de coisas e й mais fбcil de baixar a traduзгo na net por exemplo ._. Aн fica mais fбcil tambйm dos outros traduzirem da sua forma e talz, sem precisar saber PAWNO.
Reply
#7

Quote:
Originally Posted by [XPG]MarlonCS
Посмотреть сообщение
Usar arquivos й obvio, nгo? '-'
Nгo lota o GM de coisas e й mais fбcil de baixar a traduзгo na net por exemplo ._. Aн fica mais fбcil tambйm dos outros traduzirem da sua forma e talz, sem precisar saber PAWNO.
Concordo nгo...

E quem nгo consegue abrir o pawno, digitar a mensagem na #define e apertar F5?
Reply
#8

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Concordo nгo...

E quem nгo consegue abrir o pawno, digitar a mensagem na #define e apertar F5?
O arquivo vai estar prй-definido na pasta ._. Й sу trocar as mensagens e salvar /fim
kkk
Pode mudar o arquivo pt-br.lang.cok inteiro para inglкs sem precisar mudar o nome. E vai funcionar em Inglкs, nгo vai?
E й simples, й sу deixar todos os idiomas prй-definidos no GM e quando eles baixarem (no futuro site) vai funcionar
Reply
#9

Fazer em arquivo transforma o servidor em uma lentidгo, pois pense assim:
a cada mensagem que vai no chat, o servidor abrirб um arquivo e procurar
a definiзгo, depois imprimi-la.

Mais fбcil vocк fazer uma include. ai torna mais rбpido.
Reply
#10

Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
Fazer em arquivo transforma o servidor em uma lentidгo, pois pense assim:
a cada mensagem que vai no chat, o servidor abrirб um arquivo e procurar
a definiзгo, depois imprimi-la.

Mais fбcil vocк fazer uma include. ai torna mais rбpido.
Penso o mesmo, e eu tambйm aconselhei a usar inc.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)