27 pontos por 0126kjw 2025-01-08 | 17 comentários | Compartilhar no WhatsApp

Criei uma ferramenta para resolver o problema de compatibilidade de nomes de arquivos em coreano entre macOS e Windows, algo que quem usa macOS provavelmente já enfrentou pelo menos uma vez.

Situação do problema

Os nomes de arquivos em coreano criados no macOS podem aparecer corrompidos no Windows devido à decomposição dos caracteres.
Antes, para resolver isso, eram usados métodos como Automator com convmv, mas havia muitos inconvenientes, como a dificuldade na configuração inicial.

Solução

  • Implementado como um app residente na barra de menus, pronto para uso imediato quando necessário
  • Basta arrastar e soltar o arquivo no ícone para a conversão ser concluída automaticamente
  • Não requer configuração separada nem uso do terminal

Stack técnica

  • App de barra de menus baseado em SwiftUI
  • Implementação em Swift puro para um ambiente de execução leve
  • Sem dependências externas

Privacidade

  • Toda a conversão dos nomes de arquivos é processada apenas no computador local do usuário
  • Não há qualquer comunicação com servidores externos, então não existe risco de vazamento das informações dos arquivos
  • O conteúdo ou os metadados dos arquivos não são alterados de forma alguma; apenas o nome do arquivo é convertido

[Link]

GitHub: https://github.com/0126kjw/FileNic


Olá. Sempre só acompanhei de longe por aqui, mas resolvi me cadastrar e escrever meu primeiro post para compartilhar isso com vocês.

No trabalho, ao trocar arquivos por e-mail, recebi várias vezes o feedback de que os nomes dos arquivos apareciam corrompidos.

Então pensei: vamos resolver isso da forma mais simples possível! E estou compartilhando essa ferramenta que eu mesmo criei para uso pessoal.

Agradeço opiniões e feedback de vocês!

17 comentários

 
0126kjw 2025-01-25

Olá! Vim deixar um comentário com uma boa notícia hehe

Agora vocês já podem baixar pela App Store!

https://apple.co/3E7rWid

Obrigado hehe

 
0126kjw 2025-01-15

Em 15 de janeiro, o processo de assinatura e certificação do app foi concluído, então agora é possível executá-lo sem problemas de segurança! 🎉
Além disso, na v1.0.5 está prevista a adição do recurso de conversão de pastas. Foram incluídos recursos e configurações para converter de uma só vez até os arquivos contidos em subpastas, e pequenos bugs também foram corrigidos, então agradecemos muito o interesse de todos 🙏
Além disso, vamos nos esforçar para oferecer suporte futuramente à distribuição via HomeBrew e AppStore.
Muito obrigado a todos que enviaram feedback 😊

 
wedding 2025-01-12

Por que a separação de jamo acontece, e por que a Apple não resolve esse problema? Fiquei curioso.

 
0126kjw 2025-01-15

Além disso, a diferença nos métodos de normalização Unicode também afeta usuários de vários idiomas. Pelo que sei, usuários de idiomas como alemão, francês e espanhol, que usam diacríticos, também enfrentam problemas parecidos.

Acredita-se que o fato de Apple e Microsoft manterem métodos de normalização diferentes se deva provavelmente a várias restrições técnicas, como compatibilidade com sistemas existentes e retrocompatibilidade. Para resolver esse problema de forma sistemática, seriam necessárias mudanças fundamentais nos dois sistemas operacionais, mas isso poderia causar um grande impacto nos sistemas existentes, então parece difícil que haja uma solução.

 
0126kjw 2025-01-15

Esse problema ocorre por causa da diferença entre os métodos de normalização Unicode adotados pelo macOS e pelo Windows.

No Unicode, há duas formas principais de armazenar caracteres coreanos:

  • NFC (Normalization Form Canonical Composition): junta os jamos e os salva como um único caractere completo
  • NFD (Normalization Form Canonical Decomposition): separa os jamos e os salva individualmente

O Windows usa NFC e salva 'annyeong' como caracteres completos, enquanto o macOS usa NFD e salva 'ieung', 'a', 'nieun', 'nieun', 'yeo', 'ieung' separadamente. Por causa dessa diferença na forma de armazenamento, quando um arquivo criado no macOS é aberto no Windows, os jamos podem aparecer separados.

O FileNic oferece uma forma simples de converter essa diferença para o usuário, garantindo que o nome seja exibido corretamente em ambos os sistemas operacionais.

 
godrm 2025-01-10

Parece algo de que quem compartilha bastante com outras plataformas vai precisar.
Por acaso você está registrado como desenvolvedor? Na hora de distribuir, se você arquivar no Xcode e exportar o arquivo em formato Direct Distribution, a Apple faz a notarização por meio do portal de desenvolvedores. Assim, como na distribuição pela App Store, as permissões são validadas e o app pode ser executado imediatamente. Se você consultar este documento, acho que vai ficar mais fácil distribuir e executar o app https://developer.apple.com/documentation/Security/…

 
0126kjw 2025-01-15

Olá! Muito obrigado pelas informações úteis. Para garantir uma distribuição tranquila, os procedimentos de assinatura e certificação foram concluídos, e agora foram tomadas medidas para que você possa usar o aplicativo com conforto, sem erros de execução nem problemas de segurança. Obrigado.

 
findnamo 2025-01-09

Eu já tinha criado a mesma funcionalidade em outubro de 2020, então estou compartilhando aqui.

Na primeira execução, pressione control e clique em abrir.

 
0126kjw 2025-01-15

Eu também usei muito bem o Contact! Obrigado pelo comentário haha

 
dukjin 2025-01-10

Estou usando o Contact muito bem hehe, e ele ainda está na minha barra de menus agora mesmo.

 
draupnir 2025-01-08

Lembro que, bem no começo do armazenamento em nuvem, o Dropbox resolvia esse tipo de problema quase perfeitamente, e isso me marcou bastante :)

 
0126kjw 2025-01-08

Obrigado! Como você mencionou, já havia um precedente do Dropbox. Graças a isso, obtive bons insights. Espero que, para os usuários de coreano, o sistema operacional passe a oferecer suporte padrão à normalização Unicode NFC no nível do OS. A ponto de ferramentas assim nem serem necessárias. :)

 
cogurrl 2025-01-08

Ao executar, em vez de aparecer "desenvolvedor não identificado...", já surge a mensagem "não é possível executar o aplicativo", e não dá para confirmar na seção de segurança. (Mac 15.2(24C101))

 
0126kjw 2025-01-15

A assinatura do aplicativo e o processo de autenticação foram concluídos, e agora foram tomadas medidas para que você possa usá-lo com tranquilidade, sem erros de execução nem problemas de segurança. Mais uma vez, agradecemos pelo feedback.

 
0126kjw 2025-01-08

Obrigado por compartilhar o problema! Verifiquei e encontrei um problema em que o target de distribuição estava definido como 15.1. Como era algo que eu usava sozinho, acabei não prestando atenção nisso T_T Vou alterar para que todas as versões a partir do macOS 13.0 sejam suportadas e também corrigir o arquivo de release! Obrigado pelo feedback

 
princox 2026-03-08

Quando entro na App Store, não aparece nada. Será que o link está correto?!

 
princox 2026-03-08

Aparece a mensagem de que a página que você está procurando não existe na App Store!