Skip to content

Add Portuguese (Brazilian) language support#106

Open
possebon wants to merge 2 commits intofurcan:mainfrom
possebon:feature/add-portuguese-language
Open

Add Portuguese (Brazilian) language support#106
possebon wants to merge 2 commits intofurcan:mainfrom
possebon:feature/add-portuguese-language

Conversation

@possebon
Copy link
Copy Markdown

Summary

This pull request adds Brazilian Portuguese (pt-BR) language support to KioskBoard, bringing the total number of supported languages from 9 to 10.

Changes

New Files

  • dist/kioskboard-keys-portuguese.json - Brazilian Portuguese keyboard layout (ABNT2 standard)

Modified Files

  • README.md - Updated language count and language list to include Portuguese
  • Documentation files updated to reflect Portuguese support

Keyboard Layout Details

The Portuguese keyboard layout follows the ABNT2 standard (Associação Brasileira de Normas Técnicas), which is the official Brazilian keyboard standard.

Layout:

Row 1: Q W E R T Y U I O P
Row 2: A S D F G H J K L Ç
Row 3: Z X C V B N M

Special Characters:

  • Ç (C with cedilla) - Essential for Portuguese
  • Compatible with Shift, Alt, and Alt+Gr combinations for accent marks
  • Accents (À, Á, Â, Ã, É, Ê, Ó, Ô, Õ, Ú) can be accessed via the special characters feature

Supported Languages After This Change

  1. English (en) 🇬🇧
  2. Deutsch/German (de) 🇩🇪
  3. Français/French (fr) 🇫🇷
  4. Español/Spanish (es) 🇪🇸
  5. Português/Portuguese (pt) 🇧🇷 ← NEW
  6. Türkçe/Turkish (tr) 🇹🇷
  7. العربية/Arabic (ar) 🇸🇦
  8. Русский/Russian (ru) 🇷🇺
  9. Magyar/Hungarian (hu) 🇭🇺
  10. فارسی/Persian (fa) 🇮🇷

Usage

JavaScript

KioskBoard.init({
  language: 'pt',
  keysJsonUrl: '/dist/kioskboard-keys-portuguese.json'
});

React with KioskBoard React Wrapper

const { setLanguage } = useVirtualKeyboard();
setLanguage('pt');

// Or in component props
<NextUIVirtualKeyboardInput
  keyboardConfig={{
    language: 'pt',
    keysJsonUrl: '/dist/kioskboard-keys-portuguese.json'
  }}
/>

Testing

The Portuguese keyboard layout has been created following the same format and structure as existing language keyboards:

  • JSON format validated
  • Proper character mapping for Brazilian Portuguese ABNT2 layout
  • Compatible with the existing KioskBoard initialization system
  • Tested with the KioskBoard React wrapper

Compatibility

  • ✅ Backward compatible (no breaking changes)
  • ✅ Follows existing language package format
  • ✅ Works with all KioskBoard features (themes, animations, etc.)
  • ✅ Compatible with React wrapper and hooks
  • ✅ SSR compatible with Next.js

Benefits

  • Expands KioskBoard's international support
  • Enables Portuguese-speaking developers to use KioskBoard in their projects
  • Uses the official Brazilian keyboard standard (ABNT2)
  • Zero impact on existing functionality

Related Issue: Adds support for Brazilian Portuguese users requesting this language

possebon and others added 2 commits October 26, 2025 22:06
- Add ABNT2 keyboard layout for Brazilian Portuguese (pt-BR)
- Create dist/kioskboard-keys-portuguese.json with proper character mapping
- Update documentation to reflect 10 supported languages (added Portuguese)
- Portuguese keyboard includes Ç (C with cedilla) as a special character

Supported keyboard layout:
Row 1: Q W E R T Y U I O P
Row 2: A S D F G H J K L Ç
Row 3: Z X C V B N M

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update CLAUDE.md to mention 10 supported languages including Portuguese
- Update README-REACT.md with Portuguese in language list
- Update React TypeScript types documentation to include Portuguese (pt)
- Add Brazilian Portuguese flag (🇧🇷) to language support list

Language support now includes:
- English, German, French, Spanish, Portuguese (Brazilian)
- Turkish, Arabic, Russian, Hungarian, Persian

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant