📄 rvalocalize.pas
字号:
rvam_font_Title, rvam_font_FontTab, rvam_font_LayoutTab,
rvam_font_FontName, rvam_font_FontSize, rvam_font_FontStyle,
rvam_font_Bold, rvam_font_Italic, rvam_font_Script, rvam_font_Color,
rvam_font_DefaultCharset, rvam_font_Effects, rvam_font_Underline,
rvam_font_Overline, rvam_font_Strikethrough, rvam_font_AllCaps,
rvam_font_Sample, rvam_font_SampleText,
rvam_font_SpacingH, rvam_font_Spacing, rvam_font_Expanded, rvam_font_Condensed,
rvam_font_OffsetH, rvam_font_Offset, rvam_font_Down, rvam_font_Up,
rvam_font_ScalingH, rvam_font_Scaling,
rvam_font_ScriptH, rvam_font_SSNorm, rvam_font_SSSub, rvam_font_SSSuper,
// 4 sides form
rvam_4s_DefTitle, rvam_4s_Top, rvam_4s_Left, rvam_4s_Bottom, rvam_4s_Right, rvam_4s_EqualValues,
// hyperlink form
rvam_hl_Title, rvam_hl_GBTitle, rvam_hl_Text, rvam_hl_Target, rvam_hl_Selection,
rvam_hl_CannotNavigate,
rvam_hl_HypProperties,
// hyperlink properties form
rvam_hp_Title, rvam_hp_GBNormal, rvam_hp_GBActive,
rvam_hp_Text, rvam_hp_TextBack,
rvam_hp_HoverText, rvam_hp_HoverTextBack,
rvam_hp_AsNormal,
// insert symbol form
rvam_is_Title, rvam_is_Font, rvam_is_Charset, rvam_is_Unicode,
rvam_is_Block,
rvam_is_CharCode, rvam_is_UCharCode, rvam_is_NoChar,
// insert table form
rvam_it_Title, rvam_it_TableSize, rvam_it_nCols, rvam_it_nRows,
rvam_it_TableLayout, rvam_it_Autosize, rvam_it_Fit, rvam_it_Manual,
rvam_it_Remember,
// item properties form
rvam_ip_Title, rvam_ip_ImageTab, rvam_ip_LayoutTab, rvam_ip_LineTab,
rvam_ip_TableTab, rvam_ip_RowsTab, rvam_ip_CellsTab,
rvam_ip_Preview, rvam_ip_Transparency, rvam_ip_Transparent, rvam_ip_TrColor,
rvam_ip_Change, rvam_ip_TrAutoColor,
rvam_ip_VAlign, rvam_ip_VAlignValue, rvam_ip_VAlign1, rvam_ip_VAlign2, rvam_ip_ShiftBy,
rvam_ip_Stretch, rvam_ip_Width, rvam_ip_Height, rvam_ip_DefaultSize,
rvam_ip_SpacingGB, rvam_ip_Spacing, rvam_ip_Web, rvam_ip_Alt,
rvam_ip_HorzLine, rvam_ip_HLColor, rvam_ip_HLWidth,
rvam_ip_TableGB, rvam_ip_TableWidth, rvam_ip_TableColor, rvam_ip_CellPadding,
rvam_ip_CellSpacing, rvam_ip_More, rvam_ip_TableBorder, rvam_ip_CellBorder,
rvam_ip_TableBorderTitle, rvam_ip_CellBorderTitle,
rvam_ip_TablePrinting, rvam_ip_KeepOnPage, rvam_ip_HeadingRows, rvam_ip_HeadingRowsTip,
rvam_ip_VATop, rvam_ip_VACenter, rvam_ip_VABottom, rvam_ip_VADefault,
rvam_ip_CellSettings, rvam_ip_CellBestWidth, rvam_ip_CellBestHeight,
rvam_ip_CellFillColor, rvam_ip_CellBorderGB, rvam_ip_VisibleSides,
rvam_ip_CellShadowColor, rvam_ip_CellLightColor, rvam_ip_CellBorderColor,
rvam_ip_BackgroundImage,
// paste special form
rvam_ps_Title, rvam_ps_Label, rvam_ps_RTF, rvam_ps_HTML, rvam_ps_Text,
rvam_ps_UnicodeText, rvam_ps_BMP, rvam_ps_WMF,
// list gallery form
rvam_lg_Title, rvam_lg_BulletTab, rvam_lg_NumTab, rvam_lg_BulletGB, rvam_lg_NumGB,
rvam_lg_Customize, rvam_lg_Reset, rvam_lg_None,
rvam_lg_NumContinue, rvam_lg_NumReset, rvam_lg_NumCreate,
// customize list form
rvam_cul_Title, rvam_cul_Levels, rvam_cul_LevelCount, rvam_cul_ListProperties, rvam_cul_ListType,
rvam_cul_ListTypeBullet, rvam_cul_ListTypeImage, rvam_cul_InsertNumberHint,
rvam_cul_NumberFormat, rvam_cul_Number, rvam_cul_StartFrom, rvam_cul_Font,
rvam_cul_Image, rvam_cul_BulletCharacter, rvam_cul_Bullet,
rvam_cul_ListTextPos, rvam_cul_BulletPos, rvam_cul_NumPos, rvam_cul_ImagePos, rvam_cul_TextPos,
rvam_cul_At, rvam_cul_LeftIndent, rvam_cul_FirstIndent, rvam_cul_FromLeftIndent,
rvam_cul_OneLevelPreview, rvam_cul_Preview, rvam_cul_PreviewText,
rvam_cul_Left, rvam_cul_Right, rvam_cul_Center,
rvam_cul_LevelNo, rvam_cul_ThisLevel, rvam_cul_BulletTitle,
// paragraph border and backgound form
rvam_pbb_Title, rvam_pbb_BorderTab, rvam_pbb_BackgroundTab,
rvam_pbb_Settings, rvam_pbb_Color, rvam_pbb_Width, rvam_pbb_InternalWidth,
rvam_pbb_Offsets, rvam_pbb_Sample, rvam_pbb_BorderType,
rvam_pbb_BTNone, rvam_pbb_BTSingle, rvam_pbb_BTDouble, rvam_pbb_BTTriple,
rvam_pbb_BTThickInside, rvam_pbb_BTThickOutside,
rvam_pbb_FillColor, rvam_pbb_MoreColors, rvam_pbb_Padding,
rvam_pbb_PreviewText,
rvam_pbb_OffsetsTitle, rvam_pbb_OffsetsGB,
// paragraph form
rvam_par_Title, rvam_par_Alignment, rvam_par_AlLeft, rvam_par_AlRight,
rvam_par_AlCenter, rvam_par_AlJustify, rvam_par_Spacing,
rvam_par_Before, rvam_par_After, rvam_par_LineSpacing, rvam_par_By,
rvam_par_Indents, rvam_par_Left, rvam_par_Right, rvam_par_FirstLine,
rvam_par_Indented, rvam_par_Hanging, rvam_par_Sample,
rvam_par_LS_100, rvam_par_150, rvam_par_200, rvam_par_Multiple,
rvam_par_Preview,
rvam_par_MainTab, rvam_par_TabsTab, rvam_par_TextFlowTab,
rvam_par_TabStopPos, rvam_par_btnSet, rvam_par_Delete, rvam_par_DeleteAll,
rvam_par_TabAlign,
rvam_par_TabAlignLeft, rvam_par_TabAlignRight, rvam_par_TabAlignCenter,
rvam_par_Leader, rvam_par_LeaderNone, rvam_par_TabsToBeDeleted,
rvam_par_TabDelNone, rvam_par_TabDelAll,
rvam_par_Pagination, rvam_par_KeepWithNext, rvam_par_KeepLinesTogether,
// preview form
rvam_pp_Title, rvam_pp_PageWidth, rvam_pp_FullPage, rvam_pp_Pages,
rvam_pp_InvalidScale, rvam_pp_OfNo,
rvam_pp_First, rvam_pp_Prior, rvam_pp_Next, rvam_pp_Last,
// cell spacing form
rvam_cs_Title, rvam_cs_GB, rvam_cs_BetweenCells, rvam_cs_FromTableToCell,
rvam_cs_Vert1, rvam_cs_Horz1, rvam_cs_Vert2, rvam_cs_Horz2,
// table borders form
rvam_tb_Title, rvam_tb_Settings, rvam_tb_Color, rvam_tb_LightColor,
rvam_tb_ShadowColor, rvam_tb_Width, rvam_tb_BorderType,
rvam_tb_BTNone, rvam_tb_BTSunken, rvam_tb_BTRaised, rvam_tb_BTFlat,
// split cells form
rvam_spl_Title, rvam_spl_SplitTo, rvam_spl_Specified, rvam_spl_Original,
rvam_spl_nCols, rvam_spl_nRows, rvam_spl_Merge, rvam_spl_OriginalCols,
rvam_spl_OriginalRows,
// add rows form
rvam_ar_Title, rvam_ar_Prompt,
// page setup form
rvam_pg_Title, rvam_pg_PageTab, rvam_pg_HFTab,
rvam_pg_MarginsMM, rvam_pg_MarginsInch, rvam_pg_Left, rvam_pg_Top, rvam_pg_Right, rvam_pg_Bottom,
rvam_pg_MirrorMargins,
rvam_pg_Orientation, rvam_pg_Portrait, rvam_pg_Landscape,
rvam_pg_Paper, rvam_pg_Size, rvam_pg_Source,
rvam_pg_Header, rvam_pg_HText, rvam_pg_HOnFirstPage, rvam_pg_HFont,
rvam_pg_HLeft, rvam_pg_HCenter, rvam_pg_HRight,
rvam_pg_Footer, rvam_pg_FText, rvam_pg_FOnFirstPage, rvam_pg_FFont,
rvam_pg_FLeft, rvam_pg_FCenter, rvam_pg_FRight,
rvam_pg_PageNumbers, rvam_pg_StartFrom,
rvam_pg_Codes,
// ruler
rvam_ruler_ColumnMove, rvam_ruler_RowMove,
rvam_ruler_FirstIndent, rvam_ruler_LeftIndent,
rvam_ruler_HangingIndent, rvam_ruler_RightIndent,
rvam_ruler_listlevel_Dec, rvam_ruler_listlevel_Inc,
rvam_ruler_MarginBottom, rvam_ruler_MarginLeft, rvam_ruler_MarginRight, rvam_ruler_MarginTop,
rvam_ruler_tab_Left, rvam_ruler_tab_Right, rvam_ruler_tab_Center,
rvam_ruler_tab_Decimal,
// spelling check and thesaurus
rvam_spell_Synonyms, rvam_spell_IgnoreAll, rvam_spell_AddToDictionary
);
TRVAMessages = array [TRVAMessageID] of PChar;
PRVAMessages = ^TRVAMessages;
TRVALanguageName = type String;
procedure RVA_RegisterLanguage(const LanguageName: TRVALanguageName;
Charset: TFontCharset; Messages: PRVAMessages; const HelpFile: String = '');
function RVA_GetCharset: TFontCharset;
function RVA_GetS(MsgID: TRVAMessageID): String;
function RVA_GetSH(MsgID: TRVAMessageID): String;
function RVA_GetPC(MsgID: TRVAMessageID): PChar;
function RVA_GetLanguageName: TRVALanguageName;
function RVA_GetHelpFile: String;
procedure RVA_SwitchLanguage(const LanguageName: TRVALanguageName);
procedure RVA_EnumLanguages(Proc: TGetStrProc);
procedure RVA_FillLanguageList(sl: TStrings);
implementation
var Languages: TRVList = nil;
LanguageIndex: Integer;
type
TRVALanguageInfo = class
public
LanguageName: TRVALanguageName;
Charset: TFontCharset;
Messages: PRVAMessages;
HelpFile: String;
end;
procedure RVA_RegisterLanguage(const LanguageName: TRVALanguageName;
Charset: TFontCharset; Messages: PRVAMessages; const HelpFile: String = '');
var LInfo: TRVALanguageInfo;
begin
if Languages=nil then
Languages := TRVList.Create;
LInfo := TRVALanguageInfo.Create;
LInfo.LanguageName := LanguageName;
LInfo.Charset := Charset;
LInfo.Messages := Messages;
LInfo.HelpFile := HelpFile;
Languages.Add(LInfo);
if LanguageIndex<0 then
LanguageIndex := Languages.Count-1;
end;
function RVA_GetCharset: TFontCharset;
begin
if LanguageIndex<0 then
Result := DEFAULT_CHARSET
else
Result := TRVALanguageInfo(Languages[LanguageIndex]).Charset;
end;
function RVA_GetS(MsgID: TRVAMessageID): String;
begin
Result := TRVALanguageInfo(Languages[LanguageIndex]).Messages[MsgId];
end;
function RVA_GetSH(MsgID: TRVAMessageID): String;
begin
Result := ' '+TRVALanguageInfo(Languages[LanguageIndex]).Messages[MsgId]+' ';
end;
function RVA_GetPC(MsgID: TRVAMessageID): PChar;
begin
Result := TRVALanguageInfo(Languages[LanguageIndex]).Messages[MsgId];
end;
procedure RVA_SwitchLanguage(const LanguageName: TRVALanguageName);
var i,r: Integer;
begin
r := -1;
for i := 0 to Languages.Count-1 do
if LanguageName = TRVALanguageInfo(Languages[i]).LanguageName then begin
r := i;
break;
end;
if r<0 then
raise Exception.Create('Invalid language: '+LanguageName);
LanguageIndex := r;
for i := 0 to ColorCount-1 do
Colors[i].Name := PChar(RVA_GetPC(TRVAMessageID(ord(rvam_cl_Black)+i)));
end;
function RVA_GetLanguageName: TRVALanguageName;
begin
if LanguageIndex<0 then
Result := ''
else
Result := TRVALanguageInfo(Languages[LanguageIndex]).LanguageName;
end;
function RVA_GetHelpFile: String;
begin
if LanguageIndex<0 then
Result := ''
else
Result := TRVALanguageInfo(Languages[LanguageIndex]).HelpFile;
end;
procedure RVA_EnumLanguages(Proc: TGetStrProc);
var i: Integer;
begin
for i := 0 to Languages.Count-1 do
Proc(TRVALanguageInfo(Languages[i]).LanguageName);
end;
procedure RVA_FillLanguageList(sl: TStrings);
var i: Integer;
begin
sl.Clear;
for i := 0 to Languages.Count-1 do
sl.Add(TRVALanguageInfo(Languages[i]).LanguageName);
end;
initialization
finalization
Languages.Free;
Languages := nil;
LanguageIndex := -1;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -