⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rvalocalize.pas

📁 richviewaction 1.58 需要richview 1.9.46
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    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 + -