Localize keymap names in Keymap preferences

This commit is contained in:
Ingo Weinhold 2013-05-13 14:38:55 +02:00 committed by John Scipione
parent d072da2344
commit 374cf8c85d
5 changed files with 57 additions and 15 deletions

View File

@ -183,13 +183,13 @@ AddFilesToPackage data Canna dic canna : $(cannaDicCanna) ;
# TODO: If those serve any purpose, they should probably live in a writable
# subtree.
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
: *.keymap ] ;
keymapFiles = $(keymapFiles:BG=keymap) ;
AddFilesToPackage data Keymaps : $(keymapFiles) ;
AddSymlinkToPackage data Keymaps : Swedish : Finnish ;
AddSymlinkToPackage data Keymaps : Slovene : Croatian ;
AddSymlinkToPackage data Keymaps : US-International : Brazilian ;
# keymaps
AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ;
local keymapAlias ;
for keymapAlias in $(HAIKU_KEYMAP_ALIASES) {
local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ;
AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ;
}
# Copy keyboard layout files to the image one-by-one.
local keyboardLayoutsDir

View File

@ -148,13 +148,13 @@ local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ;
AddFilesToPackage data fonts psfonts : $(psFonts) ;
AddFilesToPackage data fonts ttfonts : $(ttFonts) ;
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
: *.keymap ] ;
keymapFiles = $(keymapFiles:BG=keymap) ;
AddFilesToPackage data Keymaps : $(keymapFiles) ;
AddSymlinkToPackage data Keymaps : Swedish : Finnish ;
AddSymlinkToPackage data Keymaps : Slovene : Croatian ;
AddSymlinkToPackage data Keymaps : US-International : Brazilian ;
# keymaps
AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ;
local keymapAlias ;
for keymapAlias in $(HAIKU_KEYMAP_ALIASES) {
local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ;
AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ;
}
# Copy keyboard layout files to the image one-by-one.
local keyboardLayoutsDir

View File

@ -25,6 +25,36 @@ actions MkKeymapComp1
$(2[1]) -o "$(1)" -c "$(2[2-])" ;
}
rule AddKeymapAlias alias : keymap
{
alias = $(alias:G=keymap) ;
HAIKU_KEYMAP_FILE on $(alias) = $(keymap:G=keymap) ;
HAIKU_KEYMAP_ALIASES += $(alias) ;
}
rule GenerateKeymapLocalizationHeader keymaps
{
local keymapNames = $(HAIKU_KEYMAP_FILES:BSM) $(HAIKU_KEYMAP_ALIASES:BSM) ;
local header = <keymap-locale>KeymapNames.h ;
MakeLocateCommonPlatform $(header) ;
Always $(header) ;
HAIKU_KEYMAP_NAMES on $(header) = $(keymapNames) ;
GenerateKeymapLocalizationHeader1 $(header) ;
LocalClean clean : $(header) ;
}
actions GenerateKeymapLocalizationHeader1
{
$(RM) $(1)
for name in "$(HAIKU_KEYMAP_NAMES)" ; do
echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1)
done
}
local keymapFiles = [ GLOB $(SUBDIR) : *.keymap ] ;
# generate the binary file for the keymap files
@ -32,5 +62,11 @@ local keymapFile ;
for keymapFile in [ FGristFiles $(keymapFiles:D=) ] {
local binary = $(keymapFile:BG=keymap) ;
MkKeymapComp $(binary) : $(keymapFile) ;
HAIKU_KEYMAP_FILES += $(binary) ;
}
AddKeymapAlias Finnish : Swedish ;
AddKeymapAlias Croatian : Slovene ;
AddKeymapAlias Brazilian : US-International ;
GenerateKeymapLocalizationHeader ;

View File

@ -1,9 +1,13 @@
SubDir HAIKU_TOP src preferences keymap ;
UseHeaders [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) data keymaps ] ;
SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders interface shared ;
Includes [ FGristFiles KeymapWindow.cpp ] : <keymap-locale>KeymapNames.h ;
Preference Keymap :
KeyboardLayout.cpp
KeyboardLayoutView.cpp

View File

@ -38,6 +38,7 @@
#include "KeyboardLayoutView.h"
#include "KeymapApplication.h"
#include "KeymapListItem.h"
#include "KeymapNames.h"
#undef B_TRANSLATION_CONTEXT
@ -897,7 +898,8 @@ KeymapWindow::_FillSystemMaps()
if (directory.SetTo(path.Path()) == B_OK) {
while (directory.GetNextRef(&ref) == B_OK) {
fSystemListView->AddItem(new KeymapListItem(ref));
fSystemListView->AddItem(
new KeymapListItem(ref, B_TRANSLATE_NOCOLLECT(ref.name)));
}
}