#include "support/filetools.h"
#include "lyxtext.h"
#include "converter.h"
+#include "gettext.h"
using std::ostream;
using std::ofstream;
using std::vector;
extern LyXAction lyxaction;
-extern kb_keymap * toplevel_keymap;
+extern boost::scoped_ptr<kb_keymap> toplevel_keymap;
+namespace {
-static
keyword_item lyxrcTags[] = {
{ "\\accept_compound", LyXRC::RC_ACCEPT_COMPOUND },
{ "\\alternate_language", LyXRC::RC_ALT_LANG },
{ "\\language_auto_end", LyXRC::RC_LANGUAGE_AUTO_END },
{ "\\language_command_begin", LyXRC::RC_LANGUAGE_COMMAND_BEGIN },
{ "\\language_command_end", LyXRC::RC_LANGUAGE_COMMAND_END },
+ { "\\language_command_local", LyXRC::RC_LANGUAGE_COMMAND_LOCAL },
+ { "\\language_global_options", LyXRC::RC_LANGUAGE_GLOBAL_OPTIONS },
{ "\\language_package", LyXRC::RC_LANGUAGE_PACKAGE },
+ { "\\language_use_babel", LyXRC::RC_LANGUAGE_USE_BABEL },
{ "\\lastfiles", LyXRC::RC_LASTFILES },
{ "\\make_backup", LyXRC::RC_MAKE_BACKUP },
{ "\\mark_foreign_language", LyXRC::RC_MARK_FOREIGN_LANGUAGE },
};
/* Let the range depend of the size of lyxrcTags. Alejandro 240596 */
-static const int lyxrcCount = sizeof(lyxrcTags) / sizeof(keyword_item);
+const int lyxrcCount = sizeof(lyxrcTags) / sizeof(keyword_item);
+
+} // namespace anon
LyXRC::LyXRC()
rtl_support = false;
auto_number = true;
mark_foreign_language = true;
- language_package = "\\usepackage{babel}";
language_auto_begin = true;
language_auto_end = true;
+ language_global_options = true;
+ language_use_babel = true;
+ language_package = "\\usepackage{babel}";
language_command_begin = "\\selectlanguage{$$lang}";
language_command_end = "\\selectlanguage{$$lang}";
+ language_command_local = "\\foreignlanguage{$$lang}{";
default_language = "english";
//
new_ask_filename = false;
<< action << '\'' << endl;
}
res = toplevel_keymap->bind(seq, action);
- if (res != 0) {
+ if (res != 0
+ && lyxerr.debugging(Debug::KBMAP)) {
lexrc.printError(
+ "RC_BIND: "
"Invalid key sequence `"
+ seq + '\'');
}
if (lexrc.next())
language_auto_end = lexrc.GetBool();
break;
+ case RC_LANGUAGE_GLOBAL_OPTIONS:
+ if (lexrc.next())
+ language_global_options = lexrc.GetBool();
+ break;
+ case RC_LANGUAGE_USE_BABEL:
+ if (lexrc.next())
+ language_use_babel = lexrc.GetBool();
+ break;
case RC_LANGUAGE_COMMAND_BEGIN:
if (lexrc.next())
language_command_begin = lexrc.GetString();
if (lexrc.next())
language_command_end = lexrc.GetString();
break;
+ case RC_LANGUAGE_COMMAND_LOCAL:
+ if (lexrc.next())
+ language_command_local = lexrc.GetString();
+ break;
case RC_RTL_SUPPORT:
if (lexrc.next())
rtl_support = lexrc.GetBool();
os << "\\language_package \"" << language_package
<< "\"\n";
}
+ case RC_LANGUAGE_GLOBAL_OPTIONS:
+ if (language_global_options
+ != system_lyxrc.language_global_options) {
+ os << "\\language_global_options \""
+ << tostr(language_global_options)
+ << "\"\n";
+ }
+ case RC_LANGUAGE_USE_BABEL:
+ if (language_use_babel != system_lyxrc.language_use_babel) {
+ os << "\\language_use_babel \""
+ << tostr(language_use_babel)
+ << "\"\n";
+ }
case RC_LANGUAGE_COMMAND_BEGIN:
if (language_command_begin
!= system_lyxrc.language_command_begin) {
os << "\\language_command_end \"" << language_command_end
<< "\"\n";
}
+ case RC_LANGUAGE_COMMAND_LOCAL:
+ if (language_command_local
+ != system_lyxrc.language_command_local) {
+ os << "\\language_command_local \""
+ << language_command_local
+ << "\"\n";
+ }
case RC_LANGUAGE_AUTO_BEGIN:
if (language_auto_begin != system_lyxrc.language_auto_begin) {
os << "\\language_auto_begin "
case RC_LANGUAGE_PACKAGE:
str = N_("The latex command for loading the language package. E.g. \"\\usepackage{babel}\", \"\\usepackage{omega}\".");
break;
+
+ case RC_LANGUAGE_GLOBAL_OPTIONS:
+ str = N_("De-select if you don't want the language(s) used as an argument to \\documentclass.");
+ break;
+
+ case RC_LANGUAGE_USE_BABEL:
+ str = N_("De-select if you don't want babel to be used when the language of the document is the default language.");
+ break;
case RC_LANGUAGE_AUTO_BEGIN:
str = N_("Select if a language switching command is needed at the beginning of the document.");
case RC_LANGUAGE_COMMAND_END:
str = N_("The latex command for changing back to the language of the document.");
break;
-
+
+ case RC_LANGUAGE_COMMAND_LOCAL:
+ str = N_("The latex command for local changing of the language.");
+ break;
+
case RC_DATE_INSERT_FORMAT:
//xgettext:no-c-format
str = N_("This accepts the normal strftime formats; see man strftime for full details. E.g.\"%A, %e. %B %Y\".");