Sobre o projeto
O vChewing (唯音輸入法) para macOS é um método de entrada gratuito de terceiros, nativo para a plataforma macOS, para chinês simplificado e tradicional, usando Zhuyin/Pinyin, desenvolvido em Swift puro. A página principal do projeto e as informações mais recentes estão em vchewing.github.io, e o código-fonte e as versões oficiais são mantidos no repositório Gitee.
Principais recursos
- Suporta uma grande variedade de layouts de Zhuyin e tipos de Pinyin para entrada, com o motor de digitação Zhuyin "鐵恨" (TiehHen) desenvolvido internamente.
- Oferece modo de digitação Pinyin com divisão clara entre consoantes e vogais para ambas as mãos; também possui modo "狂拼" (KuangPin), que, ao ativar o modo de digitação Pinyin, herda a experiência de digitação do Smart KuangPin/Sogou Pinyin.
- Compatível com a pronúncia padrão da China continental; usuários não familiarizados com a pronúncia de Taiwan, Penghu, Kinmen e Matsu podem usá-lo normalmente, e vice-versa.
- O dicionário padrão não contém conteúdo que impeça sua disseminação em todo o mundo; os corpora de chinês simplificado e tradicional são separados, evitando erros de conversão entre os dois.
- Pode converter a saída em chinês tradicional para o novo estilo de caracteres JIS do Japão ou para o tradicional Kangxi, suportando a entrada de caracteres do conjunto completo de fontes (全字庫) dos últimos anos.
- Suporta o teclado virtual na tela do macOS (apenas layouts tradicionais Daqian e tradicional Eten).
- Pode organizar automaticamente o formato dos arquivos de frases do usuário e personalizar palavras associadas.
Segurança
- Ativa o recurso Sandbox, impossibilitando, em princípio, a obtenção de permissão global de teclado do sistema.
- Possui o modo "Proteção Reforçada da Área de Composição", impedindo que softwares que recebem a digitação acessem prematuramente o conteúdo da área de composição.
- O monitoramento da tecla Shift é feito apenas observando o contexto do fluxo de dados de eventos NSEvent enviados pelo IMKServer do InputMethodKit, sem necessidade de monitorar eventos globais de teclado do sistema ou solicitar permissões de acessibilidade, e sem enviar dados locais para fora. A alternância entre chinês e inglês pela tecla Shift requer macOS 10.15 Catalina ou superior.
Requisitos do sistema
- Para compilar, é necessário Swift 6.4 ou superior: Xcode 27+ (requer macOS 26.6 ou superior), ou Xcode 26.x com o toolchain de código aberto Swift 6.4+ instalado separadamente. Em Macs Intel, devido à limitação da versão Swift embutida no Xcode, a compilação só é possível via linha de comando SwiftPM.
- O produto final suporta pelo menos macOS 12 Monterey, com recomendação mínima de macOS 14 Sonoma, memória recomendada de pelo menos 4GB e uso de SSD.
- Para pacotes de instalação legados para macOS 10.9–10.10, são necessários Xcode 15, MacOSX13.3.sdk e o toolchain Swift 5.10.1, acionados via make debugLegacy/releaseLegacy; este caminho não está incluído no CI.
Processo de compilação
Após instalar o Xcode, é necessário definir o DerivedData como um caminho relativo dentro da pasta do projeto; caso contrário, o make apresentará erros. Comandos comuns: make update para obter os recursos de dicionário mais recentes; make release para compilar a versão universal arm64 + x86_64; make archive para gerar o .xcarchive; make debug para compilações rápidas de depuração. Também é possível abrir o projeto diretamente no Xcode e selecionar o esquema vChewingInstaller para compilar.
Licença e manutenção
Distribuído sob a Licença Permissiva Mulan, versão 2 (MulanPSL-2.0). A manutenção do programa é feita por Shiki Suen; o motor TiehHen e o motor de composição de frases Homa são licenciados sob LGPL v3.0 ou posterior (com exceção para desenvolvimento de aplicativos Swift); o dicionário vChewing (Corpus Pioneiro) também é distribuído sob MulanPSL-2.0, com dados de frequência de palavras licenciados pela NAER para uso não comercial. Registros anteriores à versão 4.1.3 estão armazenados no repositório vChewing-macOS-AncientArchive.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.