mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-07 01:06:02 +02:00
Cocoa: Edit Menu i18n supported
This commit is contained in:
parent
44b12c3199
commit
f51005880f
@ -6,7 +6,7 @@ unit CocoaConst;
|
||||
interface
|
||||
|
||||
uses
|
||||
CocoaAll;
|
||||
CocoaAll, LCLStrConsts;
|
||||
|
||||
function NSSTR_EMPTY: NSString;
|
||||
|
||||
@ -26,6 +26,14 @@ function NSSTR_KEY_PLUS: NSString;
|
||||
function NSSTR_TABCONTROL_PREV_ARROW: NSSTRING;
|
||||
function NSSTR_TABCONTROL_NEXT_ARROW: NSSTRING;
|
||||
|
||||
function NSSTR_EDIT_MENU: NSSTRING;
|
||||
function NSSTR_EDIT_MENU_UNDO: NSSTRING;
|
||||
function NSSTR_EDIT_MENU_REDO: NSSTRING;
|
||||
function NSSTR_EDIT_MENU_CUT: NSSTRING;
|
||||
function NSSTR_EDIT_MENU_COPY: NSSTRING;
|
||||
function NSSTR_EDIT_MENU_PASTE: NSSTRING;
|
||||
function NSSTR_EDIT_MENU_SELECTALL: NSSTRING;
|
||||
|
||||
implementation
|
||||
|
||||
const
|
||||
@ -51,6 +59,14 @@ var
|
||||
_NSSTR_TABCONTROL_PREV_ARROW: NSSTRING;
|
||||
_NSSTR_TABCONTROL_NEXT_ARROW: NSSTRING;
|
||||
|
||||
_NSSTR_EDIT_MENU: NSSTRING;
|
||||
_NSSTR_EDIT_MENU_UNDO: NSSTRING;
|
||||
_NSSTR_EDIT_MENU_REDO: NSSTRING;
|
||||
_NSSTR_EDIT_MENU_CUT: NSSTRING;
|
||||
_NSSTR_EDIT_MENU_COPY: NSSTRING;
|
||||
_NSSTR_EDIT_MENU_PASTE: NSSTRING;
|
||||
_NSSTR_EDIT_MENU_SELECTALL: NSSTRING;
|
||||
|
||||
function NSSTR_EMPTY: NSString;
|
||||
begin
|
||||
Result:= _NSSTR_EMPTY;
|
||||
@ -119,6 +135,62 @@ begin
|
||||
Result:= _NSSTR_TABCONTROL_NEXT_ARROW;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU) then
|
||||
_NSSTR_EDIT_MENU:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenu));
|
||||
Result:= _NSSTR_EDIT_MENU;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU_UNDO: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU_UNDO) then
|
||||
_NSSTR_EDIT_MENU_UNDO:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenuUndo));
|
||||
Result:= _NSSTR_EDIT_MENU_UNDO;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU_REDO: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU_REDO) then
|
||||
_NSSTR_EDIT_MENU_REDO:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenuRedo));
|
||||
Result:= _NSSTR_EDIT_MENU_REDO;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU_CUT: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU_CUT) then
|
||||
_NSSTR_EDIT_MENU_CUT:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenuCut));
|
||||
Result:= _NSSTR_EDIT_MENU_CUT;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU_COPY: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU_COPY) then
|
||||
_NSSTR_EDIT_MENU_COPY:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenuCopy));
|
||||
Result:= _NSSTR_EDIT_MENU_COPY;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU_PASTE: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU_PASTE) then
|
||||
_NSSTR_EDIT_MENU_PASTE:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenuPaste));
|
||||
Result:= _NSSTR_EDIT_MENU_PASTE;
|
||||
end;
|
||||
|
||||
function NSSTR_EDIT_MENU_SELECTALL: NSSTRING;
|
||||
begin
|
||||
if NOT Assigned(_NSSTR_EDIT_MENU_SELECTALL) then
|
||||
_NSSTR_EDIT_MENU_SELECTALL:= NSString.alloc.initWithUTF8String(pchar(
|
||||
LCLStrConsts.rsMacOSEditMenuSelectAll));
|
||||
Result:= _NSSTR_EDIT_MENU_SELECTALL;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
_NSSTR_EMPTY:= NSString.string_;
|
||||
@ -146,5 +218,13 @@ finalization;
|
||||
_NSSTR_TABCONTROL_PREV_ARROW.release;
|
||||
_NSSTR_TABCONTROL_NEXT_ARROW.release;
|
||||
|
||||
_NSSTR_EDIT_MENU.release;
|
||||
_NSSTR_EDIT_MENU_UNDO.release;
|
||||
_NSSTR_EDIT_MENU_REDO.release;
|
||||
_NSSTR_EDIT_MENU_CUT.release;
|
||||
_NSSTR_EDIT_MENU_COPY.release;
|
||||
_NSSTR_EDIT_MENU_PASTE.release;
|
||||
_NSSTR_EDIT_MENU_SELECTALL.release;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -33,7 +33,7 @@ uses
|
||||
// Widgetset
|
||||
WSLCLClasses, WSDialogs,
|
||||
// LCL Cocoa
|
||||
CocoaUtils, CocoaGDIObjects, Cocoa_Extra, CocoaMenus;
|
||||
CocoaConst, CocoaUtils, CocoaGDIObjects, Cocoa_Extra, CocoaMenus;
|
||||
|
||||
type
|
||||
|
||||
@ -429,7 +429,7 @@ var
|
||||
appMenu.release;
|
||||
end;
|
||||
|
||||
editMenuIndex:= mainMenu.indexOfItemWithTitle(NSSTR('Edit'));
|
||||
editMenuIndex:= mainMenu.indexOfItemWithTitle(CocoaConst.NSSTR_EDIT_MENU);
|
||||
if editMenuIndex < 0 then begin
|
||||
editMenuIndex:= mainMenu.numberOfItems;
|
||||
end else begin
|
||||
@ -442,20 +442,24 @@ var
|
||||
mainMenu.insertItem_atIndex(editMenu, editMenuIndex);
|
||||
editMenu.release;
|
||||
|
||||
editSubmenu:= NSMenu.alloc.initWithTitle(NSSTR('Edit'));
|
||||
editSubmenu:= NSMenu.alloc.initWithTitle(CocoaConst.NSSTR_EDIT_MENU);
|
||||
editMenu.setSubmenu(editSubmenu);
|
||||
editSubmenu.release;
|
||||
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(NSSTR('Undo'), objcselector('undo:'), NSSTR('z'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(NSSTR('Redo'), objcselector('redo:'), NSSTR('Z'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||
CocoaConst.NSSTR_EDIT_MENU_UNDO, objcselector('undo:'), NSSTR('z'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||
CocoaConst.NSSTR_EDIT_MENU_REDO, objcselector('redo:'), NSSTR('Z'));
|
||||
editSubmenu.addItem(NSMenuItem.separatorItem);
|
||||
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(NSSTR('Cut'), objcselector('cut:'), NSSTR('x'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(NSSTR('Copy'), objcselector('copy:'), NSSTR('c'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(NSSTR('Paste'), objcselector('paste:'), NSSTR('v'));
|
||||
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||
NSSTR('Select All'), objcselector('selectAll:'), NSSTR('a'));
|
||||
CocoaConst.NSSTR_EDIT_MENU_CUT, objcselector('cut:'), NSSTR('x'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||
CocoaConst.NSSTR_EDIT_MENU_COPY, objcselector('copy:'), NSSTR('c'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||
CocoaConst.NSSTR_EDIT_MENU_PASTE, objcselector('paste:'), NSSTR('v'));
|
||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||
CocoaConst.NSSTR_EDIT_MENU_SELECTALL, objcselector('selectAll:'), NSSTR('a'));
|
||||
end;
|
||||
|
||||
class procedure RestoreEditMenu();
|
||||
|
@ -243,10 +243,12 @@ msgid "&Directory"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsdocopy
|
||||
msgctxt "lclstrconsts.rsdocopy"
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsdopaste
|
||||
msgctxt "lclstrconsts.rsdopaste"
|
||||
msgid "Paste"
|
||||
msgstr ""
|
||||
|
||||
@ -255,6 +257,7 @@ msgid "Duplicate icon format."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rseditrecordhint
|
||||
msgctxt "lclstrconsts.rseditrecordhint"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
@ -738,10 +741,46 @@ msgstr ""
|
||||
msgid "List index exceeds bounds (%d)"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenu
|
||||
msgctxt "lclstrconsts.rsmacoseditmenu"
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenucopy
|
||||
msgctxt "lclstrconsts.rsmacoseditmenucopy"
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenucut
|
||||
msgid "Cut"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenupaste
|
||||
msgctxt "lclstrconsts.rsmacoseditmenupaste"
|
||||
msgid "Paste"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenuredo
|
||||
msgid "Redo"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenuselectall
|
||||
msgid "Select All"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacoseditmenuundo
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacosfileformat
|
||||
msgid "File Format:"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacosmenuabout
|
||||
#, object-pascal-format
|
||||
msgid "About %s"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacosmenuhide
|
||||
#, object-pascal-format
|
||||
msgid "Hide %s"
|
||||
@ -751,6 +790,10 @@ msgstr ""
|
||||
msgid "Hide Others"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacosmenupreferences
|
||||
msgid "Preferences..."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rsmacosmenuquit
|
||||
#, object-pascal-format
|
||||
msgid "Quit %s"
|
||||
|
@ -95,11 +95,22 @@ resourceString
|
||||
rsRefreshRecordsHint = 'Refresh';
|
||||
|
||||
// macOS (cocoa) interface
|
||||
rsMacOSMenuAbout = 'About %s';
|
||||
rsMacOSMenuPreferences = 'Preferences...';
|
||||
rsMacOSMenuHide = 'Hide %s';
|
||||
rsMacOSMenuHideOthers = 'Hide Others';
|
||||
rsMacOSMenuQuit = 'Quit %s';
|
||||
rsMacOSMenuServices = 'Services';
|
||||
rsMacOSMenuShowAll = 'Show All';
|
||||
|
||||
rsMacOSEditMenu = 'Edit';
|
||||
rsMacOSEditMenuUndo = 'Undo';
|
||||
rsMacOSEditMenuRedo = 'Redo';
|
||||
rsMacOSEditMenuCut = 'Cut';
|
||||
rsMacOSEditMenuCopy = 'Copy';
|
||||
rsMacOSEditMenuPaste = 'Paste';
|
||||
rsMacOSEditMenuSelectAll = 'Select All';
|
||||
|
||||
rsMacOSFileFormat = 'File Format:'; // used of FileDialog
|
||||
|
||||
// gtk interface
|
||||
|
Loading…
Reference in New Issue
Block a user