Skip to content

Commit

Permalink
i18n: Brazilian Portuguese (@deStrO)
Browse files Browse the repository at this point in the history
  • Loading branch information
std-microblock committed Feb 14, 2024
1 parent 87485f4 commit 135146c
Show file tree
Hide file tree
Showing 8 changed files with 216 additions and 5 deletions.
4 changes: 3 additions & 1 deletion README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ An alternative mod manager for Celeste

### Credits

[@WEGFan](https://github.com/WEGFan) provides mirroring and community API, blue implementation and other related knowledge
[@WEGFan](https://github.com/WEGFan) provides mirroring and community API, blue implementation and other related knowledge

@Destro Brazilian Portuguese translation
Binary file modified resources/dist.rc
Binary file not shown.
2 changes: 1 addition & 1 deletion src/celemod-ui/di18n.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module.exports = {
ignoreComponents: [],
ignoreMethods: [],
primaryLocale: 'zh-CN',
supportedLocales: ['zh-CN', 'en-US'
supportedLocales: ['zh-CN', 'en-US', 'pt-BR'
// , 'de-DE', 'fr-FR', 'ru-RU'
],
importCode: "import _i18n, { useI18N } from 'src/i18n';",
Expand Down
174 changes: 174 additions & 0 deletions src/celemod-ui/locales/pt-BR.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
{
"主页": "Menu Inicial",
"搜索": "Pesquisar",
"管理": "Gerenciar",
"联机相关": "Multijogador",
"推荐模组": "Destaques",
"下载任务": "Tarefas de Download",
"请先安装 Everest": "Por favor primeiro instale o Everest. ",
"Everest 是 Celeste 的开源模组加载器和模组 API,允许您根据自己的喜好创 建自定义地图包、纹理替换和代码模组。 必须先安装 Everest 才能使用 Mod。 CeleMod 可以帮助你一键下载和安装 Everest。": "Everest é um carregador de mod e API de modificação de fonte aberta para Celeste que permite que você crie mapas customizados, troque texturas, e faça mods usando codigo de acordo com suas preferencias. Modding requer que Everest esteja instalado. CeleMod pode te ajudar em baixar e instalar Everest com só um click.",
"转到 Everest 页": "Ir para pagina do Everest",
"选择游戏路径": "Selecione caminho do jogo",
"启动 Everest": "Everest",
"启动 原版": "Vanilla",
"Mods 文件夹": "Pasta de Mods",
"文件列表为空": "Lista de arquivo está vazia",
"Celemod 有更新": "Celemod há atualizações pendentes",
"更新详情": "Detalhes da atualização",
"您的版本太低": "Sua versão é muito baixa.",
"如不更新": "Se você não atualizar,",
"将无法继续使用": "não poderá continuar usando-o.",
"手动更新 ·": "Atualizar manualmente ·",
"一键更新 ·": "Atualização em um click ·",
"更新失败": "Falha na Atualização.",
"正在下载更新": "Baixando Atualização...",
"群服联机": "Grupos de Servidores Multiplayer",
"蔚蓝Mod中国镜像": "Celeste Mod Alternativo Chines",
"在境内可以正常使用游戏内的下载和更新": "Na mainland da China, Downloads e Atualizações internas do jogo podem ser usados normalmente.",
"Extended Variant Mode(拓展异变)": "Modo Variáveis Estendidas",
"提供比异变更多的改变游戏画面、内容、玩法的选项": "Adiciona mais opções para mudar os visuais, conteudo e gameplay do jogo, além do Modo variável.",
"Speedrun Tool(速通辅助工具)": "Ferramenta de Speedrun",
"实时存档读档(SL)、调试地图和传送、速通计时器、一键望远镜等": "Salvamento/Carregamento em Tempo Real (SL), depuração de mapas e teleportes, timer de speedrun, Telescopio em um click, etc.",
"用于编写TAS,也可以显示碰撞箱、数值面板等": "Usado para escrever TAS, também pode ser usado para demonstrar colisões, paineis de valores, etc.",
"生成随机地图,可用于联机": "Gere mapas aleatorios, pode ser usado para partidas online.",
"随机地图菜单中文翻译": "Tradução Chinesa para Menu de Mapas Aleatorios",
"隐藏helper的测试地图": "Mapa teste para esconder Helpers",
"实时显示死亡次数": "Exibir contagem de morte em Tempo real",
"隐藏死亡次数和日志": "Esconder contagem de morte e RegistrosHide Death Count and Logs",
"标记每次死亡的位置": "Marcar o local de cada morteMark the Location of Each Death",
"显示按键输入历史": "Exibir Histórico de Input",
"显示体力条": "Exibir Barra de Energia",
"指示附近的收集品、将身后的草莓变透明": "Indica Coletaveis por perto e faz Morangos de trás transparente",
"已收集的草莓不变蓝": "Morangos coletados não ficam azuis.",
"提供更多、更完整的存档备份": "Fornece um backup mais completo de seus Arquivos de Saves.",
"钢魂模式(死亡即删档)": "Modo Alma de Aço (morte apaga o save).",
"小工具合集:草莓统计、视角引导、跳过序章、尖刺置前": "Coleção de ferramentas: Contagem de morangos, guia de camera, pular prologo, posicionamento de espinhos.",
"鼠标操控": "Controle de Mouse",
"复活时将BGM同步到上次存档,便于视频剪辑": "Sincroniza Musica com o ultimo save ao renascer, conveniente para edição de video.",
"给一次性水晶加上红色边框": "Coloca uma borda vermelha em cristais de unico uso.",
"优化冰墙显示,具有减小贴图厚度等多种选项": "Melhora visibilidade das paredes de gelo, com opções para reduzir a grossura da textura, etc.",
"给移动块加上白色边框,避免因为背景太黑了看不到": "Adiciona borda branca aos Blocos de Movimento Para evitar deles serem invisiveis em um background escuro.",
"Oneshot Niko 皮肤": "Skin de Oneshot Niko",
"自定义头发颜色和长度": "Customize cor e comprimento do cabelo",
"剪影拖尾": "Trilha de silhueta",
"金草莓皇冠皮肤": "Skin de Morango Dourado Coroado",
"绿色衬衫皮肤": "Skin de Camisa verde",
"红色背心皮肤": "Skin de Camisa vermelha",
"彩虹头、双马尾皮肤": "Skin de Rainbow head e twin tails",
"兔耳皮肤": "Skin de Orelha de coelho",
"猫德琳皮肤": "Skin de Cateline",
"星之卡比皮肤": "Skin de Kirby",
"FEZ Gomez 皮肤": "Skin de FEZ Gomez",
"Theo 皮肤": "Skin de Theo",
"将玛德琳和蓝鸟互换": "Troque Madeline por Passaro Azul",
"将玛德琳和水母互换": "Troque Madeline por Água-viva",
"【草莓】纯色皮肤": "Skin de 【Morango】Cor solida",
"【Kevin】UwU 皮肤": "Skin de 【Kevin】UwU",
"【弹球】UwU 皮肤": "Skin de 【Flipper】UwU",
"【望远镜】猫耳皮肤": "Skin de 【Telescopio】Orelha de Gatos",
"用星星代替金旗": "Use Estrelas em vez de Bandeiras douradas",
"哈特莱恩": "Hartleyn",
"微型小雕像": "Estátua miniatura",
"太妃糖部分1": "Toffee Parte 1",
"太妃糖部分2": "Toffee Parte 2",
"哈罗德·马德琳·斯皮": "Harold Madeline Spie",
"有趣的姿势在制品": "Poses interessantes em Artefatos",
"粉红玛德琳": "Madeleine Rosa",
"神烦的狗": "Cachorro irritante",
"狐狸": "Raposa",
"加载中...": "Carregando...",
"无数据": "Sem informação",
"安装": "Instale",
"当前安装的 Everest 版本": "Versão instalada atual do Everest",
"未安装 Everest": "Everest não instalado.",
"Stable 通道": "Canal estavel.",
"Beta 通道": "Canal Beta.",
"Dev 通道": "Canal Dev.",
"安装失败": "Falha na Instalação.",
"取消": "Cancelar.",
"安装成功": "Instalação sucedida.",
"确认": "Confirmar",
"正在下载": "Baixando",
"正在安装": "Instalando",
"未知": "-",
"刚刚": "Agora mesmo",
"{slot0}分钟前": "{slot0} minutos",
"{slot0}小时前": "{slot0} horas",
"{slot0}天前": "{slot0} dias",
"{slot0}月前": "{slot0} meses",
"很久以前": "Há muito tempo",
"正在启动": "Inicializando",
"未找到游戏!请先安装 Steam 商店或Epic 商店版的 Celeste,或": "Jogo não encontrado! Por favor instale Celeste da Loja da Steam ou Epic, ou",
"点此手动选择": "Clique aqui para manualmente selecionar",
"下载设置": "Configurações de Download",
"使用中国镜像 ( @WEGFan )": "Use Alternativa Chinesa (@WEGFan)",
"使用 16 线程下载": "Use 16 threads para download",
"Profile 选择": "Seleção de Perfil",
"上次启动": "Ultima partida",
"禁用的 Mod 数": "Desativado",
"启动": "Iniciar",
"启用亚克力效果": "Ativar Efeito Acrílico",
"缺失": "Faltando",
"点击下载": "Clique para baixar",
"缺失·点击下载": "Faltando · Clique para baixar",
"下载中": "Baixando",
"下载完成": "Download completo",
"下载失败": "Falha no Download",
"可选依赖": "Dependencias Opcionais",
"点击更新 · {newversion}": "Clique para atualizar · {newversion}",
"已启用": "Ativado",
"已禁用": "Desativado",
"依赖·缺失": "Dependencias faltando",
"依赖·未启用": "Dependencia Desativada",
"依赖·版本不匹配": "Incompatibilidade de versão",
"启用的,依赖此 Mod 的 Mod: {slot0}": "Mods que dependem desse mod: {slot0}",
"Mod 列表": "Lista de Mods",
"筛选 Mod": "Filtrar Mods",
"打开 Mods 文件夹": "Abrir pasta de Mods",
"禁用全部": "Desativar Todos",
"启用全部": "Ativar Todos",
"应用修改": "Aplicar Mudanças",
"主树隐藏依赖": "Esconder Deps",
"检查可选依赖": "Checar Deps opcionais",
"显示完整树": "Caminho Inteiro",
"显示更新": "Exibir Atualizações",
"Profile 列表": "Lista de Perfis",
"Profile 名": "Nome de Perfil",
"新建": "Novo",
"安装 Mod": "Instalar Mod",
"为了在蔚蓝群服进行联机,你需要安装以下 Mod": "Para jogar multiplayer em servidores do Celeste, você precisara instalar os seguintes mods:",
"蔚蓝群服联机 Mod": "Mods de multiplayer para Celeste",
"注册账号": "Registrar uma conta",
"你需要在 Celeste 群服论坛 注册一个账号": "Você precisara registrar uma conta no forum de servidores do Celeste.",
"进入注册页": "Ir para pagina de registro",
"登录账号": "Entrar em sua conta",
"打开游戏后,你将需要在 Mod 设置中启用并登录群服 Mod": "Depois de abrir o jogo, você precisara ativar e entrar no Mod de servidor Multiplayer nas Configurações de Mod.",
"已安装": "Instalado",
"下载": "Baixe",
"准备下载": "Preparando download",
"推荐的模组": "Mods Destacados",
"这里将会列出一些推荐安装的模组及其简介,请按需安装": "Aqui você encontrara uma lista de mods recomendados para instalar junto de suas descrições. Por favor instale conforme o necessário.",
"功能性模组": "Mods de Utilidade",
"下载所有": "Baixar todos",
"皮肤模组": "Mods de Skin",
"全部": "Todos",
"地图": "Mapas",
"资源": "Recursos",
"特效": "Efeitos",
"对话": "Dialogo",
"其他": "Outros",
"辅助": "Utilidades",
"皮肤": "Skin",
"机制": "Mecanismo",
"最近发布": "Publicado Recentemente",
"最近添加": "Adicionado Recentemente",
"最近更新": "Atualizado Recentemente",
"最多浏览": "Mais Visualizados",
"最多点赞": "Mais Curtidos",
"加载失败,请重试": "Erro ao carregar, por favor tente novamente",
"无内容": "Sem conteúdo.",
"选择其他路径": "Escolha outro caminho",
"界面设置": "Configurações de Interface",
"语言": "Linguagem",
"简体中文": "&&"
}
12 changes: 10 additions & 2 deletions src/celemod-ui/src/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,28 @@ import zhCN from 'locales/zh-CN.json';
import enUS from 'locales/en-US.json';
import ruRU from 'locales/ru-RU.json';
import frFR from 'locales/fr-FR.json';
import deDE from 'locales/de-DE.json'
import deDE from 'locales/de-DE.json';
import ptBR from 'locales/pt-BR.json';

const locales = {
'zh-CN': zhCN,
'en-US': enUS,
'de-DE': deDE,
'ru-RU': ruRU,
'fr-FR': frFR
'fr-FR': frFR,
'pt-BR': ptBR
};

let locale = 'zh-CN';

export default {
t(key: string, slots = {}) {
let translated = locales[locale]?.[key] ?? key;

if (translated === '&&') {
translated = key;
}

for (const k in slots) {
translated = translated.replaceAll(`{${k}}`, slots[k]);
}
Expand Down Expand Up @@ -49,6 +56,7 @@ export const createI18NContext = () => {
const ctx = useMemo(() => ({
setLang(lang: string) {
console.log('set lang', lang)
document.body.parentElement.setAttribute('lang', lang)
locale = lang;
storage.root ??= {};
storage.root.lang = lang;
Expand Down
8 changes: 8 additions & 0 deletions src/celemod-ui/src/routes/Home.scss
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@
box-shadow: 0 0 5px #00000022;
display: inline-block;

html[lang="pt-BR"] &{
width: 150px;

.info {
width: 150px;
}
}

&.selected {
border: 1px solid theme.$primary;
}
Expand Down
1 change: 1 addition & 0 deletions src/celemod-ui/src/routes/Home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,7 @@ export const Home = () => {
>
<option value="zh-CN">{_i18n.t('简体中文')}</option>
<option value="en-US">English</option>
<option value="pt-BR">Brazilian Portuguese</option>
{/* <option value="ru-RU">русский</option>
<option value="de-DE">Deutsch</option>
<option value="fr-FR">Français</option> */}
Expand Down
20 changes: 19 additions & 1 deletion src/celemod-ui/src/routes/Manage.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
.modList {

.title {
html[lang="pt-BR"] & {
font-size: 16px;
}

.filter-input {
width: calc(100% - 130px);
margin-left: 15px;
Expand All @@ -30,11 +34,18 @@
}
}

button {
html[lang="pt-BR"] & {
font-size: 10px !important;
}
}

width: calc(100% - 230px);
height: calc(100vh - 55px);
border-right: 1px solid rgba(255, 255, 255, 0.4);

.options {
width: 100%;
margin-top: 5px;
display: inline-block;

Expand All @@ -47,10 +58,11 @@

.list {
.padding {
height: 40px;
height: 120px;
width: 100%;
display: block;
}

margin-top: 8px;
behavior: virtual-list;
overflow-y: scroll;
Expand Down Expand Up @@ -133,11 +145,17 @@
box-shadow: 0 2px 5px #00000040;
width: calc(100% - 65px);
height: 22px;

html[lang="pt-BR"] & {
width: calc(100% - 95px);
}
}

button {
border-radius: 100px;
}


}
}

Expand Down

0 comments on commit 135146c

Please sign in to comment.