- Notifications
You must be signed in to change notification settings - Fork0
mikopbx/ModuleJapaneseLanguagePack
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Complete Japanese language support module for MikoPBX including UI translations and voice prompts.
15 Translation Files (
Messages/ja/)- Complete Japanese UI translations for all system components
- Multi-file translation structure for better organization
612 Sound Files (
Sounds/ja-jp/)- Professional Japanese voice prompts
- Full coverage of system messages, digits, letters, and phonetic alphabet
This is aLanguage Pack module (module_type: "languagepack").
Language Pack modules have special behavior:
- ✅ Sound files installedWITHOUT prefix (replace/extend system sounds)
- ✅ OnlyONE Language Pack per language allowed (conflict prevention)
- ✅ Automatic installation and removal
- ✅ No additional configuration required
- MikoPBX: 2025.1.1 or higher
- Language Code:
ja-jp(Japanese)
- Open MikoPBX admin interface
- Navigate toSystem →Extension Modules →Marketplace
- Search for "Japanese Language Pack"
- ClickInstall and thenEnable
- Download the latest release ZIP fromGitHub Releases
- Open MikoPBX admin interface
- Navigate toSystem →Extension Modules
- ClickUpload Module
- Select the downloaded ZIP file
- ClickInstall and thenEnable
ZIP Structure:
ModuleJapaneseLanguagePack.zip└── ModuleJapaneseLanguagePack/ ├── module.json ├── ModuleJapaneseLanguagePackConf.php ├── Setup/ ├── Messages/ ├── Sounds/ └── ...# Download latest releasecd /tmpwget https://github.com/mikopbx/ModuleJapaneseLanguagePack/releases/latest/download/ModuleJapaneseLanguagePack.zip# Upload through web interface or extract manuallyunzip ModuleJapaneseLanguagePack.zip -d /storage/usbdisk1/mikopbx/custom_modules/chown -R www:www /storage/usbdisk1/mikopbx/custom_modules/ModuleJapaneseLanguagePackchmod -R 755 /storage/usbdisk1/mikopbx/custom_modules/ModuleJapaneseLanguagePack
cd /storage/usbdisk1/mikopbx/custom_modules/git clone git@github.com:mikopbx/ModuleJapaneseLanguagePack.gitcd ModuleJapaneseLanguagePackgit checkout develop# or specific version tagchown -R www:www /storage/usbdisk1/mikopbx/custom_modules/ModuleJapaneseLanguagePackchmod -R 755 /storage/usbdisk1/mikopbx/custom_modules/ModuleJapaneseLanguagePack
The module usesmulti-file translation structure for better organization:
Messages/└── ja/ ├── Common.php # Common translations (50 KB) ├── Extensions.php # Extension-related (12 KB) ├── GeneralSettings.php # System settings (48 KB) ├── Providers.php # Providers (33 KB) ├── Route.php # Routes (45 KB) ├── MailSettings.php # Mail settings (18 KB) ├── NetworkSecurity.php # Security (12 KB) ├── Modules.php # Modules (8 KB) ├── ApiKeys.php # API keys (7 KB) ├── Passwords.php # Passwords (5 KB) ├── StoplightElements.php # UI elements (4 KB) ├── AsteriskRestUsers.php # REST users (3 KB) ├── Auth.php # Authentication (minimal) ├── Passkeys.php # Passkeys (minimal) └── RestApi.php # REST API (minimal)Loading Process:
- Core translations loaded from
src/Common/Messages/en/andsrc/Common/Messages/ja/ - Module translations loaded from
Messages/ja/*.php - All translation files merged automatically by
MessagesProvider::loadModuleTranslations()
Sound files are automatically managed bySoundFilesConf::installModuleSounds():
Sounds/└── ja-jp/ ├── hello.gsm ├── goodbye.gsm ├── vm-intro.gsm ├── digits/ │ ├── 0.gsm │ ├── 1.gsm │ └── ... (more digits) ├── letters/ │ ├── a.gsm │ ├── b.gsm │ └── ... (more letters) ├── phonetic/ │ ├── alpha_1.gsm │ └── ... (more phonetic) └── ... (612 files total)Installation Location:/mountpoint/mikopbx/media/sounds/ja-jp/
File Naming: Language Pack modules install fileswithout module prefix:
- ✅
hello.gsm→hello.gsm(direct replacement) - ❌ NOT
modulejapaneselanguagepack-hello.gsm
After installation, Japanese becomes available system-wide:
publicfunctionextensionGenContexts():string{return"[japanese-greeting]\n" ."exten => *88,1,Answer()\n" ."\tsame => n,Set(CHANNEL(language)=ja-jp)\n" .// Set Japanese language"\tsame => n,Playback(hello)\n" .// Plays Japanese hello.gsm"\tsame => n,Playback(digits/5)\n" .// Plays Japanese "5""\tsame => n,Playback(goodbye)\n" .// Plays Japanese goodbye.gsm"\tsame => n,Hangup()\n\n";}
UI Language:Japanese translations become available in the web interface language selector after module installation.
The module automatically checks for conflicts during installation:
// Only one Japanese Language Pack allowed per system$conflict = PbxExtensionUtils::checkLanguagePackConflict('ModuleJapaneseLanguagePack','ja-jp');if ($conflict) {// Installation blocked - another Japanese pack existsthrownewException("Conflict with$conflict");}
Why? Language Pack modules replace system sounds without prefix. Multiple packs for the same language would overwrite each other's files.
ModuleJapaneseLanguagePack/├── .github/ # GitHub Actions workflows├── .gitignore # Git ignore rules├── module.json # Module metadata├── Lib/ # Module libraries│ └── ModuleJapaneseLanguagePackConf.php # Module configuration class├── Setup/│ └── PbxExtensionSetup.php # Installation logic├── Messages/│ └── ja/ # Translation files (15 files)│ ├── Common.php│ ├── Extensions.php│ └── ...└── Sounds/ └── ja-jp/ # Sound files (612 files) ├── *.gsm ├── digits/ ├── letters/ └── phonetic/module.json:
{"developer":"MIKO","moduleUniqueID":"ModuleJapaneseLanguagePack","support_email":"help@miko.ru","version":"%ModuleVersion%","min_pbx_version":"2025.1.1","module_type":"languagepack","language_code":"ja-jp","release_settings": {"publish_release":true,"changelog_enabled":true,"create_github_release":true }}- ModuleJapaneseLanguagePackConf: Main module configuration
- PbxExtensionSetup: Installation/uninstallation handler with conflict checking
- PbxExtensionUtils: Language Pack detection and conflict prevention
- MessagesProvider: Multi-file translation loading
- SoundFilesConf: Sound file installation/removal
- Go toSystem →Extension Modules
- Find "Japanese Language Pack"
- ClickDisable
- ClickUninstall
When you uninstall the module:
- ✅ All translation files removed from memory cache
- ✅ Entire
/mountpoint/mikopbx/media/sounds/ja-jp/directory deleted - ✅ Module files removed from
/custom_modules/ - ✅ Database record removed from
m_PbxExtensionModules
Note: After uninstallation, Japanese language will no longer be available in the system.
Want to create a Language Pack for another language? Use this module as a template!
Clone the repository:
git clone git@github.com:mikopbx/ModuleJapaneseLanguagePack.git ModuleMyLanguagePackcd ModuleMyLanguagePackUpdate module.json:
{"moduleUniqueID":"ModuleMyLanguagePack","module_type":"languagepack","language_code":"xx-xx"}Add your translations:
Messages/xx/Common.phpMessages/xx/Extensions.php...Add your sound files:
Sounds/xx-xx/hello.gsmSounds/xx-xx/goodbye.gsmSounds/xx-xx/digits/0.gsm...Update class names:
ModuleJapaneseLanguagePackConf→ModuleMyLanguagePackConfModuleJapaneseLanguagePacknamespace →ModuleMyLanguagePack
Test and deploy!
Each translation file should return an associative array:
<?php// Messages/xx/Common.phpreturn ['ex_Save' =>'Guardar','ex_Cancel' =>'Cancelar','ex_Add' =>'Añadir',// ... more translations];
- Format: GSM, WAV, ULAW, ALAW, G722, SLN
- Recommended: GSM (compact size, good quality)
- Sample Rate: 8000 Hz
- Channels: Mono
# Clone the repositorygit clone git@github.com:mikopbx/ModuleJapaneseLanguagePack.gitcd ModuleJapaneseLanguagePack# Switch to develop branchgit checkout develop# Build ZIP archivezip -r ModuleJapaneseLanguagePack.zip. \ -x"*.git*" \ -x"*.idea*" \ -x"*.DS_Store" \ -x"*node_modules*"
Versions are managed through git tags:
git tag -a v1.0.0 -m"Release version 1.0.0"git push origin v1.0.0GitHub Actions automatically creates releases from tags.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/my-feature - Submit a Pull Request to
developbranch
- MikoPBX Core:github.com/mikopbx/Core
- Module Development: See
CLAUDE.mdin MikoPBX Core repository - Sound Files Guide: Module Development Docs → Sound Files Integration
- Translation System: Common Providers Documentation
Problem: "Another Japanese Language Pack is already installed"
- Solution: Uninstall the existing Japanese pack first, then retry
Problem: "Sounds not playing in Japanese"
- Solution:
- Check if module is enabled:System →Extension Modules
- Verify language code in dialplan:
Set(CHANNEL(language)=ja-jp) - Check sound files exist:
ls /mountpoint/mikopbx/media/sounds/ja-jp/
Problem: "Translations not showing in UI"
- Solution:
- Clear browser cache
- Log out and log back in
- Check language selector in user profile
- Verify module is enabled
Enable debug logging:
# Check module installation logsgrep"ModuleJapaneseLanguagePack" /var/log/mikopbx/messages# Check sound file installationls -lah /mountpoint/mikopbx/media/sounds/ja-jp/| head -20# Test specific sound fileasterisk -rx"console dial *88@test-context"
GNU General Public License v3.0
SeeLICENSE file for details.
MIKO
- Website:www.miko.ru
- Email:help@miko.ru
- GitHub:github.com/mikopbx
- Japanese translations provided by professional translators
- Voice prompts recorded by native Japanese speakers
- Built onMikoPBX open-source PBX platform
Version: %ModuleVersion%Language: Japanese (ja-jp)Module Type: Language PackFiles: 15 translations + 612 soundsRepository:github.com/mikopbx/ModuleJapaneseLanguagePack
About
Complete Japanese language pack for MikoPBX including UI translations and voice prompts
Resources
Uh oh!
There was an error while loading.Please reload this page.